Snakes, Strings, Balloons and Other Active Contour Models.
-
Upload
ezra-rogers -
Category
Documents
-
view
219 -
download
2
Transcript of Snakes, Strings, Balloons and Other Active Contour Models.
![Page 1: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/1.jpg)
Snakes, Strings, BalloonsSnakes, Strings, Balloonsand Other Active Contour Modelsand Other Active Contour Models
![Page 2: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/2.jpg)
GoalGoal
• Start with image and initial closed curveStart with image and initial closed curve
• Evolve curve to lie along “important” Evolve curve to lie along “important” featuresfeatures– EdgesEdges
– CornersCorners
– Detected featuresDetected features
– User inputUser input
![Page 3: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/3.jpg)
ApplicationsApplications
• Region selection in PhotoshopRegion selection in Photoshop
• Segmentation of medical imagesSegmentation of medical images
• TrackingTracking
![Page 4: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/4.jpg)
Corpus CallosumCorpus Callosum
[Davatzikos and Prince][Davatzikos and Prince]
![Page 5: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/5.jpg)
Corpus CallosumCorpus Callosum
[Davatzikos and Prince][Davatzikos and Prince]
![Page 6: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/6.jpg)
User-Visible OptionsUser-Visible Options
• Initialization:Initialization: user-specified, automatic user-specified, automatic
• Curve properties:Curve properties: continuity, continuity, smoothnesssmoothness
• Image features:Image features: intensity, edges, intensity, edges, corners, …corners, …
• Other forces:Other forces: hard constraints, springs, hard constraints, springs, attractors, repulsors, …attractors, repulsors, …
• Scale:Scale: local, multiresolution, global local, multiresolution, global
![Page 7: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/7.jpg)
Behind-the-Scenes OptionsBehind-the-Scenes Options
• Framework:Framework: energy minimization, forces energy minimization, forces acting on curveacting on curve
• Curve representation:Curve representation: ideal curve, ideal curve, sampled, spline, implicit functionsampled, spline, implicit function
• Evolution method:Evolution method: calculus of calculus of variations, numerical differential variations, numerical differential equations, local searchequations, local search
![Page 8: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/8.jpg)
Snakes: Active Contour ModelsSnakes: Active Contour Models
• Introduced by Kass, Witkin, and Introduced by Kass, Witkin, and TerzopoulosTerzopoulos
• Framework: energy minimizationFramework: energy minimization– Bending and stretching curve = more Bending and stretching curve = more
energyenergy
– Good features = less energyGood features = less energy
– Curve evolves to minimize energyCurve evolves to minimize energy
• Also “Deformable Contours”Also “Deformable Contours”
![Page 9: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/9.jpg)
Snakes Energy EquationSnakes Energy Equation
• Parametric representation of curveParametric representation of curve
• Energy functional consists of three Energy functional consists of three termsterms
)(),()( sysxs v )(),()( sysxs v
dssss conimg )()()(int vvv dssss conimg )()()(int vvv
![Page 10: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/10.jpg)
Internal EnergyInternal Energy
• First term is “membrane” term – minimum First term is “membrane” term – minimum energy when curve minimizes lengthenergy when curve minimizes length(“soap bubble”)(“soap bubble”)
• Second term is “thin plate” term – Second term is “thin plate” term – minimum energy when curve is smoothminimum energy when curve is smooth
2)()()()()(22
int sssss sss vvv 2)()()()()(22
int sssss sss vvv
![Page 11: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/11.jpg)
Internal EnergyInternal Energy
• Control Control and and to vary between to vary between extremesextremes
• Set Set to 0 at a point to allow corner to 0 at a point to allow corner
• Set Set to 0 everywhere to let curve follow to 0 everywhere to let curve follow sharp creases – “strings”sharp creases – “strings”
2)()()()()(22
int sssss sss vvv 2)()()()()(22
int sssss sss vvv
![Page 12: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/12.jpg)
Image EnergyImage Energy
• Variety of terms give different effectsVariety of terms give different effects
• For example,For example,
minimizes energy at intensity minimizes energy at intensity IIdesireddesired
desiredimg IyxIw ),( desiredimg IyxIw ),(
![Page 13: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/13.jpg)
Edge AttractionEdge Attraction
• Gradient-based:Gradient-based:
• Laplacian-based:Laplacian-based:
• In both cases, can smooth with GaussianIn both cases, can smooth with Gaussian
2),( yxIwimg 2),( yxIwimg
22 ),( yxIwimg 22 ),( yxIwimg
![Page 14: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/14.jpg)
Corner AttractionCorner Attraction
• Can use corner detector we saw last Can use corner detector we saw last timetime
• Alternatively, let Alternatively, let = tan = tan-1-1 I Iyy / I / Ixx
and let and let nnbe a unit vector perpendicular be a unit vector perpendicular
to the gradient. Thento the gradient. Then
n
wimg
n
wimg
![Page 15: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/15.jpg)
Constraint ForcesConstraint Forces
• SpringSpring
• RepulsionRepulsion
2xv kcon 2xv kcon
2xv
k
con 2xv
k
con
![Page 16: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/16.jpg)
Evolving CurveEvolving Curve
• Computing forces on v that locally Computing forces on v that locally minimize energy gives differential equation minimize energy gives differential equation for for vv– Euler-Lagrange formulaEuler-Lagrange formula
• Discretize v: samples (Discretize v: samples (xxii, , yyii))
– Approximate derivatives with finite differencesApproximate derivatives with finite differences
• Iterative numerical solverIterative numerical solver
02
2
vvds
d
vds
d
02
2
vvds
d
vds
d
![Page 17: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/17.jpg)
Other Curve Evolution OptionsOther Curve Evolution Options
• Exact solution: calculus of variationsExact solution: calculus of variations
• Write equations directly in terms of Write equations directly in terms of forces,forces,not energynot energy
• Implicit equation solverImplicit equation solver
• Search neighborhood of each (Search neighborhood of each (xxii, , yyii) for ) for
pixel that minimizes energypixel that minimizes energy– Shah & Williams paperShah & Williams paper
![Page 18: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/18.jpg)
Variants on SnakesVariants on Snakes
• Balloons [Cohen 91]Balloons [Cohen 91]– Add inflation forceAdd inflation force
– Helps avoid getting stuck on small featuresHelps avoid getting stuck on small features
)(skFinfl n )(skFinfl n
![Page 19: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/19.jpg)
BalloonsBalloons
[Cohen 91][Cohen 91]SnakesSnakes
BalloonsBalloons
![Page 20: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/20.jpg)
BalloonsBalloons
[Cohen 91][Cohen 91]
![Page 21: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/21.jpg)
Other Energy or Force TermsOther Energy or Force Terms
• Results of previously-run local Results of previously-run local algorithmsalgorithms– e.g., Canny edge detector output convolvede.g., Canny edge detector output convolved
with Gaussianwith Gaussian
• Automatically-evolved control pointsAutomatically-evolved control points
• Others…Others…
![Page 22: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/22.jpg)
Brain Cortex SegmentationBrain Cortex Segmentation
Add energy term for constant-color regions of a single colorAdd energy term for constant-color regions of a single color
Davatzikos and PrinceDavatzikos and Prince
![Page 23: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/23.jpg)
Brain Cortex SegmentationBrain Cortex Segmentation
Davatzikos and PrinceDavatzikos and Prince
![Page 24: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/24.jpg)
Brain Cortex SegmentationBrain Cortex Segmentation
Davatzikos and PrinceDavatzikos and Prince
Find featuresFind featuresand addand addconstraintsconstraints
![Page 25: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/25.jpg)
Brain Cortex SegmentationBrain Cortex Segmentation
Davatzikos and PrinceDavatzikos and Prince
![Page 26: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/26.jpg)
ScaleScale
• In the simplest snakes algorithm, image In the simplest snakes algorithm, image features only attract locallyfeatures only attract locally
• Greater region of attraction: smooth imageGreater region of attraction: smooth image– Curve might not follow high-frequency detailCurve might not follow high-frequency detail
• Multiresolution processingMultiresolution processing– Start with smoothed image to attract curveStart with smoothed image to attract curve
– Finish with unsmoothed image to get detailsFinish with unsmoothed image to get details
• Heuristic for Heuristic for globalglobal minimum vs. local minimum vs. local minimaminima
![Page 27: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/27.jpg)
Diffusion-Based MethodsDiffusion-Based Methods
• Another way to attract curve to Another way to attract curve to localized features: localized features: vector flowvector flow or or diffusiondiffusion methods methods
• Example:Example:– Find edges using CannyFind edges using Canny
– For each point, compute distance toFor each point, compute distance tonearest edgenearest edge
– Push curve along gradient of distance fieldPush curve along gradient of distance field
![Page 28: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/28.jpg)
Gradient Vector FieldsGradient Vector Fields
Xu and PrinceXu and Prince
![Page 29: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/29.jpg)
Gradient Vector FieldsGradient Vector Fields
Xu and PrinceXu and Prince
Simple SnakeSimple Snake With Gradient Vector FieldWith Gradient Vector Field
![Page 30: Snakes, Strings, Balloons and Other Active Contour Models.](https://reader037.fdocuments.us/reader037/viewer/2022103122/56649ceb5503460f949b79cb/html5/thumbnails/30.jpg)
Gradient Vector FieldsGradient Vector Fields
Xu and PrinceXu and Prince