Introduction Active Contour –AKA Snakes –Framework for separating an object outline from a possibly noisy 2D image –Minimize an energy associated with the contour as a sum of an internal and external energy
Project Definitions & Goals Implement the Sobolev Algorithm in Matlab using the article “Sobolev Active Contours” by Ganesh Sundaramoorthi. Optimize code through Vectorization Test a suggested optimization for Sobolev
Motivation & Background Theory Chan-Vese method –Region Based Active Contour –Minimization of an energy based-segmentation: –Move Contour according to the Energy Gradient
Motivation & Background Theory Chan Vese method intuition: I = 1 I = 0
Motivation & Background Theory Chan Vese in Action:
Motivation & Background Theory Chan Vese Main Problem - Noise: –Contour becomes non-smooth instantly –Gradient depends on local derivatives: non-smooth curve inaccurate derivatives. –Points evolve independently, not collectively Possible Solution: –Add a penalty to the curve’s length in the Energy function –But then the Energy Function is altered…
Motivation & Background Theory Chan Vese Main Problem Demonstration:
Motivation & Background Theory Sobolev Method –A new way of doing Active Contours –Existing methods can benefit Sobolev main idea: –Represent the set of all smooth curves as an abstract space M. –A path on M looks like a morph between two contours.
Motivation & Background Theory
Region Based Active Contours -The Energy Gradient is the most efficient curve evolution. -Define Sobolev Inner Products based on the abstract space M. -Develop the Sobolev Gradient from the Sobolev Inner Product. -Non smooth contours unlikely due to derivatives in the Sobolev Gradient.
Motivation & Background Theory Minimize the energy defined on contours The gradient is the most efficient perturbation:
Motivation & Background Theory Sobolev Inner Product: Sobolev Gradient:
Motivation & Background Theory Properties of the Sobolev Gradient –Like Chan-Vese, it does not depend on a particular parameterization of the curve. –less sensitive to noise. –Can be implemented on existing methods!!!
Motivation & Background Theory Sobolev implemented on Chan Vese:
Sobolev Algorithm Stages
Suggested Sobolev Improvement After Matlab code was written and verified an improvement to the Sobolev algorithm was suggested. Hypothesis: Sorting the arc length vector, improves the Sobolev method.
Implementation Results Square With Added Noise Original ModelSorted Model
Implementation Results Hand Drawing With Added Noise Original ModelSorted Model
Implementation Results Church Original ModelSorted Model
Implementation Results Boy At The Beach Original ModelSorted Model
Implementation Results Flower Original ModelSorted Model
Conclusion & Future Development Conclusion: Not much noticeable difference between the two models But… –Original Sobolev Model handles noisy images better –Sorted Sobolev model is better tuned to the edges of real images (pointy edges).
Conclusion & Future Development Future Development –Test both models in video tracking –Add level sets to the Chan Vese model