Discrete Optimization in Computer Vision Nikos Komodakis Ecole



















![BP on a tree [Pearl’ 88] leaf p q leaf n n r root BP on a tree [Pearl’ 88] leaf p q leaf n n r root](https://slidetodoc.com/presentation_image_h/b1d5cb844159cfa97aed1ae78de5177d/image-20.jpg)





















- Slides: 41

Discrete Optimization in Computer Vision Nikos Komodakis Ecole des Ponts Paris. Tech, LIGM Traitement de l’information et vision artificielle

Message passing algorithms for energy minimization

Message-passing algorithms n n n Central concept: messages These methods work by propagating messages across the MRF graph Widely used algorithms in many areas

Message-passing algorithms n n But how do messages relate to optimizing the energy? Let’s look at a simple example first: we will examine the case where the MRF graph is a chain

Message-passing on chains MRF graph

Message-passing on chains Corresponding lattice or trellis

Message-passing on chains n n Global minimum in linear time Optimization proceeds in two passes: n Forward pass (dynamic programming) n Backward pass

Message-passing on chains (example on board) (algebraic derivation of messages)

Message-passing on chains p q r s

Forward pass (dynamic programming) p q r s

Forward pass (dynamic programming) p q r s

Forward pass (dynamic programming) p q r s

Forward pass (dynamic programming) p q r s

Forward pass (dynamic programming) p q r s

Forward pass (dynamic programming) p q r s Min-marginal for node s and label j:

Backward pass p q r s xp xq xr xs

Message-passing on chains n. How can I compute min-marginals for any node in the chain? n. How to compute min-marginals for all nodes efficiently? n. What is the running time of message-passing on chains?

Message-passing on trees n n n We can apply the same idea to treestructured graphs Slight generalization from chains Resulting algorithm called: belief propagation (also called under many other names: e. g. , max-product, min-sum etc. ) (for chains, it is also often called the Viterbi algorithm)

Belief propagation (BP)
![BP on a tree Pearl 88 leaf p q leaf n n r root BP on a tree [Pearl’ 88] leaf p q leaf n n r root](https://slidetodoc.com/presentation_image_h/b1d5cb844159cfa97aed1ae78de5177d/image-20.jpg)
BP on a tree [Pearl’ 88] leaf p q leaf n n r root Dynamic programming: global minimum in linear time BP: q Inward pass (dynamic programming) q Outward pass q Gives min-marginals

Inward pass (dynamic programming) p q r

Inward pass (dynamic programming) p q r

Inward pass (dynamic programming) p q r

Inward pass (dynamic programming) p q r

Inward pass (dynamic programming) p q r

Inward pass (dynamic programming) p q r

Inward pass (dynamic programming) p q r

Outward pass p q r

BP on a tree: min-marginals p Min-marginal for node q and label j: q r

Belief propagation: message-passing on trees

Belief propagation: message-passing on trees min-marginals = ? ? ? sum of all messages + unary potential

What is the running time of messagepassing for trees?

Message-passing on chains n n Essentially, message passing on chains is dynamic programming Dynamic programming means reuse of computations

Generalizing belief propagation n Key property: min(a+b, a+c) = a+min(b, c) BP can be generalized to any operators satisfying the above property E. g. , instead of (min, +), we could have: q q (max, *) Resulting algorithm called max-product. What does it compute? (+, *) Resulting algorithm called sum-product. What does it compute?

Belief propagation as a distributive algorithm n BP works distributively (as a result, it can be parallelized) n Essentially BP is a decentralized algorithm n Global results through local exchange of information n Simple example to illustrate this: counting soldiers

Counting soldiers in a line (From David Mac. Kay’s book “Information Theory, Inference, and Learning”) n Can you think of a distributive algorithm for the commander to count its soldiers?

Counting soldiers in a line

Counting soldiers in a tree n Can we do the same for this case?

Counting soldiers in a tree

Counting soldiers n n Simple example to illustrate BP Same idea can be used in cases which are seemingly more complex: q q n counting paths through a point in a grid probability of passing through a node in the grid In general, we have used the same idea for minimizing MRFs (a much more general problem)

Graphs with loops n How about counting these soldiers? n Hmmm…overcounting?