# D-AMP Toolbox
Matlab and TensorFlow implementations of algorithms from the following papers.
Metzler, Christopher A., Arian Maleki, and Richard G. Baraniuk. "From denoising to compressed sensing." IEEE Transactions on Information Theory 62.9 (2016). http://arxiv.org/abs/1406.4175
Metzler, Christopher A., Arian Maleki, and Richard G. Baraniuk. "BM3D-PRGAMP: Compressive phase retrieval based on BM3D denoising." Image Processing (ICIP), 2016 IEEE International Conference on. IEEE, 2016. http://ieeexplore.ieee.org/abstract/document/7532810/
Schniter, Philip, Sundeep Rangan, and Alyson Fletcher. "Denoising based vector approximate message passing." arXiv preprint arXiv:1611.01376 (2016). http://arxiv.org/abs/1611.01376
Metzler, Christopher A., Ali Mousavi, and Richard Baraniuk. "Learned D-AMP: Principled Neural Network based Compressive Image Recovery." Advances in Neural Information Processing Systems. 2017. http://papers.nips.cc/paper/6774-learned-d-amp-principled-neural-network-based-compressive-image-recovery.pdf
Metzler, Christopher A., Ali Mousavi, Reinhard Heckel, and Richard Baraniuk. "Unsupervised Learning with Stein's Unbiased Risk Estimator." https://arxiv.org/abs/1805.10531
A. K. Fletcher, P. Pandit, S. Rangan, S. Sarkar, and P. Schniter. "Plug-in Estimation in High-Dimensional Linear Inverse Problems: A Rigorous Analysis," Proc. Neural Information Processing Systems Conference (NeurIPS) Dec. 2018. http://arxiv.org/abs/1806.10466
Questions/suggestions/comments: cmetzler@stanford.edu (D-AMP, D-prGAMP, LDAMP, and SURE) or schniter.1@osu.edu (D-VAMP)
---------------------------------------------------------------------------
# Primary Contents
## Scripts:
`CS_1D_Demo.m`: Recover a compressively sampled 1D signal with Haar wavelet sparsity based (V)AMP and NLM-(V)AMP.
`CS_Imaging_Demo.m`: Recover compressively sampled image using D-AMP.
`CS_Imaging_Demo_DVAMP.m`: Recover compressively sampled image using D-VAMP.
`CS_Imaging_Demo_LDAMP.m`: Recover compressively sampled image using L(V)AMP.
`CPR_Imaging_Demo.m`: Perform compressive phase retrieval with D-prGAMP.
`QQplotGenerator.m`: Generate a series of QQplots of the effective noise of D-IT and D-AMP.
`StateEvolutionGenerator.m`: Compute the state evolution of a D-AMP algorithm and compare it to the true MSEs of D-AMP and D-IT.
## Functions:
`AMP.m`: Reconstructs sparse, compressively sampled signals using AMP.
`VAMP.m`: Reconstructs sparse, compressively sampled signals using VAMP.
`DAMP.m`: Performs D-AMP reconstruction of a compressively sampled signal. The string "denoiser" selects which denoiser to use.
`DVAMP.m`: Performs D-VAMP reconstruction of a compressively sampled signal. The string "denoiser" selects which denoiser to use.
`DprGAMP.m`: Performs D-prGAMP compressive phase retrieval of a signal. The string "denoiser" selects which denoiser to use.
`DIT.m`: Performs D-IT reconstruction of a compressively sampled signal. The string "denoiser" selects which denoiser to use.
`DAMP_oneIter.m`: Performs a single iteration of D-AMP. Used to generate state evolution and qqplots.
`DIT_oneIter.m`: Performs a single iteration of D-IT. Used to generate state evolution and qqplots.
`DAMP_SE_Prediction.m`: Computes the next predicted state evolution of a D-AMP algorithm.
`denoise.m`: Denoises an incoming signal. Which denoiser is used depends on the string "denoiser". Currently supports Gaussian filtering, bilateral filtering, NLM, BLS-GSM, BM3D, BM3D-SAPCA, and DnCNN. Add your own denoising algorithms here.
## Auxiliary functions:
`phi_fp.m`: Projects a length n signal to m measurements using a Gaussian random matrix. Can handle very large measurement matrices but is very slow.
`phit_fp.m`: Projects a length m signal onto the transpose of an mxn Gaussian measurement matrix. Can handle very large measurement matrices but is very slow.
`psi_fp.m`: Transforms wavelet coefficients into the pixel domain.
`psit_fp.m`: Transforms pixels to their wavelet coefficients.
`PSNR.m`: Computes the PSNR of an image x and its estimate x_hat.
`LoadNetworkWeights.m`: Load the DnCNN denoisers' network weights.
## Other files:
`OptimumLambdaSigned.mat`: Look up table to set the threshold for AMP.
---------------------------------------------------------------------------
# LDAMP_TensorFlow Contents
## Code:
`TrainLearnedDAMP.py`: Code to train the LDAMP or LDIT networks. Supports layer-by-layer and end-to-end training. Supports training with SURE and GSURE loss.
`TestLearnedDAMP.py`: Code to test the LDAMP or LDIT networks. Supports layer-by-layer end-to-end, and denoiser-by-denoiser trained networks.
`TrainDnCNN.py`: Code to train a TensorFlow implementation of DnCNN. Supports training with SURE loss.
`TestLearnedDAMP.py`: Code to test a TensorFlow implementation of DnCNN.
`LearnedDAMP.py`: Module that contains the implementations of and support functions for LDAMP, LDIT, and DnCNN.
`Training_Script.sh`: Bash script to train LDAMP, LDIT, and DnCNN networks.
## Data:
saved_models and TrainingData are both empty directories on github. Their contents can be downloaded from https://rice.app.box.com/v/LDAMP-LargeFiles. You may run into Box's file size limit. In that case download one directory at a time.
**Important**: At present the TensorFlow networks are smaller than the Matlab networks and have been trained with less data. For the best possible LDAMP performance use the 20 layer version of the "DnCNN" denoiser in CS_Imaging_Demo_LDAMP.m
---------------------------------------------------------------------------
# SURE_deep_image_prior Contents
`denoising_wSURE.py`: Code to denoise an image using a randomly initialized CNN using SURE.
Other files are dependencies and come from https://github.com/DmitryUlyanov/deep-image-prior.
---------------------------------------------------------------------------
# Packages
This download includes the BM3D, BLS-GSM, NLM, and Rice Wavelet Toolbox packages.
The latest versions of these packages can be found at:
BM3D: http://www.cs.tut.fi/~foi/GCF-BM3D/
BLS-GSM: http://decsai.ugr.es/~javier/denoise/software/index.htm
NLM: http://www.mathworks.com/matlabcentral/fileexchange/27395-fast-non-local-means-1d--2d-color-and-3d
Rice Wavelet Toolbox (RWT): https://github.com/ricedsp/rwt
# Dependencies
The TensorFlow LDAMP/LDIT demos require that models and training data be downloaded from https://rice.app.box.com/v/LDAMP-LargeFiles. Place the models and data in D-AMP_Toolbox/LDAMP_TensorFlow/saved_models/ and D-AMP_Toolbox/LDAMP_TensorFlow/TrainingData/ respectively.
The Matlab LDAMP/LDVAMP demos (DnCNN-AMP) require that you have Matconvnet (http://www.vlfeat.org/matconvnet/) compiled and on your path.
VAMP demos require that you have the latest version of the GAMPmatlab toolbox downloaded via the SVN interface (svn co svn://svn.code.sf.net/p/gampmatlab/code/ GAMPmatlab) and that you have GAMPmatlab/main and GAMPmatlab/VAMP on your path.
RED demos require that you have FASTA on your path (https://github.com/tomgoldstein/fasta-matlab).
# Installation
The LDAMP_TensorFlow code were created and tested using TensorFlow 1.7 and Python 2.7.
The Non-local Means and Rice Wavelet Toolbox code need to be compiled before they can be used:
Compile the NLM utilities by typing `mex image2vectors_double.c`, `mex image2vectors_single.c`, `mex vectors_nlmeans_double.c`, and `mex vectors_nlmeans_single.c` from the Packages/NLM/ directory.
Compile the Rice Wavelet Toolbox (RWT) by entering `compile` from the Packages/rwt/bin/ directory. Currently the RWT does not compile under Windows 64 bit Matlab.
You will need Matlab's stat toolbox for qqplots.
# Example
Use BM3D-AMP to recover a signal a 128x128 image x_0 sampled according to y=M*x_0 where M is an m by n Gaussian measurement matrix with unit norm columns:
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
matlba/python/c语言 此软件包包含运行 Learned D-AMP、D-AMP、D-VAMP、D-prGAMP 和 DnCNN 算法的代码。它还包括使用 SURE 损失训练 Learned D-AMP、DnCNN 和 Deep Image Prior U-net 的代码。 主要内容 脚本: CS_1D_Demo.m:使用基于 Haar 小波稀疏性的 (V)AMP 和 NLM-(V)AMP 恢复压缩采样的一维信号。 CS_Imaging_Demo.m:使用 D-AMP 恢复压缩采样的图像。 CS_Imaging_Demo_DVAMP.m:使用 D-VAMP 恢复压缩采样的图像。 CS_Imaging_Demo_LDAMP.m:使用 L(V)AMP 恢复压缩采样的图像。 CPR_Imaging_Demo.m:使用 D-prGAMP 执行压缩相位检索。 等等
资源详情
资源评论
资源推荐
收起资源包目录
此软件包包含运行 Learned D-AMP、D-AMP、D-VAMP、D-prGAMP 和 DnCNN 算法的代码 (517个子文件)
change_log.txt.$$$ 1KB
AUTHORS 313B
vectors_nlmeans_double.c 15KB
vectors_nlmeans_single.c 15KB
image2vectors_single.c 12KB
image2vectors_double.c 12KB
rdwt.c 8KB
dwt.c 8KB
irdwt.c 7KB
upConv.c 6KB
idwt.c 6KB
init.c 6KB
corrDn.c 5KB
pointOp.c 4KB
mrdwt.c 2KB
mirdwt.c 2KB
mdwt.c 2KB
range2.c 2KB
innerProd.c 1KB
midwt.c 1KB
platform.c 727B
DAMP_16DnCNNL_10DAMPL_TieFalse_LbyLTrue_SR20.ckpt.data-00000-of-00001 27.79MB
DnCNN_16L_sigmaMin25_sigmaMax25.ckpt.data-00000-of-00001 9.91MB
upConv.dll 50KB
corrDn.dll 49KB
innerProd.dll 41KB
pointOp.dll 34KB
range2.dll 33KB
DnCNN_16L_sigmaMin25_sigmaMax25 34B
Dockerfile 999B
.gitignore 367B
rwt_platform.h 2KB
rwt_init.h 1KB
rwt_transforms.h 946B
HACKING 7KB
matlab_xunit_architecture.html 34KB
release-history.html 10KB
exTolerance.html 9KB
exSilentRunning.html 7KB
exTestCase.html 7KB
xunit_product_page.html 6KB
exQuickStart.html 6KB
exException.html 6KB
exTestCaseSearching.html 5KB
exTestFixtures.html 5KB
exRunTestsInPackage.html 4KB
exSubfunctionTests.html 4KB
exRunSpecificTest.html 3KB
exRunTestsInADirectory.html 3KB
Readme.html 148B
index.html 144B
numpy.i 53KB
rwt.i 21KB
Doxyfile.in 78KB
DAMP_16DnCNNL_10DAMPL_TieFalse_LbyLTrue_SR20.ckpt.index 30KB
DnCNN_16L_sigmaMin25_sigmaMax25.ckpt.index 8KB
INSTALL 2KB
lena.jpg 11KB
LICENSE 2KB
LICENSE 2KB
LICENSE 332B
CBM3D.m 28KB
VBM3D.m 26KB
test_denoise.m 23KB
BM3D.m 22KB
CVBM3D.m 21KB
BM3D_CFA.m 17KB
BM3DSHARP.m 17KB
BM3DDEB_init.m 17KB
BM3DDEB.m 17KB
DnCNN_train.m 16KB
matlab_xunit_architecture.m 15KB
TestSuite.m 13KB
test_denoise.m 11KB
TestRunDisplay.m 10KB
Demo_IDDBM3D.m 9KB
NLMF.m 9KB
denoi_BLS_GSM_band.m 7KB
denoise.m 7KB
denoi_BLS_GSM.m 7KB
FunctionHandleTestCase.m 7KB
function_LPAKernelMatrixTheta.m 6KB
showIm.m 6KB
denoise.m 6KB
function_CreateLPAKernels.m 5KB
runtests.m 5KB
makesig.m 5KB
TestFuncHandleTests.m 5KB
compareFloats.m 4KB
LoadNetworkWeights.m 4KB
CS_Imaging_Demo_RED.m 4KB
TestSuiteTest.m 4KB
reconWpyr.m 4KB
TestRunLogger.m 4KB
test_parseFloatAssertInputs.m 4KB
RuntestsTest.m 4KB
CS_Imaging_Demo_LDAMP.m 4KB
VerboseTestRunDisplay.m 4KB
TestCase.m 4KB
compareFloats.m 4KB
共 517 条
- 1
- 2
- 3
- 4
- 5
- 6
快撑死的鱼
- 粉丝: 1w+
- 资源: 9149
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1