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
Denoiser: de-noise an image corrupted with speckle noise with DnCNN models


If you aim at using this interface please cite the following papers:
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