Active Contours/Snakes

Similar documents
Fitting: Deformable contours April 26 th, 2018

CS 534: Computer Vision Model Fitting

SIGGRAPH Interactive Image Cutout. Interactive Graph Cut. Interactive Graph Cut. Interactive Graph Cut. Hard Constraints. Lazy Snapping.

Fitting & Matching. Lecture 4 Prof. Bregler. Slides from: S. Lazebnik, S. Seitz, M. Pollefeys, A. Effros.

Active Contour Models

Segmentation. Separate image into coherent regions

Learning the Kernel Parameters in Kernel Minimum Distance Classifier

Outline. Type of Machine Learning. Examples of Application. Unsupervised Learning

LECTURE : MANIFOLD LEARNING

A B-Snake Model Using Statistical and Geometric Information - Applications to Medical Images

Unsupervised Learning

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision

Support Vector Machines. CS534 - Machine Learning

Multi-view 3D Position Estimation of Sports Players

Multi-stable Perception. Necker Cube

Hermite Splines in Lie Groups as Products of Geodesics

12/2/2009. Announcements. Parametric / Non-parametric. Case-Based Reasoning. Nearest-Neighbor on Images. Nearest-Neighbor Classification

Range images. Range image registration. Examples of sampling patterns. Range images and range surfaces

Lecture 9 Fitting and Matching

The Greedy Method. Outline and Reading. Change Money Problem. Greedy Algorithms. Applications of the Greedy Strategy. The Greedy Method Technique

Performance Evaluation of Information Retrieval Systems

LEAST SQUARES. RANSAC. HOUGH TRANSFORM.

Fitting and Alignment

Biostatistics 615/815

Machine Learning: Algorithms and Applications

Multiobjective fuzzy optimization method

6.854 Advanced Algorithms Petar Maymounkov Problem Set 11 (November 23, 2005) With: Benjamin Rossman, Oren Weimann, and Pouya Kheradpour

Support Vector Machines

Smoothing Spline ANOVA for variable screening

Outline. Discriminative classifiers for image recognition. Where in the World? A nearest neighbor recognition example 4/14/2011. CS 376 Lecture 22 1

Image Representation & Visualization Basic Imaging Algorithms Shape Representation and Analysis. outline

Fitting: Voting and the Hough Transform

Machine Learning. Support Vector Machines. (contains material adapted from talks by Constantin F. Aliferis & Ioannis Tsamardinos, and Martin Law)

Support Vector Machines

Machine Learning. Topic 6: Clustering

D.M. Gavrila. Computer Vision Laboratory, CfAR, eighties among others [1], [4]-[6], [8]-[12], [14]-[16].

(a) Fgure 1: Ill condtoned behavor of the dynamc snakes wth respect to ntalzaton. (a) Slghtly derent ntalzatons: the snake s ntalzed usng a polygon wt

Learning Ensemble of Local PDM-based Regressions. Yen Le Computational Biomedicine Lab Advisor: Prof. Ioannis A. Kakadiaris

Image Alignment CSC 767

Application of Learning Machine Methods to 3 D Object Modeling

Ecient Computation of the Most Probable Motion from Fuzzy. Moshe Ben-Ezra Shmuel Peleg Michael Werman. The Hebrew University of Jerusalem

3D vector computer graphics

Lecture 3: Computer Arithmetic: Multiplication and Division

A Hierarchical Deformable Model Using Statistical and Geometric Information

Snake-Based Segmentation of Teeth from Virtual Dental Casts

y and the total sum of

Collaboratively Regularized Nearest Points for Set Based Recognition

Kent State University CS 4/ Design and Analysis of Algorithms. Dept. of Math & Computer Science LECT-16. Dynamic Programming

11. APPROXIMATION ALGORITHMS

News. Recap: While Loop Example. Reading. Recap: Do Loop Example. Recap: For Loop Example

K-means and Hierarchical Clustering

Feature Reduction and Selection

An Entropy-Based Approach to Integrated Information Needs Assessment

High level vs Low Level. What is a Computer Program? What does gcc do for you? Program = Instructions + Data. Basic Computer Organization

Lobachevsky State University of Nizhni Novgorod. Polyhedron. Quick Start Guide

Lecture 5: Multilayer Perceptrons

A MOVING MESH APPROACH FOR SIMULATION BUDGET ALLOCATION ON CONTINUOUS DOMAINS

Improvement of Spatial Resolution Using BlockMatching Based Motion Estimation and Frame. Integration

Dynamic Neighborhoods in Active Surfaces for 3D Segmentation

EECS 730 Introduction to Bioinformatics Sequence Alignment. Luke Huan Electrical Engineering and Computer Science

Problem Set 3 Solutions

CS434a/541a: Pattern Recognition Prof. Olga Veksler. Lecture 15

Classifier Swarms for Human Detection in Infrared Imagery

Simplification of 3D Meshes

Edge Detection in Noisy Images Using the Support Vector Machines

Image warping and stitching May 5 th, 2015

Complex Numbers. Now we also saw that if a and b were both positive then ab = a b. For a second let s forget that restriction and do the following.

Harmonic Coordinates for Character Articulation PIXAR

NGPM -- A NSGA-II Program in Matlab

Vectorization of Image Outlines Using Rational Spline and Genetic Algorithm

An Adaptive-Focus Deformable Model Using Statistical and Geometric Information

Efficient Distributed File System (EDFS)

Simulation Based Analysis of FAST TCP using OMNET++

A Fast Content-Based Multimedia Retrieval Technique Using Compressed Data

Snakes-based approach for extraction of building roof contours from digital aerial images

Optimized Region Competition Algorithm Applied to the Segmentation of Artificial Muscles in Stereoscopic Images

Simulation: Solving Dynamic Models ABE 5646 Week 11 Chapter 2, Spring 2010

High-Boost Mesh Filtering for 3-D Shape Enhancement

A Graphical Model Framework for Coupling MRFs and Deformable Models

ADAPTIVE SNAKES FOR URBAN ROAD EXTRACTION

Exercises (Part 4) Introduction to R UCLA/CCPR. John Fox, February 2005

Programming in Fortran 90 : 2017/2018

Virtual Memory. Background. No. 10. Virtual Memory: concept. Logical Memory Space (review) Demand Paging(1) Virtual Memory

A Newton-Type Method for Constrained Least-Squares Data-Fitting with Easy-to-Control Rational Curves

Hierarchical clustering for gene expression data analysis

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS

A Robust Method for Estimating the Fundamental Matrix

A NEW FUZZY C-MEANS BASED SEGMENTATION STRATEGY. APPLICATIONS TO LIP REGION IDENTIFICATION

Unsupervised Learning and Clustering

Wishing you all a Total Quality New Year!

Problem Definitions and Evaluation Criteria for Computational Expensive Optimization

Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz

Unsupervised Learning and Clustering

FEATURE EXTRACTION. Dr. K.Vijayarekha. Associate Dean School of Electrical and Electronics Engineering SASTRA University, Thanjavur

CS246: Mining Massive Datasets Jure Leskovec, Stanford University

Inverse Kinematics (part 2) CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Spring 2016

Module Management Tool in Software Development Organizations

SHAPE OPTIMIZATION OF STRUCTURES BY MODIFIED HARMONY SEARCH

Course Introduction. Algorithm 8/31/2017. COSC 320 Advanced Data Structures and Algorithms. COSC 320 Advanced Data Structures and Algorithms

Fuzzy C-Means Initialized by Fixed Threshold Clustering for Improving Image Retrieval

Transcription:

Actve Contours/Snakes Erkut Erdem Acknowledgement: The sldes are adapted from the sldes prepared by K. Grauman of Unversty of Texas at Austn

Fttng: Edges vs. boundares Edges useful sgnal to ndcate occludng boundares, shape. local entty Here the raw edge output s not so bad but qute often boundares of nterest are fragmented, and we have extra clutter edge ponts. Images from D. Jacobs

Fttng: Edges vs. boundares Detectng boundares requres groupng Gven a model of nterest, we can overcome some of the mssng and nosy edges usng fttng technques. Wth votng methods lke the Hough transform, detected ponts vote on possble model parameters.

Deformable contours a.k.a. actve contours, snakes Gven: ntal contour (model) near desred object Goal: evolve the contour to ft exact object boundary Man dea: elastc band s teratvely adjusted so as to be near mage postons wth hgh gradents, and satsfy shape preferences or contour prors [Snakes: Ac?ve contour models, Kass, Wtkn, & Terzopoulos, ICCV987] Fgure credt: Yur Boykov

Deformable contours: ntuton Image from http://www.healthlne.com/blogs/exercse_ftness/uploaded_mages/handband-795868.jpg

Deformable contours vs. Hough Lke generalzed Hough transform, useful for shape fttng; but ntal ntermedate fnal Hough Rgd model shape Sngle votng pass can detect multple nstances Deformable contours Pror on shape types, but shape teratvely adjusted (deforms) Requres ntalzaton nearby One optmzaton pass to ft a sngle contour

Why do we want to ft deformable shapes? Some objects have smlar basc form. but some varety n the contour shape.

Why do we want to ft deformable shapes? Non-rgd, deformable objects can change ther shape over tme, e.g. lps, hands Fgure from Kass et al. 987

Why do we want to ft deformable shapes? Non-rgd, deformable objects can change ther shape over tme. Fgure credt: Julen Jomer

Aspects we need to consder Representaton of the contours Defnng the energy functons External Internal Mnmzng the energy functon Extensons: Trackng Interactve segmentaton

Representaton We ll consder a dscrete representaton of the contour, consstng of a lst of d pont postons ( vertces ). ( x 0, y0 ) ( x, y 9 9) = ( x, y ), for = 0,,, n explct, parametrc representaton At each teraton, we ll have the opton to move each vertex to another nearby locaton ( state ).

Fttng deformable contours How should we adjust the current contour to form the new contour at each teraton? Defne a cost functon ( energy functon) that says how good a canddate confguraton s. Seek next confguraton that mnmzes that cost functon. ntal ntermedate fnal

Energy functon The total energy (cost) of the current snake s defned as: E = E + total nternal E external Internal energy: encourage pror shape preferences: e.g., smoothness, elastcty, partcular known shape. External energy ( mage energy): encourage contour to ft on places where mage structures exst, e.g., edges. A good ft between the current deformable contour and the target shape n the mage wll yeld a low value for ths cost functon.

External energy: ntuton Measure how well the curve matches the mage data Attract the curve toward dfferent mage features Edges, lnes, texture gradent, etc.

External mage energy How do edges affect snap of rubber band? Thnk of external energy from mage as gravtatonal pull towards areas of hgh contrast Magntude of gradent G x ( I) + Gy( I ) - (Magntude of gradent) Gx ( I) + Gy( I) ( )

External mage energy Gradent mages G x ( x, y) and ( x, y) G y External energy at a pont on the curve s: E ( ) = ( G ( ) + external x G y ( ) ) External energy for the whole curve: n Eexternal = Gx( x, y ) + Gy ( x, y = 0 )

Internal energy: ntuton What are the underlyng boundares n ths fragmented edge mage? And n ths one?

Internal energy: ntuton A pror, we want to favor smooth shapes, contours wth low curvature, contours smlar to a known shape, etc. to balance what s actually observed (.e., n the gradent mage).

Internal energy For a contnuous curve, a common nternal energy term s the bendng energy. At some pont v(s) on the curve, ths s: d d E nternal ( ( s)) = α + β ds d s Tenson, Elastcty Stffness, Curvature

For our dscrete representaton, Internal energy for the whole curve: 0 ), ( = = n y x v ds d + ) ( ) ( + + + = ds d = + + + + = 0 n nternal E β α Note these are derva-ves rela-ve to pos%on- - - not spa-al mage gradents. Why do these reflect tenson and curvature? Internal energy

Penalzng elastcty Current elastc energy defnton uses a dscrete estmate of the dervatve: Eelastc = n = 0 α + n = α ( x+ x ) + ( y+ y ) = 0 What s the possble problem wth ths defnton? Krsten Grauman

Penalzng elastcty Current elastc energy defnton uses a dscrete estmate of the dervatve: Instead: Eelastc = = n = 0 α α n = 0 + ) ( x x ) + ( y y d + + ) where d s the average dstance between pars of ponts updated at each teraton. Krsten Grauman

Dealng wth mssng data The preferences for low-curvature, smoothness help deal wth mssng data: Illusory contours found! [Fgure from Kass et al. 987]

Extendng the nternal energy: capture shape pror If object s some smooth varaton on a known shape, we can use a term that wll penalze devaton from that shape: Enternal where shape. ˆ } { + = α n = 0 ( ˆ ) are the ponts of the known Fg from Y. Boykov

Total energy: functon of the weghts external nternal total E E E γ + = ( ) = + + + + = 0 n nternal d E β α 0 ), ( ), ( y n x external y x G y x G E = + =

Total energy: functon of the weghts e.g., α weght controls the penalty for nternal elastcty large α medum α small α Fg from Y. Boykov

Recap: deformable contour A smple elastc snake s defned by: A set of n ponts, An nternal energy term (tenson, bendng, plus optonal shape pror) An external energy term (gradent-based) To use to segment an object: Intalze n the vcnty of the object Modfy the ponts to mnmze the total energy

Energy mnmzaton Several algorthms have been proposed to ft deformable contours: Greedy search Dynamc programmng (for d snakes)

Energy mnmzaton: greedy For each pont, search wndow around t and move to where energy functon s mnmal Typcal wndow sze, e.g., 5 x 5 pxels Stop when predefned number of ponts have not changed n last teraton, or after max number of teratons Note: Convergence not guaranteed Need decent ntalzaton

Energy mnmzaton: dynamc programmng v 3 v v v 4 v 5 v 6 Wth ths form of the energy functon, we can mnmze usng dynamc programmng, wth the Vterb algorthm. Iterate untl optmal poston for each pont s the center of the box,.e., the snake s optmal n the local search space constraned by boxes. Fg from Y. Boykov [Amn, Weymouth, Jan, 990]

E Energy mnmzaton: dynamc programmng Possble because snake energy can be rewrtten as a sum of par-wse nteracton potentals: total n =,, n) E (, + ) = ( Or sum of trple-nteracton potentals. E total n,, n) = E (,, + ) = (

Snake energy: par-wse nteractons ), ( ), ( ),,,,, ( y n x n n total y x G y x G y y x x E = + = ) ( ) ( n y y x x + + + = + α = = ) ( ),, ( n n total G E = + + n α ), (... ), ( ), ( ),, ( 3 n n n n total v v E v v E v v E E + + + = ) ( ), ( G E α + = + + where Re-wrtng the above wth : ( ) y x v, =

Aspects we need to consder Representaton of the contours Defnng the energy functons External Internal Mnmzng the energy functon Extensons: Trackng Interactve segmentaton

Trackng va deformable contours. Use fnal contour/model extracted at frame t as an ntal soluton for frame t+. Evolve ntal contour to ft exact object boundary at frame t+ 3. Repeat, ntalzng wth most recent frame. Trackng Heart Ventrcles (multple frames)

Jörgen Ahlberg http://www.cvl.sy.lu.se/scout/masters/papers/ex708.pdf 3D actve contours

Lmtatons May over-smooth the boundary Cannot follow topologcal changes of objects

Lmtatons External energy: snake does not really see object boundares n the mage unless t gets very close to t. mage gradents I are large only drectly on the boundary

Dstance transform External mage can nstead be taken from the dstance transform of the edge mage. orgnal - gradent dstance transform edges Value at (x,y) tells how far that poston s from the nearest edge pont (or other bnary mage structure)

Deformable contours: pros and cons Pros: Useful to track and ft non-rgd shapes Contour remans connected Possble to fll n subjectve contours Flexblty n how energy functon s defned, weghted. Cons: Must have decent ntalzaton near true boundary, may get stuck n local mnmum Parameters of energy functon must be set well based on pror nformaton

Summary Deformable shapes and actve contours are useful for Segmentaton: ft or snap to boundary n mage Trackng: prevous frame s estmate serves to ntalze the next Fttng actve contours: Defne terms to encourage certan shapes, smoothness, low curvature, push/pulls, Use weghts to control relatve nfluence of each component cost Can optmze d snakes wth Vterb algorthm. Image structure (esp. gradents) can act as attracton force for nteractve segmentaton methods.