190 likes | 372 Views
Petter Strandmark Fredrik Kahl. Parallel and Distributed Graph Cuts by Dual Decomposition. Lund University. Applications of Graph Cuts. Image denoising. Stereo estimation. Shape fitting from point clouds. Segmentation. Graph Cuts. 3. 3. 1. 1. 1. 2. 1. 1. 1. 1. 2. 2. 2. 1. 1.
E N D
Petter Strandmark Fredrik Kahl Parallel and DistributedGraph Cuts by Dual Decomposition Lund University
Applications of Graph Cuts Image denoising Stereo estimation Shape fitting from point clouds Segmentation
Graph Cuts 3 3 1 1 1 2 1 1 1 1 2 2 2 1 1 2 S T 5 1 3 1 2 1 1 1 1 2 1 2 1 3 4 Minimum cut: 4
Previous work • Delong and Boykov, CVPR 2008 • Implementation of push-relabel • Excellent speed-up for 2-8 processors • Method of choice for dense 3D graphs • CUDA-cuts: Vineet and Narayanan, CVGPU CVPR 2008 • Push-relabel on GPU • Not clear what range of regularization can be used • L1-norm: Bhusnurmath and Taylor, PAMI 2008 • Solves continuous problem on GPU • Not faster than augmenting paths on single processor
Previous work • Liu and Sun, CVPR 2010 • ” Parallel Graph-cuts by Adaptive Bottom-up Merging” • Splits large graph into several pieces • Augmenting paths found separately • Pieces merged together and search trees reused • Our approach • Graph split into several pieces • Solutions constrained to be equal with dual variables • Shared memory not required See Komodakis et al. in ICCV 2007 for dual decomposition
Dual decomposition • Is converted into • such that . Optimization problem Dualize the constraint! • The dual function is Two separate problems!
Decomposition of graphs = ½ ½ 3 1 1 3 = 1 1 1 1 2 2 1 1 2 2 = 3 3 2 1 1 1 3 1 4 2 ≠ 3 3 2 1 1 1 3 2 4 1 S T
Global solution Û Decomposed Min-cut Problem Original Min-cut Problem • Zero duality gap • Dual function has a maximum such that the constraints are met • Global solution guaranteed! ? Û Û Û Û Dual Linear Program Linear Program Decomposed Linear Program
Integer graphs Theorem: If the graph weights are even integers, there exists an integer vector maximizing the dual function. This means that the dual problem can be solved without floating point arithmetic.
Solution procedure • Begin with a graph • Split into two parts • Constrained to be equalon the overlap - 1 2 = 3 Independent problems!
Results Berkeley segmentation database 301 images 2 processors 4 processors
Convergence 1152 × 1536
Regularization Hard problem: 4 s Easy problem: 230 ms
”Worst case” scenario S T This choice of split severes all possible s/t paths Parallel approach still 30% faster
Multiple computers • LUNARC cluster • 401 × 396 × 312 7 seconds 4 computers • 95 × 98 × 30 × 19 80-connectivity12.3 GB 4 computers • 512 × 512 × 2317 6-connectivity 131 GB 36 computers Not much data need to be exchanged, 54kB in the first example 4D MRI data 3D CT data
Conclusions • Dual decomposition allows: • Faster processing • Solving larger graphs • Open source • C++/Matlab • Python