Parallel graph-cuts by adaptive bottom-up merging

Graph-cuts optimization is prevalent in vision and graphics problems. It is thus of great practical importance to parallelize the graph-cuts optimization using today's ubiquitous multi-core machines. However, the current best serial algorithm by Boykov and Kolmogorov (called the BK algorithm) still has the superior empirical performance. It is non-trivial to parallelize as expensive synchronization overhead easily offsets the advantage of parallelism. In this paper, we propose a novel adaptive bottom-up approach to parallelize the BK algorithm. We first uniformly partition the graph into a number of regularly-shaped disjoint subgraphs and process them in parallel, then we incrementally merge the subgraphs in an adaptive way to obtain the global optimum. The new algorithm has three benefits: 1) it is more cache-friendly within smaller subgraphs; 2) it keeps balanced workloads among computing cores; 3) it causes little overhead and is adaptable to the number of available cores. Extensive experiments in common applications such as 2D/3D image segmentations and 3D surface fitting demonstrate the effectiveness of our approach.

[1]  D. R. Fulkerson,et al.  Maximal Flow Through a Network , 1956 .

[2]  E. A. Dinic Algorithm for solution of a problem of maximal flow in a network with power estimation , 1970 .

[3]  Richard M. Karp,et al.  Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems , 1972, Combinatorial Optimization.

[4]  Robert E. Tarjan,et al.  A data structure for dynamic trees , 1981, STOC '81.

[5]  Andrew V. Goldberg,et al.  A new approach to the maximum flow problem , 1986, STOC '86.

[6]  D. Greig,et al.  Exact Maximum A Posteriori Estimation for Binary Images , 1989 .

[7]  Ulrich Derigs,et al.  Implementing Goldberg's max-flow-algorithm — A computational investigation , 1989, ZOR Methods Model. Oper. Res..

[8]  Richard J. Anderson,et al.  A Parallel Implementation of the Push-Relabel Algorithm for the Maximum Flow Problem , 1995, J. Parallel Distributed Comput..

[9]  Andrew V. Goldberg,et al.  On Implementing Push-Relabel Method for the Maximum Flow Problem , 1995, IPCO.

[10]  Andrew V. Goldberg,et al.  On Implementing the Push—Relabel Method for the Maximum Flow Problem , 1997, Algorithmica.

[11]  Seyed H. Roosta Principles of Parallel Programming , 2000 .

[12]  Marie-Pierre Jolly,et al.  Interactive graph cuts for optimal boundary & region segmentation of objects in N-D images , 2001, Proceedings Eighth IEEE International Conference on Computer Vision. ICCV 2001.

[13]  Vladimir Kolmogorov,et al.  Computing visual correspondence with occlusions using graph cuts , 2001, Proceedings Eighth IEEE International Conference on Computer Vision. ICCV 2001.

[14]  Vladimir Kolmogorov,et al.  Graph Based Algorithms for Scene Reconstruction from Two or More Views , 2004 .

[15]  Vladimir Kolmogorov,et al.  An experimental comparison of min-cut/max- flow algorithms for energy minimization in vision , 2001, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[16]  Andrew Blake,et al.  "GrabCut" , 2004, ACM Trans. Graph..

[17]  David A. Bader,et al.  A Cache-Aware Parallel Implementation of the Push-Relabel Network Flow Algorithm and Experimental Evaluation of the Gap Relabeling Heuristic , 2006, PDCS.

[18]  Victor S. Lempitsky,et al.  Oriented Visibility for Multiview Reconstruction , 2006, ECCV.

[19]  Olivier Juan,et al.  Active Graph Cuts , 2006, 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'06).

[20]  Victor S. Lempitsky,et al.  Global Optimization for Shape Fitting , 2007, 2007 IEEE Conference on Computer Vision and Pattern Recognition.

[21]  Dorit S. Hochbaum,et al.  The Pseudoflow Algorithm: A New Algorithm for the Maximum-Flow Problem , 2008, Oper. Res..

[22]  P. J. Narayanan,et al.  CUDA cuts: Fast graph cuts on the GPU , 2008, 2008 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops.

[23]  Yuri Boykov,et al.  A Scalable graph-cut algorithm for N-D grids , 2008, 2008 IEEE Conference on Computer Vision and Pattern Recognition.

[24]  Dorit S. Hochbaum,et al.  A Computational Study of the Pseudoflow and Push-Relabel Algorithms for the Maximum Flow Problem , 2009, Oper. Res..

[25]  Jian Sun,et al.  Paint selection , 2009, ACM Trans. Graph..

[26]  Nancy S. Pollard,et al.  Local layering , 2009, SIGGRAPH 2009.