Image Deblurring
Image Deblurring
Introduction
Inverse filtering
Wiener filtering
Iterative deblurring*
Landweber algorithm
EE465: Introduction t
Introduction
Visually annoying
Wrong target for compression
Bad for analysis
Numerous applications
EE465: Introduction t
Application (I):
Astronomical Imaging
EE465: Introduction t
Another Example
EE465: Introduction t
EE465: Introduction t
EE465: Introduction t
Restoration Example
EE465: Introduction t
EE465: Introduction t
h(m,n)
y(m,n)
w(m, n)
h(m, n)
blurring filter
EE465: Introduction t
10
FT
h(m, n) exp(
m2 n2
2
w12 w22
H ( w1 , w2 ) exp(
)
2
2
EE465: Introduction t
11
FT
h(m, n)
MATLAB code: h=FSPECIAL('motion',9,30);
H ( w1 , w2 )
EE465: Introduction t
12
h(m,n)
z(m,n)
y(m,n)
w(m, n) ~ N (0, w2 )
Blurring SNR
z2
BSNR 10 log10 2
w
EE465: Introduction t
13
Image Example
BSNR=10dB
BSNR=40dB
h(m,n): 1D horizontal motion blurring [1 1 1 1 1 1 1]/7
x(m,n)
EE465: Introduction t
14
15
Image Deblurring
Introduction
Inverse filtering
Wiener filtering
Iterative deblurring*
Landweber algorithm
EE465: Introduction t
16
Inverse Filter
x(m,n)
h(m,n)
y(m,n)
hI(m,n)
blurring filter
x(m,n)
inverse filter
hcombi (m,n)
I
h
(m k , n l )h(k , l ) (m, n), (m, n)
k l
H I ( w1 , w2 )
1
H ( w1 , w2 )
EE465: Introduction t
17
h(m,n)
w(m, n)
y(m,n)
hI(m,n)
x(m,n)
inverse filter
Spatial:
X ( w1 , w2 ) H ( w1 , w2 ) W ( w1 , w2 )
I
X ( w1 , w2 ) Y ( w1 , w2 ) H ( w1 , w2 )
H ( w1 , w2 )
X ( w1 , w2 )
W ( w1 , w2 )
H ( w1 , w2 )
amplified noise
EE465: Introduction t
18
Image Example
19
Pseudo-inverse Filter
Basic idea:
To handle zeros in H(w1,w2), we treat them separately
when performing the inverse filtering
H ( w1 , w2 )
1
| H ( w1 , w2 ) |
H ( w1 , w2 )
0
| H ( w1 , w2 ) |
EE465: Introduction t
20
Image Example
EE465: Introduction t
21
Image Deblurring
Introduction
Inverse filtering
Wiener filtering
Iterative deblurring*
Landweber algorithm
EE465: Introduction t
22
EE465: Introduction t
23
Wiener Filtering
Also called Minimum Mean Square Error (MMSE) or Least-Square (LS) fil
H mmse ( w1 , w2 )
H * ( w1 , w2 )
| H ( w1 , w2 ) |2 K
constant
Example choice of K:
w2
K 2
z
noise energy
signal energy
EE465: Introduction t
24
Image Example
EE465: Introduction t
25
K=0.1
K=0.01
EE465: Introduction t
K=0.001
26
H * ( w1 , w2 )
H mmse ( w1 , w2 )
| H ( w1 , w2 ) |2 | C ( w1 , w2 ) |2
0 1 0
C (m, n) 1 4 1
0 1 0
Example choice of C:
=0 inverse filtering
EE465: Introduction t
Laplacian operator
27
Image Example
=0.1
=0.01
EE465: Introduction t
=0.001
28
Image Deblurring
Introduction
Inverse filtering
Wiener filtering
Iterative deblurring*
Landweber algorithm
EE465: Introduction t
29
Method of Successive
Substitution
30
Numerical Example
f ( x) x 2 3x 2
Two roots:
x1 1, x2 2
2
x
2
2
f ( x) x 3 x 2 0 x
g ( x)
3
xi 2
successive substitution:
xi 1
3
EE465: Introduction t
31
EE465: Introduction t
32
Landweber Iteration
Linear blurring
Y ( w1 , w2 ) H ( w1 , w2 ) X ( w1 , w2 )
( X ) Y HX
f ( X ) 0 X X f ( X ) X (Y HX ) g ( X )
Successive substitution:
X0 0
X n 1 X n (Y HX n )
EE465: Introduction t
33
Asymptotic Analysis
X n 1 X n (Y HX n )
X n 1 Y RX n , R I H
n
X n R iY ( I R) 1 ( I R n 1 )Y
i 0
1 r N
r
, (r 1)
r
n 0
N 1
k 1
lim
R
Y 0
Assume convergence condition: k
we have
X lim X n ( I R ) 1Y H 1Y X
n
inverse filtering
EE465: Introduction t
34
Advantages of Landweber
Iteration
EE465: Introduction t
35