Git Product home page Git Product logo

rei's Introduction

Robust Equivariant Imaging (REI) in PyTorch

arXiv GitHub Stars

Robust Equivariant Imaging: a fully unsupervised framework for learning to image from noisy and partial measurements

Dongdong Chen, Julián Tachella, Mike E. Davies.

The University of Edinburgh, UK

In CVPR 2022 (oral)

Background

Deep networks provide state-of-the-art performance in multiple imaging inverse problems ranging from medical imaging to computational photography. However, most existing networks are trained with clean signals which are often hard or impossible to obtain. This work aims to solve the challenge: learn the reconstruction function from noisy and partial measurements alone. Please find our presentation video for a quick introduction.

Figure 1: Equivariant imaging systems. If the set of signals is invariant to a certain set of transformations, the composition of imaging operator () with the reconstruction function () should be equivariant to these transformations.

  • EI is the first self-supervised learning framework that exploits the group invariance present in signal distributions to learn a reconstruction function from partial measurement data alone (Figure 1). EI is end-to-end and physics-based learning framework for inverse problems with theoretical guarantees which leverages simple but fundamental priors about natural signals: symmetry and low-dimensionality.
  • Given an inverse problem, EI learns the reconstruction function with NO need for either multiple forward operators or extra masking measurement data into multiple complementary/overlapped parts. EI is agnostic to neural network architecture. Please find our blog post and presentation video for a quick introduction of EI.

Robust Equivariant Imaging (REI)

Figure 2: REI training strategy. represents the estimated image, is the transformation, while and represent and the estimate of from the (noisy) measurements respectively. The SURE loss aims to estimate the measurement consistency of clean measurement, REQ (robust equivariance) loss is the error (e.g. MSE) between and .

  • Motivation: while EI results are impressive and successfully solved the challenge of learning to image without groundtruth, its performance degrades with increasing measurement noise (Figure 2).
  • Main idea: we propose to employ Stein's Unbiased Risk Estimator (SURE) to obtain a fully unsupervised training loss that is robust to noise, i.e. have an unbiased SURE estimator to the measurement consistency loss of clean measurements. With the SURE loss and the EI objective, our proposed REI framework can learn to image from noisy partial measurements alone (Figure 3, Figure 4).
  • Performance: REI can obatin considerable performance gains on linear (e.g. MRI, Inpainting) and nonlinear inverse problems (e.g. CT), thereby paving the way for robust unsupervised imaging with deep networks (Figure 4).
  • Remark 1: while we evaluated REI on the Gaussian, Poisson and Mixed Poisson-Gaussian (MPG) models, SURE can handle many other models including non-exponential ones, see Raphan et al. for a detailed list. By this repo, we believe one can implement other noise models accordingly without giant changes.
  • Remark 2: (R)EI is agnostic to neural network architecture -- one can employ (R)EI to train any existed imaging networks to achieve fully unsupervised learning to image without changing the architectures. In addition to our demonstrated applications of REI (EI) on image inpainting, CT and MRI image reconstruction tasks, REI (EI) can be used to achieve new and fully unsupervised learning solutions to other inverse problems in computer vision and scientific imaging tasks, especially the cases when no groundtruth data is available for training.

Figure 3: Motivation. The performance of EI degrades with increasing noise. From top to bottom: reconstructions of EI, supervised (Sup) baseline, and the proposed REI on 4× accelerated MRI with Gaussian noise level = 0.01, 0.1, 0.2. PSNR values are shown in the top right corner of the images

flexible flexible Figure 4: More results. From top to bottom: reconstruction of , EI, REI, Sup and the groundtruth on the non-linear CT (with MPG noise) and Inpainting (with Poisson noise) tasks, respectively.

We collected some Frequently Asked Questions, please find the above Q & A.

Run the code

  1. Requirements: configure the environment by following: environment.yml to run Inpainting and CT experiments. To run MRI experiments, please install the 'fastmri' package by pip install fastmri.

  2. Find the implementation of Robust Equivariant Imaging (REI):

    • REI for the accelerated MRI task and the Inpainting task: rei_end2end.py
    • REI for the low-dose and sparse-view CT task: rei_end2end_ct.py
    • Find our implementation of SURE for Gaussian and Poisson noise models at: rei_end2end.py
    • Find our implementation of SURE for Mixed Poisson-Gaussian noise model at: rei_end2end_ct.py
  3. Download datasets from the below source and move them under the folders: ./dataset/mri, ./dataset/Urban100, and ./dataset/CT, repectively:

  4. Train: run the below scripts to train REI models:

    • run ./demo_scripts/demo_mri.py, ./demo_scripts/demo_inpainting.py, ./demo_scripts/demo_ct.py to train REI for MRI, Inpainting, and CT tasks, respectively.
    • or run train_bash.sh to train REI models on all tasks.
    bash train_bash.sh
    
  5. Test: run 'demo_test.py' to test the performance (PSNR) of a trained model on a specific task.

    python3 demo_test.py
    

    We also provide the trained models used in the paper which can be downloaded at Google Drive. Please put the downloaded folder 'ckp' in the root path.

  6. To solve a new inverse problem, one only needs to

    • step 1: implement their own forward model (physics of sensing model)
    • step 2: determine the transformation group
    • step 3: specify the path of new dataset

Citation

If you use this code for your research, please cite our papers.

  @inproceedings{chen2021equivariant,
      title     = {Equivariant Imaging: Learning Beyond the Range Space},
      author    = {Chen, Dongdong and Tachella, Juli{\'a}n and Davies, Mike E},
      booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
      month     = {October},
      year      = {2021},
      pages     = {4379-4388}}

  @inproceedings{chen2022robust,
      title     = {Robust Equivariant Imaging: a fully unsupervised framework for learning to image from noisy and partial measurements},
      author    = {Chen, Dongdong and Tachella, Juli{\'a}n and Davies, Mike E},
      booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
      year      = {2022}}

rei's People

Contributors

edongdongchen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

rei's Issues

MRI REI

Hi, I really appreciate your amazing works on inverse problem solving.
I'd like to ask a question about the scaronio on accelerating MRI:
In the data preparation of MRI reconstruction, you use fastMRI Knee as ur data.
While the original data format from fastMRI is kspace raw data in .h5, in ur code
it look like you have do some preprocess to transform it as 'root_dir='../dataset/mri/fastmri_knee_4865_norm_single_slice.pt'',
I am curious about the genration of .pt file.
Thank you:)

About the supplementary material

Thanks for sharing such a great work. I think equivariant imaging is a very interesting idea and notice your previous work in this field.

I have some questions about the experimental details and derivations. Could you please share with me the supplementary material of this paper? A public link or emailing to [email protected] are both ok.

Thanks.

A question about the operator "A" and noise.

Thanks for sharing this great work. Equivariant Imaging is a great idea. However, I have a few questions about the mechanism/motivation of this idea.

Yes, clean signals are hard to obtain in many cases. Therefore, it is meaningful to perform unsupervised learning from noisy and partial measurements. However, in this paper, the forward operator "A" and characteristics of the noise are assumed to be known. My questions are around this assumption.

  1. Is this assumption difficult to hold for many real-world imaging tasks? For example, the downsampling strategy and blur type are unknown and hard to predict in real-world image super-resolution task.
  2. If the forward operator "A" and characteristics of the noise are known, it is easy to synthesize or create the training pairs through the forward process. For example, we can collect a great set of high-resolution and clear images easily, and generate abundant training pairs for inpainting and SR. In such a situation, why unsupervised learning is necessary (instead of supervised learning) since I can get many desirable training pairs easily with the known forward operator "A" and characteristics of the noise?

Could you please help me with the above questions?

Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.