CS774. Markov Random Field : Theory and Application Lecture 13 Kyomin Jung KAIST Oct
The Labeling Problem in Vision Common idea behind many Computer Vision problems In the presence of uncertainties, find the best Labeling ! Computing MAP of a corresponding MRF (it is called an Energy minimization problem in the vision community) (Stereo, 3D Reconstruction, Segmentation, Image Restoration)
Image Segmentation and Graph Cuts An image segmentation problem can be interpreted as partitioning the image elements (pixels) into different categories. A Cut of a graph is a partition of the vertices in the graph into two disjoint subsets. By constructing a graph with an image, we can solve the segmentation problem using techniques for graph cuts in graph theory.
Energy minimization via Graph cut Simple Example : 2-label case E ij (0,0) + E ij (1,1) ≤ E ij (0,1) + E ij (1,0) If an pairwise Energy ftn is submodular, i.e. for all edge potentials, can compute Minimum energy and a corresponding labeling via Min Cut.
Min Cut problem 2–label minimization can be computed by solving max-flow (s-t cut) exactly in polynomial time. Multi-way cut is NP-Hard for ≥ 3 labels. approximation algorithm for multi-label minimization.
Graph Cuts Partition the graph into two parts separating red and blue nodes s-t graph cut A graph with two terminals S and T “source” S T “sink” Cut cost is a sum of edge weights connecting two colors
Flow Network A flow network is defined as a directed graph G where an edge has a nonnegative capacity. A flow in G is a real-valued (often integer) function that satisfies the following three properties: Capacity Constraint: For all Skew Symmetry For all Flow Conservation For all where s is the source, t is the sink node.
Graph Cuts & Network Flow The Max-flow Min-Cut Theorem If f is a maximum flow, | f | = c (S,T ) for some cut (S,T ) of G The cost of the minimum s-t cut = the maximum flow. Thus, we will find minimum s-t cuts in graphs by solving for max-flow.
Graph Cut based Segmentation n-links s t a cut hard constraint hard constraint User Guided Segmentation:
Ford-Fulkerson Algorithm Main Operation Starting from zero flow, increase the flow gradually by finding a path from s to t along which more flow can be sent, until a max-flow is achieved. The path for flow to be pushed through is called an augmenting path.
Ford-Fulkerson Algorithm The Ford-Fulkerson algorithm uses a residual network of flow in order to find the solution. The residual network is defined as the network of edges containing flow that remains after a fixed flow. For example, in the graph shown below, there is an initial path from the source to the sink, and the middle edge has a total capacity of 3, and a residual capacity of 3-1=2.
Algorithm Framework The basic Ford-Fulkerson algorithm for each edge do while there exists a path P from s to t in the residual network G f do c f (P) ← min{c f (u, v ): (u, v) is on P} for each edge (u, v) in P do
Algorithm Execution Example
Finding the Min-Cut After the max-flow is found, the minimum cut is determined by S = {all vertices reachable from s in the residual network} T = V-S
Ford-Fulkerson Algorithm Analysis The running time of the algorithm depends on how the aug menting path is determined. If the searching for augmenting path is realized by a breadth -first search, the algorithm runs in O ( E |f max | ). Under some extreme cases the efficiency of the algorithm can be reduced drastically. One example is shown in the figure be low, applying Ford-Fulkerson algorithm needs 400 iterations to get the max flow of 400.