JiamingLiu-Jeremy / bcred

The implementation of the Block Coordinate Regularization by Denoising (BC-RED) algorithm (NeurIPS 2019)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

We consider the problem of estimating a vector from its noisy measurements using a prior specified only through a denoising function. Recent work on plug- and-play priors (PnP) and regularization-by-denoising (RED) has shown the state-of-the-art performance of estimators under such priors in a range of imaging tasks. In this work, we develop a new block coordinate RED algorithm that decomposes a large-scale estimation problem into a sequence of updates over a small subset of the unknown variables. We theoretically analyze the convergence of the algorithm and discuss its relationship to the traditional proximal optimization. Our analysis complements and extends recent theoretical results for RED-based estimation methods. We numerically validate our method using several denoiser priors, including those based on convolutional neural network (CNN) denoisers.

How to run the code

Prerequisites

python 3.6
tensorflow 1.12 or lower
scipy 1.2.1 or lower
numpy v1.17 or lower
matplotlib v3.1.0

It is better to use Conda for installation of all dependecies.

Run the Demo

We provide three scripts

demo_DnCNNstar_Random.py
demo_DnCNNstar_Radon.py
demo_DnCNNstar_Fourier.py

to demonstrate the performance of BC-RED with Random matrix, Radon matrix, and Fourier matrix. For example, after installing all prerequisites, you can run the BC-RED for Radon matrix by typing

$ python Demo_DnCNNstar_Radon.py

To try with different settings, please open the script and follow the instruction inside.

Lipschitz Constrained Neural Networks

We also provide the direct/residual convolutional neural network with the Lipschitz constant of 1 and 2, respectively. These denoising CNN are trained on the images from fastMRI challenge. The pre-trained models are stored under the /models folder. Feel free to download and test them.

Citation

Y. Sun, J. Liu, and U. S. Kamilov, “Block Coordinate Regularization by Denoising,” Proc. Ann. Conf. Neural Information Processing Systems (NeurIPS 2019) (Vancouver, Canada, December 8-14), in press.

@conference{Sun.etal,
Author = {Sun, Y. and Liu, J. and Kamilov, U. S.},
Month = May,
Booktitle = {Proc. Ann. Conf. Neural Information Processing Systems ({N}eur{IPS})},
Title = {Block Coordinate Regularization by Denoising},
Year = {2019}}

About

The implementation of the Block Coordinate Regularization by Denoising (BC-RED) algorithm (NeurIPS 2019)


Languages

Language:Python 100.0%