Graph Cuts in Vision and Graphics: Theories and Applications
|
|
|
- Hilary Short
- 10 years ago
- Views:
Transcription
1 100 Math. Models of C.Vision: The Handbook, edts. Paragios, Chen, Faugeras Graph Cuts in Vision and Graphics: Theories and Applications Yuri Boykov and Olga Veksler Computer Science, The University of Western Ontario, London, Canada Abstract. Combinatorial min-cut algorithms on graphs emerged as an increasingly useful tool for problems in vision. Typically, the use of graphcuts is motivated by one of the following two reasons. Firstly, graph-cuts allow geometric interpretation; under certain conditions a cut on a graph can be seen as a hypersurface in N-D space embedding the corresponding graph. Thus, many applications in vision and graphics use min-cut algorithms as a tool for computing optimal hypersurfaces. Secondly, graphcuts also work as a powerful energy minimization tool for a fairly wide class of binary and non-binary energies that frequently occur in early vision. In some cases graph cuts produce globally optimal solutions. More generally, there are iterative graph-cut based techniques that produce provably good approximations which (were empirically shown to) correspond to high-quality solutions in practice. Thus, another large group of applications use graph-cuts as an optimization technique for low-level vision problems based on global energy formulations. This chapter is intended as a tutorial illustrating these two aspects of graph-cuts in the context of problems in computer vision and graphics. We explain general theoretical properties that motivate the use of graph cuts, as well as, show their limitations. Our goal is to familiarize the reader with graph-cuts as a generic tool for optimization in vision. 1 Graph Cuts Basics In this section we introduce the basic terminology and review the minimum cut max flow problem. Let G = V, E be a graph which consists of a set of nodes V and a set of directed edges E that connect them. The nodes set V contains two special terminal nodes which are called the source, s, and the sink, t. In Figure 1(a) we show a simple example of a graph with the terminals s and t. All edges in the graph are assigned some nonnegative weight or cost w(p, q). A cost of a directed edge (p, q) may differ from the cost of the reverse edge (q, p). We can break all edges in the graph in two groups: n-links and t-links. An edge is called a t-link if it connects a non-terminal node with a terminal node. An edge is called an n-link if it connects a pair of nonterminal nodes. T-links are shown with thicker lines and n-links are shown with thiner lines in figure 1(a).
2 A book chapter by Y. Boykov and O. Veksler p.101 (a) A graph G (b) A cut on G Fig. 1. Example of a graph with terminal nodes s and t. To depict a pair of edges (p, q) and (q, p), we use one link with arrows at both ends. 1.1 The Min-Cut and Max-Flow Problem An s/t cut C (sometimes we just call it a cut) is a partitioning of the nodes in the graph into two disjoint subsets S and T such that the source s is in S and the sink t is in T. Figure 1(b) shows one example of a cut. In combinatorial optimization the cost of a cut C = {S, T } is defined as the sum of the costs of boundary edges (p, q) where p S and q T. If (p, q) is such a boundary edge, then we sometimes say that cut C severs edge (p, q).the minimum cut problem on a graph is to find a cut that has the minimum cost among all possible cuts. One of the fundamental results in combinatorial optimization is that the minimum s/t cut problem can be solved by finding a maximum flow from the source s to the sink t. Speaking informally, maximum flow is the maximum amount of water that can be sent from the source to the sink by interpreting graph edges as directed pipes with capacities equal to edge weights. The theorem of Ford and Fulkerson [11] states that a maximum flow from s to t saturates a set of edges in the graph dividing the nodes into two disjoint parts {S, T } corresponding to a minimum cut. Thus, min-cut and max-flow problems are equivalent. In fact, the maximum flow value is equal to the cost of the minimum cut. 1.2 Algorithms for the Min-Cut and Max-Flow Problem There are many standard polynomial time algorithms for min-cut/max-flow[10]. These algorithms can be divided into two main groups: push-relabel style methods [13] and algorithms based on Ford-Fulkerson style augmenting paths. In practice the push-relabel style algorithms perform better for general graphs. In vision application, however, the most common type of a graph is a two or a higher dimensional grid. For the grid graphs, Boykov and Kolmogorov [7] developed a fast augmenting path based algorithm which significantly outperforms the push
3 102 Math. Models of C.Vision: The Handbook, edts. Paragios, Chen, Faugeras relabel algorithm. Furthermover, the observed running time of the algorithm in [7] is linear. While the algorithm in [7] is very efficinet, with the execution time of only a few seconds for a typical problem, it is still far from real time. In recent years, GPU accelaration has become popular for improving the efficiency. Not every algorithm is suitable for a GPU implementation. Among the existing graph cut algorithms, it is feasible to implement the push relabel algorithm on a grid graph for a GPU. This is a promising direction to move the graph cuts closer to a real time implementation. 2 Graph Cuts as Binary Optimization In this section we show that the minimum graph cut algorithm is a powerful optimization tool which is inherently binary. It is particularly suitable for vision applications because it can be used for enforcing piecewise coherance. To illustrate the concepts in this section, we provide the earliest example of the graph cuts use in vision, which also happens to be particularly clear. Consider Figure 1(b) again. Recall that a graph cut is a partition of all nonterminal nodes into two sets, S and T. Let each non termnal node p V represent a binary variable, and let us associate 0 with the source s and 1 with the sink t. Then we can identify any cut with a particular assignment to binary variables (i.e. nodes) in the obvious way: if node p S then its binary value is 0, and if node p T then its binary value is 1. This procedure establishes a one to one correspondence between the set of all variable assignments and the set of graph cuts. In figure 1(b) we label each node with the binary value corresponding to the given cut. If n is the number of nonterminal nodes in the graph, then there are 2 n graph cuts. The cost of each cut is c(s, T ) = p S,q T w(p, q), (1) and it can be used as the objective function to evaluate the quality of partition C= {S, T } or, equivalently, as the energy of the corresponding variable assignment to the nonterminal nodes. Then the minimum cut corresponds to the optimal variable assignment for the nodes. Thus the power of the graph cuts algorithm is that it can search efficiently through the exponential space of solutions and find an optimum one in polynomial time. In this sense graph cuts are similar to dynamic programming which also can find the optimum in an exponential space of solutions in polynomial time. The significant disadvantage of dynamic programming is that it can only be applied to tree graphs, while graph cuts can be applied to arbitrary graphs. The biggest advantage of dynamic programming is that it can be used with arbitrary objective functions, whereas the objective functions that graph cuts can minimize are limited. What makes graph cuts especially attractive for vision applications is their regularization properties. In vision, most problems are ill defined, if only the
4 A book chapter by Y. Boykov and O. Veksler p.103 constraints derived from data are used. Thus additional or regularizing constraints are needed to find an acceptable solution. One natural way of regularizing a vision problem is to require the solution to be piecewise smooth or piecewise constant. Consider a graph where each node is connected by an edge to a few nearby nodes, which are typically called neighbors. By minimizing the sum of edge weights that go between S and T, graph cuts algorthm is looking for a piecewise constant partitioning, that is a partitioning where most neighbors of a node p are assigned the same binary value as the one assigned to p. An equivalent way of describing the regularizing properties of graph cuts is that it is seeks the solution with the smallest boundary cost. Typically, the regularization constraints are encoded in the n-link weights, and the data constraints are encorporated into the t-link weights. Thus if we split the sum over all edges in equation 1 into two sums, the first sum over the t-links, and in the second sum over the n-links, then the objective function becomes a typical one used in regularization. The first term of the objective function comes from the data, and the second term is the regularization term. From the discussion above it should be clear that graph cuts can be used to optimize those binary energy functions that, intuitively, can be represented by a graph. We can start by constructing a graph such that the corresponding binary energy function is appropriate for our problem. Alternatively, we can start by designing an appropriate binary energy function and then ask whether it can be minimized by graph cuts. When using the second approach, we need the answer to the question of what kind of binary energy functions can in fact be optimized with graph cuts? Recently, Kolmogorov and Zabih in their major contribution to the field [22], have given the answer to this question by characterizing precisely the class of binary energy functions that can be minimized with graph cuts. What makes their work even more significant is that their proof is constructive. Thus for a given binary energy function, one has to check the so called regularity condition. If it does not hold, then the binary energy function in question cannot be minimized with graph cuts. If the regularity condition holds, then the paper gives a simple algorithm to construct the corresponding graph. Thus if we wish to solve a problem by binary energy minimization, the results in [22] elliminate the guesswork in designing an appropriate graph. There are many interesting problems which can be reduced to regular binary energy functions, as we shall see in secton???. It is important not to make a mistake by viewing the results in [22] as negative. One may be tempted to say that graph cuts are very limited in application since they can only minimize regular binary energy functions. However graph cuts can be used to find an approximate solution with strong optimality guarantees for a large class of non binary energy functions, as we shall see in section 4. To optimize a nonbinary energy function, an iterative scheme is used. At each iteration, a binary energy function is minimized, and at that step, the results in [22] are of great help. It is interesting to note that the results in [22] are only about binary energy functions, that is each nonterminal node represents a binary variable. However,
5 104 Math. Models of C.Vision: The Handbook, edts. Paragios, Chen, Faugeras the nodes of a graph can be used to encode an energy function which is not binary, by using several nodes to represent a single nonbinary variable. In this case, the results in [22] do not apply. What kind of nonbinary energy functions can be optimized exactly with graph cuts is still an open problem. 2.1 Example: Binary Image Restoration The earliest use of graph cuts for energy minimization in vision is due to Greig et.al. [14]. They consider the problem of restoration for a binary image. Given a binary image corrupted by noise, the task is to restore the original image. This is clearly simple binary optimization, with variables corresponding to image pixels, and terminals source and sink representing the two possible intensity values. Thus all the image pixels are taken for the nonterminal nodes of the graph. For concreteness, let us choose the source to represent intensity 0 and the sink to represent intensity 1. Let I be the observed image, and I(p) be the observed intensity at pixel p. Let D p (l) be the penalty for assigning to pixel p an intensity l {0, 1}. Naturally, if we observe 0 at pixel p, then D p (0) should be smaller than D p (1), and vice versa. To encode these data constraints, for each pixel node p we create two t-links. The first t-link is (s, p) and it has weight D p (1). The second t-link is (p, t) and it has weight D p (0). Since we allow only nonnegative weights in the graph, we require that D p 0. This results in no loss of generality, see section 4. p s source q p s source q cut t sink (a) A graph G t sink (b) A cut on G Fig. 2. Example of a graph.edge costs are reflected by their thickness. This graph construction was first used in Greig et. al. [14]. At this point, we have encoded all the constraints that come from the data, and we need to add the regularizing constraints to the problem. A reasonable assumption is that the original image is piecewise constant. To encode the piecewise constancy constraint, we create n-links between each pixel node and its 4 nearest neighbors in the image. We could use the 8 connected neighborhood, or any other desired neighborhood system instead. The weight of these n-links is set
6 A book chapter by Y. Boykov and O. Veksler p.105 to a smoothing parameter λ > 0. Thus the minimum cut is encouraged to sever as few n-links as possible, and the corresponding restored image is piecewise constant. The parameter λ weights the relative importance of the data constraints and the regularizing constraints. If λ is small, the data term is more important, and the optimum solution is piecewise constant to a smaller extent. If λ is large, the regularizing term is more important and the optimum solution is piecewise constant to a larger extent. Let us consider the two extremes of parameter λ. If λ = 0, then regularazing term is completely ignored and the optimum solution is just the observed image itself. If λ =, the optimum consists of either all 0 s of all 1 s, depending on which intensity the majority of pixels prefer. Figure 2 shows the resulting graph and a its possible minimum cut. The thinner the edge, the smaller is its cost. Let us calculate the cost of any cut C in this graph. First let us consider the contribution to the cost of C from the t-links. If pixel p S, then the t-link (p, t) must be severed, and p is assigned intensity 0 in the restored image. Recall that the weight of (p, t) is D p (0), and this is exactly the penalty that we should pay for assigning intensity 0 to pixel p. Similarly, if pixel p T, then p is assigned intensity 1, the t-link (s, p) is severed, and its weight is D p (1), the penalty for assigning intensity 1 to pixel p. Now let us consider the cost that the n-links contribute to the cut. If pixels p and q are neighbors, then there are an n-links (p, q) and (q, p) in the graph. Suppose that p and q are on the same side of the cut, that is both are in S or both are in T. Then the n-links (p,q) and (q,p) are not severed and thus do not contribute to the cost of the cut. However if f p and q are not on the same side of the cut (that is if one of them is in S and the other one is in T ), than theses n-links are severed and contribute their weight λ to the cost of the cut. Thus a cut on this graph has the cost that corresponds to the following energy function: E(f) = c(s, T ) = p V D p (f p ) + (p,q) E λ I(f p f q ), (2) where f p is the binary variable at pixel p, f is the collection of such variables for all nonterminal nodes in V, and, finally, I( ) is the identity function which is 1 if it s argument is true and 0 otherwise. Stated simply, the first term says that the variable assignment f should agree with the observed data, and the second term states that most nearby pixels should have the same intensity label. In general, we can use graph construction in figure 2 for any binary labeling problem of the following form. Suppose we have 2 labels which we wish to assign to a set of sites P. Sites can be image pixels, medical volume voxels, and so on. Binary labels in the label set L can encode any property we may wish to assign to sites, for example intensity, object/figure membership, and so on. Suppose we know the penalty D p (l) which we should incur if pixel p is assigned to label l L, and we wish to find a piecewise constant labeling. Then the energy we may wish to optimize is exactly the one in equation 2, with the first sum over sites P, the appropriate data terms, and the edges E expressing the neighborhood relations among the sites P.
7 (' &% *) $# "! FE DC >= 43 LK _^ ¾ éè ÁÀ NM çæ Ã PO ˆ ÅÄ FE ½¼ ¹ ÍÌ åä ËÊ ßÞ ãâ <; õô µ ÝÜ ÿþ ýü óò áà í컺 ûú ñð ïî 106 Math. Models of C.Vision: The Handbook, edts. Paragios, Chen, Faugeras Previously, exact minimization of energies like (2) was not possible and such energies were approached mainly with iterative algorithms like simulated annealing [12]. In fact, Greig et.al. used their result to show that in practice simulated annealing reaches solutions very far from the global minimum even in very simple image restoration examples. They did not think of this binary restoration problem as a serious application. Thus it is not entirely surprizing that the result of Greig et.al. remained unnoticed for almost 10 years mainly because the binary labeling limitation looked too restrictive. 3 Graph Cuts as Hypersurfaces Solution of many problems in vision, image processing and graphics can be represented in terms of optimal hypersurfaces. This section describes a geometric interpretation of graph-cuts as hypersurfaces in N-D manifolds that makes them an attractive framework for problems like image segmentation, restoration, stereo, photo/video editing, texture synthesis, and others. We show a basic idea allowing to view s-t cuts as hypersurfaces, discuss interesting theories that make various connections between discrete graph cuts and hypersurfaces in continuous spaces, and provide a number of recently published examples where hypersurface view of graph cuts found interesting applications in computer vision, medical imaging, or graphics. 3.1 Basic idea Consider two simple examples in Figure 3. Through out Section 3 we assume t t lrlm R }R} //0 TRT URUšRš R ØRØ ÙRÙ nrno~r~ R VRV WRW XRX YRY ZRZ [R[ Š Œ \R\] Ž R CC DD ÚÛ ++, œrœ R žržÿr ÖRÖ R ÔRÔ ÕRÕ R R R R ÐRÐÑ R R ÒRÒÓ GHIJ prpq R R ))* QRQ SRS ÆRÆÇ R R ÎRÎ ÏRÏ `R` ara ÈRÈ ÉRÉ ªRª«AA BB drde R R êrêë ==> jrjkzrz {R{ 112 9:;< R ƒrƒ rrr srs R brb crc ö øù trtu frfg R ±R± 99: vrv wrw hrhi ²R² ³R³ 778 ''( xrx yry eef --. %% && ## $$!! "" +,-. /0 12 QQ RR UU VVOO PP gg hhmmn WW XXKKL SST YYZII JJ iijgg HH (a) a cut on a 2D grid s ccd aa bb `` ]] ^^ [[\ s d (x,y) (b) a cut and a separating hypersurface in 3D Fig. 3. s-t cut on a grid corresponds to binary partitioning of N-D space where the grid is imbedded. Such space partitioning may be visualized via a separating hypersurface. As shown in (a), multiple hypersurfaces may correspond to the same cut. However, such hypersurfaces become indistinguishable as the grid gets finer. that a graph has no soft t-links, so that the source and the sink terminals are
8 A book chapter by Y. Boykov and O. Veksler p.107 directly connected only to some of the graph nodes via infinity cost t-links. In fact, all nodes hardwired to two terminals can be effectively treated as mutiple sources and multiple sinks that have to be separated by a cut. Figure 3 shows these sourses and sinks in dark red and dark blue colors. Such sources and sinks provide hard constraints or boundary conditions for graph cuts; any feasible cut must separate sources from sinks. Other nodes are connected to the sourses and sinks via n-links. Without loss of generality (see Section 3.2), we can concentrate on feasible cuts that partition the simple 4- and 6- nearest neighbor grid-graphs in Figure 3 into two connected subsets of nodes: source component and sink component. Continuous 2D and 3D manifolds where the grid nodes are imbedded can be split into two disjoint contiguous regions containing the sinks and the sources, correspondingly. A boundary between two such regions are separating hypersurfaces shown in green color. As illustrated in Figure 3(a), there are many separating hypersurfaces that correspond to the same cut. They should all correctly separate the grid nodes of the source and the sink components, but they can freely move in the space between the grid nodes. Without getting into mathematical details, we will identify a class of all hypersurfaces corresponding to a given cut with a single hypersurface. In particular, we can choose a hypersurface that follows boundaries of grid cells, or we can shoose the smoothest hypersurface. Note that the finer the grid, the harder it is to distinguish two separating hypersurfaces corresponding to the same cut. Thus, any feasible cut on a grid in Figure 3 corresponds to a separating hypersurface in the imbedding continuous manifold. Obviously, the opposite is also true; any separating hypersurface corresponds to a unique feasible cut. Generalization of examples in Figure 3 would establish correspondance between s t graph-cuts and separating hypersurfaces in case of fine locally connected grids imbedded in N-D spaces. Following ideas in [6, 4], one can set a cost (or area) of each hypersurface based on the cost of the corresponding cut. This would impose a cut metric [4] in continuous N-D manifold imbedding the graph. By changing weights of n-links at grid nodes located in any particular point in space, one can tune local costs of all separating hypersurfaces that pass through such locations. Thus, cut metric can be tuned in specific applications to attract (repel) hypersyrfaces to (from) certain locations on N-D manifold. Then, standard combinatorial algorithms for computing minimum cost s t cuts (in Section 1.2) can be used as numerical tools for extracting globally optimal hypersurfaces. 3.2 Topological properties of graph cuts The adjective separating implies that a hypersurface should satisfy certain hard constraints or boundary conditions; it shouls separate source and sink grid cells (seeds). Note that there are many freedoms in setting boundary conditions for graph cuts. Depending on hard constraints, topological properties of separating hypersurfaces corresponding to s t cuts may vary. For example, we can show that the boundary conditions in Figure 3 guarantee that any feasible cut corresponds to topologically connected separating
9 \[,+ *) `_ "! (' : JI LK HG wv ut ¹ Ž œ ³² } Ÿž š «ª {z ~ ˆ kj ih ½¼ ¾ ÁÀ»º 108 Math. Models of C.Vision: The Handbook, edts. Paragios, Chen, Faugeras CDEF -./0 abcd OO PP YYZ?@AB WW XX &% >= UUV ]]^ $# <; MM NN SST QQ RR ± µ ÄfÄ ÅfÅ efeg f f ƒ Âf Ãfà lfl mfm ÈfÈÉ ŒfŒ ÆfÆÇ pfpq rfr sfs xfxy ŠfŠ nfn ofo (a) connected source segment (b) disjoint source segments Fig. 4. Separating hypersurfaces can have different topological properties for the same set of hard constraints. Separating hypersurfaces in (a) and (b) correspond to two distinct feasible s t cuts. Min-cut/max-flow algorithms compute globally optimal hypersurface/cut without any restrictions on its topological properties as long as the sources and the sinks are separated. hypersurface. For simplicity, we assume that our graphs are connected, that is, there are no islands of disconnected nodes. In Figure 3 all source and all sink nodes form two connected components. In such cases a minimum cost cut must partition the graph into exactly two connected subsets of nodes; one containing all sources and the other containing all sinks. Assuming that the minimum cost cut creates three or more connected components implies that some of these components contain neither sources, nor sinks. This contradicts minimality of the cut; linking any no-source/no-sink subset back to the graph corresponds to a smaller cost feasible cut. Examples in Figure 4 illustrates different topological properties for separating hypersurfaces in more general cases where multiple disjoint components of sources and sinks (seeds) are present. Note that feasible s t cuts may produce topologically different separating hypersurfaces for the same set of boundary conditions. In fact, controlling topological properties of separating hypersurfaces by setting up appropriate hard constraints is frequently a key technical aspect of applications using graph cuts. As discussed in Section 3.3, appropriate positioning of sourses and sinks is not the only tool to achieve desired topology. As shown in Figure 5, certain topological properties of separating hypersurfaces can be enforced via infinity cost n-links. 3.3 Applications of graph cuts as hypersurfaces Below we consider several examples from recent publications where graph cuts are used as a method for extracting optimal hypersurfaces with desired topological properties. Methods for object extraction [6, 9, 25, 33] take full advantage of topological freedom of graph-cut based hypersurfaces. In particular, they allow to segment
10 A book chapter by Y. Boykov and O. Veksler p.109 objects of arbitrary topology. The basic idea is to set as sourses (red seeds) some image pixels that are known (a priori) to belong to an object of interest and to set as sinks (blue seeds) some pixels that are known to be in the background. A separating hypersurface should coinside with a desirable object boundary separating object (red) seeds from background (blue) seeds, as demonstrated in Figure 4. Cut metric can be set to reflect on image gradient. Pixels with high image gradients would imply low cost of local n-links and wice-versa. Then, minimal separating hypersurfaces tend to adhere to object boundaries with hight image gradients. Another practical strength of object extraction methods based on graph cuts is that they provide practical solutions for organ extraction problems in N-D medical image analysis [6]. One limitation of this approach to object extarction is that it may suffer from a bias to small cuts which could be often resolved with proper constraining of solution space. Stereo was one of the first applications in computer vision where graph cuts were succesfully applied as a method for optimal hypersurface extraction. Two teams, Roy&Cox [28, 27] and Ishikawa&Geiger [16], almost simultaneously proposed two different formulations of stereo problem where disparity maps are interpreted as separating hypersurfaces on certain 3D manifolds. Their key technical contribution was to show that disparity maps (as optimal hypersurfaces) can be efficiently computed via graph cuts. For example, Roy&Cox [28, 27] proposed a framework for stereo where disparity maps are separating hypersurfaces on 3D manidolds similar to one in Figure 3(b). Points of a bounded rectangular 3D manifold may be interpreted as points in 3D space observed by a pair of stereo cameras. The coordinate system can be chosen with respect to one of the cameras, so that a 3D scene point with coopdinates (x, y, d) would project to pixel (x, y) in that camera and d would be the depth of that point with respect to the same camera. Alternatively, if a pair of stereo images is rectified, then depth coordinate d can be re-interpreted as a disparity, that is, a shift between pixel (x, y) in the first camera and pixel (x + d, y) in the second camera where the same 3D scene point projects. A disparity map is a hypersurface d = f(x, y) that can be viewed as a function assigning certain depth/disparity to each pixel (x, y). Note that hypersurface d = f(x, y) separates the bottom and the top (facets) of 3D manifold in Figure 3(b). Thus, an optimal disparity map can be computed using graph cuts as an efficient discrete model for extracting minimal separating hypersurfaces. As typical for applications using graph cuts, the cost (area) of each hypersurface is determined by a sum of weights of severed n-links in the imbedded graph. According to [28], weights of n-links at node (x, y, d) depend on color consistency between two cameras: if intensities of pixels (x, y) and (x + d, y) in two cameras are similar then the likelihood that two pixels see the same 3D object point is high and the cost of n-links should be small. Later, [17, 27, 5] suggested anisotropic cut metric where vertical n-links are based on the same likelihoods as above but horizontal n-links are fixed to a constant that encorages smoother hypersurfaces avoiding unnecessary jumps between disparity levels.
11 /,+ "! *) HG.- FE (' &% DC $# BA ˆ ƒ a` Œ Ž cb ed ~ WV Š ml yx kj ]\ QP wv ih } {z ut 110 Math. Models of C.Vision: The Handbook, edts. Paragios, Chen, Faugeras t t : ;< =>?@ XJXY s ^J^ _J_ IJI KJK ZJZ [J[ fjf gjg LMNJN OJO RSTJT UJU nopq rs (a) Infeasible folding in [28, 27] (b) Infeasible folding in [16] s Fig. 5. Graph-cuts approach allows to impose certain additional topological constraints on separating hypersurfaces, if necessary. For example, [17, 5] proposed infinity cost directed n-links, shown in brown color in (a), that forbid folds on separating hypersurfaces in Figure 3. In particular, a hypersurface in Figure 3(b) without such folds corresponds to a diparity map d = f(x, y) according to [28, 27]. Also, [16] impose monotonicity/ordering constraint on their disparity maps by adding infinity cost directed n-links (in brown color) that make illegal topological folds shown in (b). For clarity, examples in (a) and (b) correspond to single slices of 3D manifolds in Figure 3(b) and 6(a). In general, separating hypersurfaces in Figure 3(b) can have folds that would make them inappropreate as disparity maps d = f(x, y). If a minimum hypersurface computed via graph cuts has a fold then we did not find a feasible disparity map. Therefore, [17, 5] propose a set of hard constraints that make topological folds (see Figure 5(a)) prohibitively expensive. Note that additional infinity cost vertical n-links (directed down) make folds infeasible. This topological hard constraint take advantage of directed nature of graph cuts; a cost of a cut includes only severed directed edges that go from the (red) nodes in the source component to the (blue) nodes in the sink component. A cut with an illeagal fold in Figure 5(a) includes one infinity cost n-link. Ishikawa&Geiger [16] also solve stereo via graph cuts by presenting disparity maps as separating hypersurfaces but they use different 3D manifolds and a different set of boundary conditions. They interprete a separating hypersurface z = f(x, y) as a correspondence mapping between pixel p = (x, y) in the left image and pixel q = (f(x, y), y) in the right image (of a rectified stereo pair), as shown in Figure 6(a). Assignment of correspondences may be ambiguous if a hypersurface has folds like one in Figure 5(b). In order to avoid ambiguity, [16] introduce monotonicity (or ordering) constraint that is enforced by directed infinity cost n-links shown in brown color. Note that a cut in Figure 5(b) severs two brown n-links that go from a (red) node in a source component to a (blue) node in a sink component. Thus, the cost of the cut is infinity and the corresponding separating hypersurface with a fold becomes infeasible. Similar to [28, 27], the cut metric on manifold in Figure 6(a) is based on color consistency constraint: a 3D points (x, y, z) on the manifold has low n-link costs
12 A book chapter by Y. Boykov and O. Veksler p.111 right image q left image (a) Hypersurface as correspondence p clip 1 clip 2 (b) Hypersurface separates two video clips Fig. 6. Two more examples of graph cuts as separating hypersurfaces. Formulation of stereo problem in [16] computes pixel correspondences represented by a separating hypersurface on a 3D manifold in (a). A smooth transition between two video clips is performed in [23] via graph cuts computing globally optimal separating hypersurface in a 3D region of overlap between two clips in (b). if intensity of pixel (x, y) in the left image is close to intensity of pixel (z, y) in the right image. Note that hyperplanes parallel to diagonal crossection (from bottom-left to top-right corners) of manifold in Figure 6(a) give correspondence mappings with constant stereo disparity/depth levels. Thus, spacial consistency of disparity/depth map can be enforced with anisotropic cut metric where diagonal n-links (from left-bottom to right-top corner) are set to a fixed constant representing penalty for jumps between disparity levels. Another interesting example of graph-cuts/hypersurface framework is a method for video texture synthesis in [23]. The technique is based on computing a seamless transition between two video clips as illustrated in Figure 6(b). Two clips are overlaped in 3D (pixel-time) space creating a bounded rectangular manifold where transition takes place. A point in this manifold can be described by 3D coordinates (x, y, t) where (x, y) is a pixel position and t is time. The transition is represented by a separating hypersurface t = f(x, y) that specifies for each pixel when to switch from clip 1 to clip 2. During transition a frame may have a mix of pixels from each clip. The method in [23] suggest a specific (cut) metric that for each point (x, y, t) in the ovelap region computes intensity difference between two clips. Small difference indicates a good moment (in space and time) for seamless transition between the clips and n-links at such (x, y, t) points are assigned a low cost. Note that seamless transition is a purely visual effect and it may be achieved with any separating hypersurface in Figure 6(b). In this case there is no real need to avoid hypersurfaces with folds. A fold simply allows a pixel to switch between clip 1 and clip 2 a few times. 3.4 Theories connecting graph-cuts and hypersurfaces in R n In this section we briefly discuss a number of recent results demonstrating interesting theoretical connections between descrete graph cuts and hypersurfaces in
13 112 Math. Models of C.Vision: The Handbook, edts. Paragios, Chen, Faugeras continuous spaces. It has been long argued that descrete algorithms on graphs, including graph cuts, may suffer from metrication artifacts. In particular, 4- and 6- nearest neighbor connections on 2D and 3D grids correspond to Manhatten distance metric that may produce blocky segments. [4] and Kirsanov s paper [19]. Referencing Strang [29], and Ben Appleton is a good idea too. 4 Graph Cuts for Multi-Label Energy Minimization In this section, we show that even though graph cuts provide an inherently binary optimization, they can be used for multi-label energy minimization. This minimization is sometimes exact, but usually it is approximate. There is an interesting connection between the exact multi-label optimization and the graph cuts hypersurface interpretation of section???., which we explore in section 4.1. We begin by stating the general labeling problem, then in section 4.1 we describe the case when optimization can be performed exactly, and finally in section 4.2 we describe the approximate minimization approaches and their quality guarantees. Many problems in vision (and indeed in other fields, like graphics) can be formulated as labeling problems. We have already seen an example of a labeling problem in section 2.1. We now state it in a more general form. In a labeling problem we have a set of sites P, which can represent pixels, voxels, or any other set of entities. We also have a finite set of labels L, which is now allowed to be of size larger than 2. Labels can represent any property that we wish to assign to sites, for example intensity, stereo disparity, a motion vector, and so on. The goal is to find a labeling f, which is a mapping from sites P to labels L. As before, we use f p to denote the label assigned to site p and f to denote the collection of such assignments for all sites in P. For each problem, we can derive a set of constraints which the optimal labeling f should obey as much as possible. Usually these constraints are derived from the observed data, and from prior knowledge. The data constraints are typically expressed as individual preferences of each site p P for labels in L. To formalize them, for each pixel p, we use a function D p (l) : L R. The smaller the value of D p (l), the more likely is the label l for site p. If for some p, D m p = min l L D p (l) < 0, then we subtract D m p from D p (l) for all l L. This does not change our energy formulation. Thus from now on, we assume, without loss of generality, that D p (l) 0 for all l, p. The prior knowledge can in general be arbibrarily complex, but in graph cuts based optimization, we are esentially limited to constraints which impose different types of spatial smoothness on the labeling f. In order to enforce these smoothness constraints, we define a neighborhood system N P P on the sites P. A neighborhood system contains pairs of pixels which are immediate neighbors. The simplest example of a neighborhood system is the one given by the 4 connected grid. We use a pairwise penalty function V p,q (l p, l q ) which assigns a positive cost if neighboring pixels p and q are given different labels l p and l q. To enforce smoothness, V p,q (l p, l q ) should be a nondecreasing function
14 A book chapter by Y. Boykov and O. Veksler p.113 of l p l q 1. Different choices of V p,q (l p, l q ) lead to different assumed types of smoothness. We discuss this issue in more detail in sections 4.1 and 4.2. Now we are ready to formulate the labeling problem in terms of energy minimization. The optimal labeling f is the one which minimizes the following energy function: E(f) = D p (f p ) + V p,q (f p, f q ), (3) p P (p,q) N An energy functions of the type in 3 can be derived as the MAP estimate of a Markov Random Field ([8]), and hence is justified by Bayesian statistics. One obvious limitation of the energy function in 3 is that in only depends on the pairwise interaction between pixels, and thus smoothness can only be encoded to the first degree. It is interesting to note that graph cuts can be used for energies with the terms depending on triples of pixels [22]. However the allowed form of these triple cliques is very limited, and at this point it is not clear if they can be used to encode a higher order smoothness on f. 4.1 Exact Optimization In this section, we explore the case when the energy function in equation 3 can be optimized exactly with a minimum cut. We have to make the assumption that labels can be linearly ordered. This assumption limits the applicability of the method. For example, we cannot use it directly for motion estimation, since motion labels are 2 dimensional and cannot be linearly ordered. 2. Without loss of generality, let us assume that labels are integers in the range L = {1,..., k}. Let V p,q = λ pq f p f q. Then the energy function we seek to optimize is: E(f) = D p (f p ) + λ pq f p f q, (4) p P (p,q) N In vision, [16, 5] were the first to discover that the energy in equation 4 can be optimized exactly with a minimum cut on a certain graph G, which we construct as follows. As usual, vertices V contain terminals s and t. For each site p, we create a set of nodes p 1,..., p k 1. We connect them by edges {t p 1,..., tp k }, where t p 1 = (s, p 1), t p j = (p j 1, p j ), and t p k = (p k 1, t). Each edge t p j is assigned a weight K p +D p (j), where K p = 1+(k 1) q N p λ pq. Here N p is the set of all neighbors of site p. For each pair of neighboring sites p, q and for each j {1,..., k 1} we create an edge (p j, q j ) with weight λ pq /2. Figure 7 illustrates the part of G which corresponds to two neighboring sites p and q in case when L = 4. For each site p, a cut on the graph G will sever at least one edge t p i. The weights for t p i are defined to be sufficiently large so that the minimum cut severs exactly one such edge for each site, see [5] for details. This establishes a natural correspondence between the minimum cut on G and an assignment of a label to 1 Here we used the norm notation because, in general, l p may be a vector 2 Iterative application of the algorithm described here was used for motion in [26]
15 114 Math. Models of C.Vision: The Handbook, edts. Paragios, Chen, Faugeras Fig. 7. Part of the graph construction for energy minimization in equation 4 p. If the minimum cut severs edge t p i, assign label i to p. The corresponding cost from all the links t p i to the cut is a constant plus p P D p(f p ), that is the data term contribution to the energy. Suppose that for neighboring sites p and q, the minimum cut severs t p a and t q b, and without loss of generality assume that a < b. Then it is easy to show that the minimum cut must also must sever all links (p j, q j ) and (q j, p j ) for a j < b, see [5], and their total cost is λ pq a b. This cost is equal to the second term on the right hand side in equation 4. Thus the minimum cut gives the assignment of labels that minimizes the energy in equation 4. Ishikawa [18] generalized the class of energy functions which can be minimized exactly with the minimum graph cut to the case when V pq (f p, f q ) is a convex function. The construction is similar to the one given in this section, except even more edges between nodes p i s and q j s have to be added. Unfortunately, a convex V pq is not suitable for a majority of vision applications if the number of labels in L is large. In vision, we usually seek a piecewise smooth labeling f, because object properties tend to be smooth everywhere except the object boundaries, where sharp jumps or discontinuities may be present. If the number of labels is large, then the label jump at a discontinuity, that is f p f q, may be quite large. The penalty that a convex V p,q imposes on discontinuities is so large, that in the optimal f discontinuities are smoothed out with a ramp. It is much cheaper to create a few small jumps in f rather than one large jump. Of all the convex V p,q, the one in equation 4 is the most suitable for vision applications, since making a few small steps has the same cost as taking a one large step under the absolute difference measure. Nevertheless one sees oversmoothed disparity boundaries when using the energy in 4 in practice [30]. In essence, using a convex V p,q corresponds to the prior assumption that f is smooth everywhere. It is interesting to note that the energy formulation in this section is equivalent to finding an optimal separating hyperplane approach of Roy and Cox [28]. In fact, in their first version of the algorithm [28] they only present the hypersurface interpretation of their algorithm. In a later version Roy [27] adds the energy minimization formulation.
16 A book chapter by Y. Boykov and O. Veksler p Approximate Optimization The pairwise penalty V p,q in the previous section is not discontinuity preserving because V p,q (f p, f q ) is allowed to grow arbitrarily large as a function of f p f q. One way to construct a discontinuity preserving V p,q is to cap its maximum value. Perhaps the simplest example of a discontinuity preserving V p,q is V p,q = λ pq I(f p f q ) [8]. This pairwise penalty is typically called the Potts model. We have already seen Potts V p,q in section 2.1 3, and it corresponds to the prior that the optimum labeling f is piecewise constant. Unfortunately, energy minimization with Potts V p,q is NP-hard [8], however graph cuts can be used to find an answer which is within a factor of 2 from the optimum [8]. In this section, we describe two methods for approximating the energy in 3, the expansion move and the swap move algorithms [8]. According to the results in [22], the swap move algorithm may be used whenever V p,q (α, α)+v p,q (β, β) V p,q (α, β) + V p,q (β, α) for all α, β L. In such case we say that V p,q satisfies the swap inequality. The expansion move algorithm can be used whenever V p,q (α, α) + V p,q (β, γ) V p,q (α, γ) + V p,q (β, α) for all α, β, γ L. In this case we say that V p,q satisfies the expansion inequality. Any V p,q which satisfies the expansion inequality also satisfies the swap inequality, which is easily checked by replacing γ by β. Thus the expansion inequality is more restrictive. Both swap and expansion inequalities are satisfied by important cases of discontinuity preserving V p,q s. The truncated linear V p,q (α, β) = min(t, α β ) satisfies the expansion inequality. The truncated quadratic V p,q (α, β) = min(t, α β 2 ) satisfies the swap inequality. Here T is a positive constant, which is the maximum penalty for a discontinuity. The truncated linear and truncated quadratic V p,q correspond to the piecewise smooth prior assumption on labeling f. Small deviations in labels between the nearby sites incur only a small penalty, thus the smoothness is encouraged. However sharp jumps in labels are occasionally permitted because the penalty T is not too severe to prohibit them. Local Minimum with Respect to Expansion and Swap Moves Both the expansion and the swap algorithms find a local minimum of the energy function. However, in discrete optimization, we need to define what we mean by a local minimum. For each labeling f, we define a set of moves M f. Intuitively, these are the moves to other labelings that are allowed from f. Then we say that f is a local minimum with respect to the defined set of moves, if for any f M f, E(f ) E(f). In most discrete optimization methods, for example, in simulated annealing [12] and ICM [2], they use what we call standard moves. These standard moves are defined as follows. Let H(f, f ) measure the number of sites for which f and f differ, that is the Hamming distance between f and f. Then for each f, the standard moves are M f = {f H(f, f ) 1}. Thus a standard move allows to change a label of only one site in f, and M f is linear in the number of sites and the number of labels. It is easy to write an algorithm 3 In the binary case, it is typically called the Ising model.
17 116 Math. Models of C.Vision: The Handbook, edts. Paragios, Chen, Faugeras which finds a local minimum with respect to the standard moves. Start with an initial labeling f, cycle over all sites changing the label at each cite so that the total energy is decreased, until convergence to a local minimum. However the results are very dependent on the initial point, because a high dimensional energy in equation 3 has a huge number of local minima. Thus minimization with respect to standard moves produces a solution which can be arbitrarily far from the global minimum. We now define the swap moves. Given a labeling f and a pair of labels α and β, a move f αβ is called an α-β swap if the only difference between f and f αβ is that some sites that were labeled α in f are now labeled β in f αβ, and some sites that were labeled β in f are now labeled α in f αβ. M f is then defined as the collection of α-β swaps for all pairs of labels α, β L. We now define the expansion moves. Given a labeling f and a label α, a move f α is called an α-expansion if the only difference between f and f α is that some sites that were not labeled α in f are now labeled α in f α. M f is then defined as the collection of α-expansions swaps for all labels α L. Figure 8 shows Fig. 8. From left to right: a labeling f, a labeling within one standard move of f (the changed site is highlighted by a black circle), labeling within one green-yellow swap of f, labeling within one green expansion of f. an example of standard move versus α-expansion and α-β swap. Notice that a standard move is a special case of an α-expansion and a α-β swap. However there are α-expansion moves which are not α-β swaps and vice versa. The expansion (swap) move algorithms find a local minimum with respect to expansion (swap) moves. The number of expansion (swap) moves from each labeling is exponential in the number of sites. Thus direct search for an optimal expansion (swap) move is not possible. This is where graph cuts are essential. It is possible to compute the optimal α-expansion or the optimal α-β swap with the minimum cut on a certain graph. This is because computing an optimal α- expansion (optimal α-β swap) is a binary minimization problem which happens to be regular [22] when the expansion (swap) inequality holds. The criteria for a local minimum with respect to the expansions (swaps) are so strong that there are significantly fewer of such minima in high dimensionsional spaces compared to the standard moves. Thus the energy function at a local minimum is likely to be much lower. In fact, it can be shown that the local
18 A book chapter by Y. Boykov and O. Veksler p.117 minimum with respect to expansion moves is within a constant factor of optimum. The best approximation is in case of the Potts model, where this factor is 2. It is not surprizing then that most applications based on graph cuts use the expansion algorithm with the Potts model [5, 3, 20, 21, 31, 23, 24, 15, 1, 32]. Swap Move Algorithm In this section, we use the original construction [8] which only works in case V p,q (α, α) = 0 for all α L. In this case, the graph construction is particularly simple, and is basically identical to the one in section 2.1. For the construction in the more general case (as given by the swap inequality), consult [22]. We start with an initial labeling f. We then cycle (in random order) until convergence over pairs of labels α, β L, at each cycle we find the optimal f αβ out of all α-β-swaps, and change current labeling to f αβ. Obviously this cannot lead to an increase in energy, and at convergence we found the minimum with respect to the swap moves. Thus the key step is how to find the optimal α-βswap. This step is performed by finding the minimum cut on a certain graph G = (V, E). Let V contain the terminal source s, which we identify with α, and the sink terminal t, which we identify with β. Let P αβ be the set of all sites for which either f p = α of f p = β. We include sites in P αβ as nonterminal nodes in V. Each nonterminal node is connected to the source with a t-link of weight D p (β) + q N p,q P αβ V (β, f q ), and to the sink with a t-link of weight D p (α) + q N p,q P αβ V (α, f q ). For each pair of neighboring nodes p, q in P αβ we create an n-link (q, p) with weight V p,q (α, β) and an n-link (p, q) with weight V p,q (β, α). We make a correspondence between cuts C = (S, T ) and moves which α-β-swaps as follows. If p S, we set fp αβ = α, and if p T we set fp αβ = β. If p was not a part of G (that is if f p α, β), then we set fp αβ = f p. Obviously any cut corresponds to an α-β swap, and we can show that the minimum cut corresponds to the optimum α-β swap in the same way as in section 2.1. [8]. Expansion Move Algorithm We start with aninitial labeling f. We then cycle (in random order) until convergence over all labels α L, find the optimal f α out of all α-expansions, and change current labeling to f α. Obviously this cannot lead to an increase in energy, and at convergence we found the local minimum with respect to expansion moves. Thus the key step is how to find the optimal α-expansion, which is performed by finding a minimum cut on a certain graph G = (V, E). For the expansion move algorithm we basically follow the construction in [22] because it leads to a simpler graph. Let V contain the terminal source s, which we identify with α, and the sink terminal t, which we identify with ᾱ. We include all sites in P as nonterminal nodes in V. Each nonterminal node p is connected to the source with a t-link of the weight D p (f p ), and to the sink with a t-link of weight D p (α). For each pair of neighboring nodes p, q we create an n-link (p, q) with weight V p,q (α, f q ) + V p,q (f p, α) V p,q (α, α) V p,q (f p, f q ).
19 118 Math. Models of C.Vision: The Handbook, edts. Paragios, Chen, Faugeras If V p,q (f p, α) V p,q (α, α) 0, then we add an additional weight V p,q (f p, α) V p,q (α, α) to the t-link (s, p), else we an additional weight V p,q (α, α) V p,q (f p, α) to the t-link (p, t). If V p,q (f p, f q ) V p,q (f p, α) 0, then we add an additional weight V p,q (f p, f q ) V p,q (f p, α) to the t-link (s, q), else we an additional weight V p,q (f p, α) V p,q (f p, f q ) to the t-link (q, t). We make a correspondence between cuts C = (S, T ) and moves which α- swaps as follows. If p S, we set fp αβ = α, and if p T we set fp αβ = f p. Obviously any cut corresponds to an α swap, and it can be shown that the minimum cut corresponds to the optimum α -expansion fairly close to the proof in section 2.1. [8]. References 1. M. Agrawal and L.S. Davis. Window-based, discontinuity preserving stereo. In CVPR04, pages I: 66 73, J. Besag. On the statistical analysis of dirty pictures (with discussion). Journal of the Royal Statistical Society, Series B, 48(3): , S. Birchfield and C. Tomasi. Multiway cut for stereo and motion with slanted surfaces. In ICCV99, pages , Y. Boykov and V. Kolmogorov. Computing geodesics and minimal surfaces via graph cuts. In International Conference on Computer Vision, volume I, pages 26 33, Y. Boykov, O. Veksler, and R. Zabih. Markov random fields with efficient approximations. In IEEE Conference on Computer Vision and Pattern Recognition, pages , Yuri Boykov and Gareth Funka-Lea. Optimal object extraction via constrained graph-cuts. International Journal of Computer Vision (IJCV), 2005, to appear. (Earlier version is in ICCV 01, vol. I, pp , July 2001). 7. Yuri Boykov and Vladimir Kolmogorov. An experimental comparison of mincut/max-flow algorithms for energy minimization in vision. IEEE Transactions on Pattern Analysis and Machine Intelligence, 26(9): , September Yuri Boykov, Olga Veksler, and Ramin Zabih. Fast approximate energy minimization via graph cuts. IEEE Transactions on Pattern Analysis and Machine Intelligence, 23(11): , November Chris Buehler, Steven J. Gortler, Michael F. Cohen, and Leonard McMillan. Minimal surfaces for stereo. In 7th European Conference on Computer Vision, volume III of LNCS 2352, pages , Copenhagen, Denmark, May Springer- Verlag. 10. William J. Cook, William H. Cunningham, William R. Pulleyblank, and Alexander Schrijver. Combinatorial Optimization. John Wiley & Sons, L. Ford and D. Fulkerson. Flows in Networks. Princeton University Press, S. Geman and D. Geman. Stochastic relaxation, Gibbs distributions, and the Bayesian restoration of images. IEEE Transactions on Pattern Analysis and Machine Intelligence, 6: , Andrew V. Goldberg and Robert E. Tarjan. A new approach to the maximumflow problem. Journal of the Association for Computing Machinery, 35(4): , October 1988.
20 A book chapter by Y. Boykov and O. Veksler p D. Greig, B. Porteous, and A. Seheult. Exact maximum a posteriori estimation for binary images. Journal of the Royal Statistical Society, Series B, 51(2): , L. Hong and G. Chen. Segment-based stereo matching using graph cuts. In CVPR04, pages I: 74 81, H. Ishikawa and D. Geiger. Occlusions, discontinuities, and epipolar lines in stereo. In 5th European Conference on Computer Vision, pages , H. Ishikawa and D. Geiger. Segmentation by grouping junctions. In IEEE Conference on Computer Vision and Pattern Recognition, pages , Hiroshi Ishikawa. Exact optimization for Markov Random Fields with convex priors. IEEE Transactions on Pattern Analysis and Machine Intelligence, 25(10): , Danil Kirsanov and Steven J. Gortler. A discrete global minimization algorithm for continuous variational problems. Harvard Computer Science Technical Report, TR-14-04, July Vladimir Kolmogorov and Ramin Zabih. Computing visual correspondence with occlusions via graph cuts. In International Conference on Computer Vision, July Vladimir Kolmogorov and Ramin Zabih. Multi-camera scene reconstruction via graph cuts. In 7th European Conference on Computer Vision, volume III of LNCS 2352, pages 82 96, Copenhagen, Denmark, May Springer-Verlag. 22. Vladimir Kolmogorov and Ramin Zabih. What energy functions can be minimized via graph cuts. IEEE Transactions on Pattern Analysis and Machine Intelligence, 26(2): , February Vivek Kwatra, Arno Schodl, Irfan Essa, and Aaron Bobick. GraphCut textures: image and video synthesis using graph cuts. In ACM Transactions on Graphics (SIGGRAPH), volume 22, July M.H. Lin and C. Tomasi. Surfaces with occlusions from layered stereo. PAMI, 26(8): , August Carsten Rother, Vladimir Kolmogorov, and Andrew Blake. Grabcut - interactive foreground extraction using iterated graph cuts. In ACM Transactions on Graphics (SIGGRAPH), August Sbastien Roy and Venu Govindu. MRF solutions for probabilistic optical flow formulations. In International Conference on Pattern Recognition (ICPR), September Sebastien Roy. Stereo without epipolar lines: A maximum-flow formulation. International Journal of Computer Vision, 34(2/3): , August Sebastien Roy and Ingemar Cox. A maximum-flow formulation of the n-camera stereo correspondence problem. In IEEE Proc. of Int. Conference on Computer Vision, pages , Gilbert Strang. Maximal flow through a domain. Mathematical Programming, 26: , Olga Veksler. Efficient Graph-based Energy Minimization Methods in Computer Vision. PhD thesis, Cornell University, August J. Wills, S. Agarwal, and S. Belongie. What went where. In CVPR03, pages I: 37 44, J. Xiao and M. Shah. Motion layer extraction in the presence of occlusion using graph cut. In CVPR04, pages II: , Ning Xu, Ravi Bansal, and Narendra Ahuja. Object segmentation using graph cuts based active contours. In IEEE Conference on Computer Vision and Pattern Recognition, volume II, pages 46 53, 2003.
An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision
In IEEE Transactions on PAMI, Vol. 26, No. 9, pp. 1124-1137, Sept. 2004 p.1 An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision Yuri Boykov and Vladimir Kolmogorov
Dynamic Programming and Graph Algorithms in Computer Vision
Dynamic Programming and Graph Algorithms in Computer Vision Pedro F. Felzenszwalb and Ramin Zabih Abstract Optimization is a powerful paradigm for expressing and solving problems in a wide range of areas,
Max Flow. Lecture 4. Optimization on graphs. C25 Optimization Hilary 2013 A. Zisserman. Max-flow & min-cut. The augmented path algorithm
Lecture 4 C5 Optimization Hilary 03 A. Zisserman Optimization on graphs Max-flow & min-cut The augmented path algorithm Optimization for binary image graphs Applications Max Flow Given: a weighted directed
LABEL PROPAGATION ON GRAPHS. SEMI-SUPERVISED LEARNING. ----Changsheng Liu 10-30-2014
LABEL PROPAGATION ON GRAPHS. SEMI-SUPERVISED LEARNING ----Changsheng Liu 10-30-2014 Agenda Semi Supervised Learning Topics in Semi Supervised Learning Label Propagation Local and global consistency Graph
1 if 1 x 0 1 if 0 x 1
Chapter 3 Continuity In this chapter we begin by defining the fundamental notion of continuity for real valued functions of a single real variable. When trying to decide whether a given function is or
Fairness in Routing and Load Balancing
Fairness in Routing and Load Balancing Jon Kleinberg Yuval Rabani Éva Tardos Abstract We consider the issue of network routing subject to explicit fairness conditions. The optimization of fairness criteria
The Trip Scheduling Problem
The Trip Scheduling Problem Claudia Archetti Department of Quantitative Methods, University of Brescia Contrada Santa Chiara 50, 25122 Brescia, Italy Martin Savelsbergh School of Industrial and Systems
A Learning Based Method for Super-Resolution of Low Resolution Images
A Learning Based Method for Super-Resolution of Low Resolution Images Emre Ugur June 1, 2004 [email protected] Abstract The main objective of this project is the study of a learning based method
Chapter 11. 11.1 Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling
Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should I do? A. Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one
Section 1.1. Introduction to R n
The Calculus of Functions of Several Variables Section. Introduction to R n Calculus is the study of functional relationships and how related quantities change with each other. In your first exposure to
Offline sorting buffers on Line
Offline sorting buffers on Line Rohit Khandekar 1 and Vinayaka Pandit 2 1 University of Waterloo, ON, Canada. email: [email protected] 2 IBM India Research Lab, New Delhi. email: [email protected]
! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.
Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of
Approximation Algorithms
Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms
2.3 Convex Constrained Optimization Problems
42 CHAPTER 2. FUNDAMENTAL CONCEPTS IN CONVEX OPTIMIZATION Theorem 15 Let f : R n R and h : R R. Consider g(x) = h(f(x)) for all x R n. The function g is convex if either of the following two conditions
5.1 Bipartite Matching
CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the Ford-Fulkerson
PATTERN RECOGNITION AND MACHINE LEARNING CHAPTER 4: LINEAR MODELS FOR CLASSIFICATION
PATTERN RECOGNITION AND MACHINE LEARNING CHAPTER 4: LINEAR MODELS FOR CLASSIFICATION Introduction In the previous chapter, we explored a class of regression models having particularly simple analytical
You know from calculus that functions play a fundamental role in mathematics.
CHPTER 12 Functions You know from calculus that functions play a fundamental role in mathematics. You likely view a function as a kind of formula that describes a relationship between two (or more) quantities.
8.1 Min Degree Spanning Tree
CS880: Approximations Algorithms Scribe: Siddharth Barman Lecturer: Shuchi Chawla Topic: Min Degree Spanning Tree Date: 02/15/07 In this lecture we give a local search based algorithm for the Min Degree
OPTIMAL DESIGN OF DISTRIBUTED SENSOR NETWORKS FOR FIELD RECONSTRUCTION
OPTIMAL DESIGN OF DISTRIBUTED SENSOR NETWORKS FOR FIELD RECONSTRUCTION Sérgio Pequito, Stephen Kruzick, Soummya Kar, José M. F. Moura, A. Pedro Aguiar Department of Electrical and Computer Engineering
An Iterative Image Registration Technique with an Application to Stereo Vision
An Iterative Image Registration Technique with an Application to Stereo Vision Bruce D. Lucas Takeo Kanade Computer Science Department Carnegie-Mellon University Pittsburgh, Pennsylvania 15213 Abstract
Making Sense of the Mayhem: Machine Learning and March Madness
Making Sense of the Mayhem: Machine Learning and March Madness Alex Tran and Adam Ginzberg Stanford University [email protected] [email protected] I. Introduction III. Model The goal of our research
Practical Guide to the Simplex Method of Linear Programming
Practical Guide to the Simplex Method of Linear Programming Marcel Oliver Revised: April, 0 The basic steps of the simplex algorithm Step : Write the linear programming problem in standard form Linear
Proximal mapping via network optimization
L. Vandenberghe EE236C (Spring 23-4) Proximal mapping via network optimization minimum cut and maximum flow problems parametric minimum cut problem application to proximal mapping Introduction this lecture:
Scheduling Shop Scheduling. Tim Nieberg
Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations
A Network Flow Approach in Cloud Computing
1 A Network Flow Approach in Cloud Computing Soheil Feizi, Amy Zhang, Muriel Médard RLE at MIT Abstract In this paper, by using network flow principles, we propose algorithms to address various challenges
Binary Image Reconstruction
A network flow algorithm for reconstructing binary images from discrete X-rays Kees Joost Batenburg Leiden University and CWI, The Netherlands [email protected] Abstract We present a new algorithm
Lecture 2. Marginal Functions, Average Functions, Elasticity, the Marginal Principle, and Constrained Optimization
Lecture 2. Marginal Functions, Average Functions, Elasticity, the Marginal Principle, and Constrained Optimization 2.1. Introduction Suppose that an economic relationship can be described by a real-valued
Applied Algorithm Design Lecture 5
Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design
! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.
Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three
The Basics of Graphical Models
The Basics of Graphical Models David M. Blei Columbia University October 3, 2015 Introduction These notes follow Chapter 2 of An Introduction to Probabilistic Graphical Models by Michael Jordan. Many figures
Globally Optimal Crowdsourcing Quality Management
Globally Optimal Crowdsourcing Quality Management Akash Das Sarma Stanford University [email protected] Aditya G. Parameswaran University of Illinois (UIUC) [email protected] Jennifer Widom Stanford
Adaptive Linear Programming Decoding
Adaptive Linear Programming Decoding Mohammad H. Taghavi and Paul H. Siegel ECE Department, University of California, San Diego Email: (mtaghavi, psiegel)@ucsd.edu ISIT 2006, Seattle, USA, July 9 14, 2006
Course: Model, Learning, and Inference: Lecture 5
Course: Model, Learning, and Inference: Lecture 5 Alan Yuille Department of Statistics, UCLA Los Angeles, CA 90095 [email protected] Abstract Probability distributions on structured representation.
Arrangements And Duality
Arrangements And Duality 3.1 Introduction 3 Point configurations are tbe most basic structure we study in computational geometry. But what about configurations of more complicated shapes? For example,
Applications to Data Smoothing and Image Processing I
Applications to Data Smoothing and Image Processing I MA 348 Kurt Bryan Signals and Images Let t denote time and consider a signal a(t) on some time interval, say t. We ll assume that the signal a(t) is
NP-Completeness I. Lecture 19. 19.1 Overview. 19.2 Introduction: Reduction and Expressiveness
Lecture 19 NP-Completeness I 19.1 Overview In the past few lectures we have looked at increasingly more expressive problems that we were able to solve using efficient algorithms. In this lecture we introduce
Load Balancing and Switch Scheduling
EE384Y Project Final Report Load Balancing and Switch Scheduling Xiangheng Liu Department of Electrical Engineering Stanford University, Stanford CA 94305 Email: [email protected] Abstract Load
Bicolored Shortest Paths in Graphs with Applications to Network Overlay Design
Bicolored Shortest Paths in Graphs with Applications to Network Overlay Design Hongsik Choi and Hyeong-Ah Choi Department of Electrical Engineering and Computer Science George Washington University Washington,
OPRE 6201 : 2. Simplex Method
OPRE 6201 : 2. Simplex Method 1 The Graphical Method: An Example Consider the following linear program: Max 4x 1 +3x 2 Subject to: 2x 1 +3x 2 6 (1) 3x 1 +2x 2 3 (2) 2x 2 5 (3) 2x 1 +x 2 4 (4) x 1, x 2
Module1. x 1000. y 800.
Module1 1 Welcome to the first module of the course. It is indeed an exciting event to share with you the subject that has lot to offer both from theoretical side and practical aspects. To begin with,
EECS 556 Image Processing W 09. Interpolation. Interpolation techniques B splines
EECS 556 Image Processing W 09 Interpolation Interpolation techniques B splines What is image processing? Image processing is the application of 2D signal processing methods to images Image representation
Comparison of Non-linear Dimensionality Reduction Techniques for Classification with Gene Expression Microarray Data
CMPE 59H Comparison of Non-linear Dimensionality Reduction Techniques for Classification with Gene Expression Microarray Data Term Project Report Fatma Güney, Kübra Kalkan 1/15/2013 Keywords: Non-linear
Character Image Patterns as Big Data
22 International Conference on Frontiers in Handwriting Recognition Character Image Patterns as Big Data Seiichi Uchida, Ryosuke Ishida, Akira Yoshida, Wenjie Cai, Yaokai Feng Kyushu University, Fukuoka,
TOPOLOGY: THE JOURNEY INTO SEPARATION AXIOMS
TOPOLOGY: THE JOURNEY INTO SEPARATION AXIOMS VIPUL NAIK Abstract. In this journey, we are going to explore the so called separation axioms in greater detail. We shall try to understand how these axioms
JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004
Scientiae Mathematicae Japonicae Online, Vol. 10, (2004), 431 437 431 JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS Ondřej Čepeka and Shao Chin Sung b Received December May 12, 2003; revised February
24. The Branch and Bound Method
24. The Branch and Bound Method It has serious practical consequences if it is known that a combinatorial problem is NP-complete. Then one can conclude according to the present state of science that no
Tree based ensemble models regularization by convex optimization
Tree based ensemble models regularization by convex optimization Bertrand Cornélusse, Pierre Geurts and Louis Wehenkel Department of Electrical Engineering and Computer Science University of Liège B-4000
Compact Representations and Approximations for Compuation in Games
Compact Representations and Approximations for Compuation in Games Kevin Swersky April 23, 2008 Abstract Compact representations have recently been developed as a way of both encoding the strategic interactions
Notes on Factoring. MA 206 Kurt Bryan
The General Approach Notes on Factoring MA 26 Kurt Bryan Suppose I hand you n, a 2 digit integer and tell you that n is composite, with smallest prime factor around 5 digits. Finding a nontrivial factor
Modern Optimization Methods for Big Data Problems MATH11146 The University of Edinburgh
Modern Optimization Methods for Big Data Problems MATH11146 The University of Edinburgh Peter Richtárik Week 3 Randomized Coordinate Descent With Arbitrary Sampling January 27, 2016 1 / 30 The Problem
SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH
31 Kragujevac J. Math. 25 (2003) 31 49. SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH Kinkar Ch. Das Department of Mathematics, Indian Institute of Technology, Kharagpur 721302, W.B.,
Approximated Distributed Minimum Vertex Cover Algorithms for Bounded Degree Graphs
Approximated Distributed Minimum Vertex Cover Algorithms for Bounded Degree Graphs Yong Zhang 1.2, Francis Y.L. Chin 2, and Hing-Fung Ting 2 1 College of Mathematics and Computer Science, Hebei University,
Some Polynomial Theorems. John Kennedy Mathematics Department Santa Monica College 1900 Pico Blvd. Santa Monica, CA 90405 [email protected].
Some Polynomial Theorems by John Kennedy Mathematics Department Santa Monica College 1900 Pico Blvd. Santa Monica, CA 90405 [email protected] This paper contains a collection of 31 theorems, lemmas,
Stochastic Inventory Control
Chapter 3 Stochastic Inventory Control 1 In this chapter, we consider in much greater details certain dynamic inventory control problems of the type already encountered in section 1.3. In addition to the
Discrete Optimization
Discrete Optimization [Chen, Batson, Dang: Applied integer Programming] Chapter 3 and 4.1-4.3 by Johan Högdahl and Victoria Svedberg Seminar 2, 2015-03-31 Todays presentation Chapter 3 Transforms using
Euler: A System for Numerical Optimization of Programs
Euler: A System for Numerical Optimization of Programs Swarat Chaudhuri 1 and Armando Solar-Lezama 2 1 Rice University 2 MIT Abstract. We give a tutorial introduction to Euler, a system for solving difficult
. P. 4.3 Basic feasible solutions and vertices of polyhedra. x 1. x 2
4. Basic feasible solutions and vertices of polyhedra Due to the fundamental theorem of Linear Programming, to solve any LP it suffices to consider the vertices (finitely many) of the polyhedron P of the
Edge tracking for motion segmentation and depth ordering
Edge tracking for motion segmentation and depth ordering P. Smith, T. Drummond and R. Cipolla Department of Engineering University of Cambridge Cambridge CB2 1PZ,UK {pas1001 twd20 cipolla}@eng.cam.ac.uk
Integrating Benders decomposition within Constraint Programming
Integrating Benders decomposition within Constraint Programming Hadrien Cambazard, Narendra Jussien email: {hcambaza,jussien}@emn.fr École des Mines de Nantes, LINA CNRS FRE 2729 4 rue Alfred Kastler BP
CHAPTER 1 Splines and B-splines an Introduction
CHAPTER 1 Splines and B-splines an Introduction In this first chapter, we consider the following fundamental problem: Given a set of points in the plane, determine a smooth curve that approximates the
Supervised Learning (Big Data Analytics)
Supervised Learning (Big Data Analytics) Vibhav Gogate Department of Computer Science The University of Texas at Dallas Practical advice Goal of Big Data Analytics Uncover patterns in Data. Can be used
Chapter 7: Products and quotients
Chapter 7: Products and quotients Matthew Macauley Department of Mathematical Sciences Clemson University http://www.math.clemson.edu/~macaule/ Math 42, Spring 24 M. Macauley (Clemson) Chapter 7: Products
The Open University s repository of research publications and other research outputs
Open Research Online The Open University s repository of research publications and other research outputs The degree-diameter problem for circulant graphs of degree 8 and 9 Journal Article How to cite:
Chapter 10: Network Flow Programming
Chapter 10: Network Flow Programming Linear programming, that amazingly useful technique, is about to resurface: many network problems are actually just special forms of linear programs! This includes,
Classroom Tips and Techniques: The Student Precalculus Package - Commands and Tutors. Content of the Precalculus Subpackage
Classroom Tips and Techniques: The Student Precalculus Package - Commands and Tutors Robert J. Lopez Emeritus Professor of Mathematics and Maple Fellow Maplesoft This article provides a systematic exposition
Cluster Analysis: Advanced Concepts
Cluster Analysis: Advanced Concepts and dalgorithms Dr. Hui Xiong Rutgers University Introduction to Data Mining 08/06/2006 1 Introduction to Data Mining 08/06/2006 1 Outline Prototype-based Fuzzy c-means
Metric Spaces. Chapter 1
Chapter 1 Metric Spaces Many of the arguments you have seen in several variable calculus are almost identical to the corresponding arguments in one variable calculus, especially arguments concerning convergence
Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams
Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams André Ciré University of Toronto John Hooker Carnegie Mellon University INFORMS 2014 Home Health Care Home health care delivery
Algorithm Design and Analysis
Algorithm Design and Analysis LECTURE 27 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/6/2011 S. Raskhodnikova;
A Note on Maximum Independent Sets in Rectangle Intersection Graphs
A Note on Maximum Independent Sets in Rectangle Intersection Graphs Timothy M. Chan School of Computer Science University of Waterloo Waterloo, Ontario N2L 3G1, Canada [email protected] September 12,
Gerry Hobbs, Department of Statistics, West Virginia University
Decision Trees as a Predictive Modeling Method Gerry Hobbs, Department of Statistics, West Virginia University Abstract Predictive modeling has become an important area of interest in tasks such as credit
Chapter 6. The stacking ensemble approach
82 This chapter proposes the stacking ensemble approach for combining different data mining classifiers to get better performance. Other combination techniques like voting, bagging etc are also described
A Practical Scheme for Wireless Network Operation
A Practical Scheme for Wireless Network Operation Radhika Gowaikar, Amir F. Dana, Babak Hassibi, Michelle Effros June 21, 2004 Abstract In many problems in wireline networks, it is known that achieving
Linear Threshold Units
Linear Threshold Units w x hx (... w n x n w We assume that each feature x j and each weight w j is a real number (we will relax this later) We will study three different algorithms for learning linear
MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem
MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem David L. Finn November 30th, 2004 In the next few days, we will introduce some of the basic problems in geometric modelling, and
15.062 Data Mining: Algorithms and Applications Matrix Math Review
.6 Data Mining: Algorithms and Applications Matrix Math Review The purpose of this document is to give a brief review of selected linear algebra concepts that will be useful for the course and to develop
ALMOST COMMON PRIORS 1. INTRODUCTION
ALMOST COMMON PRIORS ZIV HELLMAN ABSTRACT. What happens when priors are not common? We introduce a measure for how far a type space is from having a common prior, which we term prior distance. If a type
Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson
Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement
Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued.
Linear Programming Widget Factory Example Learning Goals. Introduce Linear Programming Problems. Widget Example, Graphical Solution. Basic Theory:, Vertices, Existence of Solutions. Equivalent formulations.
December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B. KITCHENS
December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B KITCHENS The equation 1 Lines in two-dimensional space (1) 2x y = 3 describes a line in two-dimensional space The coefficients of x and y in the equation
Single-Link Failure Detection in All-Optical Networks Using Monitoring Cycles and Paths
Single-Link Failure Detection in All-Optical Networks Using Monitoring Cycles and Paths Satyajeet S. Ahuja, Srinivasan Ramasubramanian, and Marwan Krunz Department of ECE, University of Arizona, Tucson,
1 Approximating Set Cover
CS 05: Algorithms (Grad) Feb 2-24, 2005 Approximating Set Cover. Definition An Instance (X, F ) of the set-covering problem consists of a finite set X and a family F of subset of X, such that every elemennt
Using the ac Method to Factor
4.6 Using the ac Method to Factor 4.6 OBJECTIVES 1. Use the ac test to determine factorability 2. Use the results of the ac test 3. Completely factor a trinomial In Sections 4.2 and 4.3 we used the trial-and-error
Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs
CSE599s: Extremal Combinatorics November 21, 2011 Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs Lecturer: Anup Rao 1 An Arithmetic Circuit Lower Bound An arithmetic circuit is just like
2.2 Creaseness operator
2.2. Creaseness operator 31 2.2 Creaseness operator Antonio López, a member of our group, has studied for his PhD dissertation the differential operators described in this section [72]. He has compared
Section 1.4. Lines, Planes, and Hyperplanes. The Calculus of Functions of Several Variables
The Calculus of Functions of Several Variables Section 1.4 Lines, Planes, Hyperplanes In this section we will add to our basic geometric understing of R n by studying lines planes. If we do this carefully,
Mean Value Coordinates
Mean Value Coordinates Michael S. Floater Abstract: We derive a generalization of barycentric coordinates which allows a vertex in a planar triangulation to be expressed as a convex combination of its
Chapter 13: Binary and Mixed-Integer Programming
Chapter 3: Binary and Mixed-Integer Programming The general branch and bound approach described in the previous chapter can be customized for special situations. This chapter addresses two special situations:
Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar
Complexity Theory IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Outline Goals Computation of Problems Concepts and Definitions Complexity Classes and Problems Polynomial Time Reductions Examples
The Scientific Data Mining Process
Chapter 4 The Scientific Data Mining Process When I use a word, Humpty Dumpty said, in rather a scornful tone, it means just what I choose it to mean neither more nor less. Lewis Carroll [87, p. 214] In
Adaptive Online Gradient Descent
Adaptive Online Gradient Descent Peter L Bartlett Division of Computer Science Department of Statistics UC Berkeley Berkeley, CA 94709 bartlett@csberkeleyedu Elad Hazan IBM Almaden Research Center 650
Duality of linear conic problems
Duality of linear conic problems Alexander Shapiro and Arkadi Nemirovski Abstract It is well known that the optimal values of a linear programming problem and its dual are equal to each other if at least
Understanding Basic Calculus
Understanding Basic Calculus S.K. Chung Dedicated to all the people who have helped me in my life. i Preface This book is a revised and expanded version of the lecture notes for Basic Calculus and other
