b- spline snake : a flexible tool for parametric contour detection

51
B-SPLINE SNAKE: A FLEXIBLE TOOL FOR PARAMETRIC CONTOUR DETECTION P. Brigger, J. Hoeg, and M. Unser Presented by Yu-Tseh Chi

Upload: kellan

Post on 23-Mar-2016

50 views

Category:

Documents


3 download

DESCRIPTION

P. Brigger , J. Hoeg , and M. Unser Presented by Yu- Tseh Chi. B- Spline Snake : A Flexible Tool for Parametric Contour Detection. Snake revisited B- Spline curve B-Snake B- Spline Snake Cubic B- Spline snake = Snake Implicit smoothness constraints Results and Discussion - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

B-SPLINE SNAKE: A FLEXIBLE TOOL FOR PARAMETRIC CONTOUR DETECTION

P. Brigger, J. Hoeg, and M. Unser

Presented by Yu-Tseh Chi

Page 2: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

OUTLINES Snake revisited B-Spline curve B-Snake B-Spline Snake

Cubic B-Spline snake = Snake Implicit smoothness constraints

Results and Discussion Conclusion

Page 3: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

SNAKE An energy minimizing parametric curve

guided by external and internal forces.

Internal energy enforce the continuity constraint.

α |s’|2 + β |s’’|2

)}()({min* int sEsEs exts

Page 4: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

SNAKE External energy (data term) attracts

the curve to the image features such as edges and corners.

Page 5: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

DISADVANTAGE OF SNAKE Slow convergence due to large number

of coefficients Difficulty in determining weights

associated with smoothness constraints

Eint = α |s’|2 + β |s’’|2

Description of the curve by a finite set of disconnected points.

High-order derivatives on the discrete curve may not be accurate in noisy environments.

Page 6: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

OUTLINES Snake revisited B-Spline curve B-Snake B-Spline Snake

Cubic B-Spline snake = Snake Implicit smoothness constraints

Results and Discussion Conclusion

Page 7: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

B-SPLINE CURVE A piece-wise polynomial defined by

Ci : control points : basis function of degree d

)()(1

0

uCuS di

N

ii

C0

C1C2

C3

C4

C5

di

Page 8: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

BASIS FUNCTION

ui are called knot values Number of knot values =

Number of ctrl pts + degree +1

otherwise 0 if 1

)(

)(

{0

11

11

11

iii

di

idi

didi

idi

idi

uuuu

(u)βuuuu(u)β

uuuuu

C0

C1C2

C3

C4

C5

Page 9: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

BASIS FUNCTION Different ratios between knot intervals

define different curve For a degree 3 B-Spline curve with 5

control points: u1=[0 1 2 3 4 5 6 7 8] andu2=[0 2 4 6 8 10 12 14 16] define the same curve.

Page 10: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

BASIS FUNCTION

C0

C1C2

C3

C4

C5

otherwise 0 if 1

)(

)(

{0

11

11

11

iii

di

idi

didi

idi

idi

uuuu

(u)βuuuu(u)β

uuuuu

Page 11: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

Important properties Defined by only few parameters Cd-1 continuity

A degree 3 B-Spline curve is C2 continuousDuplicate knot values decrease continuity by 1

B-SPLINE CURVE

C0

C1C2

C3

C4

C5

)()(1

0

uCuS di

N

ii

C0 C1 C2 C3 C4 C5

Page 12: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

Important properties Defined by only few parameters Cd-1 continuity

A degree 3 B-Spline curve is C2 continuousDuplicate knot values decrease continuity by 1

B-SPLINE CURVE)()(

1

0

uCuS di

N

ii

C0 C1 C2 C3 C4 C5

Page 13: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

Important properties Defined by only few parameters Cd-1 continuity

Locality

B-SPLINE CURVE)()(

1

0

uCuS di

N

ii

C0 C1 C2 C3 C4 C5

Page 14: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

CLOSED CURVE For a degree d B-Spline curve, add d

duplicate control points in the end. Add knot values according.

C0

C1

C2

C3

C4

C5 C6

C7

C8

Page 15: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

OUTLINES Snake revisited B-Spline curve B-Snake B-Spline Snake

Cubic B-Spline snake = Snake Implicit smoothness constraints

Results and Discussion Conclusion

Page 16: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

DISADVANTAGE OF SNAKE Slow convergence due to large number

of coefficients Difficulty in determining weights

associated with smoothness constraints

Eint = α |s’|2 + β |s’’|2

Description of the curve by a finite set of disconnected points.

High-order derivatives on the discrete curve may not be accurate in noisy environments.

Page 17: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

B-SNAKE Proposed by Medioni et. al. Curve is replaced by its B-Spline

approximation

Advantages of this formulation Local Control Continuity Less points to apply optimization

)()(1

0

uCuS di

N

ii

Page 18: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

ENERGY FUNCTION OF B-SNAKE

1

0

))}(()))"((()))'((({)(N

i

dii

dii uSFuCuCuE

is the derivative of the basis function

=

F(S(u)) is the data term as defined in the orginal Snake.

)'( di

11

1

1

di

idi

di

idi uud

uud

Page 19: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

ALGORITHM Calculate the ctrl points based on some

points sampled from the user-defined curve.

Update the ctrl pointsCi

k+1= Cik + η*∂E/ ∂ Ci

k

Page 20: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

DISADVANTAGE OF B-SNAKE Does not take advantage of the implicit

smoothness constraint of B-Spline curve.

Still have the regularization term explicitly

1

0

))}(()))"((()))'((({)(N

i

dii

dii uSFuCuCuE

Page 21: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

OUTLINES Snake revisited B-Spline curve B-Snake B-Spline Snake

Cubic B-Spline snake = Snake Implicit smoothness constraints

Results and Discussion Conclusion

Page 22: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

B-SPLINE SNAKE Proposed by Unser et. al. Same formulation as B-Snake

Using to outline contour in an image.

)()(1

0

uCuS di

N

ii

Page 23: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

CONTRIBUTIONS Optimal solution for Snake (a

curvature-constrained E ) is a cubic spline.

Specify initial contour by node points of a B-spline curve instead of control points.

Enforce smoothness constraint implicitly.

Improve speed and robutsness by using a multi-resolution scheme.

Page 24: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

SNAKE = CUBIC SPLINE

Similar formulation to the one of Snake S* is the optimal solution V is the data term. S(k) some points on the curve S(u) 2nd term is the smoothness constraint.

duuskskVuS

ks

2))("())(,(minarg)(*

Page 25: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

SNAKE = CUBIC SPLINE

Define Sint(u) is the cubic spline interpolation of the Snake S(u) and Sint(ui)=S(ui)

Above equation can be rewritten as

duuSkSkVuS

ks

2))("())(,(minarg)(*

duuS

kSkVuSks

)("

))(,(minarg)(* int

Page 26: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

SNAKE = CUBIC SPLINE

Using first integral equation, 2nd term can be rewritten as

duuSkSkVuS

ks

2int ))("())(,(minarg)(*

duuSuS

duuSduuS

2"int

2int

2

))()("(

)(")("

Page 27: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

SNAKE = CUBIC SPLINE

S* is the optimal solution s.t. the energy function is minimized.

The energy function can be minimized if and only if the 3rd term is minimized.

duuSuS

duuSkSkVuSk

s

2"int

2intint

))()("(

))("())(,(minarg)(*

)(*)(* "int

" uSuS

Page 28: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

SNAKE = CUBIC SPLINE

By intergrading twice, S(u) – Sint(u) = au+b Because of the interpolation condition

S(ui) = Sint(ui) , a = 0 and b=0 S(u) = Sint(u)

)(*)(* "int

" uSuS

Page 29: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

SNAKE = CUBIC SPLINE Another way to prove it

Take the Euler-Lagrange of the 2nd term. S(u) is a cubic spline. All Splines can be represented by a B-

Spline. The optimal solution for Snake is a

cubic B-Spline

duuSkSkVuS

ks

2))("())(,(minarg)(*

0)()4( uS

Page 30: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

CONTRIBUTIONS Optimal solution for Snake (a

curvature-constrained E ) is a cubic spline.

Specify initial contour by node points of a B-spline curve instead of control points.

Enforce smoothness constraint implicitly.

Improve speed and robutsness by using a multi-resolution scheme.

Page 31: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

NODES POINTS Provide more intuitive user interaction. Specify a B-spline curve from user

defined node points.

Page 32: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

NODE POINTS Node points are points on the B-Spline

S(u) where u = ui ( are knot values of the B-Spline)

To calculate ctrl points based on given node points, we use

)()( 31

0

uCuS i

N

ii

Control points

Node Points

when u =ui

nn C

CC

uS

uSuS

...

...

...............0...00...

)(......

)()(

1

0

10

210

1

0

N = B*C C=B-1*N

Page 33: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

CONTRIBUTIONS Optimal solution for Snake (a

curvature-constrained E ) is a cubic spline.

Specify initial contour by node points of a B-spline curve instead of control points.

Impose smoothness constraint implicitly.

Improve speed and robutsness by using a multi-resolution scheme.

Page 34: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

IMPLICIT SMOOTHNESS CONSTRAINT

2nd term is the smoothness constraint. Ignore 2nd term, by introducing

smoothness factor h.

duuSkSkVuS

ks

2))("())(,(minarg)(*

Page 35: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

IMPLICIT SMOOTHNESS CONSTRAINT Original parameterization

with u =[0 1 2 3 …. N+3]

We sample points S(ui) on the curve to do the optimization.

)()(1

0

uCuS di

N

ii

Page 36: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

IMPLICIT SMOOTHNESS CONSTRAINT New parameterization

with u =[0 1h 2h …. (N+3)h]

Sample points on S(u) where u is a integer

h decides how dense we want to sample from the curve

)()(1

0

uCuS di

N

ii

h=1 h=2 h=4 h=8

Page 37: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

IMPLICIT SMOOTHNESS CONSTRAINT

h acts as the regularization factor in Snake.

duuSkSkVuS

ks

2))("())(,(minarg)(*

Page 38: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

IMPLICIT SMOOTHNESS CONSTRAINT

h acts as the regularization factor in Snake.

duuSkSkVuS

ks

2))("())(,(minarg)(*

Page 39: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

CONTRIBUTIONS Optimal solution for Snake (a

curvature-constrained E ) is a cubic spline.

Specify initial contour by node points of a B-spline curve instead of control points.

Impose smoothness constraint implicitly.

Improve speed and robutsness by using a multi-resolution scheme.

Page 40: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

MULTI-RESOLUTION SCHEME Used in many Research topic. Image pyramid scheme. To increase speed and prevent local

minimum.

Page 41: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

ENERGY FORMULATION Energy function

g(S(i)) is the external potential function . Smoothed gradient of the input image.

Φ is a smoothing kernel (Guassian)

Page 42: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

OPTIMIZATION

)()( 31

0

uCuS i

N

ii

Page 43: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

Use steepest descent algorithm to obtain new control points.

)(1

i

ki

ki C

CC

Page 44: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

OUTLINES Snake revisited B-Spline curve B-Snake B-Spline Snake

Cubic B-Spline snake = Snake Implicit smoothness constraints

Results and Discussion Conclusion

Page 45: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

RESULTS

Page 46: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

RESULTS

Page 47: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

RESULTS

Page 48: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

RESULTS

Page 49: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

OUTLINES Snake revisited B-Spline curve B-Snake B-Spline Snake

Cubic B-Spline snake = Snake Implicit smoothness constraints

Results and Discussion Conclusion

Page 50: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

CONCLUSIONS Snake = cubic B-spline Improvement of optimization speed by

introducing # of free parameters of Snake curve.

Intuitive user-interaction.

Page 51: B- Spline  Snake :  A Flexible Tool for  Parametric Contour Detection

By Yu-Tseh Chi

THANK YOU! QUESTIONS? Have a nice summer break!