Denoising phase data from speckle metrology


Authors

Renaud Loup (1), Mano Brabant (1), Marie Tahon (1), Silvio Montresor (2), Pascal Picart (2)
(1) LIUM / Le Mans Université
(2) LAUM / Le Mans Université
contact: renaud.loup.etu@univ-lemans.fr, marie.tahon@univ-lemans.fr, silvio.montresor@univ-lemans.fr

About the project

This project is a demonstrator of a de-noising approach based on deep learning and developed in collaboration between LAUM and LIUM laboratories from Le Mans University. This interface is devoted to the simulation of speckle decorrelation noise in phase maps from speckle metrology (digital holography and related approaches such as shearography or speckle interferometry) in a given phase image (with tab “Noisemaker”) and to the de-noising of phase images corrupted with speckle noise (with tab “Denoiser”).
Digital holography and related methods are very efficient techniques for 3D imaging and the characterization of changes at surface of objects. However, during the process, the reconstructed phase images from holographic interferometry suffer from speckle noise. In the demonstrator, de-noising is addressed with phase images corrupted with speckle noise induced by surface changes between holographic acquisitions. To do so, two DnCNN residual networks were implemented in PyTorch and trained with various holographic noisy phase data from HOLODEEP benchmark [1]. Two models ae considered: a light model which is rapidly trainable consists of 4 residual blocks, and a large model which is designed to learn complex noises and consists of 16 residual blocks. Outputs from both models are characterized in terms of standard deviation of the phase error and Peak-Signal-To-Noise-Ratio (psnr, dB) of the cosine image of the phase. Characterization is carried out with the HOLODEEP benchmark data and with 3 unseen images corresponding to different experimental conditions.
All executions are processed with server-side on specialized GPU/CPU machines to speed up the process.



How to use it

Noisemaker: generate your own speckle noise with the simulator

  • upload your own wrapped noise-free phase image with the interface
  • uploaded images must be square, accepted formats are tiff, png or matlab (in case of matlab format please specify the name of the relevant matrix data)
  • choose the desired configuration using the two parameters (speckle grain and speckle noise degradation)

  • Denoiser: de-noise an image corrupted with speckle noise with DnCNN models

  • upload your own wrapped noisy phase image with the interface or select an image from the gallery
  • uploaded images must be square, accepted formats are tiff, png or matlab (in case of matlab format please specify the name of the relevant matrix data)
  • get results
  • get Delta Phi and PSNR between clean reference and de-noised images
    e(i,j) = difference between predicted image and original image (or noisy) rescaled between 0 and 2nbits - 1
    c(i,j) = difference between cosin of predicted image and original image (or noisy) rescaled between 0 and 2nbits - 1
    (n = 8 bits)
  • MN = Image size in pixels
  • download the de-noised image in a suitable format.

  • If you aim at using this interface please cite the following papers:

  • S. Montrésor and P. Picart, "Quantitative appraisal for noise reduction in digital holographic phase imaging", Opt. Express, vol. 24, no. 13, pp. 14322-14343, Jun 2016. (https://www.osapublishing.org/oe/fulltext.cfm?uri-oe-24-13-14322&id=344864)
  • S. Montrésor, M. Tahon, A. Laurent, and P. Picart, "Computational de-noising based on deep learning for phase data in digital holographic interferometry", APL Photonics, vol. 5, no. 3, pp. 030802, 2020. (https://aip.scitation.org/doi/10.1063/1.5140645)

  • Results


    PyTorch implementation was addressed during a project realized by master students in computer science. The demonstrator constitutes the final outcome of their work. The following results were obtained with models trained on 200 epochs with the 25 phase images from HOLODEEP. Note that the noisy image is de-noised only once by the model.

    Δϕ is computed between the noise-free reference phase and the de-noised phase.

    Model HOLODEEP Test 1 Test 2 Test 4
    light 0.055 0.114 0.660 0.124
    large 0.032 0.069 0.609 0.128

    The deep learning code is available here -> git-lab