Graphics Reference
In-Depth Information
Dynamic programming is highly efficient, finding the optimal solution in poly-
nomial time compared to the worst-case exponential-time problem of evaluating all
possible paths. Many well-known signal processing algorithms in addition to those
we discussed are forms of dynamic programming, including the Viterbi algorithm
for decoding convolutional codes in communication theory and the Baum-Welch
algorithm for maximum likelihood estimation of unknown parameters in a Hid-
den Markov Model. For more information on the general algorithm, see Cormen
et al. [ 106 ]. An excellent overview of applications of dynamic programming to
computer vision is given by Felzenszwalb and Zabih [ 139 ].
A.2
BELIEF PROPAGATION
We can think of Equation ( A.1 ) as a special case of a Gibbs energy
E i , j
E data (
E
(
L
) =
L
(
i
)) +
smoothness (
L
(
i
)
, L
(
j
))
(A.5)
i
V
(
i , j
) E
where
is a set of undirected edges along which we want
to enforce smoothness. When these edges form a one-dimensional chain, we can
find the labeling
V
is a set of nodes and
E
that minimizes Equation ( A.5 ) in polynomial time using
dynamic programming. However, when the edge set
{
L
(
i
)
, i
V }
contains cycles, dynamic
programming no longer applies, and there is no higher-dimensional analogy.
In particular, we frequently want to minimize Equation ( A.5 ) when
E
V
is the set of
pixels in an image, and
is the set of all adjacent pixels (for example, 4-neighbors).
The resulting graph is planar and contains a large number of cycles. Unfortunately,
there is no efficient algorithm that provably finds the minimal labeling in this sit-
uation. However, the algorithm called loopy belief propagation has found great
practical success in the computer vision community for approximately minimizing
Equation ( A.5 ) despite its lack of formal guarantees on convergence or exact opti-
mality. For example, we discussed loopy belief propagation's application to matting
problems in Section 2.5 and to stereo correspondence in Section 5.5 .
Minimizing a function like Equation ( A.5 ) often arises from a maximuma posteri-
ori (MAP) estimation problem on a Markov Random Field, in which we want to find
the labeling that maximizes the probability density function 1 given by
E
Z
i
1
p
(
L
) =
φ
(
L
(
i
))
ψ
(
L
(
i
)
, L
(
j
))
(A.6)
i
ij
V
(
i , j
) E
where
is called the compati-
bility potential function , and Z is a normalization constant so the probability density
function sums to 1. Comparing Equation ( A.5 ) to Equation ( A.6 ), we can see that the
data/smoothness terms and evidence/compatibility potential functions can easily be
related by
φ i (
k
)
is called the evidence potential function ,
ψ ij (
k , l
)
E data (
k
) =−
log
φ
(
k
)
i
(A.7)
E i , j
smoothness (
) =−
ψ ij (
)
k , l
log
k , l
1 Technically, this is a probability mass function since the label set is discrete.
 
Search WWH ::




Custom Search