b- spline snake : a flexible tool for parametric contour detection
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 PresentationTRANSCRIPT
B-SPLINE SNAKE: A FLEXIBLE TOOL FOR PARAMETRIC CONTOUR DETECTION
P. Brigger, J. Hoeg, and M. Unser
Presented by Yu-Tseh Chi
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
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
By Yu-Tseh Chi
SNAKE External energy (data term) attracts
the curve to the image features such as edges and corners.
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.
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
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
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
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.
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
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
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
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
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
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
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.
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
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
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
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
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
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
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.
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)(*
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
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
))()("(
)(")("
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
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
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
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.
By Yu-Tseh Chi
NODES POINTS Provide more intuitive user interaction. Specify a B-spline curve from user
defined node points.
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
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.
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)(*
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
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
By Yu-Tseh Chi
IMPLICIT SMOOTHNESS CONSTRAINT
h acts as the regularization factor in Snake.
duuSkSkVuS
ks
2))("())(,(minarg)(*
By Yu-Tseh Chi
IMPLICIT SMOOTHNESS CONSTRAINT
h acts as the regularization factor in Snake.
duuSkSkVuS
ks
2))("())(,(minarg)(*
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.
By Yu-Tseh Chi
MULTI-RESOLUTION SCHEME Used in many Research topic. Image pyramid scheme. To increase speed and prevent local
minimum.
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)
By Yu-Tseh Chi
OPTIMIZATION
)()( 31
0
uCuS i
N
ii
By Yu-Tseh Chi
Use steepest descent algorithm to obtain new control points.
)(1
i
ki
ki C
CC
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
By Yu-Tseh Chi
RESULTS
By Yu-Tseh Chi
RESULTS
By Yu-Tseh Chi
RESULTS
By Yu-Tseh Chi
RESULTS
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
By Yu-Tseh Chi
CONCLUSIONS Snake = cubic B-spline Improvement of optimization speed by
introducing # of free parameters of Snake curve.
Intuitive user-interaction.
By Yu-Tseh Chi
THANK YOU! QUESTIONS? Have a nice summer break!