Image Restoration Using DNN
Hila Levi & Eran Amar
Images were taken from: http://people.tuebingen.mpg.de/burger/neural_denoising/
Image Restoration Using DNN Hila Levi & Eran Amar Images were - - PowerPoint PPT Presentation
Image Restoration Using DNN Hila Levi & Eran Amar Images were taken from: http://people.tuebingen.mpg.de/burger/neural_denoising/ Agenda Domain Expertise vs. End-to-End optimization Image Denoising and Inpainting: Task definition and
Hila Levi & Eran Amar
Images were taken from: http://people.tuebingen.mpg.de/burger/neural_denoising/
Domain Expertise vs. End-to-End optimization Image Denoising and Inpainting:
Task definition and previous work Displaying the NNs, experiments and results Conclusions
Image Super Resolution (SR) For the rest of the talk, Neural Network will be written as NN.
2
How to utilize Neural Networks for algorithmic challenges? One possible approach, is to try to combine the network with existing well- engineered algorithms (“physically” or by better initialization). On the other hand, there is a “pure” learning approach which looks at the NN as a “black box”. That is, one should build a network with some (possibly customized) architecture and let it optimize its parameters jointly in an end-to-end manner. In this talk we will discuss those two approaches for the task of image restoration.
3
4
many acquisition channels and compression methods.
5
Additive White Gaussian noise.
distributed noise (will see examples later) Abundance of more complicated types of noise:
Numerous and diverse (non-NN) approaches:
Selectively smooth parts of the noisy image Careful shrinkage of wavelets coefficients Dictionary Based: try to approximate noisy patches with sparse combination of elements from a pre-learned dictionary (trained on noise-free database), for instance: KSVD. “Non local statistics” of images: different patches in the same image are often similar in
6
decomposition over a redundant dictionary.
this talk, we refer to the denoising-algorithm based on KSVD as “KSVD” (more details about dictionary-based methods in the SR part of this talk).
Based on: M. Aharon, M. Elad, and A. Bruckstein. K-svd: An algorithm for designing overcomplete dictionaries for sparse
7
together as a 3D array, then performs a collaborative filtering (method that the authors designed) of the group to obtain a noise-free 2D estimation.
8
Based on: K. Dabov, A. Foi, V. Katkovnik, and K. Egiazarian. Image denoising by sparse 3-D transform-domain collaborative filtering. IEEE Transactions on Image Processing, 16(8):2080–2095, 2007.
If I is the original noise-free image, and K is the noisy approximation: MAXI = the maximum value across all pixels.
9
(June 2012 - the dawn of Neural Networks)
feed-forward network, to map noisy grayscale image patches onto cleaner patches.
10
Formally, the MLP is a nonlinear function that maps vector-valued input to a vector-valued output. For a 3-layer network, it can be written as: When the function tanh() operates coordinate-wise.
11
Loss function: Stochastic Gradient Descent with backpropagation algorithm. Common NN tricks:
Data normalization (to have zero mean) Weights initialization with normal distribution Learning rate division (in each layer, the learning rate was divided by the number of in- connection to that layer).
Implemented over GPUs to allow large-scale experiments.
12
Training: pairs of noisy and clean patches. Given a clean image, the noisy image was generated by applying AWG noise (std=25). Two main sources for clean images:
Barkeley Segmentation dataset (small dataset, ~200 images) The union of LabelMe dataset (large dataset, ~150,000 images)
Testing:
Standard test set: 11 common images “Lena”, “Barbara” and etc 13
The specific variation of the network is defined by a string with the following structure ?-??-?x??? First, a letter S or L indicating the size of the training set Then, a number denoting the patch size The number of hidden layers follow by the size of the layers (all of them are
For example: L-17-4x2047.
14
Test the PSNR on “Barbara” and “Lena” images for every 2 million training examples.
15
16
17
for fixed level of noise (std=25).
different level of noise.
to be supplied with the level of noise for the given image.
18
105 in step size of 5).
parameter.
19
Rice-distributed noise and Poisson noise can be handled by transforming the input image, and applying the MLP on the resulting AWG-like noise.
20
In most cases it is more difficult\impossible to find Gaussianizing transforms. MLPs allows to effectively learn a denoising algorithm for a given noise type, provided that noise can be simulated (no need to redesign the network).
21
22
○ Contains a structure ○ No canonical denoising algorithm so used BM3D.
○ Noisy values are not correlated to the original image values. ○ Median filtering as a baseline for comparison.
○ Due to the image compression (blocky image and loss of edge clarity). ○ Not random, but completely determined by the input. ○ Compared against the common method for handling JPEG artifacts (re application of JPEG).
23
Achieved State of the Art results. Key ingredients for success:
The capacity of the network should be large enough (in terms of layers and units) Large patch size Huge training set (tens of millions)
However, the best MLP performs well only with respect to single level of
different noises but still achieved less than the original version against fixed level of noise.
24
25
from the image.
modifications) to non-blind image inpainting and achieve state of the art results.
strong assumptions on the inputs.
26
practice, albeit being linear.
performance.
Inpainting with Deep Neural Networks (2012) to try to combine “sparse” with “deep”. We now present their work.
27
(SSDA).
28
Noise\clean relation: ** Learning objective: Layers formulation: Activation function: Loss function:
29
Parameter used:
30
backpropagation training.
activations of both the noisy input and the clean input are the training data of the second layer. Namely:
31
Remainder
backpropagation.
○ Clean training images were taken from a public web database. ○ Noisy counterparts were generated with AWG noise.
○ pairs of noise-clean patches (that may overlaps).
○ Standard 11 tests images (“Lena”, “boat” ect).
○ Try different patch sizes (not specified) 32
Scale Mixture).
three methods.
33
Was observed for SSDA:
requires larger patch size
weights of the regularization terms
34 clean noisy
BLS-GSM KSVD
SSDA
○ Eliminates small fonts completely, larger fonts were dimmed ○ Blind method which compete with non-blind one!
35
36 noisy SSDA KSVD
○ Much more to improve: dropout, convolutional layers etc
○ Performance comparable to traditional sparse coding algorithms ○ Limited to the specific type of noise it was trained on, and for fixed level of noise
○ Achieved great results even compared to non-blind methods 37
38