parallel and distributed graph cuts by dual decomposition
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Parallel and Distributed Graph Cuts by Dual Decomposition](https://reader035.vdocuments.us/reader035/viewer/2022062521/56816791550346895ddcc4c2/html5/thumbnails/1.jpg)
Parallel and DistributedGraph Cuts by Dual Decomposition
Petter Strandmark Fredrik Kahl
Lund University
![Page 2: Parallel and Distributed Graph Cuts by Dual Decomposition](https://reader035.vdocuments.us/reader035/viewer/2022062521/56816791550346895ddcc4c2/html5/thumbnails/2.jpg)
Applications of Graph Cuts
Image denoising Stereo estimation
SegmentationShape fitting from point clouds
![Page 3: Parallel and Distributed Graph Cuts by Dual Decomposition](https://reader035.vdocuments.us/reader035/viewer/2022062521/56816791550346895ddcc4c2/html5/thumbnails/3.jpg)
Graph Cuts
S T
2
1
1
3
1
1
3
1
2
1
3
2
11
2
1
5
2
1
1
4
23
1 1 22 1 1
Minimum cut: 4
1 1
![Page 4: Parallel and Distributed Graph Cuts by Dual Decomposition](https://reader035.vdocuments.us/reader035/viewer/2022062521/56816791550346895ddcc4c2/html5/thumbnails/4.jpg)
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
![Page 5: Parallel and Distributed Graph Cuts by Dual Decomposition](https://reader035.vdocuments.us/reader035/viewer/2022062521/56816791550346895ddcc4c2/html5/thumbnails/5.jpg)
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
![Page 6: Parallel and Distributed Graph Cuts by Dual Decomposition](https://reader035.vdocuments.us/reader035/viewer/2022062521/56816791550346895ddcc4c2/html5/thumbnails/6.jpg)
Dual decompositionOptimization problemIs converted into
such that .
Two separate problem
s!
The dual function is
Dualize the constraint!
![Page 7: Parallel and Distributed Graph Cuts by Dual Decomposition](https://reader035.vdocuments.us/reader035/viewer/2022062521/56816791550346895ddcc4c2/html5/thumbnails/7.jpg)
===≠
Decomposition of graphs3
1
1
3
1
1
4
23
1 21
1
34
23
1
2
1
3
2
11
2
12
1
11
2
3
1
3
x2x1 y1 S T
½½
𝜆4 𝜆4y2
![Page 8: Parallel and Distributed Graph Cuts by Dual Decomposition](https://reader035.vdocuments.us/reader035/viewer/2022062521/56816791550346895ddcc4c2/html5/thumbnails/8.jpg)
Global solution
Zero duality gap Dual function has a maximum such that
the constraints are met Global solution guaranteed!
OriginalMin-cut Problem
DecomposedMin-cut Problem
Û?
Û
Linear Progra
mÛ Dual Linear
Program
Û
Decomposed Linear
ProgramÛ
![Page 9: Parallel and Distributed Graph Cuts by Dual Decomposition](https://reader035.vdocuments.us/reader035/viewer/2022062521/56816791550346895ddcc4c2/html5/thumbnails/9.jpg)
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.
![Page 10: Parallel and Distributed Graph Cuts by Dual Decomposition](https://reader035.vdocuments.us/reader035/viewer/2022062521/56816791550346895ddcc4c2/html5/thumbnails/10.jpg)
Solution procedure
Begin with a graph
Split into two parts
Constrained to be equalon the overlap
-123
=
Independent problems!
![Page 11: Parallel and Distributed Graph Cuts by Dual Decomposition](https://reader035.vdocuments.us/reader035/viewer/2022062521/56816791550346895ddcc4c2/html5/thumbnails/11.jpg)
Multiple splits
![Page 12: Parallel and Distributed Graph Cuts by Dual Decomposition](https://reader035.vdocuments.us/reader035/viewer/2022062521/56816791550346895ddcc4c2/html5/thumbnails/12.jpg)
Multiple splits (3D)
![Page 13: Parallel and Distributed Graph Cuts by Dual Decomposition](https://reader035.vdocuments.us/reader035/viewer/2022062521/56816791550346895ddcc4c2/html5/thumbnails/13.jpg)
ResultsBerkeley segmentation database
301 images
2 processors
4 processors
![Page 14: Parallel and Distributed Graph Cuts by Dual Decomposition](https://reader035.vdocuments.us/reader035/viewer/2022062521/56816791550346895ddcc4c2/html5/thumbnails/14.jpg)
Convergence
Iteration 1 2 3 4 5 ... 10 11Differences
108 105 30 33 16 ... 9 0
Time (ms) 245 1.5 1.2 0.1 0.08 ... 0.07 0.47
1152 × 1536
![Page 15: Parallel and Distributed Graph Cuts by Dual Decomposition](https://reader035.vdocuments.us/reader035/viewer/2022062521/56816791550346895ddcc4c2/html5/thumbnails/15.jpg)
Regularization
Easy problem: 230 ms
Hard problem: 4 s
![Page 16: Parallel and Distributed Graph Cuts by Dual Decomposition](https://reader035.vdocuments.us/reader035/viewer/2022062521/56816791550346895ddcc4c2/html5/thumbnails/16.jpg)
”Worst case” scenario
S T
This choice of split severes all possible s/t paths
Parallel approach still 30% faster
![Page 17: Parallel and Distributed Graph Cuts by Dual Decomposition](https://reader035.vdocuments.us/reader035/viewer/2022062521/56816791550346895ddcc4c2/html5/thumbnails/17.jpg)
Multiple computers
![Page 18: Parallel and Distributed Graph Cuts by Dual Decomposition](https://reader035.vdocuments.us/reader035/viewer/2022062521/56816791550346895ddcc4c2/html5/thumbnails/18.jpg)
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-connectivity131 GB 36 computers
Not much data need to be exchanged, 54kB in the first example
4D MRI data
3D CT data
![Page 19: Parallel and Distributed Graph Cuts by Dual Decomposition](https://reader035.vdocuments.us/reader035/viewer/2022062521/56816791550346895ddcc4c2/html5/thumbnails/19.jpg)
Conclusions
Dual decomposition allows: Faster processing Solving larger graphs
Open source C++/Matlab Python