Numerical Linear Algebra and. Image Restoration

Similar documents
Preconditioning. Noisy, Ill-Conditioned Linear Systems

Preconditioning. Noisy, Ill-Conditioned Linear Systems

Advanced Numerical Linear Algebra: Inverse Problems

Mathematical Beer Goggles or The Mathematics of Image Processing

Laboratorio di Problemi Inversi Esercitazione 2: filtraggio spettrale

Ill Posed Inverse Problems in Image Processing

Regularization methods for large-scale, ill-posed, linear, discrete, inverse problems

Numerical Methods in Matrix Computations

Mathematics and Computer Science

arxiv: v1 [math.na] 3 Jan 2019

ETNA Kent State University

ITERATIVE REGULARIZATION WITH MINIMUM-RESIDUAL METHODS

STA141C: Big Data & High Performance Statistical Computing

Numerical Methods for Separable Nonlinear Inverse Problems with Constraint and Low Rank

Chapter 8 Structured Low Rank Approximation

STA141C: Big Data & High Performance Statistical Computing

Blind Image Deconvolution Using The Sylvester Matrix

Computational Methods CMSC/AMSC/MAPL 460. EigenValue decomposition Singular Value Decomposition. Ramani Duraiswami, Dept. of Computer Science

Downloaded 06/11/15 to Redistribution subject to SIAM license or copyright; see

Inverse Ill Posed Problems in Image Processing

Tensor-Tensor Product Toolbox

Regularization Parameter Estimation for Least Squares: A Newton method using the χ 2 -distribution

SIGNAL AND IMAGE RESTORATION: SOLVING

Computational Methods. Eigenvalues and Singular Values

Numerical Methods I Singular Value Decomposition

Linear Algebra Review

Numerical Methods I Eigenvalue Problems

A MODIFIED TSVD METHOD FOR DISCRETE ILL-POSED PROBLEMS

Tikhonov Regularization of Large Symmetric Problems

Efficient Computational Approaches for Multiframe Blind Deconvolution

The Singular Value Decomposition

Linear Inverse Problems

COMPUTATIONAL ISSUES RELATING TO INVERSION OF PRACTICAL DATA: WHERE IS THE UNCERTAINTY? CAN WE SOLVE Ax = b?

Review of some mathematical tools

Structured Linear Algebra Problems in Adaptive Optics Imaging

FACTORIZATION STRATEGIES FOR THIRD-ORDER TENSORS

Let A an n n real nonsymmetric matrix. The eigenvalue problem: λ 1 = 1 with eigenvector u 1 = ( ) λ 2 = 2 with eigenvector u 2 = ( 1

Notes on Eigenvalues, Singular Values and QR

be a Householder matrix. Then prove the followings H = I 2 uut Hu = (I 2 uu u T u )u = u 2 uut u

APPLIED NUMERICAL LINEAR ALGEBRA

Linear Algebra Review. Vectors

Blind image restoration as a convex optimization problem

Inverse problem and optimization

Multi-Linear Mappings, SVD, HOSVD, and the Numerical Solution of Ill-Conditioned Tensor Least Squares Problems

DATA MINING LECTURE 8. Dimensionality Reduction PCA -- SVD

Singular Value Decomposition

Linear Least Squares. Using SVD Decomposition.

Applied Mathematics 205. Unit V: Eigenvalue Problems. Lecturer: Dr. David Knezevic

Singular Value Decomposition in Image Noise Filtering and Reconstruction

Golub-Kahan iterative bidiagonalization and determining the noise level in the data

Deconvolution. Parameter Estimation in Linear Inverse Problems

Basic Calculus Review

Lecture 11: CMSC 878R/AMSC698R. Iterative Methods An introduction. Outline. Inverse, LU decomposition, Cholesky, SVD, etc.

Newton s Method for Estimating the Regularization Parameter for Least Squares: Using the Chi-curve

Background Mathematics (2/2) 1. David Barber

Geometric Modeling Summer Semester 2010 Mathematical Tools (1)

Bindel, Fall 2016 Matrix Computations (CS 6210) Notes for

Towards Improved Sensitivity in Feature Extraction from Signals: one and two dimensional

Krylov subspace iterative methods for nonsymmetric discrete ill-posed problems in image restoration

Efficient Equalization for Wireless Communications in Hostile Environments

Fall TMA4145 Linear Methods. Exercise set Given the matrix 1 2

What is Image Deblurring?

Algebra C Numerical Linear Algebra Sample Exam Problems

ETNA Kent State University

NUMERICAL METHODS USING MATLAB

Fundamentals of Matrices

EE 367 / CS 448I Computational Imaging and Display Notes: Image Deconvolution (lecture 6)

Lecture 4. CP and KSVD Representations. Charles F. Van Loan

Math 102, Winter Final Exam Review. Chapter 1. Matrices and Gaussian Elimination

MATH 3795 Lecture 10. Regularized Linear Least Squares.

15 Singular Value Decomposition

1 Linearity and Linear Systems

Linear Algebra Methods for Data Mining

EIGENVALE PROBLEMS AND THE SVD. [5.1 TO 5.3 & 7.4]

1. Introduction. We are concerned with the approximate solution of linear least-squares problems

Diagonalization of Tensors with Circulant Structure

c 2008 Society for Industrial and Applied Mathematics

AMS526: Numerical Analysis I (Numerical Linear Algebra for Computational and Data Sciences)

Name: INSERT YOUR NAME HERE. Due to dropbox by 6pm PDT, Wednesday, December 14, 2011

Maths for Signals and Systems Linear Algebra in Engineering

THE SINGULAR VALUE DECOMPOSITION MARKUS GRASMAIR

Adaptive Filtering. Squares. Alexander D. Poularikas. Fundamentals of. Least Mean. with MATLABR. University of Alabama, Huntsville, AL.

Vector and Matrix Norms. Vector and Matrix Norms

Spectral Regularization

1. Introduction. We consider linear discrete ill-posed problems of the form

AMS526: Numerical Analysis I (Numerical Linear Algebra) Lecture 23: GMRES and Other Krylov Subspace Methods; Preconditioning

A Hybrid LSQR Regularization Parameter Estimation Algorithm for Large Scale Problems

The Global Krylov subspace methods and Tikhonov regularization for image restoration

A fast nonstationary preconditioning strategy for ill-posed problems, with application to image deblurring

Regularization via Spectral Filtering

Mathematical foundations - linear algebra

Math 515 Fall, 2008 Homework 2, due Friday, September 26.

Contents. Acknowledgments

σ 11 σ 22 σ pp 0 with p = min(n, m) The σ ii s are the singular values. Notation change σ ii A 1 σ 2

The Singular Value Decomposition and Least Squares Problems

Global Golub Kahan bidiagonalization applied to large discrete ill-posed problems

Least Squares. Tom Lyche. October 26, Centre of Mathematics for Applications, Department of Informatics, University of Oslo

ECS130 Scientific Computing Handout E February 13, 2017

STAT 309: MATHEMATICAL COMPUTATIONS I FALL 2018 LECTURE 9

Orthonormal Transformations and Least Squares

Transcription:

Numerical Linear Algebra and Image Restoration Maui High Performance Computing Center Wednesday, October 8, 2003 James G. Nagy Emory University Atlanta, GA Thanks to: AFOSR, Dave Tyler, Stuart Jefferies, Sudhaker Prasad NSF (MPS/Computational Math) Emory University Julie Kamm (Raytheon), Lisa Perrone (Emory)

Basic Problem Linear system of equations b = Ax + e where A, b are known A is large, structured, ill-conditioned Goal: Compute an approximation of x Example: Image restoration b = observed image A = matrix defined by point spread function (PSF) e = noise x = true image

Computational Considerations Ill-conditioned A implies is corrupted with noise. ˆx = A 1 b = x + A 1 e Stabilize numerical scheme using regularization. Examples of regularization: 1. Filtering Pseudo inverse, Wiener, Tikhonov,... 2. Iterative Richardson-Lucy, EM, Conjugate gradients,...

Computational Considerations Efficient implementation of filters depends on structure of A. We consider Circulant Toeplitz Toeplitz+Hankel Kronecker product Iterative methods can be accelerated using filters as preconditioners.

Course Aims Wednesday: Background, notation, tools. Thursday: Kronecker products in image restoration. Friday: Spatially variant blurs and preconditioning. Wednesday 1. Tools (matrix decompositions) for building filters. 2. Some filtering methods. 3. Structured matrices in image restoration. 4. Matrix decompositions for structured matrices.

Tools for Building Filters Singular value decomposition (SVD): Any matrix A can be written as A = UΣV T where U T U = I (orthogonal) V T V = I Σ =diag(σ 1, σ 2,..., σ N ), σ 1 σ 2 σ N 0 Note: For image restoration, σ 1 1, σ N 0 condition(a) = σ 1 σ N 1

Tools for Building Filters Singular value decomposition: In Matlab: >> [U, S, V] = svd(a); Computational cost for an n n matrix A FLOPS: O(n 3 ) Storage: O(n 2 ) Remark: Fast algorithms are possible for sparse matrices, but storage is difficult to reduce. In Matlab: >> [U, S, V] = svds(a);

Tools for Building Filters Spectral decomposition: Some matrices A can be written as A = V ΛV where V = complex conjugate transpose V V = I (unitary) Λ =diag(λ 1, λ 2,..., λ N ), λ i = eigenvalues, i-th column of V = v i = eigenvectors

Tools for Building Filters Spectral decomposition: In Matlab: >> [V, E] = eig(a); Computational cost for an n n matrix A FLOPS: O(n 3 ) Storage: O(n 2 ) Remark: Fast algorithms are possible for sparse matrices, but storage is difficult to reduce. In Matlab: >> [V, E] = eigs(a);

Filtering Methods Inverse solution using SVD: If A = UΣV T (or A = V ΛV ), then x = A 1 b = V Σ 1 U T b = [ v 1 v n ] 1/σ 1... u T 1. b = [ v 1 v n ] = n i=1 u T i b σ i v i u T 1 b/σ 1. u T nb/σ n 1/σ n u T n

Filtering Methods Inverse solution for noisy, ill-posed problems: If A = UΣV T, then ˆx = A 1 (b + e) = V Σ 1 U T (b + e) = n i=1 u T i (b + e) σ i v i = n i=1 u T i b σ i v i + n i=1 u T i e σ i v i = x + error

Filtering Methods Filtering Goal: Do not let error dominate computed solution. x filt = = V n i=1 φ i u T i b σ i v i φ 1 σ 1... φ n σ n U T b where the filter factors satisfy φ i { 1 if σi is large 0 if σ i is small

Filtering Methods Frequency space representation of filter: If U T = V T = Fourier transform, then x filt = V V T x filt = ˆx filt = φ 1 σ 1... φ 1 σ 1... φ 1 σ 1... φ n σ n φ n σ n φ n σ n U T b U T b ˆb is the frequency space representation of the filter.

Filtering Methods Some examples of filters: 1. Pseudo-inverse (truncated SVD) x tsvd = k i=1 u T i b σ i v i 2. Tikhonov x tik = n i=1 σi 2 u T σi 2 i b + v i α2 σ i 3. Wiener x wien = n i=1 δ i σ 2 i δ i σ 2 i + γ2 i u T i b σ i v i

Structured Matrices in Image Restoration Toeplitz Matrix A = a 0 a 1 a 2 0 0 a 1 a 0 a 1 a 2 0 a 2 a 1 a 0 a 1 a 2 0 a 2 a 1 a 0 a 1 0 0 a 2 a 1 a 0 0.05 0.045 0.04 a 0 0.035 0.03 0.025 0.02 0.015 0.01 0.005 0 10 5 0 5 10

Structured Matrices in Image Restoration Circulant Matrix (Toeplitz + periodic) A = a 0 a 1 a 2 a 2 a 1 a 1 a 0 a 1 a 2 a 2 a 2 a 1 a 0 a 1 a 2 a 2 a 2 a 1 a 0 a 1 a 1 a 2 a 2 a 1 a 0 A = a 0 a 1 a 2 0 0 a 1 a 0 a 1 a 2 0 a 2 a 1 a 0 a 1 a 2 0 a 2 a 1 a 0 a 1 0 0 a 2 a 1 a 0 + 0 0 0 a 2 a 1 0 0 0 0 a 2 0 0 0 0 0 a 2 0 0 0 0 a 1 a 2 0 0 0

Structured Matrices in Image Restoration Hankel Matrix A = a 0 a 1 a 2 a 3 a 4 a 1 a 2 a 3 a 4 a 5 a 2 a 3 a 4 a 5 a 6 a 3 a 4 a 5 a 6 a 7 a 4 a 5 a 6 a 7 a 8 Toeplitz + Hankel (Toeplitz + reflection) A = a 0 a 1 a 2 0 0 a 1 a 0 a 1 a 2 0 a 2 a 1 a 0 a 1 a 2 0 a 2 a 1 a 0 a 1 0 0 a 2 a 1 a 0 + a 1 a 2 0 0 0 a 2 0 0 0 0 0 0 0 0 0 0 0 0 0 a 2 0 0 0 a 2 a 1

Structured Matrices in Image Restoration Hankel Matrix A = a 0 a 1 a 2 a 3 a 4 a 1 a 2 a 3 a 4 a 5 a 2 a 3 a 4 a 5 a 6 a 3 a 4 a 5 a 6 a 7 a 4 a 5 a 6 a 7 a 8 Symmetric Toeplitz + Hankel A = a 0 a 1 a 2 0 0 a 1 a 0 a 1 a 2 0 a 2 a 1 a 0 a 1 a 2 0 a 2 a 1 a 0 a 1 0 0 a 2 a 1 a 0 + a 1 a 2 0 0 0 a 2 0 0 0 0 0 0 0 0 0 0 0 0 0 a 2 0 0 0 a 2 a 1 symmetric about the center

Structured Matrices in Image Restoration Two-dimensional analogs: e.g., block Toeplitz with Toeplitz blocks (BTTB) A = A 0 A 1 A 2 0 0 A 1 A 0 A 1 A 2 0 A 2 A 1 A 0 A 1 A 2 0 A 2 A 1 A 0 A 1 0 0 A 2 A 1 A 0, each A i is Toeplitz We consider: BTTB, BCCB, BHHB, BTHB, BHTB B block T Toeplitz C circulant H Hankel

Structured Matrices in Image Restoration Kronecker Products A = C D = c 11 D c 12 D c 1n D c 21 D. c 22 D. c 2n D. c n1 D c n2 D c nn D Note: If C and D are n n matrices, then A is n 2 n 2 C and D could be structured (e.g., Toeplitz).

Structured Matrices in Image Restoration Summary: Problem: Solve b = Ax + e Solution: Compute a filtered solution: x filt = n i=1 φ ut i b σ i v i Difficulty: Need to compute either Singular value decomp.: A = UΣV T Spectral decomposition: A = V ΛV How to do this efficiently? Can structure of A be exploited?

Decompositions for Structured Matrices Circulant and BCCB matrices: Can use FFT to get spectral decomposition: where A = F ΛF F = unitary discrete Fourier transform matrix Λ1 = nfa, a = 1st column of A Computational cost using FFTs: FLOPs = O(n log n) Storage = O(n)

Decompositions for Structured Matrices Circulant and BCCB matrices: In Matlab, if a is the 1st column of circulant A: To compute eigenvalues: >> Eigs = fft(a); To solve Ax = b: >> x = ifft( fft(b)./ Eigs ); If f is a vector containing filter factors, φ i : >> x_filt = ifft( fft(b).* (f./ Eigs) );

Decompositions for Structured Matrices Symmetric Toeplitz + Hankel Matrices: Can use discrete cosine transform (DCT): where A = C T ΛC C = orthogonal discrete cosine transform matrix Λ1 = Ca./ c, a = 1st col of A, c = 1st col of C Computational cost using fast DCTs: FLOPs = O(n log n) Storage = O(n)

Decompositions for Structured Matrices Symmetric Toeplitz + Hankel Matrices: In Matlab, if a is the 1st column of A: To compute eigenvalues: >> Eigs = dct(a./ dct(eye(length(a),1)); To solve Ax = b: >> x = idct( dct(b)./ Eigs ); If f is a vector containing filter factors, φ i : >> x_filt = idct( dct(b).* (f./ Eigs) );

Decompositions for Structured Matrices Kronecker Products: A = C D Some simple properties: (C D) T = C T D T (C D) 1 = C 1 D 1 (C 1 D 1 )(C 2 D 2 ) = C 1 C 2 D 1 D 2 A useful property: Ax = b (C D)x = b DXC T = B where x = vec(x) and b = vec(b)

Decompositions for Structured Matrices Kronecker Products: A = C D Using these properties, can compute SVD efficiently: If C = U c Σ c V T c and D = U d Σ d V T d, then A = C D = (U c Σ c Vc T dσ d Vd T = (U c U d )(Σ c Σ d )(V c V d ) T = UΣV T = SVD of A Computational cost for N N = n 2 n 2 matrix: FLOPs = O(n 3 ) = O(N 3/2 ) > O(N log N) Storage = O(N)

Decompositions for Structured Matrices Kronecker Products: A = C D In Matlab, if F c = diagonal matrix of filter factors for C F d = diagonal matrix of filter factors for D then a filtered solution can be computed as: >> [Uc, Sc, Vc] = svd(c); >> [Ud, Sd, Vd] = svd(d); >> X_filt = Vd * (Sd \ Fd) * (Ud *B*Uc) * (Sc \ Fc) * Vd ;

Example Gaussian PSF: e α2 (x 2 +y 2) = e α2 x 2 e α2 y 2 Discretizing this, we get: A = C D where C and D are Toeplitz matrices. Simulated data: B = D X C T + Noise

Summary Problem: b = Ax + e Solution: Compute a filtered solution: x filt = n i=1 φ ut i b σ i v i Efficiency: Exploiting matrix structure, can use: A = V ΛV for circulant A = V ΛV for symmetric Toeplitz + Hankel A = UΣV T for Kronecker products

Preview for Thursday Determine which matrix structure is most appropriate. Depends on: Properties of PSF, and boundary conditions. Exploiting Kronecker product structure for nonseparable PSFs. Implementation details for realistic data.