This is a demo script for simple non-blind image deconvolution using lexicographi notation. Since images are 2D data, you need to convert the signal into a vector to express the system by linear expression (matrix-vector multiplication). Lexicographic notation is used for this.
Here, simple image deconvolutions are implemented by directly from the lexicographic expressions. Therefore, it looks more straightforward but it is very slow because the dimension of matrix become too large to handle with computers. In practice, you won't want to use this approach, but it's worth to see this. Please limit the size of image small (20x20 or so) for the test.
- demo_deconv_lexico.m: test script
- /opt: includes functions for optimization methods
- /func: includes functions for objective function and corresponding gradient function, and hessian function.
- Degradation model: y = Hx
- Deconvolution:
(1) Least Squares (LS) method:
min_x 0.5||y-Hx||2
(2) Regularized Least Squares (RLS):
min_x 0.5||y-Hx||2 + 0.5lambda||Cx||2
- Both deconvolution methods are implemented in two ways - pseudo-inverse, and iterative method.
For the iterative method, I implemented two numerical optimization methods
(1) Gradient descent
(2) Newton's method
Seunghwan Yoo (seunghwanyoo2013@u.northwestern.edu)