Sie sind auf Seite 1von 21

ENEE631 Digital Image Processing (Spring'04)

Image Restoration
Spring 04 Instructor: Min Wu

ECE Department, Univ. of Maryland, College Park
www.ajconline.umd.edu (select ENEE631 S04)
minwu@eng.umd.edu
Based on ENEE631 Spring04
Section 7
ENEE631 Digital Image Processing (Spring'04) Lec8 Image Restoration [4]

From Matlab ImageToolbox
Documentation pp12-4
U
M
C
P

E
N
E
E
6
3
1

S
l
i
d
e
s

(
c
r
e
a
t
e
d

b
y

M
.
W
u


2
0
0
1
)

ENEE631 Digital Image Processing (Spring'04) Lec8 Image Restoration [5]
Imperfectness in Image Capturing
Blurring ~ linear spatial-invariant filter model w/ additive noise
Impulse response h(n
1
, n
2
) & H(e
1
, e
2
)
Point Spread Function (PSF) ~ positive I/O

[No blur] h(n
1
, n
2
) = o(n
1
, n
2
)

[Linear translational motion blur]
local average along motion direction
[Uniform out-of-focus blur]
local average in a circular neighborhood
Atomspheric turbulence blur, etc.
H
u(n
1
, n
2
) v(n
1
, n
2
)
N(n
1
, n
2
)

=
s +
=
otherwise 0

tan and
x if
L
1
) , ; , ( y
x
2
2 2
|
|
L
y
L y x h

s +
=
otherwise 0
x if
R
1
) ; , (
2 2 2
2
R y
R y x h
t
U
M
C
P

E
N
E
E
6
3
1

S
l
i
d
e
s

(
c
r
e
a
t
e
d

b
y

M
.
W
u


2
0
0
1
)

ENEE631 Digital Image Processing (Spring'04) Lec8 Image Restoration [6]
Fourier Transform of PSF for Common Distortions

From Boviks Handbook
Sec.3.5 Fig.2&3 UMCP ENEE631 Slides (created by M.Wu 2001)
ENEE631 Digital Image Processing (Spring'04) Lec8 Image Restoration [7]
Undo Linear Spatial-Invariant Distortion
Assume noiseless and PSF of distortion h(n
1
, n
2
) is known






Restoration by Deconvolution / Inverse-Filtering
Often used for deblurring
Want to find g(n
1
, n
2
) satisfies h(n
1
, n
2
) g(n
1
, n
2
) = o(n
1
, n
2
)
EE h(k
1
, k
2
) g(n
1
-k
1
, n
2
-k
2
) = o(n
1
, n
2
) for all n
1
, n
2


Easy to solve in spectrum domain
Convolution Multiplication
H(e
1
, e
2
) G(e
1
, e
2
) = 1
Interpretation: choose G to compensate distortions from H
) , (
1
) , (
2 1
2 1
e e
e e
H
G =
H
u(n
1
, n
2
) v(n
1
, n
2
)
q(n
1
, n
2
)=0
G
u(n
1
, n
2
) w(n
1
, n
2
)
U
M
C
P

E
N
E
E
6
3
1

S
l
i
d
e
s

(
c
r
e
a
t
e
d

b
y

M
.
W
u


2
0
0
1
)

ENEE631 Digital Image Processing (Spring'04) Lec8 Image Restoration [8]
Problems With Inverse Filtering Under Noise
Zeros in H(e
1
, e
2
)
Interpretation: distortion by H removes all info. in those freq.
Inverse filter tries to compensate by assigning infinite gains

Amplifies noise:
W(e
1
, e
2
) = H (e
1
, e
2
) U (e
1
, e
2
)
U (e
1
, e
2
) = (W+N) / H ~ N/H if W=0

Solutions?

U
M
C
P

E
N
E
E
6
3
1

S
l
i
d
e
s

(
c
r
e
a
t
e
d

b
y

M
.
W
u


2
0
0
1
)

ENEE631 Digital Image Processing (Spring'04) Lec8 Image Restoration [9]
Examples of Inverse & Pseudo-inverse Filtering

From Jain Fig.8.10
U
M
C
P

E
N
E
E
6
3
1

S
l
i
d
e
s

(
c
r
e
a
t
e
d

b
y

M
.
W
u


2
0
0
1
)

ENEE631 Digital Image Processing (Spring'04) Lec8 Image Restoration [10]
Problems With Inverse Filtering Under Noise
Zeros in H(e
1
, e
2
)
Interpretation: distortion by H removes all info. in those freq.
Inverse filter tries to compensate by assigning infinite gains

Amplifies noise:
W(e
1
, e
2
) = H (e
1
, e
2
) U (e
1
, e
2
)
U (e
1
, e
2
) = (W+N) / H ~ N/H if W=0

Solutions ~ Pseudo-inverse Filtering
Assign zero gain for G at spectrum nulls of H
Interpretation: not bother to make impossible compensations

<
>
=
c e e
c e e
e e e e
| ) , ( H | if , 0
| ) , ( H | if ,
) , (
1
) , (
2 1
2 1
2 1 2 1
H G
U
M
C
P

E
N
E
E
6
3
1

S
l
i
d
e
s

(
c
r
e
a
t
e
d

b
y

M
.
W
u


2
0
0
1
)

ENEE631 Digital Image Processing (Spring'04) Lec8 Image Restoration [11]
Handling Spectrum Nulls Via High-Freq Cut-off
Limit the restoration
to lower frequency
components to avoid
amplifying noise at
spectrum nulls
U
M
C
P

E
N
E
E
6
3
1

S
l
i
d
e
s

(
c
r
e
a
t
e
d

b
y

M
.
W
u


2
0
0
4
)

Figure is from slides at Gonzalez/ Woods DIP book website (Chapter 5)
ENEE631 Digital Image Processing (Spring'04) Lec8 Image Restoration [12]
Handling Noise in Deconvolution
Inverse filtering is sensitive to noise
Does not explicitly modeling and handling noise
Try to balance between deblurring vs. noise suppression
Minimize MSE between the original and restored
e = E{ [ u(n
1
, n
2
) u(n
1
, n
2
) ]
2
} where u(n
1
, n
2
) is a func. of {v(m
1
, m
2
) }

Best estimate is conditional mean E[ u(n
1
, n
2
) | all v(m
1
, m
2
) ]
usually difficult to solve for general restoration (need conditional
probability distribution, and estimation is nonlinear in general)
Get the best linear estimate instead Wiener filtering
Consider the (desired) image and noise as random fields
Produce a linear estimate from the observed image to minimize MSE
H
u(n
1
, n
2
) v(n
1
, n
2
)
q(n
1
, n
2
)
G
u(n
1
, n
2
) w(n
1
, n
2
)
U
M
C
P

E
N
E
E
6
3
1

S
l
i
d
e
s

(
c
r
e
a
t
e
d

b
y

M
.
W
u


2
0
0
1
/
2
0
0
4
)

ENEE631 Digital Image Processing (Spring'04) Lec8 Image Restoration [13]
Wiener Filtering
Get the best linear estimate minimizing MSE
Assume spatial-invariant filter u(n
1
, n
2
) = g (n
1
, n
2
) v(n
1
, n
2
)
Assume wide-sense stationarity for original signal and noise
Assume noise is zero-mean and uncorrelated with original signal
Solutions
Bring into orthogonal condition
E{ [ u(n
1
, n
2
) u(n
1
, n
2
) ] v(m
1
, m
2
) }=0
Represent in correlation functions: R
uv
(k,l) = g(k,l) R
vv
(k,l)
Take DFT to get representation in power spectrum density
) , (
) , (
) , (
2 1
2 1
2 1
e e
e e
e e
vv
uv
S
S
G =

=
+ =
) , ( ) , ( ) , (
) , ( ) , ( ) , ( ) , ( : Note
2 1 2 1
*
2 1
2 1 2 1
2
2 1 2 1
e e e e e e
e e e e e e e e
qq
uu uv
uu vv
S H S
S S H S
) , ( ) , ( ) , (
) , ( ) , (

2 1 2 1
2
2 1
2 1 2 1
*
e e e e e e
e e e e
qq
S S H
S H
uu
uu
+
= U
M
C
P

E
N
E
E
6
3
1

S
l
i
d
e
s

(
c
r
e
a
t
e
d

b
y

M
.
W
u


2
0
0
1
)

ENEE631 Digital Image Processing (Spring'04) Lec8 Image Restoration [14]
More on Wiener Filtering
Balancing between two jobs
for deblurring noisy image
HPF filter for de-blurring
(undo H distortion)
LPF for suppressing noise
Noiseless case ~ Sqq = 0 (inverse filter)
Wiener filter becomes pseudo-inverse filter for S
qq
0




No-blur case ~ H = 1 (Wiener Smoothing Filter)
Zero-phase filter to attenuate noise according to SNR at each freq.

=
=
=
+
=

0 | ) , ( H | if , 0
0 | ) , ( H | if ,
) , (
1
/ | |
) , (
2 1
2 1
2 1 0
2
*
0 2 1
e e
e e
e e e e
qq qq
qq
H
S S H
H
G
S
uv
S
uu
S H
S
H
G
*
wiener 2 1

1
) , (
qq
e e
+
=
1 ) , (
) , (
) , ( ) , (
) , (
) , (
2 1
2 1
2 1 2 1
2 1
1 wiener 2 1
+
=
+
=
=
e e
e e
e e e e
e e
e e
qq SNR
SNR
uu
uu
H
S
S
S S
S
G
U
M
C
P

E
N
E
E
6
3
1

S
l
i
d
e
s

(
c
r
e
a
t
e
d

b
y

M
.
W
u


2
0
0
1
)

ENEE631 Digital Image Processing (Spring'04) Lec8 Image Restoration [15]
Comparisons

From Jain Fig.8.11
U
M
C
P

E
N
E
E
6
3
1

S
l
i
d
e
s

(
c
r
e
a
t
e
d

b
y

M
.
W
u


2
0
0
1
)

ENEE631 Digital Image Processing (Spring'04) Lec8 Image Restoration [16]
Example: Wiener Filtering vs. Inverse Filtering
U
M
C
P

E
N
E
E
6
3
1

S
l
i
d
e
s

(
c
r
e
a
t
e
d

b
y

M
.
W
u


2
0
0
4
)

Figure is from slides at Gonzalez/ Woods DIP book website (Chapter 5)
ENEE631 Digital Image Processing (Spring'04) Lec8 Image Restoration [17]
Example (2):

Wiener Filtering
vs.
Inverse Filtering
U
M
C
P

E
N
E
E
6
3
1

S
l
i
d
e
s

(
c
r
e
a
t
e
d

b
y

M
.
W
u


2
0
0
4
)

Figure is from slides at Gonzalez/ Woods
DIP book website (Chapter 5)
ENEE631 Digital Image Processing (Spring'04) Lec8 Image Restoration [18]
To Explore Further
U
M
C
P

E
N
E
E
6
3
1

S
l
i
d
e
s

(
c
r
e
a
t
e
d

b
y

M
.
W
u


2
0
0
4
)

ENEE631 Digital Image Processing (Spring'04) Lec8 Image Restoration [19]
Review: Handling Noise in Deconvolution
Inverse filtering is sensitive to noise
Does not explicitly modeling and handling noise





Try to balance between deblurring vs. noise suppression
Consider the (desired) image and noise as random fields
Minimize MSE between the original and restored
e = E{ [ u(n
1
, n
2
) u(n
1
, n
2
) ]
2
} where u(n
1
, n
2
) is a func. of {v(m
1
, m
2
) }

Best estimate is conditional mean E[ u(n
1
, n
2
) | all v(m
1
, m
2
) ]
Get the best linear estimate Wiener filtering
Produce a linear estimate from the observed image to minimize MSE
H
u(n
1
, n
2
) v(n
1
, n
2
)
q(n
1
, n
2
)
G
u(n
1
, n
2
) w(n
1
, n
2
)
U
M
C
P

E
N
E
E
6
3
1

S
l
i
d
e
s

(
c
r
e
a
t
e
d

b
y

M
.
W
u


2
0
0
1
/
2
0
0
4
)

ENEE631 Digital Image Processing (Spring'04) Lec8 Image Restoration [20]
Wiener Filter: From Theory to Practice
Recall: assumed p.s.d. of image & noise random fields and
freq. response of distortion filter are known

Why make the assumptions?

Are these reasonable assumptions?

What do they imply in our implementation of Wiener filter?
U
M
C
P

E
N
E
E
6
3
1

S
l
i
d
e
s

(
c
r
e
a
t
e
d

b
y

M
.
W
u


2
0
0
4
)

ENEE631 Digital Image Processing (Spring'04) Lec8 Image Restoration [21]
Wiener Filter: Issues to Be Addressed
Wiener filters size
Theoretically has infinite impulse response ~ require large-size DFTs
Impose filter size constraint: find the best FIR that minimizes MSE

Need to estimate power spectrum density of orig. signal
Estimate p.s.d. of blurred image v and compensate variance due to noise
Estimate p.s.d. from a set of representative images similar to the images
to be restored
Or use statistical model for the orig. image and estimate parameters

Constrained least square filter ~ see Jains Sec.8.8 & Gonzalez Sec.5.9
Optimize smoothness in restored image (least-square of the rough
transitions)
Constrain differences between blurred image and blurred version of
reconstructed image
Estimate the restoration filter w/o the need of estimating p.s.d.

Unknown distortion H ~ Blind Deconvolution
U
M
C
P

E
N
E
E
6
3
1

S
l
i
d
e
s

(
c
r
e
a
t
e
d

b
y

M
.
W
u


2
0
0
1
)

ENEE631 Digital Image Processing (Spring'04) Lec8 Image Restoration [24]
Basic Ideas of Blind Deconvolution
Three ways to estimate H: observation, experimentation, math. modeling
Estimate H via spectrums zero patterns
Two major classes of blur (motion blur and out-of-focus)
H has nulls related to the type and the parameters of the blur
Maximum-Likelihood blur estimation
Each set of image model and blur parameters gives a typical blurred
output; Probability comes into picture because of the existence of noise
Given the observation of blurred image, try to find the set of parameters that
is most likely to produce that blurred output
Iteration ~ Expectation-Maximization approach (EM)
Given estimated parameters, restore image via Wiener filtering
Examine restored image and refine parameter estimation
Get local optimums
To explore more: Boviks Handbook Sec.3.5 (subsection-4, pp136)
Blind Image Deconvolution by Kundur et al, IEEE Sig. Proc. Magazine, vol.13, 1996
U
M
C
P

E
N
E
E
6
3
1

S
l
i
d
e
s

(
c
r
e
a
t
e
d

b
y

M
.
W
u


2
0
0
1
/
2
0
0
4
)

ENEE631 Digital Image Processing (Spring'04) Lec8 Image Restoration [25]
Filtering Through Transform Domain Operation
E.g.1 Realize Wiener in DFT domain
E.g.2 Use zonal mask in transform domain
Realize ideal LPF/BPF/HPF
Computation complexity for transform could be high for large image
From Jain Fig.7.31&7.32
U
M
C
P

E
N
E
E
6
3
1

S
l
i
d
e
s

(
c
r
e
a
t
e
d

b
y

M
.
W
u


2
0
0
1
)

Das könnte Ihnen auch gefallen