petter strandmark fredrik kahl lund university. image denoising stereo estimation segmentation shape...

Post on 31-Mar-2015

224 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

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