petter strandmark fredrik kahl lund university. image denoising stereo estimation segmentation shape...
Post on 31-Mar-2015
224 Views
Preview:
TRANSCRIPT
Parallel and DistributedGraph Cuts by Dual Decomposition
Petter Strandmark Fredrik Kahl
Lund University
Applications of Graph Cuts
Image denoisingStereo estimation
SegmentationShape fitting from point clouds
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
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
Optimization problemIs converted into
such that .
Two separate problem
s!
The dual function is
Dualize the constraint!
==
=≠
Decomposition of graphs
3
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
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Û
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!
Multiple splits
Multiple splits (3D)
Results
Berkeley segmentation database
301 images
2 processors
4 processors
Convergence
Iteration 1 2 3 4 5 ... 10 11
Differences
108 105 30 33 16 ... 9 0
Time (ms) 245 1.5 1.2 0.1 0.08 ... 0.07 0.47
1152 × 1536
Regularization
Easy problem: 230 ms
Hard problem: 4 s
”Worst case” scenario
S T
This choice of split severes all possible s/t paths
Parallel approach still 30% faster
Multiple computers
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
Conclusions
Dual decomposition allows: Faster processing Solving larger graphs
Open source C++/Matlab Python
top related