Convex Optimization in Image
Processing
Ernie Esser
5-5-2010
1
Inverse Problems
Let f be some given measurements of an image h
Goal: Find h given f and knowledge of the kinds of measurements taken
Some Examples:
Denoising: f = h + noise
Deblurring: f = blurred h + noise
Super Resolution: f = low resolution h + noise
2
Variational Models
Model the problem by defining a function F (u) on images u such that
F (u) is large when u is a poor solution
F (u) is small when u is a good solution
Data Fidelity: F (u) should be smaller when u is consistent with the
measurements f
Regularization: Data fidelity is usually not enough by itself. To make the
problem well posed, add an assumption about u:
smooth u
piecewise constant u
sparse u, etc...
F (u) should be smaller when the assumption is better satisfied
3
Optimization
Represent images as real M N matrices or as vectors in RM N .
Find u RM N that minimizes F (u)
Calculus Approach: Solve F (u ) = 0
Iterative Approach: Find uk u k = 1, 2, 3, ...
Issues:
linear versus nonlinear
differentiability
number of variables
constraints on u
local versus global minima
convex versus nonconvex
4
Convexity
In fact the great watershed in optimization isnt between linearity and
nonlinearity, but convexity and nonconvexity.
- R. T. Rockafellar
F ((1 s)u1 + su2 ) (1 s)F (u1 ) + sF (u2 ) for all u1 , u2
0s1
F(u2)
F(u1)
5
Local Min versus Global Min
If F is convex, Local Minimum Global Minimum
Smooth, Nonconvex Convex, Nonsmooth
u 0 u1 u 2 u3 u 0 u1 u2u3
Steepest descent, Proximal point method
"go downhill", finds global min
finds local min
Proximal point method diagram from Bertsekas and Tsitsiklis
6
Solving Convex Problems
There are efficient algorithms for convex optimization
Image processing problems modeled as convex optimization problems
can be reliably solved
Deblurring Example: F (u) was defined to be a convex function that
encourages data fidelity and prefers piecewise constant u
Original image Blurry/Noisy Recovered
(This was solved using an iterative method that is a generalization of the proximal point method.)
7
Nonconvex Problems
Nonconvex problems are much harder in general
Example: Blind Deblurring (dont know how image was blurred)
Example: Registration
Z
Want to align h1 and h2 F (v) = (h1 (x+v(x))h2 (x))2 dx
1.5
h1(x) 2500
h2(x)
2000
1500
F()
1000
0.5
500
0 0
0 10 20 30 40 50 60 70 80 90 100
0 10 20 30 40 50 60 70 80 90 100
x
h1 (x) and h2 (x) F (v) in the case when v(x) =
(translation)
8
Convex Approximation
Approaches for nonconvex problems often require convex optimization
for subproblems
Sometimes can approximate a nonconvex model by a convex one
Convex image registration example:
h h
2 1
0 0
10
10
20
30
20
40
30 50
60
40 70
0 10 20 30 0 20 40 60 80
h1(x+v(x)) displacement v
0 0
10
10
20
30
20
40
30 50
60
40 70
0 10 20 30 0 20 40 60 80
The good: based on convex model, so can find global minimum
The bad: slow to compute minimizer due to many extra variables
(had to essentially double dimensionality of problem to make it convex)
9