SlideShare a Scribd company logo
1 of 66
Download to read offline
ECE 285
Image and video restoration
Chapter VII – Patch models and dictionary learning
Charles Deledalle
March 22, 2019
1
Motivations
• Modeling the distribution of images is difficult.
• Images lie in a complex and large dimensional space/manifold.
• Their distribution may be spread out on different clusters.
Divide and conquer approach:
Break down images into small patches and model their distribution.
2
Motivations
Patches capture local context: geometry and texture.
3
Motivations
Theoretical and experimental works on the primary visual cortex have shed
new light on the importance of patch-level image coding.
Biological observations (1/2)
[Olshausen et al., 1996]:
The receptive fields of cells in
mammalian primary visual cortex are
1 spatially localized,
2 oriented,
3 bandpass.
[Ringach, 2002]
4
Motivations
Theoretical and experimental works on the primary visual cortex have shed
new light on the importance of patch-level image coding.
Biological observations (2/2)
[Olshausen and Field, 2004]:
Neural responses in the primary cortex are:
• sparse,
• sparser thanks to interactions with other areas.
This sparse coding confers several advantages
• eases read out at subsequent levels,
• increases storage capacity in associative memories,
• saves energy.
http://thebrain.mcgill.ca
5
Motivations
Theoretical and experimental works on the primary visual cortex have shed
new light on the importance of patch-level image coding.
Computational models of biological vision
[Olshausen et al. 1996, Olshausen and Field, 2004, Vinje and Gallant, 2000]:
Sparse coding of patches proposed to model the primary visual cortex:
6
Learning sparse representations
Dictionary learning problem
Reminder about sparse decomposition
Given a dictionary D = (d1, d2, . . . , dK ) ∈ Rn×K
, with K > n for
redundancy, represent an image x as a sparse linear combination of the atoms
η ∈ argmin
η∈RK
1
2
||x −
K
k=1
ηkdk||2
2
data fit
+ τ
K
k=1
|ηk|p
sparsity
, τ 0
= argmin
η∈RK
1
2
||x − Dη||2
2
data fit
+ τ ||η||ρ
ρ
sparsity
, ρ 0
7
Dictionary learning problem
Reminder about sparse priors
• ρ prior ||η||ρ
ρ = k |ηk|ρ
• convexity ρ 1
• sparsity ρ 1
• 0 prior ||η||0 =number of non-zero elements
• 1 prior ||η||1 = k |ηk|
(Source: G. Peyr´e) 8
Dictionary learning problem
Instead of choosing the dictionary: wavelet basis, derivative filters, . . .
Can we learn it from a data-set x1, . . . , xm?
Sparsifying dictionary learning for images
Find a dictionary D = (d1, d2, . . . , dK ) ∈ Rn×K
, with K > n for redundancy,
such that the data-set X = (x1, x2, . . . , xm) ∈ Rn×m
can be represented by
sparse linear combinations of the atoms
D ∈ argmin
D∈Rn×K
min
η∈RK×m
1
2
m
j=1
||xj −
K
k=1
ηk,jdk||2
2
data fit
+ τ
m
j=1
K
k=1
|ηk,j|ρ
sparsity
= argmin
D∈Rn×K
min
η∈RK×m
1
2
||X − Dη||2
F
data fit
+ τ ||η||ρ
ρ
sparsity
.
Idea: find a dictionary that sparsifies the data-set.
9
Dictionary learning problem
D ∈ Rn×K
has too many degrees of freedom!
It cannot be estimated properly, and even then, it does not fit in memory.
It would be feasible if the images were 8 × 8, but they are not.
10
Dictionary learning problem
Remarks: for wavelets and gradients, the atoms
1 have limited support 2 are stationary 3 are overlapping
D =




















d1 d2 . . . dK
d1 d2 . . . dK
d1 d2 . . . dK
...
d1 d2 . . . dK
d1 d2 . . . dK




















If we cannot learn D, can we learn the small atoms d1, . . . , dK ?
Ex: if the support is p = 8 × 8 and K = 512, the learning problem is tractable
even with a reasonable number K of training images xk.
11
Dictionary learning problem
Sparsifying dictionary learning for patches
Find a dictionary of patches D = (d1, d2, . . . , dK ) ∈ Rp×K
, with K > p for
redundancy, such that the data-set of patches X = (x1, x2, . . . , xm) ∈ Rp×m
can be represented by sparse linear combinations of the atoms
D ∈ argmin
D∈Rp×K
min
η∈RK×m
1
2
||X − Dη||2
F
data fit
+ τ ||η||ρ,1
sparsity
.
12
Dictionary learning problem
D ∈ argmin
D∈Rp×K
min
η∈RK×m
1
2
||X − Dη||2
F
data fit
+ τ ||η||ρ
ρ
sparsity
.
Optimization problem
• Add the constraint: ||dk||2 1,
Otherwise: D → ∞ and η → 0.
• For ρ 1:



• Convex with respect to D,
• Convex with respect to η,
• Non-convex with respect to (D, η).
• For ρ = 0:



• Convex with respect to D,
• Non-convex with respect to η,
• Non-convex with respect to (D, η).
13
Dictionary learning problem with k-SVD
D ∈ argmin
D∈Rp×K
min
η∈RK×m
1
2
||X − Dη||2
F
data fit
+ τ ||η||0
sparsity
subject to ||dk||2 1
k-SVD: Greedy algorithm for ρ = 0 (1/2) [Aharon et al., 2006]
1 Initialize D with normalized columns ||dk||2 = 1.
2 Sparse-coding stage: fix D and solve for each 1 j m
η:,j ∈ min
η∈RK
1
2
||xj − Dη||2
F
data fit
+ τ ||η||0
sparsity
with matching pursuit or orthogonal matching pursuit (see previous class).
14
Dictionary learning problem with k-SVD
D ∈ argmin
D∈Rp×K
min
η∈RK×m
1
2
||X − Dη||2
F
data fit
+ τ ||η||0
sparsity
subject to ||dk||2 1
k-SVD: Greedy algorithm for ρ = 0 (1/2) [Aharon et al., 2006]
1 Initialize D with normalized columns ||dk||2 = 1.
2 Sparse-coding stage: fix D and solve for each 1 j m
η:,j ∈ min
η∈RK
1
2
||xj − Dη||2
F
data fit
+ τ ||η||0
sparsity
with matching pursuit or orthogonal matching pursuit (see previous class).
14
Dictionary learning problem with k-SVD
D ∈ argmin
D∈Rp×K
min
η∈RK×m
1
2
||X − Dη||2
F
data fit
+ τ ||η||0
sparsity
subject to ||dk||2 1
k-SVD: Greedy algorithm for ρ = 0 (1/2) [Aharon et al., 2006]
1 Initialize D with normalized columns ||dk||2 = 1.
2 Sparse-coding stage: fix D and solve for each 1 j m
η:,j ∈ min
η∈RK
1
2
||xj − Dη||2
F
data fit
+ τ ||η||0
sparsity
with matching pursuit or orthogonal matching pursuit (see previous class).
14
Dictionary learning problem with k-SVD
D ∈ argmin
D∈Rp×K
min
η∈RK×m
1
2
||X − Dη||2
F
data fit
+ τ ||η||0
sparsity
subject to ||dk||2 1
k-SVD: Greedy algorithm for ρ = 0 (1/2) [Aharon et al., 2006]
1 Initialize D with normalized columns ||dk||2 = 1.
2 Sparse-coding stage: fix D and solve for each 1 j m
η:,j ∈ min
η∈RK
1
2
||xj − Dη||2
F
data fit
+ τ ||η||0
sparsity
with matching pursuit or orthogonal matching pursuit (see previous class).
14
Dictionary learning with k-SVD
k-SVD: Greedy algorithm for ρ = 0 (2/2) [Aharon et al., 2006]
3 Dictionary update: for all columns 1 k K
• Compute the residual without using the current atom dk:
Ek = X −
l=k
dlηl,: = X − (Dη − dkηk,:)
• ER
k : pick only the columns j of Ek for patches xj using atom dk,
• Update dk and ηk,: by finding the best rank 1 approximation
ER
k ≈ dkηk,: subject to ||dk||2 = 1
Use reduces SVD for rank 1 matrices:
ER
k = USV T
⇒ dk = U:,1 and ηk,: = S1,1V:,1
• Return to step 2 until convergence.
−→ k × SVD are performed at each iteration.
15
Dictionary learning with k-SVD
Update for atom k = 1
16
Dictionary learning with k-SVD
Update for atom k = 2
16
Dictionary learning with k-SVD
Update for atom k = 3
16
Dictionary learning with k-SVD
Update for atom k = K
16
Dictionary learning with k-SVD
A collection of 500 random patches (8x8) that were used for training, sorted
by their variance.
(a) (b) (c)
(a) The learned dictionary. Its elements are sorted in an ascending order of
their variance and stretched to maximal range for display purposes. (b) The
overcomplete separable Haar dictionary and (c) the over complete DCT
dictionary are used for comparison.
17
Dictionary learning with k-SVD
k-SVD based restoration (1/3) [Elad et al., 2006]
min
x∈Rn
η1,...,ηn∈RK
1
2σ2
||Hx − y||2
2
data fit
+
n
i=1
β
2
||Pix − Dηi||2
2
patch approximation
+ τ||ηi||0
sparsity
(Half-Quadratic Splitting)
• x ∈ Rn
: unknown image,
• y = Hx + w ∈ Rq
: observed image with w ∼ N(0, σ2
Idq),
• H ∈ Rq×n
: blur, super-resolution, Radon transform. . .
• Pi ∈ Rp×n
: extract a patch of size p around pixel with index i,
• D ∈ Rp×K
: learned patch dictionary,
• ηi ∈ RK
: sparse code for patch with index i,
• β > 0, τ > 0: hyper-parameters.
Look for an image such that all its patches are well explained by sparse
linear combinations of learned atoms.
18
Dictionary learning with k-SVD
min
x∈Rn
η1,...,ηn∈RK
1
2σ2
||Hx − y||2
2
data fit
+
n
i=1
β
2
||Pix − Dηi||2
2
patch approximation
+ τ||ηi||0
sparsity
k-SVD based restoration (2/3) [Elad et al., 2006]
Alternate minimization:
1 Initialize x, and repeat steps 2 and 3 until convergence,
2 Sparse coding: fix x and solve for all index 1 i n
argmin
ηi∈RK
β
2
||Pix − Dηi||2
2
patch approximation
+ τ||ηi||0
sparsity
with matching pursuit or orthogonal matching pursuit (see previous class).
19
Dictionary learning with k-SVD
min
x∈Rn
η1,...,ηn∈RK
1
2σ2
||Hx − y||2
2
data fit
+
n
i=1
β
2
||Pix − Dηi||2
2
patch approximation
+ τ||ηi||0
sparsity
k-SVD based restoration (3/3) [Elad et al., 2006]
Alternate minimization:
3 Patch reprojection: for all ηi and solve for x
x ∈ argmin
x∈Rn
1
2σ2
||Hx − y||2
2
data fit
+
n
i=1
β
2
||Pix − Dηi||2
2
patch approximation
= H∗
H + σ2
β
n
i=1
P∗
i Pi
−1
H∗
y + σ2
β
n
i=1
P∗
i Dηi
• If H = Idn: average overlapping patches Dηi with the noisy image y
• Otherwise, solved by conjugate gradient, or efficiently depending on H.
20
Dictionary learning with k-SVD
Adaptively trained dictionary.
k-SVD for denoising
• Quality improvement: learned the dictionary on the noisy image itself,
• Speed-up: only once: sparse coding + reprojection (do not iterate).
21
Dictionary learning with k-SVD
k-SVD: Importance of redundancy Color k-SVD [Mairal et al., 2008]
Related works:
• Non-negative k-SVD [Aharon et al., 2005].
• Color k-SVD [Mairal et al., 2008].
• Analysis k-SVD [Rubinstein et al., 2013].
22
Sparsity with collaborative filtering
Sparsity with collaborative filtering
Motivations
• k-SVD:



• Patches are denoised independently,
• Use non-linear shrinkages to create sparsity,
• Use redundant learned dictionaries.
• Non-local Bayes:



• Denoise similar patches together,
• Use linear shrinkages (LMMSE),
• Use (non-local) orthogonal PCA basis.
Idea: use sparsity on stacks of similar patches.
23
Sparsity with collaborative filtering – BM3D
BM3D: Block-matching and 3D filtering [Dabov et al., 2007]
• Build groups of similar patches,
• Apply sparsifying 3D transform,
• Denoise each group (thresholding or LMMSE),
• Reproject/Aggregate overlapping patches.
Some results:
24
Sparsity with collaborative filtering – BM3D
Grouping by matching
R is a targeting patch, other patches are grouped
with this patch by similarity (Euclidean distance).
25
Sparsity with collaborative filtering – BM3D
Grouping by matching
Non-locality: patches that are far apart can be stacked together.
26
Sparsity with collaborative filtering – BM3D
Grouping for collaborative filtering
• As groups contain similar patches:
• intrapatch correlation: peculiarity of natural images,
• interpatch correlation: results of grouping by similarity,
⇒ highly sparse representation.
R
Block matching
3D
grouping 3D transform Inverse 3D
transform
Denoised 3D
group
R R
-10 -5 0 5 10
-10
-8
-6
-4
-2
0
2
4
6
8
10
Filter / Shrinkage
Collaborative filtering:
• reveals finest details shared by similar patches,
• preserves unique features of each patch.
27
Sparsity with collaborative filtering – BM3D
Aggregation
• Each pixel gets multiple estimates from different groups
• Naive approach: average all estimates
. . . not all estimates are as good.
• Give higher weights to more reliable estimates
. . . measured according to their sparsity.
R
thr
thr
R
R R
Aggregation
28
Sparsity with collaborative filtering – BM3D
Two steps filtering
• Noise may result in poor matching ⇒ degrades denoising performance.
• As for NL-Bayes, use two stages. At the second stage:
• Build stacks based on the similarity of pre-denoised patches,
• Use pre-denoised stacks to refine the shrinkage.
1 Step 1: Shrinkage: Hard thresholding with fixed threshold
3D trans.: Bi-orthogonal wavelets in space + Haar in 3rd dim.
2 Step 2: Shrinkage: LMMSE with signal variances deduced form step 1.
3D trans.: DCT in space + Haar in 3rd dim.
29
Sparsity with collaborative filtering – BM3D
BM3D provides impressive results.
Since 2007, denoising results have not significantly improved.
30
Sparsity with collaborative filtering – BM3D
Adaptations to color and videos.
Color image denoising with BM3D [Dabov, 2007]
Video denoising with BM3D [Dabov, 2007]
31
Plug-and-play ADMM with BM3D
min
x∈Rn
E(x) =
1
2σ2
||y − Hx||2
2
F (x)
+R(x)
Adaptation to inverse-problems with Plug-and-play ADMM (1/2)
• Reminder: ADMM algorithm reads, for γ > 0, as
xk+1
= ProxγF (˜xk
+ dk
) (1)
˜xk+1
= ProxγR(xk+1
− dk
) (2)
dk+1
= dk
− xk+1
+ ˜xk+1
(1) ⇒ xk+1
= (σ2
Idn + γH∗
H)−1
(σ2
(˜xk
+ dk
) + γH∗
y) (inversion)
(2) ⇒ ˜xk+1
= argmin
z
1
2
||z − (xk+1
− dk
)||2
2 + γR(z) (denoising)
• Convergence when R is convex.
• Convergence when R is non-convex in some cases [Hong et al. 2016].
32
Plug-and-play ADMM with BM3D
min
x∈Rn
E(x) =
1
2σ2
||y − Hx||2
2
F (x)
+R(x)
Adaptation to inverse-problems with Plug-and-play ADMM (2/2)
• Plug-and-play ADMM [Venkatakrishnan et al. 2013]
• Use any Gaussian denoiser for the denoising step
ex: (2) ⇒ ˜xk+1
= BM3D(xk+1
− dk
, γ)
• The regularization R is implicit.
• Convergence in some cases [Chan et al. 2016].
• Non-Gaussian noise: adapt F in (1) but (2) remains a Gaussian denoiser.
[Rond et al. 2015, Deledalle et al. 2017].
Simple solution allowing to use any of the many and very efficient
Gaussian denoisers to solve different kinds of image restoration problems.
33
Plug-and-play ADMM with BM3D
ImagedomainWaveletdom.Fourierdom.
(a) Original image (b) Blurry image (c) Total-Variation (d) BM3D
Lost frequencies are recovered. Spatial contents and scales as well.
34
Plug-and-play ADMM with BM3D
ImagedomainWaveletdom.Fourierdom.
(a) Original image (b) Blurry image (c) Total-Variation (d) BM3D
Lost frequencies are recovered. Spatial contents and scales as well.
34
Sparsity and patch similarity – Denoising with NLSM
BM3D uses fix dictionaries. Can we learn them `a la k-SVD?
Non-local sparse model (NLSM) [Mairal, 2009]
Learn a dictionary of patches:
• Use group sparsity for similar patches,
• Force similar patches to use the same
atoms (joint sparsity).
Then denoise each patch by sparse coding.
decomposition with joint sparsitysparse decomposition
non zero
coefficients
patches
patches
non zero
coefficients
patches
Some results:
35
Expected patch log-likelihood (EPLL)
Expected patch log-likelihood (EPLL)
Expected patch log-likelihood (1/2) [Zoran & Weiss, 2011]
• Use MAP with prior expressed on patches
min
x∈Rn
1
2σ2
||Hx − y||2
2
data fit
+
n
i=1
− log p(Pix)
patch prior
• x ∈ Rn
: unknown image,
• y = Hx + w ∈ Rq
: observed image with w ∼ N(0, σ2
Idq),
• H ∈ Rq×n
: blur, super-resolution, Radon transform. . .
• Pi ∈ Rp×n
: extract a patch of size p around pixel with index i,
Look for an image such that all its patches are
well explained by the patch prior.
36
Expected patch log-likelihood (EPLL)
Expected patch log-likelihood (2/2) [Zoran & Weiss, 2011]
• Prior for a path zi = Pix ∈ Rp
, a Gaussian Mixture Model (GMM):
p(zi) =
K
k=1
wkN(zi; µk, Σk),
• wk > 0: weights of Gaussian component k ( k wk = 1),
• µk ∈ Rp
: mean of Gaussian component k,
• Σk ∈ Rp×p
: covariance matrix of Gaussian component k.
Represent the patch distribution by a superposition of ellipsoids.
37
Expected patch log-likelihood (EPLL)
Learning step
• Fit the distribution on a large dataset of clean patches:
input: x1, x2, . . . , xm clean patches
output: wk, µk, Σk for all 1 k K
• Standard choice:
• Dataset of m =2,000,000 patches,
• Patch size p = 8 × 8,
• Number of clusters K = 200.
• Use Expectation-Maximization algorithm [Dempster, 1977]
• Iterative algorithm similar to K-means,
• Greedy (maximizes the likelihood at each iteration),
• Converges to a local optimum (depending on the initialization).
38
Expected patch log-likelihood (EPLL)
Eigenvectors of 6 (among 200) covariance matrices of the learned GMM.
Some look like Fourier atoms while others model textures,
edges or other structures at different scales and orientations.
39
Expected patch log-likelihood (EPLL)
min
x∈Rn
1
2σ2
||Hx − y||2
2 +
n
i=1
− log p(Pix)
Optimization by Half-Quadratic Splitting
• Use Half-Quadratic Splitting (as done in k-SVD)
min
x∈Rn
z1,...,zn∈Rp
1
2σ2
||Hx − y||2
2
data fit
+
n
i=1
β
2
||Pix − zi||2
2
patch approximation
− log p(zi)
patch prior
with β > 0 an hyper-parameter.
• Alternate the minimization for all zi and x.
• Increase β after each iteration.
40
Expected patch log-likelihood (EPLL)
Greedy alternate minimization
• Repeat steps 1 and 2 (usually 5 iterations are enough):
1 Fix x and optimize for all patch zi:
min
zi∈Rp
β
2
||Pix − zi||2
2 +
n
i=1
− log
K
k=1
wkN(zi; µk, Σk)
• Prior is multi-modal: non-convex optimization problem.
• Look for the most likely Gaussian component ki given zi.
• Performs LMMSE with this Gaussian prior N(µki
, Σki
).
2 Fix zi and optimize for the image x:
min
x∈Rn
1
2σ2
||Hx − y||2
2 +
β
2
n
i=1
||Pix − zi||2
2
• Linear solution: same patch reprojection as for k-SVD (see slide 20).
41
Expected patch log-likelihood (EPLL)
Fast EPLL [Parameswaran et al., 2017]
1 Process only 3% of the patches at each iteration (chosen randomly),
2 Use a binary search tree to match for the best Gaussian component,
3 Approximate smallest eigenvalues of the covariance matrices.
⇒ 180× speed-up
(a) Random selection (b) Binary tree
10 20 30 40 50 60
10−3
10−1
95% 5%
Index of eigen dimension
Eigenvalue
data1
data2
data3
data4
(c) Cov. approx.
42
Expected patch log-likelihood (EPLL)
(a) Reference
22.1 / .368
(b) Noisy image
30.6 / .872 (1.68s)
(c) BM3D result
30.2 / .862 (0.36s)
(d) FEPLL result
Results of denoising (σ = 20)
43
Expected patch log-likelihood (EPLL)
(a) Reference / Blur kernel
24.9 / .624
(b) Blurry image
32.7 / .924 (0.46s)
(c) FEPLL result
Results of removing motion blur (subject to noise σ = 0.5)
44
Expected patch log-likelihood (EPLL)
Input
11.1 / .662 20.8 / .598 8.31 / .112
FEPLL
36.8 / .972 (0.38s)
(a) devignetting
23.3 / .738 (0.29s)
(b) ×3 super-resolution
27.0 / .905 (0.36s)
(c) 50% random inpainting
Various inverse problems (subject to noise σ = 2)
45
Other patch based restoration models
Patch based restoration models
Inpainting
Patch propagation [Xu and Sun, 2010]
• Inpaint progressively from the
edges of the missing region.
• Start with the pixels whose
patches are “rare” (i.e., sparse
similarity maps).
46
Patch based restoration models
Super-resolution
Super-resolution from a single image [Glasner et al., 2009]
• Simulate multi-frames: use similar patches and their sub-pixel registration.
• Match patches from low-res and hi-res pairs.
magnification x3 (nearest neighbor, patch-based)
47
Patch based restoration models
Deblurring
Adaptive sparse domain selection and regularization [Dong et al., 2011]
• Locally select dictionaries (sub-spaces),
• Perform sparse coding with the selected dictionary,
• Enforce stability under non-local filtering.
blurry
total variation
minimization BM3D Dong 2009
patch based
48
What’s next?
What’s next?
Next open problems to deal with
• Blind denoising: statistics of the noise are unknown.
• Blind deconvolution: convolution kernel is unknown.
• Non-stationary blur: ex: moving objects, Bokeh. . .
• Non-linear degradations: ex: saturation, atmospheric turbulence. . .
(a) Motion blur (b) Bokeh (Mulholand drive, 2001) (c) Turbulence (OTIS dataset)
49
What’s next?
Next generations of restoration techniques
• Instead of learning statistics of images or patches, such as:
• Mean power spectral density (for Wiener filtering),
• PCA (for LMMSE),
• Non-local PCA (for NL Bayes),
• Sparsifying dictionaries (k-SVD),
• Gaussian mixture models (EPLL).
⇒ Learn directly the algorithm.
What do all these algorithms have in common?
50
What’s next?
Non-Local means
for k in range(-s1, s1 + 1):
for l in range(-s2, s2 + 1):
yshift = shift(y, k, l) # Global linear
dist2 = (yshift - y)**2 # Pointwise non-linear
dist2 = convolve(dist2, nu) # Global linear
w = phi(dist2, sig, h, P * c) # Pointwise non-linear
x += w * yshift # Pointwise non-linear
Regularized anisotropic diffusion
for k in range(m-1):
gconv = grad(convolve(x, nu)) # Global linear
alpha = g(norm2(gconv)) # Pointwise non-linear
g = grad(z) # Global linear
v = alpha * g # Pointwise non-linear
x = x + gamma * div(v) # Global linear
ISTA+LASSO+UDWT+Deconvolution: BaB = WH∗
HW+
while condition:
z = z - gamma * (BaB(z) - Bay) # Global linear
z = SoftT(z, gamma * tau / lambda) # Pointwise non-linear
51
What’s next?
All restoration methods perform successions of:
• global linear operations (mixing everything):
ex: convolutions, shifts, patch extractions, aggregations, decimations...
• pointwise non-linear operations (taking decisions):
ex: thresholdings, exponentials, squares, element-wise products...
These are artificial (deep convolutional) Neural Networks (NNs).
Instead of designing all steps yourself, let the machine learn them.
52
What’s next?
Fast Super-Resolution Convolutional NN [Dong et al., 2016]
BM3D-Net [Yang & Sun, 2017]
Want to learn more?
Fall quarter 2019: Machine Learning for Image Processing
53
Questions?
That’s all folks!
Sources and images courtesy of
• L. Denis
• J. Gilles
• G. Peyr´e
• W. Sharba
• F. Tupin
• Wikipedia
53

More Related Content

What's hot

PR-302: NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
PR-302: NeRF: Representing Scenes as Neural Radiance Fields for View SynthesisPR-302: NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
PR-302: NeRF: Representing Scenes as Neural Radiance Fields for View SynthesisHyeongmin Lee
 
解説#81 ロジスティック回帰
解説#81 ロジスティック回帰解説#81 ロジスティック回帰
解説#81 ロジスティック回帰Ruo Ando
 
Lecture 29 Convolutional Neural Networks - Computer Vision Spring2015
Lecture 29 Convolutional Neural Networks -  Computer Vision Spring2015Lecture 29 Convolutional Neural Networks -  Computer Vision Spring2015
Lecture 29 Convolutional Neural Networks - Computer Vision Spring2015Jia-Bin Huang
 
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기NAVER Engineering
 
Intelligent Image Enhancement and Restoration - From Prior Driven Model to Ad...
Intelligent Image Enhancement and Restoration - From Prior Driven Model to Ad...Intelligent Image Enhancement and Restoration - From Prior Driven Model to Ad...
Intelligent Image Enhancement and Restoration - From Prior Driven Model to Ad...Wanjin Yu
 
ICML 2020 最適輸送まとめ
ICML 2020 最適輸送まとめICML 2020 最適輸送まとめ
ICML 2020 最適輸送まとめohken
 
Optimization/Gradient Descent
Optimization/Gradient DescentOptimization/Gradient Descent
Optimization/Gradient Descentkandelin
 
[DL輪読会]DISTRIBUTIONAL POLICY GRADIENTS
[DL輪読会]DISTRIBUTIONAL POLICY GRADIENTS[DL輪読会]DISTRIBUTIONAL POLICY GRADIENTS
[DL輪読会]DISTRIBUTIONAL POLICY GRADIENTSDeep Learning JP
 
Feature pyramid networks for object detection
Feature pyramid networks for object detection Feature pyramid networks for object detection
Feature pyramid networks for object detection heedaeKwon
 
Optimization for Deep Learning
Optimization for Deep LearningOptimization for Deep Learning
Optimization for Deep LearningSebastian Ruder
 
오토인코더의 모든 것
오토인코더의 모든 것오토인코더의 모든 것
오토인코더의 모든 것NAVER Engineering
 
【DL輪読会】Responsive Safety in Reinforcement Learning by PID Lagrangian Methods...
【DL輪読会】Responsive Safety in Reinforcement Learning  by PID Lagrangian Methods...【DL輪読会】Responsive Safety in Reinforcement Learning  by PID Lagrangian Methods...
【DL輪読会】Responsive Safety in Reinforcement Learning by PID Lagrangian Methods...Deep Learning JP
 
強化学習@PyData.Tokyo
強化学習@PyData.Tokyo強化学習@PyData.Tokyo
強化学習@PyData.TokyoNaoto Yoshida
 
Gamma and betta function harsh shah
Gamma and betta function  harsh shahGamma and betta function  harsh shah
Gamma and betta function harsh shahC.G.P.I.T
 
Basics of pixel neighbor.
Basics of pixel neighbor.Basics of pixel neighbor.
Basics of pixel neighbor.raheel rajput
 

What's hot (20)

PR-302: NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
PR-302: NeRF: Representing Scenes as Neural Radiance Fields for View SynthesisPR-302: NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
PR-302: NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
 
解説#81 ロジスティック回帰
解説#81 ロジスティック回帰解説#81 ロジスティック回帰
解説#81 ロジスティック回帰
 
Lecture 29 Convolutional Neural Networks - Computer Vision Spring2015
Lecture 29 Convolutional Neural Networks -  Computer Vision Spring2015Lecture 29 Convolutional Neural Networks -  Computer Vision Spring2015
Lecture 29 Convolutional Neural Networks - Computer Vision Spring2015
 
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
 
Intelligent Image Enhancement and Restoration - From Prior Driven Model to Ad...
Intelligent Image Enhancement and Restoration - From Prior Driven Model to Ad...Intelligent Image Enhancement and Restoration - From Prior Driven Model to Ad...
Intelligent Image Enhancement and Restoration - From Prior Driven Model to Ad...
 
Group Ring.ppt
Group Ring.pptGroup Ring.ppt
Group Ring.ppt
 
ICML 2020 最適輸送まとめ
ICML 2020 最適輸送まとめICML 2020 最適輸送まとめ
ICML 2020 最適輸送まとめ
 
Special functions
Special functionsSpecial functions
Special functions
 
Optimization/Gradient Descent
Optimization/Gradient DescentOptimization/Gradient Descent
Optimization/Gradient Descent
 
[DL輪読会]DISTRIBUTIONAL POLICY GRADIENTS
[DL輪読会]DISTRIBUTIONAL POLICY GRADIENTS[DL輪読会]DISTRIBUTIONAL POLICY GRADIENTS
[DL輪読会]DISTRIBUTIONAL POLICY GRADIENTS
 
[DLHacks]DeepなSSM
[DLHacks]DeepなSSM[DLHacks]DeepなSSM
[DLHacks]DeepなSSM
 
Feature pyramid networks for object detection
Feature pyramid networks for object detection Feature pyramid networks for object detection
Feature pyramid networks for object detection
 
Optimization for Deep Learning
Optimization for Deep LearningOptimization for Deep Learning
Optimization for Deep Learning
 
오토인코더의 모든 것
오토인코더의 모든 것오토인코더의 모든 것
오토인코더의 모든 것
 
【DL輪読会】Responsive Safety in Reinforcement Learning by PID Lagrangian Methods...
【DL輪読会】Responsive Safety in Reinforcement Learning  by PID Lagrangian Methods...【DL輪読会】Responsive Safety in Reinforcement Learning  by PID Lagrangian Methods...
【DL輪読会】Responsive Safety in Reinforcement Learning by PID Lagrangian Methods...
 
Super resolution
Super resolutionSuper resolution
Super resolution
 
強化学習@PyData.Tokyo
強化学習@PyData.Tokyo強化学習@PyData.Tokyo
強化学習@PyData.Tokyo
 
Gamma and betta function harsh shah
Gamma and betta function  harsh shahGamma and betta function  harsh shah
Gamma and betta function harsh shah
 
Basics of pixel neighbor.
Basics of pixel neighbor.Basics of pixel neighbor.
Basics of pixel neighbor.
 
Unit ii
Unit iiUnit ii
Unit ii
 

Similar to IVR - Chapter 7 - Patch models and dictionary learning

Talk icml
Talk icmlTalk icml
Talk icmlBo Li
 
Lecture4 kenrels functions_rkhs
Lecture4 kenrels functions_rkhsLecture4 kenrels functions_rkhs
Lecture4 kenrels functions_rkhsStéphane Canu
 
Rank awarealgs small11
Rank awarealgs small11Rank awarealgs small11
Rank awarealgs small11Jules Esp
 
Rank awarealgs small11
Rank awarealgs small11Rank awarealgs small11
Rank awarealgs small11Jules Esp
 
Low-rank tensor approximation (Introduction)
Low-rank tensor approximation (Introduction)Low-rank tensor approximation (Introduction)
Low-rank tensor approximation (Introduction)Alexander Litvinenko
 
IVR - Chapter 1 - Introduction
IVR - Chapter 1 - IntroductionIVR - Chapter 1 - Introduction
IVR - Chapter 1 - IntroductionCharles Deledalle
 
ENBIS 2018 presentation on Deep k-Means
ENBIS 2018 presentation on Deep k-MeansENBIS 2018 presentation on Deep k-Means
ENBIS 2018 presentation on Deep k-Meanstthonet
 
Hierarchical matrices for approximating large covariance matries and computin...
Hierarchical matrices for approximating large covariance matries and computin...Hierarchical matrices for approximating large covariance matries and computin...
Hierarchical matrices for approximating large covariance matries and computin...Alexander Litvinenko
 
DS-MLR: Scaling Multinomial Logistic Regression via Hybrid Parallelism
DS-MLR: Scaling Multinomial Logistic Regression via Hybrid ParallelismDS-MLR: Scaling Multinomial Logistic Regression via Hybrid Parallelism
DS-MLR: Scaling Multinomial Logistic Regression via Hybrid ParallelismParameswaran Raman
 
Information-theoretic clustering with applications
Information-theoretic clustering  with applicationsInformation-theoretic clustering  with applications
Information-theoretic clustering with applicationsFrank Nielsen
 
Density theorems for Euclidean point configurations
Density theorems for Euclidean point configurationsDensity theorems for Euclidean point configurations
Density theorems for Euclidean point configurationsVjekoslavKovac1
 
Kernels and Support Vector Machines
Kernels and Support Vector  MachinesKernels and Support Vector  Machines
Kernels and Support Vector MachinesEdgar Marca
 
QMC Error SAMSI Tutorial Aug 2017
QMC Error SAMSI Tutorial Aug 2017QMC Error SAMSI Tutorial Aug 2017
QMC Error SAMSI Tutorial Aug 2017Fred J. Hickernell
 
A Szemeredi-type theorem for subsets of the unit cube
A Szemeredi-type theorem for subsets of the unit cubeA Szemeredi-type theorem for subsets of the unit cube
A Szemeredi-type theorem for subsets of the unit cubeVjekoslavKovac1
 
Poggi analytics - distance - 1a
Poggi   analytics - distance - 1aPoggi   analytics - distance - 1a
Poggi analytics - distance - 1aGaston Liberman
 
A Note on Correlated Topic Models
A Note on Correlated Topic ModelsA Note on Correlated Topic Models
A Note on Correlated Topic ModelsTomonari Masada
 

Similar to IVR - Chapter 7 - Patch models and dictionary learning (20)

Talk icml
Talk icmlTalk icml
Talk icml
 
Lecture4 kenrels functions_rkhs
Lecture4 kenrels functions_rkhsLecture4 kenrels functions_rkhs
Lecture4 kenrels functions_rkhs
 
Rank awarealgs small11
Rank awarealgs small11Rank awarealgs small11
Rank awarealgs small11
 
Rank awarealgs small11
Rank awarealgs small11Rank awarealgs small11
Rank awarealgs small11
 
Low-rank tensor approximation (Introduction)
Low-rank tensor approximation (Introduction)Low-rank tensor approximation (Introduction)
Low-rank tensor approximation (Introduction)
 
IVR - Chapter 1 - Introduction
IVR - Chapter 1 - IntroductionIVR - Chapter 1 - Introduction
IVR - Chapter 1 - Introduction
 
ENBIS 2018 presentation on Deep k-Means
ENBIS 2018 presentation on Deep k-MeansENBIS 2018 presentation on Deep k-Means
ENBIS 2018 presentation on Deep k-Means
 
Hierarchical matrices for approximating large covariance matries and computin...
Hierarchical matrices for approximating large covariance matries and computin...Hierarchical matrices for approximating large covariance matries and computin...
Hierarchical matrices for approximating large covariance matries and computin...
 
The Gaussian Hardy-Littlewood Maximal Function
The Gaussian Hardy-Littlewood Maximal FunctionThe Gaussian Hardy-Littlewood Maximal Function
The Gaussian Hardy-Littlewood Maximal Function
 
DS-MLR: Scaling Multinomial Logistic Regression via Hybrid Parallelism
DS-MLR: Scaling Multinomial Logistic Regression via Hybrid ParallelismDS-MLR: Scaling Multinomial Logistic Regression via Hybrid Parallelism
DS-MLR: Scaling Multinomial Logistic Regression via Hybrid Parallelism
 
Information-theoretic clustering with applications
Information-theoretic clustering  with applicationsInformation-theoretic clustering  with applications
Information-theoretic clustering with applications
 
Density theorems for Euclidean point configurations
Density theorems for Euclidean point configurationsDensity theorems for Euclidean point configurations
Density theorems for Euclidean point configurations
 
Kernels and Support Vector Machines
Kernels and Support Vector  MachinesKernels and Support Vector  Machines
Kernels and Support Vector Machines
 
QMC Error SAMSI Tutorial Aug 2017
QMC Error SAMSI Tutorial Aug 2017QMC Error SAMSI Tutorial Aug 2017
QMC Error SAMSI Tutorial Aug 2017
 
A Szemeredi-type theorem for subsets of the unit cube
A Szemeredi-type theorem for subsets of the unit cubeA Szemeredi-type theorem for subsets of the unit cube
A Szemeredi-type theorem for subsets of the unit cube
 
Modeling the dynamics of molecular concentration during the diffusion procedure
Modeling the dynamics of molecular concentration during the  diffusion procedureModeling the dynamics of molecular concentration during the  diffusion procedure
Modeling the dynamics of molecular concentration during the diffusion procedure
 
Astaño 4
Astaño 4Astaño 4
Astaño 4
 
Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...
Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...
Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...
 
Poggi analytics - distance - 1a
Poggi   analytics - distance - 1aPoggi   analytics - distance - 1a
Poggi analytics - distance - 1a
 
A Note on Correlated Topic Models
A Note on Correlated Topic ModelsA Note on Correlated Topic Models
A Note on Correlated Topic Models
 

More from Charles Deledalle

MLIP - Chapter 6 - Generation, Super-Resolution, Style transfer
MLIP - Chapter 6 - Generation, Super-Resolution, Style transferMLIP - Chapter 6 - Generation, Super-Resolution, Style transfer
MLIP - Chapter 6 - Generation, Super-Resolution, Style transferCharles Deledalle
 
MLIP - Chapter 5 - Detection, Segmentation, Captioning
MLIP - Chapter 5 - Detection, Segmentation, CaptioningMLIP - Chapter 5 - Detection, Segmentation, Captioning
MLIP - Chapter 5 - Detection, Segmentation, CaptioningCharles Deledalle
 
MLIP - Chapter 4 - Image classification and CNNs
MLIP - Chapter 4 - Image classification and CNNsMLIP - Chapter 4 - Image classification and CNNs
MLIP - Chapter 4 - Image classification and CNNsCharles Deledalle
 
MLIP - Chapter 3 - Introduction to deep learning
MLIP - Chapter 3 - Introduction to deep learningMLIP - Chapter 3 - Introduction to deep learning
MLIP - Chapter 3 - Introduction to deep learningCharles Deledalle
 
MLIP - Chapter 2 - Preliminaries to deep learning
MLIP - Chapter 2 - Preliminaries to deep learningMLIP - Chapter 2 - Preliminaries to deep learning
MLIP - Chapter 2 - Preliminaries to deep learningCharles Deledalle
 
IVR - Chapter 4 - Variational methods
IVR - Chapter 4 - Variational methodsIVR - Chapter 4 - Variational methods
IVR - Chapter 4 - Variational methodsCharles Deledalle
 
IVR - Chapter 5 - Bayesian methods
IVR - Chapter 5 - Bayesian methodsIVR - Chapter 5 - Bayesian methods
IVR - Chapter 5 - Bayesian methodsCharles Deledalle
 
IVR - Chapter 6 - Sparsity, shrinkage and wavelets
IVR - Chapter 6 - Sparsity, shrinkage and waveletsIVR - Chapter 6 - Sparsity, shrinkage and wavelets
IVR - Chapter 6 - Sparsity, shrinkage and waveletsCharles Deledalle
 
IVR - Chapter 2 - Basics of filtering I: Spatial filters (25Mb)
IVR - Chapter 2 - Basics of filtering I: Spatial filters (25Mb) IVR - Chapter 2 - Basics of filtering I: Spatial filters (25Mb)
IVR - Chapter 2 - Basics of filtering I: Spatial filters (25Mb) Charles Deledalle
 
IVR - Chapter 3 - Basics of filtering II: Spectral filters
IVR - Chapter 3 - Basics of filtering II: Spectral filtersIVR - Chapter 3 - Basics of filtering II: Spectral filters
IVR - Chapter 3 - Basics of filtering II: Spectral filtersCharles Deledalle
 

More from Charles Deledalle (11)

Chapter 1 - Introduction
Chapter 1 - IntroductionChapter 1 - Introduction
Chapter 1 - Introduction
 
MLIP - Chapter 6 - Generation, Super-Resolution, Style transfer
MLIP - Chapter 6 - Generation, Super-Resolution, Style transferMLIP - Chapter 6 - Generation, Super-Resolution, Style transfer
MLIP - Chapter 6 - Generation, Super-Resolution, Style transfer
 
MLIP - Chapter 5 - Detection, Segmentation, Captioning
MLIP - Chapter 5 - Detection, Segmentation, CaptioningMLIP - Chapter 5 - Detection, Segmentation, Captioning
MLIP - Chapter 5 - Detection, Segmentation, Captioning
 
MLIP - Chapter 4 - Image classification and CNNs
MLIP - Chapter 4 - Image classification and CNNsMLIP - Chapter 4 - Image classification and CNNs
MLIP - Chapter 4 - Image classification and CNNs
 
MLIP - Chapter 3 - Introduction to deep learning
MLIP - Chapter 3 - Introduction to deep learningMLIP - Chapter 3 - Introduction to deep learning
MLIP - Chapter 3 - Introduction to deep learning
 
MLIP - Chapter 2 - Preliminaries to deep learning
MLIP - Chapter 2 - Preliminaries to deep learningMLIP - Chapter 2 - Preliminaries to deep learning
MLIP - Chapter 2 - Preliminaries to deep learning
 
IVR - Chapter 4 - Variational methods
IVR - Chapter 4 - Variational methodsIVR - Chapter 4 - Variational methods
IVR - Chapter 4 - Variational methods
 
IVR - Chapter 5 - Bayesian methods
IVR - Chapter 5 - Bayesian methodsIVR - Chapter 5 - Bayesian methods
IVR - Chapter 5 - Bayesian methods
 
IVR - Chapter 6 - Sparsity, shrinkage and wavelets
IVR - Chapter 6 - Sparsity, shrinkage and waveletsIVR - Chapter 6 - Sparsity, shrinkage and wavelets
IVR - Chapter 6 - Sparsity, shrinkage and wavelets
 
IVR - Chapter 2 - Basics of filtering I: Spatial filters (25Mb)
IVR - Chapter 2 - Basics of filtering I: Spatial filters (25Mb) IVR - Chapter 2 - Basics of filtering I: Spatial filters (25Mb)
IVR - Chapter 2 - Basics of filtering I: Spatial filters (25Mb)
 
IVR - Chapter 3 - Basics of filtering II: Spectral filters
IVR - Chapter 3 - Basics of filtering II: Spectral filtersIVR - Chapter 3 - Basics of filtering II: Spectral filters
IVR - Chapter 3 - Basics of filtering II: Spectral filters
 

Recently uploaded

VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 

Recently uploaded (20)

VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 

IVR - Chapter 7 - Patch models and dictionary learning

  • 1. ECE 285 Image and video restoration Chapter VII – Patch models and dictionary learning Charles Deledalle March 22, 2019 1
  • 2. Motivations • Modeling the distribution of images is difficult. • Images lie in a complex and large dimensional space/manifold. • Their distribution may be spread out on different clusters. Divide and conquer approach: Break down images into small patches and model their distribution. 2
  • 3. Motivations Patches capture local context: geometry and texture. 3
  • 4. Motivations Theoretical and experimental works on the primary visual cortex have shed new light on the importance of patch-level image coding. Biological observations (1/2) [Olshausen et al., 1996]: The receptive fields of cells in mammalian primary visual cortex are 1 spatially localized, 2 oriented, 3 bandpass. [Ringach, 2002] 4
  • 5. Motivations Theoretical and experimental works on the primary visual cortex have shed new light on the importance of patch-level image coding. Biological observations (2/2) [Olshausen and Field, 2004]: Neural responses in the primary cortex are: • sparse, • sparser thanks to interactions with other areas. This sparse coding confers several advantages • eases read out at subsequent levels, • increases storage capacity in associative memories, • saves energy. http://thebrain.mcgill.ca 5
  • 6. Motivations Theoretical and experimental works on the primary visual cortex have shed new light on the importance of patch-level image coding. Computational models of biological vision [Olshausen et al. 1996, Olshausen and Field, 2004, Vinje and Gallant, 2000]: Sparse coding of patches proposed to model the primary visual cortex: 6
  • 8. Dictionary learning problem Reminder about sparse decomposition Given a dictionary D = (d1, d2, . . . , dK ) ∈ Rn×K , with K > n for redundancy, represent an image x as a sparse linear combination of the atoms η ∈ argmin η∈RK 1 2 ||x − K k=1 ηkdk||2 2 data fit + τ K k=1 |ηk|p sparsity , τ 0 = argmin η∈RK 1 2 ||x − Dη||2 2 data fit + τ ||η||ρ ρ sparsity , ρ 0 7
  • 9. Dictionary learning problem Reminder about sparse priors • ρ prior ||η||ρ ρ = k |ηk|ρ • convexity ρ 1 • sparsity ρ 1 • 0 prior ||η||0 =number of non-zero elements • 1 prior ||η||1 = k |ηk| (Source: G. Peyr´e) 8
  • 10. Dictionary learning problem Instead of choosing the dictionary: wavelet basis, derivative filters, . . . Can we learn it from a data-set x1, . . . , xm? Sparsifying dictionary learning for images Find a dictionary D = (d1, d2, . . . , dK ) ∈ Rn×K , with K > n for redundancy, such that the data-set X = (x1, x2, . . . , xm) ∈ Rn×m can be represented by sparse linear combinations of the atoms D ∈ argmin D∈Rn×K min η∈RK×m 1 2 m j=1 ||xj − K k=1 ηk,jdk||2 2 data fit + τ m j=1 K k=1 |ηk,j|ρ sparsity = argmin D∈Rn×K min η∈RK×m 1 2 ||X − Dη||2 F data fit + τ ||η||ρ ρ sparsity . Idea: find a dictionary that sparsifies the data-set. 9
  • 11. Dictionary learning problem D ∈ Rn×K has too many degrees of freedom! It cannot be estimated properly, and even then, it does not fit in memory. It would be feasible if the images were 8 × 8, but they are not. 10
  • 12. Dictionary learning problem Remarks: for wavelets and gradients, the atoms 1 have limited support 2 are stationary 3 are overlapping D =                     d1 d2 . . . dK d1 d2 . . . dK d1 d2 . . . dK ... d1 d2 . . . dK d1 d2 . . . dK                     If we cannot learn D, can we learn the small atoms d1, . . . , dK ? Ex: if the support is p = 8 × 8 and K = 512, the learning problem is tractable even with a reasonable number K of training images xk. 11
  • 13. Dictionary learning problem Sparsifying dictionary learning for patches Find a dictionary of patches D = (d1, d2, . . . , dK ) ∈ Rp×K , with K > p for redundancy, such that the data-set of patches X = (x1, x2, . . . , xm) ∈ Rp×m can be represented by sparse linear combinations of the atoms D ∈ argmin D∈Rp×K min η∈RK×m 1 2 ||X − Dη||2 F data fit + τ ||η||ρ,1 sparsity . 12
  • 14. Dictionary learning problem D ∈ argmin D∈Rp×K min η∈RK×m 1 2 ||X − Dη||2 F data fit + τ ||η||ρ ρ sparsity . Optimization problem • Add the constraint: ||dk||2 1, Otherwise: D → ∞ and η → 0. • For ρ 1:    • Convex with respect to D, • Convex with respect to η, • Non-convex with respect to (D, η). • For ρ = 0:    • Convex with respect to D, • Non-convex with respect to η, • Non-convex with respect to (D, η). 13
  • 15. Dictionary learning problem with k-SVD D ∈ argmin D∈Rp×K min η∈RK×m 1 2 ||X − Dη||2 F data fit + τ ||η||0 sparsity subject to ||dk||2 1 k-SVD: Greedy algorithm for ρ = 0 (1/2) [Aharon et al., 2006] 1 Initialize D with normalized columns ||dk||2 = 1. 2 Sparse-coding stage: fix D and solve for each 1 j m η:,j ∈ min η∈RK 1 2 ||xj − Dη||2 F data fit + τ ||η||0 sparsity with matching pursuit or orthogonal matching pursuit (see previous class). 14
  • 16. Dictionary learning problem with k-SVD D ∈ argmin D∈Rp×K min η∈RK×m 1 2 ||X − Dη||2 F data fit + τ ||η||0 sparsity subject to ||dk||2 1 k-SVD: Greedy algorithm for ρ = 0 (1/2) [Aharon et al., 2006] 1 Initialize D with normalized columns ||dk||2 = 1. 2 Sparse-coding stage: fix D and solve for each 1 j m η:,j ∈ min η∈RK 1 2 ||xj − Dη||2 F data fit + τ ||η||0 sparsity with matching pursuit or orthogonal matching pursuit (see previous class). 14
  • 17. Dictionary learning problem with k-SVD D ∈ argmin D∈Rp×K min η∈RK×m 1 2 ||X − Dη||2 F data fit + τ ||η||0 sparsity subject to ||dk||2 1 k-SVD: Greedy algorithm for ρ = 0 (1/2) [Aharon et al., 2006] 1 Initialize D with normalized columns ||dk||2 = 1. 2 Sparse-coding stage: fix D and solve for each 1 j m η:,j ∈ min η∈RK 1 2 ||xj − Dη||2 F data fit + τ ||η||0 sparsity with matching pursuit or orthogonal matching pursuit (see previous class). 14
  • 18. Dictionary learning problem with k-SVD D ∈ argmin D∈Rp×K min η∈RK×m 1 2 ||X − Dη||2 F data fit + τ ||η||0 sparsity subject to ||dk||2 1 k-SVD: Greedy algorithm for ρ = 0 (1/2) [Aharon et al., 2006] 1 Initialize D with normalized columns ||dk||2 = 1. 2 Sparse-coding stage: fix D and solve for each 1 j m η:,j ∈ min η∈RK 1 2 ||xj − Dη||2 F data fit + τ ||η||0 sparsity with matching pursuit or orthogonal matching pursuit (see previous class). 14
  • 19. Dictionary learning with k-SVD k-SVD: Greedy algorithm for ρ = 0 (2/2) [Aharon et al., 2006] 3 Dictionary update: for all columns 1 k K • Compute the residual without using the current atom dk: Ek = X − l=k dlηl,: = X − (Dη − dkηk,:) • ER k : pick only the columns j of Ek for patches xj using atom dk, • Update dk and ηk,: by finding the best rank 1 approximation ER k ≈ dkηk,: subject to ||dk||2 = 1 Use reduces SVD for rank 1 matrices: ER k = USV T ⇒ dk = U:,1 and ηk,: = S1,1V:,1 • Return to step 2 until convergence. −→ k × SVD are performed at each iteration. 15
  • 20. Dictionary learning with k-SVD Update for atom k = 1 16
  • 21. Dictionary learning with k-SVD Update for atom k = 2 16
  • 22. Dictionary learning with k-SVD Update for atom k = 3 16
  • 23. Dictionary learning with k-SVD Update for atom k = K 16
  • 24. Dictionary learning with k-SVD A collection of 500 random patches (8x8) that were used for training, sorted by their variance. (a) (b) (c) (a) The learned dictionary. Its elements are sorted in an ascending order of their variance and stretched to maximal range for display purposes. (b) The overcomplete separable Haar dictionary and (c) the over complete DCT dictionary are used for comparison. 17
  • 25. Dictionary learning with k-SVD k-SVD based restoration (1/3) [Elad et al., 2006] min x∈Rn η1,...,ηn∈RK 1 2σ2 ||Hx − y||2 2 data fit + n i=1 β 2 ||Pix − Dηi||2 2 patch approximation + τ||ηi||0 sparsity (Half-Quadratic Splitting) • x ∈ Rn : unknown image, • y = Hx + w ∈ Rq : observed image with w ∼ N(0, σ2 Idq), • H ∈ Rq×n : blur, super-resolution, Radon transform. . . • Pi ∈ Rp×n : extract a patch of size p around pixel with index i, • D ∈ Rp×K : learned patch dictionary, • ηi ∈ RK : sparse code for patch with index i, • β > 0, τ > 0: hyper-parameters. Look for an image such that all its patches are well explained by sparse linear combinations of learned atoms. 18
  • 26. Dictionary learning with k-SVD min x∈Rn η1,...,ηn∈RK 1 2σ2 ||Hx − y||2 2 data fit + n i=1 β 2 ||Pix − Dηi||2 2 patch approximation + τ||ηi||0 sparsity k-SVD based restoration (2/3) [Elad et al., 2006] Alternate minimization: 1 Initialize x, and repeat steps 2 and 3 until convergence, 2 Sparse coding: fix x and solve for all index 1 i n argmin ηi∈RK β 2 ||Pix − Dηi||2 2 patch approximation + τ||ηi||0 sparsity with matching pursuit or orthogonal matching pursuit (see previous class). 19
  • 27. Dictionary learning with k-SVD min x∈Rn η1,...,ηn∈RK 1 2σ2 ||Hx − y||2 2 data fit + n i=1 β 2 ||Pix − Dηi||2 2 patch approximation + τ||ηi||0 sparsity k-SVD based restoration (3/3) [Elad et al., 2006] Alternate minimization: 3 Patch reprojection: for all ηi and solve for x x ∈ argmin x∈Rn 1 2σ2 ||Hx − y||2 2 data fit + n i=1 β 2 ||Pix − Dηi||2 2 patch approximation = H∗ H + σ2 β n i=1 P∗ i Pi −1 H∗ y + σ2 β n i=1 P∗ i Dηi • If H = Idn: average overlapping patches Dηi with the noisy image y • Otherwise, solved by conjugate gradient, or efficiently depending on H. 20
  • 28. Dictionary learning with k-SVD Adaptively trained dictionary. k-SVD for denoising • Quality improvement: learned the dictionary on the noisy image itself, • Speed-up: only once: sparse coding + reprojection (do not iterate). 21
  • 29. Dictionary learning with k-SVD k-SVD: Importance of redundancy Color k-SVD [Mairal et al., 2008] Related works: • Non-negative k-SVD [Aharon et al., 2005]. • Color k-SVD [Mairal et al., 2008]. • Analysis k-SVD [Rubinstein et al., 2013]. 22
  • 31. Sparsity with collaborative filtering Motivations • k-SVD:    • Patches are denoised independently, • Use non-linear shrinkages to create sparsity, • Use redundant learned dictionaries. • Non-local Bayes:    • Denoise similar patches together, • Use linear shrinkages (LMMSE), • Use (non-local) orthogonal PCA basis. Idea: use sparsity on stacks of similar patches. 23
  • 32. Sparsity with collaborative filtering – BM3D BM3D: Block-matching and 3D filtering [Dabov et al., 2007] • Build groups of similar patches, • Apply sparsifying 3D transform, • Denoise each group (thresholding or LMMSE), • Reproject/Aggregate overlapping patches. Some results: 24
  • 33. Sparsity with collaborative filtering – BM3D Grouping by matching R is a targeting patch, other patches are grouped with this patch by similarity (Euclidean distance). 25
  • 34. Sparsity with collaborative filtering – BM3D Grouping by matching Non-locality: patches that are far apart can be stacked together. 26
  • 35. Sparsity with collaborative filtering – BM3D Grouping for collaborative filtering • As groups contain similar patches: • intrapatch correlation: peculiarity of natural images, • interpatch correlation: results of grouping by similarity, ⇒ highly sparse representation. R Block matching 3D grouping 3D transform Inverse 3D transform Denoised 3D group R R -10 -5 0 5 10 -10 -8 -6 -4 -2 0 2 4 6 8 10 Filter / Shrinkage Collaborative filtering: • reveals finest details shared by similar patches, • preserves unique features of each patch. 27
  • 36. Sparsity with collaborative filtering – BM3D Aggregation • Each pixel gets multiple estimates from different groups • Naive approach: average all estimates . . . not all estimates are as good. • Give higher weights to more reliable estimates . . . measured according to their sparsity. R thr thr R R R Aggregation 28
  • 37. Sparsity with collaborative filtering – BM3D Two steps filtering • Noise may result in poor matching ⇒ degrades denoising performance. • As for NL-Bayes, use two stages. At the second stage: • Build stacks based on the similarity of pre-denoised patches, • Use pre-denoised stacks to refine the shrinkage. 1 Step 1: Shrinkage: Hard thresholding with fixed threshold 3D trans.: Bi-orthogonal wavelets in space + Haar in 3rd dim. 2 Step 2: Shrinkage: LMMSE with signal variances deduced form step 1. 3D trans.: DCT in space + Haar in 3rd dim. 29
  • 38. Sparsity with collaborative filtering – BM3D BM3D provides impressive results. Since 2007, denoising results have not significantly improved. 30
  • 39. Sparsity with collaborative filtering – BM3D Adaptations to color and videos. Color image denoising with BM3D [Dabov, 2007] Video denoising with BM3D [Dabov, 2007] 31
  • 40. Plug-and-play ADMM with BM3D min x∈Rn E(x) = 1 2σ2 ||y − Hx||2 2 F (x) +R(x) Adaptation to inverse-problems with Plug-and-play ADMM (1/2) • Reminder: ADMM algorithm reads, for γ > 0, as xk+1 = ProxγF (˜xk + dk ) (1) ˜xk+1 = ProxγR(xk+1 − dk ) (2) dk+1 = dk − xk+1 + ˜xk+1 (1) ⇒ xk+1 = (σ2 Idn + γH∗ H)−1 (σ2 (˜xk + dk ) + γH∗ y) (inversion) (2) ⇒ ˜xk+1 = argmin z 1 2 ||z − (xk+1 − dk )||2 2 + γR(z) (denoising) • Convergence when R is convex. • Convergence when R is non-convex in some cases [Hong et al. 2016]. 32
  • 41. Plug-and-play ADMM with BM3D min x∈Rn E(x) = 1 2σ2 ||y − Hx||2 2 F (x) +R(x) Adaptation to inverse-problems with Plug-and-play ADMM (2/2) • Plug-and-play ADMM [Venkatakrishnan et al. 2013] • Use any Gaussian denoiser for the denoising step ex: (2) ⇒ ˜xk+1 = BM3D(xk+1 − dk , γ) • The regularization R is implicit. • Convergence in some cases [Chan et al. 2016]. • Non-Gaussian noise: adapt F in (1) but (2) remains a Gaussian denoiser. [Rond et al. 2015, Deledalle et al. 2017]. Simple solution allowing to use any of the many and very efficient Gaussian denoisers to solve different kinds of image restoration problems. 33
  • 42. Plug-and-play ADMM with BM3D ImagedomainWaveletdom.Fourierdom. (a) Original image (b) Blurry image (c) Total-Variation (d) BM3D Lost frequencies are recovered. Spatial contents and scales as well. 34
  • 43. Plug-and-play ADMM with BM3D ImagedomainWaveletdom.Fourierdom. (a) Original image (b) Blurry image (c) Total-Variation (d) BM3D Lost frequencies are recovered. Spatial contents and scales as well. 34
  • 44. Sparsity and patch similarity – Denoising with NLSM BM3D uses fix dictionaries. Can we learn them `a la k-SVD? Non-local sparse model (NLSM) [Mairal, 2009] Learn a dictionary of patches: • Use group sparsity for similar patches, • Force similar patches to use the same atoms (joint sparsity). Then denoise each patch by sparse coding. decomposition with joint sparsitysparse decomposition non zero coefficients patches patches non zero coefficients patches Some results: 35
  • 46. Expected patch log-likelihood (EPLL) Expected patch log-likelihood (1/2) [Zoran & Weiss, 2011] • Use MAP with prior expressed on patches min x∈Rn 1 2σ2 ||Hx − y||2 2 data fit + n i=1 − log p(Pix) patch prior • x ∈ Rn : unknown image, • y = Hx + w ∈ Rq : observed image with w ∼ N(0, σ2 Idq), • H ∈ Rq×n : blur, super-resolution, Radon transform. . . • Pi ∈ Rp×n : extract a patch of size p around pixel with index i, Look for an image such that all its patches are well explained by the patch prior. 36
  • 47. Expected patch log-likelihood (EPLL) Expected patch log-likelihood (2/2) [Zoran & Weiss, 2011] • Prior for a path zi = Pix ∈ Rp , a Gaussian Mixture Model (GMM): p(zi) = K k=1 wkN(zi; µk, Σk), • wk > 0: weights of Gaussian component k ( k wk = 1), • µk ∈ Rp : mean of Gaussian component k, • Σk ∈ Rp×p : covariance matrix of Gaussian component k. Represent the patch distribution by a superposition of ellipsoids. 37
  • 48. Expected patch log-likelihood (EPLL) Learning step • Fit the distribution on a large dataset of clean patches: input: x1, x2, . . . , xm clean patches output: wk, µk, Σk for all 1 k K • Standard choice: • Dataset of m =2,000,000 patches, • Patch size p = 8 × 8, • Number of clusters K = 200. • Use Expectation-Maximization algorithm [Dempster, 1977] • Iterative algorithm similar to K-means, • Greedy (maximizes the likelihood at each iteration), • Converges to a local optimum (depending on the initialization). 38
  • 49. Expected patch log-likelihood (EPLL) Eigenvectors of 6 (among 200) covariance matrices of the learned GMM. Some look like Fourier atoms while others model textures, edges or other structures at different scales and orientations. 39
  • 50. Expected patch log-likelihood (EPLL) min x∈Rn 1 2σ2 ||Hx − y||2 2 + n i=1 − log p(Pix) Optimization by Half-Quadratic Splitting • Use Half-Quadratic Splitting (as done in k-SVD) min x∈Rn z1,...,zn∈Rp 1 2σ2 ||Hx − y||2 2 data fit + n i=1 β 2 ||Pix − zi||2 2 patch approximation − log p(zi) patch prior with β > 0 an hyper-parameter. • Alternate the minimization for all zi and x. • Increase β after each iteration. 40
  • 51. Expected patch log-likelihood (EPLL) Greedy alternate minimization • Repeat steps 1 and 2 (usually 5 iterations are enough): 1 Fix x and optimize for all patch zi: min zi∈Rp β 2 ||Pix − zi||2 2 + n i=1 − log K k=1 wkN(zi; µk, Σk) • Prior is multi-modal: non-convex optimization problem. • Look for the most likely Gaussian component ki given zi. • Performs LMMSE with this Gaussian prior N(µki , Σki ). 2 Fix zi and optimize for the image x: min x∈Rn 1 2σ2 ||Hx − y||2 2 + β 2 n i=1 ||Pix − zi||2 2 • Linear solution: same patch reprojection as for k-SVD (see slide 20). 41
  • 52. Expected patch log-likelihood (EPLL) Fast EPLL [Parameswaran et al., 2017] 1 Process only 3% of the patches at each iteration (chosen randomly), 2 Use a binary search tree to match for the best Gaussian component, 3 Approximate smallest eigenvalues of the covariance matrices. ⇒ 180× speed-up (a) Random selection (b) Binary tree 10 20 30 40 50 60 10−3 10−1 95% 5% Index of eigen dimension Eigenvalue data1 data2 data3 data4 (c) Cov. approx. 42
  • 53. Expected patch log-likelihood (EPLL) (a) Reference 22.1 / .368 (b) Noisy image 30.6 / .872 (1.68s) (c) BM3D result 30.2 / .862 (0.36s) (d) FEPLL result Results of denoising (σ = 20) 43
  • 54. Expected patch log-likelihood (EPLL) (a) Reference / Blur kernel 24.9 / .624 (b) Blurry image 32.7 / .924 (0.46s) (c) FEPLL result Results of removing motion blur (subject to noise σ = 0.5) 44
  • 55. Expected patch log-likelihood (EPLL) Input 11.1 / .662 20.8 / .598 8.31 / .112 FEPLL 36.8 / .972 (0.38s) (a) devignetting 23.3 / .738 (0.29s) (b) ×3 super-resolution 27.0 / .905 (0.36s) (c) 50% random inpainting Various inverse problems (subject to noise σ = 2) 45
  • 56. Other patch based restoration models
  • 57. Patch based restoration models Inpainting Patch propagation [Xu and Sun, 2010] • Inpaint progressively from the edges of the missing region. • Start with the pixels whose patches are “rare” (i.e., sparse similarity maps). 46
  • 58. Patch based restoration models Super-resolution Super-resolution from a single image [Glasner et al., 2009] • Simulate multi-frames: use similar patches and their sub-pixel registration. • Match patches from low-res and hi-res pairs. magnification x3 (nearest neighbor, patch-based) 47
  • 59. Patch based restoration models Deblurring Adaptive sparse domain selection and regularization [Dong et al., 2011] • Locally select dictionaries (sub-spaces), • Perform sparse coding with the selected dictionary, • Enforce stability under non-local filtering. blurry total variation minimization BM3D Dong 2009 patch based 48
  • 61. What’s next? Next open problems to deal with • Blind denoising: statistics of the noise are unknown. • Blind deconvolution: convolution kernel is unknown. • Non-stationary blur: ex: moving objects, Bokeh. . . • Non-linear degradations: ex: saturation, atmospheric turbulence. . . (a) Motion blur (b) Bokeh (Mulholand drive, 2001) (c) Turbulence (OTIS dataset) 49
  • 62. What’s next? Next generations of restoration techniques • Instead of learning statistics of images or patches, such as: • Mean power spectral density (for Wiener filtering), • PCA (for LMMSE), • Non-local PCA (for NL Bayes), • Sparsifying dictionaries (k-SVD), • Gaussian mixture models (EPLL). ⇒ Learn directly the algorithm. What do all these algorithms have in common? 50
  • 63. What’s next? Non-Local means for k in range(-s1, s1 + 1): for l in range(-s2, s2 + 1): yshift = shift(y, k, l) # Global linear dist2 = (yshift - y)**2 # Pointwise non-linear dist2 = convolve(dist2, nu) # Global linear w = phi(dist2, sig, h, P * c) # Pointwise non-linear x += w * yshift # Pointwise non-linear Regularized anisotropic diffusion for k in range(m-1): gconv = grad(convolve(x, nu)) # Global linear alpha = g(norm2(gconv)) # Pointwise non-linear g = grad(z) # Global linear v = alpha * g # Pointwise non-linear x = x + gamma * div(v) # Global linear ISTA+LASSO+UDWT+Deconvolution: BaB = WH∗ HW+ while condition: z = z - gamma * (BaB(z) - Bay) # Global linear z = SoftT(z, gamma * tau / lambda) # Pointwise non-linear 51
  • 64. What’s next? All restoration methods perform successions of: • global linear operations (mixing everything): ex: convolutions, shifts, patch extractions, aggregations, decimations... • pointwise non-linear operations (taking decisions): ex: thresholdings, exponentials, squares, element-wise products... These are artificial (deep convolutional) Neural Networks (NNs). Instead of designing all steps yourself, let the machine learn them. 52
  • 65. What’s next? Fast Super-Resolution Convolutional NN [Dong et al., 2016] BM3D-Net [Yang & Sun, 2017] Want to learn more? Fall quarter 2019: Machine Learning for Image Processing 53
  • 66. Questions? That’s all folks! Sources and images courtesy of • L. Denis • J. Gilles • G. Peyr´e • W. Sharba • F. Tupin • Wikipedia 53