Computational Methods for Image Deconvolution. Mathematics and Computer
Science ..... Java (using ImageJ). • Python. Mathematics and Computer Science ...
Introduction and Applications Mathematical Model Computational Approaches
Computational Methods for Image Deconvolution Mathematics and Computer Science Emory University
James Nagy Julianne Chung, Daniel Fan, Piotr Wendykier
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Outline
1
Introduction and Applications
2
Mathematical Model
3
Computational Approaches
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Image Deconvolution: Simple Example
Given blurred image, and some information about the blurring. Goal: Compute approximation of true image.
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Image Deconvolution: Simple Example
Given blurred image, and some information about the blurring. Goal: Compute approximation of true image.
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Cosmology Measuring Cosmic Microwave Background Radiation Observed data
Mathematics and Computer Science Emory University
Deconvolved data
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Astronomy Viewing distant star fields using ground based telescopes. Observed data
Mathematics and Computer Science Emory University
Deconvolved data
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Space Observations Viewing space vehicles, satellites and other space junk. Observed data
Mathematics and Computer Science Emory University
Deconvolved data
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Medical Imaging
Observed data
Mathematics and Computer Science Emory University
Deconvolved data
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Microscopy Observed data
Mathematics and Computer Science Emory University
Deconvolved data
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Applications: Super Resolution for Iris Recognition Basic idea: Given set of low resolution images,
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Applications: Super Resolution for Iris Recognition Basic idea: Given set of low resolution images,
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Applications: Super Resolution for Iris Recognition Basic idea: Given set of low resolution images, combine to get a high resolution image
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Applications: Super Resolution for Iris Recognition Basic idea: Given set of low resolution images, combine to get a high resolution image without distortions.
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Applications: Super Resolution for Medical Imaging Similar to iris recognition, but Registration (alignment) of images more difficult. Deconvolution is a subproblem of a nonlinear optimization method.
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Mathematical Model of Image Formation
t
v
s
u
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Mathematical Model of Image Formation x(s, t)
t
v
s
u
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Mathematical Model of Image Formation ZZ a(u, s, v , t)x(s, t)ds dt
t
v
s
u
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Mathematical Model of Image Formation ZZ b(u, v ) =
a(u, s, v , t)x(s, t)ds dt + e(u, v )
t
v
s
u
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
”Convolution” implies shift invariance ZZ b(u, v ) =
a(u − s, v − t)x(s, t)ds dt + e(u, v )
t
v
s
u
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Some remarks Convolution: Given functions x(s, t) and a(u − s, v − t), form the integration: ZZ b(u, v ) = a(u − s, v − t)x(s, t)ds dt
Deconvolution: Given functions b(u, v ) and a(u − s, v − t), ”undo” the integration to compute x(s, t). The inverse problem of deconvolution is very sensitive to noise: ZZ b(u, v ) = a(u − s, v − t)x(s, t)ds dt + e(u, v ) That is, small changes in e can produce large changes in x. Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Discrete Model Images are usually given by discrete pixel values, not functions! The theoretical mathematical model: ZZ b(u, v ) = a(u − s, v − t)x(s, t)ds dt + e(u, v ) can be approximated by matrix-vector equation: b = Ax + e A is defined by the ”point spread function” a(u − s, v − t). If the PSF is not known, it can be estimated from the image of a ”point source” object. Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Properties of the Discrete Model From the matrix-vector equation b = Ax + e Given b and A (or the PSF), compute an approximation of x Regarding the noise, e: It is usually not known. However, some statistical information may be known. It is usually small, but it cannot be ignored! That is, solving the linear algebra problem: Ax = b
⇒
x = A−1 b
usually does not work. Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Regularization Basic Idea: Modify the inversion process to compute: xreg = A−1 reg b so that ˆx = A−1 reg b = A−1 reg (Ax + e) −1 = A−1 reg Ax + Areg e
where A−1 reg Ax ≈ x
and
A−1 reg e is not too large
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
SVD Analysis An important linear algebra tool: Singular Value Decomposition Let
A = UΣVT
where
Σ =diag(σ1 , σ2 , . . . , σn ) , UT U = I ,
σ1 ≥ σ2 ≥ · · · ≥ σn ≥ 0
VT V = I
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
SVD Analysis An important linear algebra tool: Singular Value Decomposition Let
A = UΣVT
where σ1 ≥ σ2 ≥ · · · ≥ σn ≥ 0
Σ =diag(σ1 , σ2 , . . . , σn ) , UT U = I ,
VT V = I
Columns of U and V are orthonormal basis vectors U=
u1
u2
···
un
V=
v1
v2
···
vn
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
SVD Analysis The na¨ıve inverse solution can then be represented as: x
=
A−1 b
=
VΣ−1 UT b
=
n X uT b i
i=1
σi
Mathematics and Computer Science Emory University
vi
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
SVD Analysis The na¨ıve inverse solution can then be represented as: ˆx
=
A−1 (b + e)
=
VΣ−1 UT (b + e)
=
n X uT (b + e) i
i=1
σi
Mathematics and Computer Science Emory University
vi
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
SVD Analysis The na¨ıve inverse solution can then be represented as: ˆx
=
A−1 (b + e)
=
VΣ−1 UT (b + e)
=
n X uT (b + e) i
σi
i=1
=
n X uT b i
i=1
=
σi
vi +
vi
n X uT e i
i=1
σi
vi
x + error
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Filtering Algorithms Basic Idea: Filter out effects of small singular values.
xreg =
n X i=1
φi
uT i b vi σi
where the ”filter factors” satisfy 1 if σi is large φi ≈ 0 if σi is small
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Some Filtering Methods 1
Truncated SVD, or Pseudo Inverse Filter: xtsvd =
k X uT b i
i=1
2
vi
Tikhonov, or Wiener Filter: xtik =
n X i=1
3
σi
σi2 uT i b vi 2 2 σi + λ σi
Iterative Filters: (more later)
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Some Filtering Methods 1
Truncated SVD, or Pseudo Inverse Filter: xtsvd =
k X uT b i
i=1
σi
0.8
filter factor
1
vi
0.6
n = 64, k = 36
0.4
0.2
0
−5
−4
10
−3
10
−2
10
−1
10
0
10
1
10
10
singular values
Tikhonov, or Wiener Filter: xtik =
n X i=1
1
0.8
σi2 uT i b vi 2 2 σi + λ σi
filter factor
2
0.6
α = 0.001
0.4
0.2
0
3
Iterative Filters: (more later)
Mathematics and Computer Science Emory University
−5
10
−4
10
−3
10
−2
10
−1
10
0
10
1
10
singular values
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Remarks on Computational Methods
SVD filtering can be computationally expensive. Further simplifying approximations are often used to obtain more efficient algorithms: Fast Fourier transforms (FFT) based methods are most popular. Other fast transforms can be used. Exploiting structure in A can provide additional options.
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Iterative Algorithms Get an initial estimate: x0 ≈ x Generate a sequence of solutions: x1 , x2 , . . . The computational effort to compute each xk is much less than directly computing A−1 b. Theoretically, xk converges to A−1 b Hopefully convergence is fast!
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Iterative Algorithms xk converges to A−1 b For well-posed problems this is good! For ill-posed problems this is bad!
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Iterative Algorithms xk converges to A−1 b For well-posed problems this is good! For ill-posed problems this is bad!
Want xk to converge to A−1 reg b
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Iterative Algorithms xk converges to A−1 b For well-posed problems this is good! For ill-posed problems this is bad!
Want xk to converge to A−1 reg b Observation: Appropriate stopping iteration can give a good approximation of x. How to know when to stop? What if stopping rule is imprecise? If convergence is too slow, how to accelerate?
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Current Research Projects Encouraging iterative method to converge to A−1 reg b. (Julianne Chung)
Determining when to stop the iteration. (Julianne Chung) Accelerating convergence (preconditioning). Applications in biometrics, astronomy, medical imaging, microscopy. Incorporating physical constraints in the problem. High performance computing/software issues. (Piotr Wendykier) Using other bases (e.g., wavelets, fractals). (Daniel Fan) Inpainting applications. (Daniel Fan) Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Software and more can be found at: http://www.mathcs.emory.edu/∼nagy/RestoreTools • MATLAB • Java (using ImageJ) • Python
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution
Introduction and Applications Mathematical Model Computational Approaches
Software and more can be found at: http://www.mathcs.emory.edu/∼nagy/RestoreTools • MATLAB • Java (using ImageJ) • Python
THANKS!
Mathematics and Computer Science Emory University
Computational Methods for Image Deconvolution