The second step of the energy minimization framework is to minimize the energy. In general, this is a very hard problem. The computational task of minimizing the energy is usually quite difficult as it usually requires minimizing a nonconvex function in a space with thousands of dimensions. If the functions have a very restricted form, they can be solved efficiently using dynamic programming [3]. However, researchers typically have needed to rely on general pur- pose optimization techniques such as simulated annealing [4], but it is very slow in practice [43].
Great effort has been made towards developing effective energy optimization algorithms. Among these approaches, graph cuts algorithm [8] is an effective tool for image segmentation. Kol-
3.3. OptimizationApproaches 19
mogorov and Zabih [43] describe the conditions on binary energy functions that can be opti- mized exactly with graph cuts, and the energy function satisfing the conditions can be solve in polynomial time.
In our case, we can optimize an energy function exactly and efficiently, using the results from [8] and [43].
3.3.1
Max-flow/Min-cut Algorithm
Max-flow/min-cut algorithm can be used to optimize the energy function when dealing with binary labeling problems. Here, we will give a brief summary of related definitions and how to find max-flow/min-cut of a graph.
Figure 3.4: An example of flow1from “Introduction to Min-Cut/Max-Flow Algorithms”
LetG = (V,E) be a network with s,t ∈ Vbeing the source and the sink of G, respectively, where V denotes vertices set and E is edges set. The capacity of an edge is a mapping
c : E 7→ R+, denoted by c(u,v). It represents the maximum amount of flow that can pass through an edge.
A flow is a mapping f : E 7→ R+, denoted by f (u,v), subjects to the following two con- straints:
1. fuv ≤ cuv , for each (u,v) (capacity constraint: the flow of an edge cannot exceed its
capacity)
2. P
(u,v)∈E
fu,v = P
(u,v)∈E
fv,u, for each v ∈ V{s,t}(conservation of flows: the sum of the flows
entering a node must equal the sum of the flows exiting a node, except for the source and the sink nodes)
The value of flow is defined by |f| = P
v∈V
fsv, where s is the source of G. It represents the
amount of flow passing from the source to the sink.
1Cited from Hong Chen (UCLA CIVS)’s ppt with a bit modification,http://perso.telecom-paristech.
20 Chapter3. Overview ofEnergyMinimizationFramework
Figure 3.5: Left: a s-t cut, right: not a s-t cut
An s− t cut C = (S,T) is a partition ofV such that s ∈ S andt ∈ T. The cut-set of Cis the set{(u,v)∈ E |u∈ S,v∈ T }. Note that if the edges in the cut-set ofCare removed,|f|= 0. The capacity of ans−tcut is defined byc(S,T)= P
(u,v)∈S×T
cuv. For anys−tcut and flow, the
capacity of s−tcut is the upper-bound of the flow across thes−tcut.
The maximum flow problem is to maximize |f|, that is, to route as much flow as possible fromstot.
The minimum s− t cut problem is minimizing c(S,T), that is, to determineS and T such that the capacity of the s−tcut is minimal.
In optimization theory, max-flow/min-cut theorem is stated as follows:
Theorem [16]: If f is a flow function of as−tgraph, then the follows statements are equiva- lent2:
A. f is a maximum flow
B. there is as−tcut that its capacity equals to the value of f
C. The residual graph contains no directed path from source to sink.
Max-flow/min-cut theorem means that in a flow network, the maximum amount of flow pass- ing from the source to the sink is equal to the minimum edges’ capacity in all possible way of removing edges. Removing these edges from the network should guarantee no flow can pass from the source to the sink.
There are two main approaches to solve max-flow/min-cut problem for the two-terminal graphs. In Cormen et al. [16], an augmenting path strategy is described to compute the minimum cut of a graph. Goldberg and Tarjan [26] propose an alternative approach named push-relabel to solve the minimum cut problem. Theoretically, the computational cost of minimum cut algorithms is a low order polynomial [52].
3.4. BinaryImageSegmentation withGraphCuts 21
In [12], Boykov et al. developed new min-cut algorithms, two types of large moves (α −
expansionandα−βswap), which can be used to solve multi-label problem. These algorithms find good approximate solutions by iteratively decreasing the energy on appropriate graphs. Experiment results show that the final solutions do not change significantly by varying the initial labelings. In practice, their algorithm is significantly faster than other standard move algorithms. As a special case of multi-label problem, in this work, we use the α− β swap
algorithm bases on their implementation. For binary submodular energies [8, 43], the swap algorithm finds the exact optimum of the energy function.