Using Neumann Series to Solve Inverse Problems in Imaging Christopher Kumar Anand
Anand-Neumann Series-AdvOl-Feb Inverse Problem given measurements ( ) model ( ) Solve for.
Anand-Neumann Series-AdvOl-Feb Seismic Imaging 1. Bang 2. Listen 3. Solve Acoustic Equations
Anand-Neumann Series-AdvOl-Feb Magnetic Resonance Imaging 0. Tissue Density 1. Phase Modulation 2. Sample Fourier Transform 3. Invert Linear System
Anand-Neumann Series-AdvOl-Feb Challenging when... model is big variables model is nonlinear data is inexact (usually know error probabilistically)
Anand-Neumann Series-AdvOl-Feb Imaging discretize continuous model regular volume/area elements sparse structure
Anand-Neumann Series-AdvOl-Feb Solutions: Noise filter noisy solution 1. convolution filter 2. bilateral filter 3. Anisotropic Diffusion (uses pde) regularize via penalty 4. energy 5. Total Variation 6. something new
Anand-Neumann Series-AdvOl-Feb Solutions: Problem Size I. use a fast method (i.e. based on FFT) II. use (parallelizable) iterative method a. Conjugate Gradient b. Neumann series III. use sparsity c. choose penalties with sparse Hessians IV. use fast hardware d way parallelizable e. single precision
Anand-Neumann Series-AdvOl-Feb Cell BE 25 GFlops DP 200 GFlops SP need 384-way ||ism 4-way SIMD 8-way cores 6-times unrolling double buffering
Anand-Neumann Series-AdvOl-Feb Solutions: Nonlinearity use iterative method A. sequential projection onto convex sets B. trust region C. sequential quadratic approximations
Anand-Neumann Series-AdvOl-Feb Plan of Talk A. example/benchmark B. optimization 1. fit to data 2. regularization i. new penalty (with optimized gradient) ii. nonlinear penalties C. solution 3. operator decomposition 4. Neumann series D. proof of convergence E. numerical example 5. noise reduction 6. linear convergence
Anand-Neumann Series-AdvOl-Feb Example/Benchmark complex image complex data model
Anand-Neumann Series-AdvOl-Feb Example/Benchmark diagonal blocks easily invertible
Anand-Neumann Series-AdvOl-Feb Example/Benchmark direct inverse
Anand-Neumann Series-AdvOl-Feb Optimizationfit-to-data quadratic penalties nonlinear penalties
Anand-Neumann Series-AdvOl-Feb Fit to Data typically dense transformation use fast matrix-vector products e.g. FFT-based forward/adjoint problem linear forward problem gives quadratic objective
Anand-Neumann Series-AdvOl-Feb Bilateral Filter spatial kernel range kernel Bilateral Regularizer
Anand-Neumann Series-AdvOl-Feb Quadtratic Case optimize direction of gradient LP problem like FIR filter design heuristic choice of “stop band”
Anand-Neumann Series-AdvOl-Feb Optimal Spatial Kernel discrete kernel not rotational symmetric exact in quadratic case quadratic case use in all cases all cases
Anand-Neumann Series-AdvOl-Feb TV-like similar properties to Total Variation won’t smooth edges not differentiable
Anand-Neumann Series-AdvOl-Feb Sequential Quadratic TV-like sequential quadratic approximation tangent to TV-like
Anand-Neumann Series-AdvOl-Feb Mask penalize pixel values outside object
Anand-Neumann Series-AdvOl-Feb Segmentation probability of observing pixels assumes discrete pixel values equal likelihood equal normal error
Anand-Neumann Series-AdvOl-Feb Solve: Operator Decomposition“small” block diagonal with sparse banded blocks linear-time Cholesky decomposition leads to formal expression image rows blocks =
Anand-Neumann Series-AdvOl-Feb plus (poly-order)(fast algorithm) linear in problem size Calculate Using Fast Matrix-Vector Ops
Anand-Neumann Series-AdvOl-Feb Row by Row each block corresponds to a row each block can be calculated in parallel (number-rows)-way parallelism
Anand-Neumann Series-AdvOl-Feb Even Better: Use Minimax Polynomial calculate
Anand-Neumann Series-AdvOl-Feb minimax polynomial error step shortening Convergence next error current error
Anand-Neumann Series-AdvOl-Feb Safe in Single- Precision recalculate gradient at each outer iteration numerical error only builds up during polynomial evaluation coefficients well-behaved (and in our control)
Anand-Neumann Series-AdvOl-Feb Numerical Tests start with quadratic penalties add nonlinear penalties and change weights with and without time fixed budget for computation
Anand-Neumann Series-AdvOl-Feb iterations I. 10 iterations with bi2 regularization
Anand-Neumann Series-AdvOl-Feb iterations I. 10 iterations with bi2 regularization II. introduce other penalties 1. masking 2. magnet 3. segmentation
Anand-Neumann Series-AdvOl-Feb iterations optimized c simple c
Anand-Neumann Series-AdvOl-Feb Absolute Error iteration error
Anand-Neumann Series-AdvOl-Feb Relative (to limit) Error iteration error
Anand-Neumann Series-AdvOl-Feb Conclusion highly-parallel safe in single precision robust with respect to noise accommodates nonlinear penalties
Anand-Neumann Series-AdvOl-Feb Thanks to: of students and colleagues in the