06 - Boundary Models Overview Edge Tracking Active Contours Conclusion.

Slides:



Advertisements
Similar presentations
Active Contours without Edges
Advertisements

Active Shape Models Suppose we have a statistical shape model –Trained from sets of examples How do we use it to interpret new images? Use an “Active Shape.
TP11 - Fitting: Deformable contours Computer Vision, FCUP, Miguel Coimbra Slides by Prof. Kristen Grauman.
Active Contours, Level Sets, and Image Segmentation
Incorporating Global Information into Active Contour Models Anthony Yezzi Georgia Institute of Technology.
Interactive Shortest Path An Image Segmentation Technique Jonathan-Lee Jones.
Kapitel 13 “Interactive Segmentation” – p. 1 Interactive Segmentation  Live-wire approach  Random walker segmentation TexPoint fonts used in EMF. Read.
Segmentation (2): edge detection
Image Segmentation and Active Contour
Active Contour Models (Snakes) 건국대학교 전산수학과 김 창 호.
Active Contour Model (Snake) rew. Outline Introduce Active Contour Model.
Active Contours (SNAKES) Back to boundary detection –This time using perceptual grouping. This is non-parametric –We’re not looking for a contour of a.
Snakes with Some Math.
1 Minimum Ratio Contours For Meshes Andrew Clements Hao Zhang gruvi graphics + usability + visualization.
Segmentation Using Active Contour Model and Tomlab By: Dalei Wang 29/04/2003.
Chunlei Han Turku PET centre March 31, 2005
On Constrained Optimization Approach To Object Segmentation Chia Han, Xun Wang, Feng Gao, Zhigang Peng, Xiaokun Li, Lei He, William Wee Artificial Intelligence.
Snakes : Active Contour models
Instructor: Mircea Nicolescu Lecture 13 CS 485 / 685 Computer Vision.
Snakes - Active Contour Lecturer: Hagit Hel-Or
Active Contour Models (Snakes)
Deformable Contours Dr. E. Ribeiro.
Thresholding Otsu’s Thresholding Method Threshold Detection Methods Optimal Thresholding Multi-Spectral Thresholding 6.2. Edge-based.
EE663 Image Processing Edge Detection 5 Dr. Samir H. Abdul-Jauwad Electrical Engineering Department King Fahd University of Petroleum & Minerals.
Segmentation Divide the image into segments. Each segment:
Today: Image Segmentation Image Segmentation Techniques Snakes Scissors Graph Cuts Mean Shift Wednesday (2/28) Texture analysis and synthesis Multiple.
Snakes Goes from edges to boundaries. Edge is strong change in intensity. Boundary is boundary of an object. –Smooth (more or less) –Closed. –…
Canny Edge Detector1 1)Smooth image with a Gaussian optimizes the trade-off between noise filtering and edge localization 2)Compute the Gradient magnitude.
Clustering Color/Intensity
CSSE463: Image Recognition Day 30 Due Friday – Project plan Due Friday – Project plan Evidence that you’ve tried something and what specifically you hope.
SNAKES Adapted from : Octavia Camps, Penn. State UCF.
Active Contour Models (Snakes) Yujun Guo.
1 Numerical geometry of non-rigid shapes Non-Euclidean Embedding Non-Euclidean Embedding Lecture 6 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
Instructor: Dr. Peyman Milanfar
כמה מהתעשייה? מבנה הקורס השתנה Computer vision.
Computer Vision Spring ,-685 Instructor: S. Narasimhan Wean Hall 5409 T-R 10:30am – 11:50am.
CSE554Laplacian DeformationSlide 1 CSE 554 Lecture 8: Laplacian Deformation Fall 2012.
2008/10/02H704 - DYU1 Active Contours and their Utilization at Image Segmentation Author : Marián Bakoš Source : 5th Slovakian-Hungarian Joint Symposium.
Deformable Models Segmentation methods until now (no knowledge of shape: Thresholding Edge based Region based Deformable models Knowledge of the shape.
CSSE463: Image Recognition Day 30 This week This week Today: motion vectors and tracking Today: motion vectors and tracking Friday: Project workday. First.
Part 6: Graphics Output Primitives (4) 1.  Another useful construct,besides points, straight line segments, and curves for describing components of a.
CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.
7.1. Mean Shift Segmentation Idea of mean shift:
Edge Linking & Boundary Detection
EE 492 ENGINEERING PROJECT LIP TRACKING Yusuf Ziya Işık & Ashat Turlibayev Yusuf Ziya Işık & Ashat Turlibayev Advisor: Prof. Dr. Bülent Sankur Advisor:
Course 13 Curves and Surfaces. Course 13 Curves and Surface Surface Representation Representation Interpolation Approximation Surface Segmentation.
A Segmentation Algorithm Using Dyadic Wavelet Transform and the Discrete Dynamic Contour Bernard Chiu University of Waterloo.
CS654: Digital Image Analysis Lecture 25: Hough Transform Slide credits: Guillermo Sapiro, Mubarak Shah, Derek Hoiem.
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
CSE554AlignmentSlide 1 CSE 554 Lecture 8: Alignment Fall 2013.
Local Search and Optimization Presented by Collin Kanaley.
CS 641 Term project Level-set based segmentation algorithms Presented by- Karthik Alavala (under the guidance of Dr. Jundong Liu)
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Quadric Error Metrics 1/20 Geometric Morphometrics Feb 27, 2013 Geometric Morphologyd.
Digital Image Processing Lecture 17: Segmentation: Canny Edge Detector & Hough Transform Prof. Charlene Tsai.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
Semantic Alignment Spring 2009 Ben-Gurion University of the Negev.
Sliding Window Filters Longin Jan Latecki October 9, 2002.
MASKS © 2004 Invitation to 3D vision Lecture 3 Image Primitives andCorrespondence.
1 Edge Operators a kind of filtering that leads to useful features.
Amir Yavariabdi Introduction to the Calculus of Variations and Optical Flow.
CSE 554 Lecture 8: Alignment
TP11 - Fitting: Deformable contours
a kind of filtering that leads to useful features
a kind of filtering that leads to useful features
Snakes, Shapes, and Gradient Vector Flow
Active Contours (“Snakes”)
CSSE463: Image Recognition Day 30
EE 492 ENGINEERING PROJECT
CSSE463: Image Recognition Day 30
Active Contour Models.
Presentation transcript:

06 - Boundary Models Overview Edge Tracking Active Contours Conclusion

Overview Suppose we wish to find the boundary of an object in an image One approach is to find edge segments and link them together

Overview The process of linking edge segments to obtain boundary models is deceptively difficult –How do we select edge segments for the object? –How do connect these edge segments? –What do we do with missing or conflicting data? –What domain knowledge can be used? –How much user input is necessary? –How do measure the quality of our solution?

Overview In this section we will consider the design and implementation of two techniques Edge tracking – performs a greedy search to find a path around the object boundary Active contours – solves for object boundary by minimizing an energy functional that describes constraints on the object boundary

Edge Tracking Edge tracking is a conceptually simple approach for finding object boundaries Edge tracking algorithm: –Start at a point (x,y) on the object boundary –Walk clockwise around the boundary using gradient information to choose next point –Stop when we return to the starting point

Edge Tracking User selects (x,y) starting point

Edge Tracking Gradient information used to find next (x,y) point on boundary

Edge Tracking Process repeats to get sequence of points on boundary

Edge Tracking Sometimes we have to make hard choices to pick boundary to track

Edge Tracking Process continues until we reach starting point (x,y) again

Edge Tracking Or until the edge linking reaches a dead end or the edge of the image

Edge Tracking If we are at pixel (x,y) on the boundary how do we select next point (x’,y’) on boundary? There are a number of factors to consider: –Find point with highest gradient magnitude –Find point with most similar gradient magnitude –Find point with most similar gradient direction –Find point that gives smoothest boundary

Edge Tracking To find point with highest gradient magnitude –Calculate gradient magnitude of image –Search NxN neighborhood around point (x,y) –Ignore points that are already on object boundary –Find point (x’,y’) that has the highest gradient magnitude value G Very simple to implement, but might get stuck in local gradient maxima

Edge Tracking To find point with most similar gradient magnitude to current boundary point –Search NxN neighborhood around point (x,y) –Find unused point (x’,y’) with smallest difference in gradient magnitude M

Edge Tracking To find point with most similar gradient direction to current boundary point –Search NxN neighborhood around point (x,y) –Find unused point (x’,y’) with smallest difference in gradient direction D

Edge Tracking To find point that gives smoothest boundary –Search NxN neighborhood around point (x,y) –Calculate change in direction angle relative to current point C and previous point P on boundary –Select point (x’,y’) with smallest angle A PC C45 P13590

Edge Tracking We can combine edge tracking criteria by minimizing a weighted average of scores We stop edge tracking when we are close enough to the starting point (when current point is within radius R of starting point)

Edge Tracking Edge tracking works well when the edge strengths are strong in an image and the user provides a good starting point on the edge Edge tracking works poorly if there are weak or missing edges since there are no global constraints on the shape of object boundary

Active Contours Edge tracking approach may produce very rough object boundaries –No boundary smoothness constraints Active contours solves this problem –Define object boundary as a parametric curve –Define smoothness constraints on the curve –Define data matching constraints on the curve –Deform curve to find optimal object boundary

Active Contours Example below shows active contour in action fitting itself to desired object boundary

Active Contours Interactive active contours in operation (from Snakes: Active contour models by Kass 1988)

Active Contours Interactive active contours in operation (from Snakes: Active contour models by Kass 1988)

Active Contours Represent the curve with a set of n points

Active Contours Smoothness is controlled by an internal energy constraint on the parametric curve If we minimize the elastic energy the curve will shrink like a rubber band

Active Contours The external energy constraint describes how well the curve matches the image data If we maximize the gradient magnitudes g(x,y)along the curve we will fit the strong edges that correspond to the object boundary

Active Contours We combine internal and external constraints to obtain a total energy functional to minimize Notice that we changed the sign of external constraint to make this a minimization problem

Active Contours Our next task is to solve for the parametric curve (x i, y i ) that minimizes E total Consider E internal for three consecutive points on the curve (x i-1, y i-1 ), (x i, y i ), (x i+1, y i+1 )

Active Contours If we take the derivative of E internal wrt x i and set it to zero we can solve for x i

Active Contours Similarly, we take the derivative of E internal wrt y i and set it to zero to solve for y i

Active Contours Hence we can deform the active contour to minimize the internal energy by iteratively averaging adjacent boundary coordinates (x i-1,y i-1 ) (x i,y i ) (x i+1,y i+1 )

Active Contours To minimize E total we must consider the partial derivatives of the E external term wrt x i and y i This moves the contour in the direction of the gradient of the gradient magnitude g(x,y)

Active Contours We can deform the active contour to minimize the external energy by making a step of size s in the direction of the gradient of g(x i,y i ) (x i-1,y i-1 ) (x i,y i ) (x i+1,y i+1 )

Active Contours Example – circle deforming to concave object

Active Contours Example – effects of varying  weight in total energy functional

Active Contours Example – fitting one active contour around two adjacent objects

Active Contours Additional constraints can be added to active contours to introduce stiffness (minimize second derivatives) and other external forces (user pulling curve at selected points) Calculus of variations is typically used to solve the Euler-Legrange equations associated with these active contour energy functionals

Conclusions This section described how boundary tracking and active contours can be used to obtain the boundary of objects of interest in an image Both methods require user interaction to select a starting point/curve –Boundary tracking fast and easy to implement –Active contours will result in smoother boundary