Efficient Belief Propagation in Depth Finding


Published on

Research paper on efficient belief propagation in computer vision, based on work by Dr. Pedro Felzenszwalb of University of Chicago.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Efficient Belief Propagation in Depth Finding

  1. 1. Efficient Belief Propagation in Depth Finding Samantha Luber saluber@umich.edu Abstract iteration [2]. When run over many iterations, theOne of the greatest abilities of the human eyes are naive belief propagation algorithms total energytheir ability to perceive depth, an essential skill that converges, producing a reasonably accurateallows us to preform fundamental tasks, such as disparity depth map approximation.avoiding obstacles and retrieving objects, as well ascomplicated tasks, such as driving a car. As II. Felzenszwalbs Optimized Belief Propagationadvancements in the robotics field allows robots to Algorithmsuccessfully perform these aforementioned tasks, The Felzenszwalb algorithm uses three optimizationthe need for simulated depth perception, ideally in techniques, including fast message updates, gridan efficient manner, continues to grow. With the graph, and multi-grid, on the naive beliefspecific application of creating an efficient depth propagation algorithm in its belief propagationfinding algorithm for robots with simple binocular approach.cameras, various optimizations, introduced by Dr.Felzenszwalb of the University of Chicago, were A. Optimization 1: Fast Message Updatesapplied to a naïve belief propagation algorithm to The fast message updates technique computesachieve more efficient belief propagation in depth message updates in linear time by expressing thesefinding. This paper provides an overview of the updates as min convolutions [2]. Instead ofnative belief propagation algorithm, the algorithm computing the optimal value assignment of theoptimizations, and experimental results and analysis current pixels with the optimal value assignment ofon the impact of these optimizations on algorithm each neighboring pixel together, the optimal valueperformance. assignment of the neighboring pixels can be computed independently of the current pixels I. Naive Belief Propagation Algorithm values. The algorithm needs only to iterate over theThe general approach to accurately approximating a possible pixel values for each neighboring pixeldisparity depth map from two frame images is loopy twice; thus, message updates can be computed inbelief propagation, a method that assigns each pixel linear, in contrast to the standard quadratic, time.in the disparity depth map to a value, whichcorresponds to the depth of the pixel in the two B. Optimization 2: Grid Graphframe images. Each pixel has an energy, consisting The grid graph technique computes messages inof a fixed data cost based on the pixels value linear time by passing messages to every other pixelassignment and discontinuity cost, which depends on even iterations and vice versa on odd iterations.on the value assignments to the pixels neighboring This technique eliminates the need to storepixels [4]. During an iteration, each pixel sends a messages from the previous iteration for calculatingmessage to each of its neighbors with an and updating current messages.information vector containing the cost the neighborwill incur based on every possible value assignment C. Optimization 3: Multi-Gridto the pixel currently sending the message [2]. The The multi-grid technique involves running the beliefalgorithm loops through every possible pixel value propagation algorithm in a coarse-to-fine manner,assignment in order to find the value assignment which increases the efficiency of passing messagesthat minimizes the energy of each pixel, based on over long-range distances by building a datathe messages received from its neighbors. Over pyramid of message updates [2]. At the highesteach successive iteration, the pixels receive level of the data pyramid, the algorithm runs in adiscontinuity cost information from more distant coarse manner and passes messages over a largepixels and are reassigned accordingly, decreasing number of iterations. Running in a progressivelythe total energy of the graph from the previous finer manner, the number of message-passing     Luber   1  
  2. 2. iterations is reduced at each successive level. TheFelzenszwalb algorithm is approximately theapplication of these techniques to the naive beliefpropagation algorithm. III. Algorithm Efficiency ExperimentsIn order to compare and evaluate the efficiency andaccuracy of these algorithms, the naïve beliefpropagation algorithm and the Felzenszwalboptimized belief propagation algorithm were used togenerate disparity depth maps of two-frame imagesfrom the Middlebury Stereo Datasets [1]. Both thenaïve and optimized algorithms were implemented   Figure  2:  Disparity  Depth  Map  resulting  from  naive  belief  in Java for the experiments. The comparison data propagation  algorithm  with  Felzenszwalb  optimizations  for  consists of the runtime and total energy for each 5000  iterationsalgorithm recorded over a range of beliefpropagation iterations values. Because all of thealgorithms attempt to minimize the overall graphenergy, an algorithm that minimizes its total energyover less iteration is considered more efficient thanan algorithm whose total energy reduces moreslowly. Furthermore, as the correct disparity depthmap is reached, the total energy of the graph willconverge to approximately its minimum value.Naturally, an algorithm whose total energyconverges over less iteration is preferred. A. Resulting Disparity Depth Map Images   Figure  3:  Disparity  Depth  Map  resulting  from  Felzenszwalb   belief  propagation  algorithm  with  5000  iterations B. Algorithm Performance Graphs  Figure  1:  Disparity  Depth  Map  resulting  from  naive  belief  propagation  algorithm  for  5000  iterations   Figure  4:  Iterations  vs.  Performance  of  the  naive  belief   propagation  algorithm,  the  naive  belief  propagation   algorithm  with  Felzenszwalb  optimizations,  and  the   Felzenszwalb  belief  propagation  algorithm.     Luber   2  
  3. 3. information for a robot. V. Acknowledgements Particular thanks to Johannes Strom for meeting with me on a weekly basis to help with the implementation and debugging of these algorithms and to Dr. Edwin Olson for overseeing the project. VI. References   [1] Middlebury Stereo Datasets.Figure  5:  Iterations  vs.  Total  Energy  of  the  naive  belief  propagation  algorithm,  the  naive  belief  propagation   <http://vision.middlebury.edu/stereo/data/>.algorithm  with  Felzenszwalb  optimizations,  and  the  Felzenszwalb  belief  propagation  algorithm. [2] Felzenszwalb, Pedro. Efficient Belief Propagation for Early Vision.From the data, it can be observed that the <http://people.cs.uchicago.edu/~pff/papers/bp-Felzenszwalb algorithm converges more quickly long.pdf>.and has a shorter runtime than the naive beliefpropagation algorithm. Furthermore, the [3] Luber, Samantha. Public Repository of BPFelzenszwalb algorithm and naive belief Algorithms.propagation incorporating the Felzenszwalb </afs/umich.edu/user/s/a/saluber/Public/stereo.git>.optimization techniques have roughly the sameruntime and convergence time; thus, by applying [4] Yedidia, J.S.; Freeman, W.T.; Weiss, Y.; Y.these optimization techniques to a naive belief (July 2005). "Constructing free-energypropagation algorithm, the Felzenszwalb approximations and generalized belief propagationalgorithms performance can be achieved. algorithms". IEEE Transactions on Information Theory. IV. Conclusions <http://www.merl.com/reports/docs/TR2004- 040.pdf>.Based on the comparisons of the Felzenszwalbalgorithm and the naive belief propagation [5] Bishop, Christopher M (2006). "Chapter 8:algorithm using the criteria of belief propagation Graphical models". Pattern Recognition anditerations versus runtime and belief propagation Machine Learning. Springer. pp. 359–418.iterations versus total graph energy, it can be <http://research.microsoft.com/en-reasonably confirmed that the Felzenszwalb us/um/people/cmbishop/PRML/Bishop-PRML-optimizations increase both the runtime and sample.pdf>.accuracy of the belief propagation algorithm over afixed iteration period. Furthermore, as the Javaimplementation of the Felzenszwalb algorithm andthe naive belief propagation algorithm incorporatingthe Felzenszwalb optimization techniques havereasonably close accuracy and runtimeperformances, it can be confirmed thatFelzenszwalbs proposed techniques improve theruntime and accuracy of naive belief propagationalgorithms. Future optimizations to be exploredinclude implementing the Felzenszwalb optimizedbelief propagation algorithm with parallelization.For the specific use of efficient robot vision, theprogram can be run efficiently on a small processorwith little memory to provide consistent depth     Luber   3