41
A Fast Algorithm for Variational Level Set Segmentation Tony F. Chan Department of Mathematics, Univ. Calif. Los Angeles SONAD 2003 McMaster University, Ontario, Canada May 2, 2003 Reprints: www.math.ucla.edu/~imagers Supported by ONR and NSF

A Fast Algorithm for Variational Level Set Segmentation

  • Upload
    thetis

  • View
    41

  • Download
    0

Embed Size (px)

DESCRIPTION

A Fast Algorithm for Variational Level Set Segmentation. Tony F. Chan Department of Mathematics, Univ. Calif. Los Angeles SONAD 2003 McMaster University, Ontario, Canada May 2, 2003 Reprints: www.math.ucla.edu/~imagers - PowerPoint PPT Presentation

Citation preview

Page 1: A Fast Algorithm for Variational Level Set Segmentation

A Fast Algorithm for Variational Level Set Segmentation

Tony F. Chan

Department of Mathematics, Univ. Calif. Los Angeles

SONAD 2003

McMaster University, Ontario, Canada

May 2, 2003

Reprints: www.math.ucla.edu/~imagers

Supported by ONR and NSF

(Joint work with Bing Song)

Page 2: A Fast Algorithm for Variational Level Set Segmentation

OUTLINE

• Review of Variational Level Set Segmentation

• Fast Algorithm

Page 3: A Fast Algorithm for Variational Level Set Segmentation

What is an “active contour” ?

Initial Curve Evolutions Detected Objects

objects theof boundaries on the stop tohas curve the

in objectsdetect to curve a evolve

: imagean giving

0

0

uC

u

Page 4: A Fast Algorithm for Variational Level Set Segmentation

A fitting term “without edges”

)(

220

2

)(

10 ||||CoutsideCinside

dxdycudxdycu

where Cuaveragec

Cuaveragec

outside )(

inside )(

02

01

Fit > 0 Fit > 0 Fit > 0 Fit ~ 0

Minimize: (Fitting +Regularization)

Fitting not depending on gradient detects “contours without gradient”

Page 5: A Fast Algorithm for Variational Level Set Segmentation

)( )(

220

210

21,,

||||

))((||),,(inf21

Cinside Coutside

Ccc

dxdycudxdycu

CinsideAreaCCccF

An active contour model “without edges”

Fitting + Regularization terms (length, area)

C = boundary of an open and bounded domain

|C| = the length of the boundary-curve C

(C. + Vese 98)

Page 6: A Fast Algorithm for Variational Level Set Segmentation

Advantages - detects objects without sharp edges

- detects cognitive contours

- robust to noise; no need for pre-smoothing

Examples

Page 7: A Fast Algorithm for Variational Level Set Segmentation

Level Set Representation (S. Osher - J. Sethian ‘87)

Inside C

Outside C

Outside C0

0

0

0C

nn

n

||

,||

Normal

divKCurvaturen

Example: mean curvature motion

* Allows automatic topology changes, cusps, merging and breaking.

•Originally developed for tracking fluid interfaces.

0),(|),( yxyxC

C= boundary of an open domain

Page 8: A Fast Algorithm for Variational Level Set Segmentation

Variational Formulations and Level Sets(Following Zhao, Chan, Merriman and Osher ’96)

The Heaviside function

The level set formulation of the active contour model

0),( :),( yxyxC

0 if ,0

0 if ,1)(

H

dxdyHCinsideArea

HC

)())((

|)(|||Length

dxdyHcyxudxdyHcyxu

dxdyHHccF

ccFcc

))(1(|),(|)(|),(|

)(|)(|),,(

),,(inf

220

210

21

21,, 21

))),((1()),((),( 21 yxHcyxHcyxu

Page 9: A Fast Algorithm for Variational Level Set Segmentation

The Euler-Lagrange equations

),,(inf 21, ,21

ccFcc

dxdyH

dxdyHu

cdxdyH

dxdyHu

c))(1(

))(1(

)( ,)(

)(

)(0

2

0

1

),,(for Equation yxt

),(),,0(

)()(||

)(

0

220

210

yxyx

cucudivt

2 1 andfor Equations cc

Using smooth approximations for the Heaviside and Delta functions

Page 10: A Fast Algorithm for Variational Level Set Segmentation

Advantages

Automatically detects interior contours!

Works very well for concave objects

Robust w.r.t. noise

Detects blurred contours

The initial curve can be placed anywhere!

Allows for automatical change of topolgy

Experimental ResultsC of Evolution ),( Averages 21 cc

Page 11: A Fast Algorithm for Variational Level Set Segmentation

A plane in a noisy environment

A galaxy

Page 12: A Fast Algorithm for Variational Level Set Segmentation

From Active Contours (2D) to Active Surfaces (3D)

MRI DATA FROM LONI-UCLA

Page 13: A Fast Algorithm for Variational Level Set Segmentation

Extension to Vector-Valued ImagesTony F. CHAN & Luminita VESE & B. Yezrielev SANDBERG

Applications

* Color images (RGB)

* Multi-spectral (PET, MRI, CT)

channels ),,...,,( ,02,01,00 Nuuuu N

Vector-Valued image:

ectorsconstant v are , 21 cc

The model

)( )(

2,2,0

2,1,0

21

||||

))(()(),,(

Cinside Coutside

iiiii

dxdycudxdycu

CinsideAreaCLengthCccF

(averages of each channel inside and outside the curve)

* The model can be solved using level sets, similar with the scalar case

),,(inf 21,, 21

CccFCcc

Page 14: A Fast Algorithm for Variational Level Set Segmentation

Channel 1 with occlusion Channel 2 with noise

Recovered object and averages

Extension to Vector-Valued Images

Page 15: A Fast Algorithm for Variational Level Set Segmentation

Color (RGB) picture Intensity (gray-level) picture

R G B

Recovered objects and contours in RGB mode

Color Images

Page 16: A Fast Algorithm for Variational Level Set Segmentation

45 transforms of image with Gabor function

F F

F

120

150

180

120

150

180

120

150

180

User Picked Gabor transforms yield final contour

Active Contour for Texture

Page 17: A Fast Algorithm for Variational Level Set Segmentation

Logic Operators on Multi-Channel Active Contour

(Chan, Sandberg 2001)• An Example for two channel logical segmentation:

1A 2A

21 (a) AA 21 (b) AA 21 ~ (c) AA

Page 18: A Fast Algorithm for Variational Level Set Segmentation

1A 2A

Original image with contour overlapping

Contour only

Time evolution for finding the “tumor” in the first image that is not in the second.

Example of an Application

Page 19: A Fast Algorithm for Variational Level Set Segmentation

0

0

2

1

0

0

2

1

0

0

2

1

0

0

2

1

0

0

4-phase segmentation2 level set functions

2-phase segmentation1 level set function

}0{

:Curves

}0{}0{

:Curves

21

Multiphase level set representations and partitions allows for triple junctions, with no vacuum and no overlap of phases phases 2 ),...,( 1

nn

Page 20: A Fast Algorithm for Variational Level Set Segmentation

Example: two level set functions and four phases

|)(||)(|

))(1))((1(||)())(1(||

))(1)((||)()(||),(

Energy

))(1))((1()())(1(

))(1)(()()(

vectorConstant ),,,(

functionsset level The ),(

21

212

000212

010

212

100212

110),(

21002101

21102111

00011011

21

HH

dxdyHHcudxdyHHcu

dxdyHHcudxdyHHcucFInf

HHcHHc

HHcHHcu

ccccc

c

0,0 ,0,0 ,0,0 ,0,0

:segmentsor phases 4 ),( functionsset level 2

21212121

21

Page 21: A Fast Algorithm for Variational Level Set Segmentation

Phase 11 Phase 10 Phase 01 Phase 00

mean(11)=45 mean(10)=159 mean(01)=9 mean(00)=103

An MRI brain image

Page 22: A Fast Algorithm for Variational Level Set Segmentation

Three level set functions representing up to eight phases Six phases are detected, together with the triple junctions.

T

Evolution of the 3 level sets Segmented image

Evolution of the 3 individual level sets.

Page 23: A Fast Algorithm for Variational Level Set Segmentation

OUTLINE

• Review of Variational Level Set Segmentation

• Fast Algorithm

Page 24: A Fast Algorithm for Variational Level Set Segmentation

A Fast Algorithm for Level Set Based Optimization

(Bing Song and Tony Chan, 2003)

Available at www.math.ucla.edu/applied/cam/index.html

CAM 02-68

(Related work by Gibou & Fedkiw)

Page 25: A Fast Algorithm for Variational Level Set Segmentation

Motivation

• Minimize level set based functional

• Examples:– Image segmentation– Inverse problem– Shape analysis and optimization– Data Clustering– …

))((min

HF

Page 26: A Fast Algorithm for Variational Level Set Segmentation

How to solve it?

• Drawback– Slow (CFL)

– F need to be differentiable

))(( HFt

• Usually use gradient descent flow

Page 27: A Fast Algorithm for Variational Level Set Segmentation

An Insight

• Segmentation only needs sign of but not its value

• Direct search making use of objective function does not require derivatives of functional

Page 28: A Fast Algorithm for Variational Level Set Segmentation

New Algorithm

1. Initialization. Partition the domain into and

2. Advance. For each point x in the domain, if the energy F lower when we change to , then update this point.

3. Repeat step 2 until the energy F remains unchanged

0

0

)(x

)(x

Page 29: A Fast Algorithm for Variational Level Set Segmentation

An example: Chan-Vese model

))(1(||

)(|||)(|(),),((

2202

210121

Hcu

HcuHccHF

Page 30: A Fast Algorithm for Variational Level Set Segmentation

Core Step of Algorithm

0

0

0

1)(

~1

)(~

1~

1~

2222

2111

222

111

n

ncuFF

m

mcuFF

n

uccc

m

uccc

lengthinchangem

mcu

n

ncuF

1)(

1)( 2

12

212

Change in F if is changed to at a pixel:0 0

Page 31: A Fast Algorithm for Variational Level Set Segmentation

How to calculate length term?

2,11,

2,,1 ))()(())()((|)(| jijijijiij HHHHH

Change in length term can be updated locally.

Only possible value for length term locally is 0, 1, sqrt(2) depending the 3 points in the length term belong to the same region or not.

Page 32: A Fast Algorithm for Variational Level Set Segmentation

A 2-phase example

(a), (b), (c), (d) are four different initial condition.All of them converge in one sweep!

Page 33: A Fast Algorithm for Variational Level Set Segmentation

Example with Noise

Converged in 4 steps.

(Gradient Descent on Euler-Lagrange took > 400 steps.)

Page 34: A Fast Algorithm for Variational Level Set Segmentation

Convergence of the algorithm

Theorem: For a two phase image, the algorithm will converge in one sweep, independent of sweeping order.

00

0

0

Proof considers the following 2 cases:

Green part of inside of contour will flip sign. Only one of the 2 black parts can change sign

Page 35: A Fast Algorithm for Variational Level Set Segmentation

Why is 1-step convergence possible?

• Problem is global: usually cannot have finite step convergence based on local updates only

• But, in our case, we can exactly calculate the global energy change via local update (can update global average locally)

Page 36: A Fast Algorithm for Variational Level Set Segmentation

Application to piecewise linear CV model(Vese 2002)

))(1(||

)(|||)(|(),),((

221002

22100121

Hybxbbu

HyaxaauHccHF

Original P.W.Constant

Converged in 4 steps

P.W. Linear

Converged in 6 steps

Page 37: A Fast Algorithm for Variational Level Set Segmentation

Application to multiphase CV model(C.- Vese 2000)

• Using n level set to represent 2n phases.

mIi

nIIIn HdxdycucF

m 121

20 |)(|||),(

Page 38: A Fast Algorithm for Variational Level Set Segmentation

Multiphase CV model (cont’d)

Converged in 1 step.

Page 39: A Fast Algorithm for Variational Level Set Segmentation

Gibou and Fedkiw’s method (02)• First, discard the stiff length term in E-L:

• Take large time step enough to change sign

• If , then

• Followed by anisotropic diffusion to handle noise

• Difference (Ours wrt GF):– A unified framework to handle length term

– F does not need to be differentiable

)(:)()( 222

211 xVcucu

dt

d

0)()( xVx ))(()( xsignx

Page 40: A Fast Algorithm for Variational Level Set Segmentation

Conclusion• A fast algorithm to solve the Chan-Vese

segmentation models.• 1-step convergence for 2 phase images (no reg.).• Robust wrt noise: 3-4 step convergence.• The gradient of functional is not needed.• We think it can be applied to more general level

set based optimization problems.• In general, cannot expect finite step convergence

(need global change from local update). Can get stuck in local minima.

Page 41: A Fast Algorithm for Variational Level Set Segmentation

That’s all.

Thank you for your patience!

That’s all.

Thank you for your patience!