s i e m e n s c o r p o r a t e r e s e a r c h 1 1 computing exact discrete minimal surfaces:...

30
S I E M E N S C O R P O R A T E R E S E A R C H 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with Application to Segmentation Leo Grady Department of Imaging and Visualization Siemens Corporate Research

Upload: roland-conley

Post on 25-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

1

Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

Application to Segmentation

Leo Grady Department of Imaging and Visualization

Siemens Corporate Research

Page 2: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

2

Outline

• Introduction

• Extending the shortest path problem to 3D

• Method for computation

• Results

• Conclusion

Page 3: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

3

A shortest path is easy to find in 3D, but it is no longer a boundary

Introduction – Shortest path in 3D

Page 4: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

4

Introduction – Minimal boundary segmentation

Minimal segmentation specified two waysCutting edges/specifying normals

Graph CutsMax-flow/Min-cut

Specifying boundary

Intelligent scissors/Live wireDijkstra’s algorithm

44 image 44 weighted graph

abstraction

Page 5: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

5

Specifying boundary Shortest path on dual graph =

Sometimes called “cracks” or “edgels”

Introduction – Minimal boundary segmentation

Page 6: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

6

444 volume Primal - Cuts

Max-flow/Min-cut

Dual - Surfaces

???

Introduction – Minimal boundary segmentation

Page 7: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

7

Q: Why bother if you have max-flow/min-cut?A: Different inputs, different outputs

Max-flow/min-cutInput: Source (inside) and terminal (outside)

Output: Closed contour/surface

Shortest path/min surfaceInput: A piece of the boundary

Output: Open contour/surface

Different algorithmic complexity

Both algorithms persist in 2D, but max-flow/min-cut only option in 3D

Introduction – Minimal boundary segmentation

Page 8: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

8

Outline

• Introduction

• Extending the shortest path problem to 3D

• Method for computation

• Results

• Conclusion

Page 9: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

9

Extending the Shortest Path ProblemInput: Two points (0D boundary)Output: Minimum 1D path having that boundary

How to extend problem to 3D?

Path is shortest relative to weighting (metric)

0-dimensional boundaryminimal 1-dimensional object

Page 10: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

10

Extending the Shortest Path ProblemInput: Closed contour (1D boundary)Output: Minimum 2D surface having that boundary

minimal 2-dimensional object

1-dimensional boundary

Surface is minimal relative to weighting (metric)

Page 11: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

11

Extending the Shortest Path Problem2D intelligent scissors/live wire ubiquitous segmentation method

Page 12: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

12

Red – Initial (boundary) contoursYellow – Computed minimal surface contours

Extending the Shortest Path Problem

Page 13: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

13

Outline

• Introduction

• Extending the shortest path problem to 3D

• Method for computation

• Results

• Conclusion

Page 14: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

14

Method

How to compute?

Use boundary operator to enforce constraint

: 1D 0D : 2D 1D

Page 15: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

15

MethodMinimize path/surface

2D

- Binary vector indicating presence/absence of edge in path

- Weights of each edge in the graph

- Vector indicating nodes in boundary

- Node-edge incidence matrix

3D

- Weights of each face in the complex

- Binary vector indicating presence/absence of face in surface

Use boundary operator as constraint

Subject to: - Vector indicating edges in boundary

Since boundary operator is linear, representable by a matrixSubject to:

- Edge-face incidence matrix

Page 16: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

16

Continuum interpretation - I

Use generalized Stokes Theorem:

: 1D 0D : 2D 1D

Fundamental Theorem of calculus:

“Standard” Stokes Theorem

Careful! Instead of bivectors, formulated in “primal” space

Method - Digression

Page 17: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

17

Continuum interpretation - II

Use boundary as constraint

Method - Digression

Subject to:

RHS consists of a unit closed contour

3D

- Vector field taking nonzeros on the normals of the surface

- Ambient vector field (e.g., derived from image gradients)

2D

- Vector field taking nonzeros along minimal path

RHS consists of two delta functions at endpoints

- Ambient vector field (e.g., derived from image gradients)

Page 18: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

18

Method

Minimal surface problem

Subject to:

Integer programming problem – Bad!

However:Sometimes we can apply linear programming toan integer programming problem and guaranteean integer solution.

Page 19: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

19

MethodMinimal surface problem

Subject to:

If constraints are feasible, then

For some integer . Therefore,

For the matrix spanning the nullspace of

So, we can rewrite the problem in terms of

Joint work with Vladimir Kolmogorov

Page 20: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

20

MethodOriginal minimal surface problem

Subject to:

New minimal surface problem

Subject to:

Guaranteed to give an integer solution for an integer iff is totally unimodular. A matrix is totally unimodular if every square submatrix has a determinant equal to one of the set

Page 21: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

21

MethodNew minimal surface problem

Subject to:

Big question:What is ?

The volume-face boundary operator

: 3D 2D Followed by the : 2D 1D, gives zero

May also be stated as:“The boundary of the boundary is zero”

Page 22: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

22

Method

Volume-face incidencein dual lattice

is node-edge incidencein primal lattice

Dual Primal

Page 23: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

23

Method

New minimal surface problem

Subject to:

Since all node-edge incidence matrices are totally unimodular is guaranteed to be integer, and therefore

is guaranteed to be integer.

Page 24: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

24

Method

Solvable using generic linear programming code!

Conclusion:Minimal surface problem

Subject to:

(and so is the other formulation)

Subject to:

Page 25: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

25

Outline

• Introduction

• Extending the shortest path problem to 3D

• Method for computation

• Results

• Conclusion

Page 26: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

26

Results - Correctness

Page 27: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

27

Red – Initial (boundary) contoursYellow – Computed minimal surface contours

Results – 3D Segmentation

Page 28: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

28

Outline

• Introduction

• Extending the shortest path problem to 3D

• Method for computation

• Results

• Conclusion

Page 29: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

29

Conclusion

1. Natural extension of shortest path given two pointsis minimal surface given a closed contour

2. Minimal surface problem solvable with generic linearprogramming code

3. There are, in fact, two integral linear programming problems that could be solved to achieve the solution

Page 30: S I E M E N S C O R P O R A T E R E S E A R C H 1 1 Computing Exact Discrete Minimal Surfaces: Extending and Solving the Shortest Path Problem in 3D with

S

I E

M E

N S

C O

R P

O R

A T

E

R

E S

E A

R C

H

30

More Information

My webpage:http://cns.bu.edu/~lgrady

MATLAB toolbox for graph theoretic image processing at:http://eslab.bu.edu/software/graphanalysis/

Writings and code

Combinatorial minimal surface MATLAB code:http://cns.bu.edu/~lgrady/minimal_surface_matlab_code.zip

AcknowledgementsMarie-Pierre Jolly – Posing the problem

Gareth Funka-Lea – Support and enthusiasm for the work

Yuri Boykov – Enthusiasm and encouragement of the topic

Chenyang Xu – Extensive comments on the paper

Vladimir Kolmogorov – Technical analysis of LP problem