• No results found

2.4. Inference

2.4.4. Graph Cuts

From now on we consider pairwise graphical models, i.e. the size of the cliques is at most two. Furthermore, we restrict ourselves to the case of binary state variables, i.e. the label space has two elements, L = {0, 1}. Many problems in computer vision are binary, like image segmentation, binary image restoration and binary image denoising. Furthermore, many energy minimization methods work with reducing the problem into binary subproblems, like the move-making algorithms, the α − β swap and the α−expansion algorithm [BVZ01].

In the following we consider the energy function on the graph G = (V, E ) in the form Eθ(x) = const + X i∈V θi(xi) + X ij∈E θij(xij). (2.85)

The constant term emerging from the normalization factor is usually neglected in the representation as it does not affect the solution. The function θi(xi) is called data term and measures the cost of assigning the label xi to a node i ∈ V based on some observed data. The function θij(x

2.4. Inference

is used to penalize neighboring nodes having different labels, or in other words it imposes smoothness. It is also a prior term, defined using prior knowledge about the particular problem. The data and smoothness terms are defined application-specific.

Some optimization algorithms for solving the MAP inference problem efficiently, or even with a guarantee of a global optimum require that the energy function satisfies certain conditions. One important property is defined below.

Definition 2.4.2. A binary submodular function is a function θ, defined on a

graph with 2 labels whose pairwise term satisfy

θij(1, 0) + θij(0, 1) ≥ θij(0, 0) + θij(1, 1), (2.86)

that is sum of pairwise terms with the same labels is smaller or equal to the sum of the pairwise terms with differing labels. The extension of submodularity to n labels, where the set of labels is given by L = {1, 2, ..., n} is

θij(α, α) + θij(β, γ) ≤ θij(α, γ) + θij(β, α) (2.87)

which must hold for all α, β, γ ∈ L.

In the binary case it was proven that submodular functions can be optimized globally using graph cuts [KZ04], which turned out to be also the most efficient algorithms for this problem class. The idea is to construct a graph corresponding to the considered energy function such that a solution to the minimum cut problem also solves the energy minimization problem. The minimum cut on the other hand can be efficiently computed with max-flow algorithms, due to the equivalence of these two problems which we will demonstrate shortly. Before stating the main theorem let us first introduce how the terms capacity, flow and cut are defined on the context of a graph.

Capacity is defined as c : V × V → R+, for i, j ∈ V and in particular c(i, j) = 0 for ij /∈ E.

Let the set of nodes be extended with two additional terminal nodes, s and t, referred to as source and sink, respectively. The flow on the graph G is defined as a function f : V × V → R such that:

a) for all nodes i, j ∈ V ∪ {s, t}, f (i, j) ≤ c(i, j) b) for all nodes i, j ∈ V ∪ {s, t}, f (i, j) = −f (j, i) c) for all nodes i ∈ V, P

j∈V∪{s,t}f (i, j) = 0.

The value of the flow in a graph is the sum of the flow leaving the source s, which is equivalent to the sum of the flow entering the sink, t,

|f (G)| = X

i∈V∪{s,t}

f (s, i) = X

i∈V∪{s,t}

f (i, t). (2.88)

The maximum flow is a flow f which maximizes |f (G)|.

A cut in a graph G is a subset of the edge set, which partitions the node set V ∪ {s, t} into two disjoint subsets Vs and Vtsuch that s ∈ Vs, t ∈ Vt. The total cost

of a cut is given with

X

i∈Vs,j∈Vt

c(i, j). (2.89)

A minimum cut is one which has minimum costs.

It is common to describe the graph cut and max-flow algorithms using directed graphs. Any undirected graph as considered in this work can be mapped to a directed graph by simply constructing for one undirected two opposing directed edges. Let G = (V, E, w) be a weighted directed graph. A weighted graph can be interpreted as a flow network were the capacity of an edge is given by pairwise weights θij. Weight or capacity of an edge is the pairwise term in the energy function formulation, θij.

Only for graphs with non-negative weights algorithms with polynomial complexity are known. For the case when some edge weights are negative, a reparameterization as introduced in Definition 2.3.2 allows to bring the energy function into a form having non-negative weights only [KR07]. Furthermore, from Definition2.3.2 follows that the solution of the minimization problem does not change. When all the weights

θi(xi) ≥ 0 for xi ∈ {0, 1} and min{θij(0, xj), θij(1, xj)} = 0 for xj ∈ {0, 1} (which

implies that all weights are non-negative) the energy is said to be in normal form. The normal form is not unique and any binary energy function (2.85) can be brought into normal form in the following way:

1. While there is an edge ij ∈ E such that min{θij(0, xj), θij(1, xj)} 6= 0 and

 = min{θij(0, x

j), θij(1, xj)}, redefine

θij(0, xj) ← θij(0, xj) −  (2.90a)

θij(1, xj) ← θij(1, xj) −  (2.90b)

θj(xj) ← θj(xj) + . (2.90c)

2. For all i ∈ V and  = min{θi(xi) | xi ∈ {0, 1}} redefine

θi← θi−  (2.91a)

const ← const + . (2.91b)

After the energy function was brought into normal form, we have either θij(0, 0) =

θij(1, 1) = 0 or θij(0, 1) = θij(1, 0) = 0.

We state here the min-cut max-flow theorem which was independently proven in [FF56] and [EFS56].

Theorem 2.4.2. Min-cut max-flow theorem: In any network flow with source s and sink t, the maximum flow is equal to the capacity of the minimum cut. Proof. See [FF56, Theorem 1].

Graph cut algorithms solve the labeling problem by solving the min-cut problem for which algorithms with polynomial complexity are known in the case of positive weights. After computing the min-cut all nodes are divided into two subsets, where nodes in one subset are labeled with 0 and with 1 in the other. Before we detail on

2.4. Inference

the algorithm let us discuss the question how to construct the corresponding directed graph for the energy function (2.85).

Constructing the Corresponding Directed Graph for the Energy Function in (2.85) We describe how the binary labeling problem can be reformulated as a graph cut problem. Let us assume that θi(xi) ≥ 0, ∀i ∈ V and θij(xij) ≥ 0, ∀ij ∈ E . First the node set is extended by the terminal nodes ˆV = V ∪ {s, t} and the edge set is augmented as ˆE = E ∪ {si | i ∈ V} ∪ {it | i ∈ V}. For every edge from ˆE, a weight is assigned as following: wsi = θi(1), wit = θi(0), wij = θij(0, 1). Without loss of

generality, in the following we assume s and t to be in the node set with assigned 0 and 1, respectively. In Fig. 2.2 we illustrate a graph with its minimum cut for a graph with 9 nodes and up to 4 neighboring nodes, as well as an example for a cut.

In [KZ04] it was shown that the energy minimization problem can be transformed into a min-cut problem with non-negative weights if and only if the energy function is submodular.

However even if the function does not satisfy the submodularity condition a partially global solution can be found using a graph-cut-like algorithm, namely quadratic pseudo boolean optimization (QPBO), first proposed in [HHS84] and revised in [KR07].

Quadratic Pseudo Boolean Optimization (QPBO) The QPBO method does not require a submodular function. However, when the function is not submodular, there is no guarantee the solution will be complete, meaning there can be some state variables left with no values assigned.

Let x be a labeling produced by QPBO. Then we can state the following important properties of the QPBO method:

(1) If all terms of the energy are submodular, then the algorithm outputs

a complete labeling.

(2) Persistency (Weak Autarky): Let y be a complete labeling and let z be the combined labeling of x and y, that is zi= xi if xi was assigned a label {0, 1} and

zi= yi, otherwise. Then E(z) ≤ E(y) holds.

(3) Partial optimality (Weak Persistency): There exists a labeling x∗ mini- mizing the energy globally such that xi = xi, ∀i ∈ V which get a label.

(4) Invariance to flipping: QPBO is invariant to flipping the values of variables

xi ∈ U for a subset U ⊂ V, interchanging 0 and 1 labels.

In view of property (2) we can see that for an incomplete labeling provided by QPBO, the energy will not increase no matter what the unassigned variables are fixed to. Concerning (3) we remark that there is a set of global optimal solutions to the energy. The reason is the relaxation and the constant term in the energy. (4) is an important property in the case when after flipping the values 0 and 1 from some subset U of the node set V would result into submodular energy. Then as a result of (1) the variables of U will be all labeled.

s

t

Figure 2.2. - Minimum cut for a graph with 9 nodes and up to 4 neighbors per node. Each

node is connected to its neighbors and to the source and the sink nodes. Weight of an edge is represented with its thickness. Thicker edge means bigger weight. After the minimum cut is found the nodes are divided into two subsets, purple and yellow.

Description of the QPBO Algorithm QPBO works like other graph cut algorithms, i.e. it first constructs the graph corresponding to the energy function and then a minimum cut is computed assigning binary labels to all nodes. Any binary energy function can be minimized with QPBO. After the energy is reparametrized with converting all unary and pairwise weights into non-negative ones, the graph corresponding to the energy function, is constructed with a doubled set of nodes. The transformation of the energy to the directed graph is in a similar way as we described for graph cuts, however now for each node i ∈ V we introduce a further node ˆi. The new set of nodes is now defined as ˆV := V ∪ {ˆi| i ∈ V} ∪ {s, t}. The new edge set is ˆE := E ∪ {si, sˆi|i ∈ V} ∪ {it,ˆit | i ∈ V} ∪ {iˆj, ˆiˆj, ˆij | ij ∈ E }. The weights

assigned to the new edges are defined as

wsi = wˆit= 1 2θ i(1) w it = wi = 1 2θ i(0) wij = wˆjˆi = 1 2θ ij(0, 1) w ji = wˆiˆj = 1 2θ ij(1, 0) wj = wi = 1 2θ ij(0, 0) w ˆ jˆi = wˆij = 1 2θ ij(0, 0).

After finding the minimal cut, the graph is divided into two subsets Vs, and Vt,

and the nodes are labeled in the following way

       xi = 0 if i ∈ Vs and ˆi ∈ Vt xi = 1 if i ∈ Vt and ˆi ∈ Vs

xi gets no label otherwise .

(2.92)

The algorithm first finds the minimum cut on the part of the graph with submodular energy terms. The difference of QPBO to other graph cut algorithms is that it selects the cut from the set of all minimum cuts which maximizes the number of nodes

2.4. Inference

which were assigned a label.

We point out that there are extensions of QPBO to the multi-label case [WIC12]. There are also other graph cut algorithms which do not require submodular functions and can be used for the multi-label case problem, namely move-making algorithms, the α − β swap and α−expansion algorithm introduced in [BVZ01]. These graph cut approaches iteratively apply the binary graph cut algorithm. Other algorithms for the multi-label case require some other constraints on the smoothness energy term, like convexity [Ish03]. Important to note is the close connection of submodularity and convexity [Lov83].