Image Segmentation and Active Contour

Slides:



Advertisements
Similar presentations
An Active contour Model without Edges
Advertisements

Image Segmentation with Level Sets Group reading
Active Contours without Edges
Active Contours, Level Sets, and Image Segmentation
1 Lecture #7 Variational Approaches and Image Segmentation Lecture #7 Hossam Abdelmunim 1 & Aly A. Farag 2 1 Computer & Systems Engineering Department,
Snakes, Strings, Balloons and Other Active Contour Models.
P. Brigger, J. Hoeg, and M. Unser Presented by Yu-Tseh Chi.
Image Segmentation some examples Zhiqiang wang
Active Contour Models (Snakes) 건국대학교 전산수학과 김 창 호.
Snakes with Some Math.
1 Minimum Ratio Contours For Meshes Andrew Clements Hao Zhang gruvi graphics + usability + visualization.
Segmentation and Region Detection Defining regions in an image.
On Constrained Optimization Approach To Object Segmentation Chia Han, Xun Wang, Feng Gao, Zhigang Peng, Xiaokun Li, Lei He, William Wee Artificial Intelligence.
1 Lecture #5 Variational Approaches and Image Segmentation Lecture #5 Hossam Abdelmunim 1 & Aly A. Farag 2 1 Computer & Systems Engineering Department,
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.
Smoothing 3D Meshes using Markov Random Fields
Nonrigid Shape Correspondence using Landmark Sliding, Insertion, and Deletion Theodor Richardson.
EE663 Image Processing Edge Detection 5 Dr. Samir H. Abdul-Jauwad Electrical Engineering Department King Fahd University of Petroleum & Minerals.
Optical Flow Methods 2007/8/9.
Segmentation Divide the image into segments. Each segment:
SNAKES Adapted from : Octavia Camps, Penn. State UCF.
Comp 775: Deformable models: snakes and active contours Marc Niethammer, Stephen Pizer Department of Computer Science University of North Carolina, Chapel.
Active Contour Models (Snakes) Yujun Guo.
Information that lets you recognise a region.
CS292 Computational Vision and Language Segmentation and Region Detection.
Instructor: Dr. Peyman Milanfar
T-Snake Reference: Tim McInerney, Demetri Terzopoulos, T-snakes: Topology adaptive snakes, Medical Image Analysis, No ,pp73-91.
Review April 24.
3D Models and Matching representations for 3D object models
Evolving Curves/Surfaces for Geometric Reconstruction and Image Segmentation Huaiping Yang (Joint work with Bert Juettler) Johannes Kepler University of.
06 - Boundary Models Overview Edge Tracking Active Contours Conclusion.
Multimodal Interaction Dr. Mike Spann
3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: ) Computational Vision / Ioannis Stamos.
Deformable Models Segmentation methods until now (no knowledge of shape: Thresholding Edge based Region based Deformable models Knowledge of the shape.
Techniques for Estimating Layers from Polar Radar Imagery Jerome E. Mitchell, Geoffrey C. Fox, and David J. Crandall :: CReSIS NSF Site Visit :: School.
October 14, 2014Computer Vision Lecture 11: Image Segmentation I 1Contours How should we represent contours? A good contour representation should meet.
V. Space Curves Types of curves Explicit Implicit Parametric.
7.1. Mean Shift Segmentation Idea of mean shift:
Image Segmentation February 27, Implicit Scheme is considerably better with topological change. Transition from Active Contours: –contour v(t) 
Level Set Methods and Fast Marching Methods Wen Hongwei.
Lecture 6 : Level Set Method
Course 13 Curves and Surfaces. Course 13 Curves and Surface Surface Representation Representation Interpolation Approximation Surface Segmentation.
1 Lecture #6 Variational Approaches and Image Segmentation Lecture #6 Hossam Abdelmunim 1 & Aly A. Farag 2 1 Computer & Systems Engineering Department,
Introduction to Level Set Methods: Part II
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
Overview of Propagating Interfaces Donald Tanguay October 30, 2002.
Extraction and remeshing of ellipsoidal representations from mesh data Patricio Simari Karan Singh.
Basic Theory (for curve 02). 1.3 Parametric Curves  The main aim of computer graphics is to display an arbitrary surface so that it looks real.  The.
Course 8 Contours. Def: edge list ---- ordered set of edge point or fragments. Def: contour ---- an edge list or expression that is used to represent.
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.
CSCE 441: Keyframe Animation/Smooth Curves (Cont.) Jinxiang Chai.
CSCE 441: Keyframe Animation/Smooth Curves (Cont.) Jinxiang Chai.
Detecting Image Features: Corner. Corners Given an image, denote the image gradient. C is symmetric with two positive eigenvalues. The eigenvalues give.
Amir Yavariabdi Introduction to the Calculus of Variations and Optical Flow.
Level Set Segmentation ~ 9.37 Ki-Chang Kwak.
ITK 9.3. Level Set Segmentation Shape Detection Segmentation
October 3, 2013Computer Vision Lecture 10: Contour Fitting 1 Edge Relaxation Typically, this technique works on crack edges: pixelpixelpixel pixelpixelpixelebg.
TP11 - Fitting: Deformable contours
Dynamical Statistical Shape Priors for Level Set Based Tracking
3D Models and Matching particular matching techniques
Extract Object Boundaries in Noisy Images
Snakes, Shapes, and Gradient Vector Flow
Active Contours (“Snakes”)
Muazzam Shehzad Quratulain Muazzam
Active Contour Models.
Spline representation. ❖ A spline is a flexible strip used to produce a smooth curve through a designated set of points. ❖ Mathematically describe such.
Presentation transcript:

Image Segmentation and Active Contour Drawing by some archeologist Segment out the vase from the image With what we have learned so far, what would (could ) you do?

Active Contour (aka snake, deformable contour) Better idea: try to fit the boundary with some curve (closed contour). Contour no longer belong to a small family such as ellipse or circles. The shape conforms to the object boundary.

Vase

Armadillo

Details How to represent contours? Explicit scheme Implicit scheme How to characterize the desired contour As the (global) minimum of the a cost function. How to deform the contour? Discrete optimization (typically for explicit scheme) Partial differential equation (for implicit scheme).

Contour Representation (explicit scheme) A contour is represented as A collection of control points An interpolating scheme Linear interpolation gives a piecewise linear curve Other interpolation scheme such as splines give smoother curve. MATLAB has several routines on splines and polynomial interpolations.

Contour Representation (implicit scheme) Represent a contour as the zero levelset of a continuous function. No need to keep track of the control points. Given a contour, one such continuous function is the signed distance function from the contour. The value at each point is the distance to the given contour. Exterior points are assigned positive values and interior points have negative values. + -

What is the desired contour? Variational framework: Express the desired contour as the minimum of a energy functional (cost function). s is the arc-length parameterization of the contour C=C(s). Each term in the energy functional correspond to forces acting on the contour. control the relative strength of the corresponding energy term and they vary along the contour.

The first two terms, continuous and smoothness constraints, are internal to the contour. The third term, an external force, accounts for the edge attraction, dragging the contour toward the closest image edge. (minimizes contour length) in discrete form or better to prevent clusters

The second term minimizes the curvature to avoid zigzags or oscillations. Curvature is related to the second derivatives and using central difference, the second derivatives can be approximated by What is curvature? Curvature measures how fast the tangents of the contour vary.

More on curvature is the tangent angle If (x, y) gives the parameterization

Edge Attraction term This terms depend only on the contour and independent of its derivatives. In general, are set to constants and their values will influence the result.

Deforming the contour Staring from a collection of points, find the contour which fits the target image contour best, by minimizing the energy functional Move each control point iteratively.

Deforming Contour Greedy minimization Corner Elimination Find point in a small neighborhood that minimizes the energy functional Small neighborhood means low computational load Corner Elimination Search for corners as curvature maxima along the contour. Set bi = 0 for points with maximal curvature. Neglecting contribution from these points keep the contour piecewise smooth.

Inputs: Image I and a chain of points on the image Algorithm Snake Inputs: Image I and a chain of points on the image f the minimum fraction of snake points that must move in each iteration and U(p) a small neighborhood of p and d (the average distance). For each i= 1, .. , N, find the location in U(pi) for which the energy functional is minimum and move the control point pi to that point. For each i=1, …, N, estimate the curvature and look for local maxima. Set bi= 0 for all pi at which the curvature has a local maximum or exceeds some user-defined value. Update the value of the average distance, d.

Main problem with explicit scheme Keeping track of control points make can be cumbersome. In particular, topological change is difficult to execute correctly.

Implicit Scheme is considerably better with topological change. Transition from Active Contours: contour v(t)  front (t) contour energy  forces FA FC image energy  speed function kI Level set: The level set c0 at time t of a function (x,y,t) is the set of arguments { (x,y) , (x,y,t) = c0 } Idea: define a function (x,y,t) so that at any time, (t) = { (x,y) , (x,y,t) = 0 } there are many such   has many other level sets, more or less parallel to  only  has a meaning for segmentation, not any other level set of 

Need to figure out how to evolve the level set function!

Level Set Framework Usual choice for : signed distance to the front (0)  - d(x,y, ) if (x,y) inside the front (x,y,0) =  0 “ on “  d(x,y, ) “ outside “ (x,y,t) -2 5 -1 -2 -3 1 2 3 4 7 5 6 (t) (x,y,t)

Level Set (x,y,t) (x,y,t+1) = (x,y,t) + ∆(x,y,t) -1 -2 -3 1 2 3 4 7 5 6 no movement, only change of values the front may change its topology the front location may be between samples 1 -1 -2 -3 2 3 4 7 5 6 (x,y,t) (x,y,t+1) = (x,y,t) + ∆(x,y,t)

Level Set Segmentation with LS: Initialise the front (0) Compute (x,y,0) Iterate: (x,y,t+1) = (x,y,t) + ∆(x,y,t) until convergence Mark the front (tend)

Here is the equation … (more about it later) Front Speed !! product of influences Equation 17 p162: (x,y,t+1) - (x,y,t) extension of the speed function kI (image influence) constant “force” (balloon pressure) smoothing “force” depending on the local curvature  (contour influence) spatial derivative of  link between spatial and temporal derivatives, but not the same type of motion as contours!