Image Segmentation with Level Sets Group reading 22-04-05.

Slides:



Advertisements
Similar presentations
Bayesian Belief Propagation
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.
1 Registration of 3D Faces Leow Wee Kheng CS6101 AY Semester 1.
An Efficient and Fast Active Contour Model for Salient Object Detection Authors: Farnaz Shariat, Riadh Ksantini, Boubakeur Boufama
11/11/02 IDR Workshop Dealing With Location Uncertainty in Images Hasan F. Ates Princeton University 11/11/02.
Level set based Image Segmentation Hang Xiao Jan12, 2013.
Active Contours, Level Sets, and Image Segmentation
November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
1 Lecture #7 Variational Approaches and Image Segmentation Lecture #7 Hossam Abdelmunim 1 & Aly A. Farag 2 1 Computer & Systems Engineering Department,
Medical Image Segmentation: Beyond Level Sets (Ismail’s part) 1.
Image Segmentation some examples Zhiqiang wang
Image Segmentation and Active Contour
Active Contour Models (Snakes) 건국대학교 전산수학과 김 창 호.
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.
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.
Local or Global Minima: Flexible Dual-Front Active Contours Hua Li Anthony Yezzi.
Motion Tracking. Image Processing and Computer Vision: 82 Introduction Finding how objects have moved in an image sequence Movement in space Movement.
Region labelling Giving a region a name. Image Processing and Computer Vision: 62 Introduction Region detection isolated regions Region description properties.
Motion Analysis (contd.) Slides are from RPI Registration Class.
CSci 6971: Image Registration Lecture 4: First Examples January 23, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart, RPI Dr.
Segmentation Divide the image into segments. Each segment:
Prénom Nom Document Analysis: Data Analysis and Clustering Prof. Rolf Ingold, University of Fribourg Master course, spring semester 2008.
Interpolation Snakes Work by Silviu Minut. Ultrasound image has noisy and broken boundaries Left ventricle of dog heart Geodesic contour moves to smoothly.
Comp 775: Deformable models: snakes and active contours Marc Niethammer, Stephen Pizer Department of Computer Science University of North Carolina, Chapel.
Non-Euclidean Embedding
Basics: Notation: Sum:. PARAMETERS MEAN: Sample Variance: Standard Deviation: * the statistical average * the central tendency * the spread of the values.
Active Contour Models (Snakes) Yujun Guo.
Information that lets you recognise a region.
1 Numerical geometry of non-rigid shapes Non-Euclidean Embedding Non-Euclidean Embedding Lecture 6 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
CS292 Computational Vision and Language Segmentation and Region Detection.
Instructor: Dr. Peyman Milanfar
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2014.
Chapter 6 Feature-based alignment Advanced Computer Vision.
Methods in Medical Image Analysis Statistics of Pattern Recognition: Classification and Clustering Some content provided by Milos Hauskrecht, University.
Evolving Curves/Surfaces for Geometric Reconstruction and Image Segmentation Huaiping Yang (Joint work with Bert Juettler) Johannes Kepler University of.
Dual Evolution for Geometric Reconstruction Huaiping Yang (FSP Project S09202) Johannes Kepler University of Linz 1 st FSP-Meeting in Graz, Nov ,
CSE554AlignmentSlide 1 CSE 554 Lecture 8: Alignment Fall 2014.
06 - Boundary Models Overview Edge Tracking Active Contours Conclusion.
Multimodal Interaction Dr. Mike Spann
Prakash Chockalingam Clemson University Non-Rigid Multi-Modal Object Tracking Using Gaussian Mixture Models Committee Members Dr Stan Birchfield (chair)
Deformable Models Segmentation methods until now (no knowledge of shape: Thresholding Edge based Region based Deformable models Knowledge of the shape.
CSE554AlignmentSlide 1 CSE 554 Lecture 5: Alignment Fall 2011.
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) 
Lecture 6 : Level Set Method
Unstructured Volume Rendering Jian Huang, CS 594, Spring 2002 This set of slides reference slides developed by Prof. Torsten Moeller, SFU, Canada.
1 Lecture #6 Variational Approaches and Image Segmentation Lecture #6 Hossam Abdelmunim 1 & Aly A. Farag 2 1 Computer & Systems Engineering Department,
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2013.
Introduction to Level Set Methods: Part II
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
CSE554AlignmentSlide 1 CSE 554 Lecture 8: Alignment Fall 2013.
Geometric Modeling using Polygonal Meshes Lecture 3: Discrete Differential Geometry and its Application to Mesh Processing Office: South B-C Global.
CS 641 Term project Level-set based segmentation algorithms Presented by- Karthik Alavala (under the guidance of Dr. Jundong Liu)
Implicit Active Shape Models for 3D Segmentation in MR Imaging M. Rousson 1, N. Paragio s 2, R. Deriche 1 1 Odyssée Lab., INRIA Sophia Antipolis, France.
Mesh Resampling Wolfgang Knoll, Reinhard Russ, Cornelia Hasil 1 Institute of Computer Graphics and Algorithms Vienna University of Technology.
Level Set Segmentation ~ 9.37 Ki-Chang Kwak.
CIVET seminar Presentation day: Presenter : Park, GilSoon.
PATTERN RECOGNITION AND MACHINE LEARNING CHAPTER 1: INTRODUCTION.
CSE 554 Lecture 8: Alignment
Morphing and Shape Processing
Dynamical Statistical Shape Priors for Level Set Based Tracking
Interpolation Snakes Work by Silviu Minut.
PRAKASH CHOCKALINGAM, NALIN PRADEEP, AND STAN BIRCHFIELD
Extract Object Boundaries in Noisy Images
3D Image Segmentation and Multigrid Method
Support Vector Machines
Presentation transcript:

Image Segmentation with Level Sets Group reading

Outline 1.Active Contours 2.Level sets in Malladi Prior knowledge in Leventon 2000

1. Active Contours

1.1 Introduction to AC 1.2Types of curves 1.3Types of influences 1.4Summary

1.1 Introduction to AC AC = curve fitted iteratively to an image –based on its shape and the image values –until it stabilises (ideally on an objects boundary). curve:polygon = parametric AC continuous = geometric AC parametric geometric

1.1 Introduction to AC Example: cell nucleus Initialisation: external Fitting: iterative –Using the current geometry (Contour influence) and the image contents (Image influence) –Influence: scalar = energy vector= force –Until the energy is minimum, or the forces are null Image: Ian Diblik 2004

1.2 Types of curves Parametric AC: –Stored as vertices –Each vertex is moved iteratively Geometric AC: –Stored as coefficients –Sampled before each iteration –Each sample is moved –New coefficients are computed (interpolation)

1.3 Types of influences Each vertex /sample v i is moved: in a direction that minimises its energy: E(v i ) = E contour (v i ) + E image (v i ) or, along the direction of the force: F(v i ) = F contour (v i ) + F image (v i ) ( Linear combinations of influences )

1.3 Types of influences Contour influence: –meant to control the geometry locally around v i –corresponds to the prior knowledge on shape Energy: example: E contour (v i ) =. ||v i || 2 +. ||v i || 2 Force: example: F contour (v i ) = v i + v i + n i where n i is the normal of the contour at v i and is a constant pressure (balloon)

1.3 Types of influences Image influence: –meant to drive the contour locally –corresponds to the prior knowledge on the object boundaries Energy: example: E image (v i ) = ( I (v i ) - I target ) 2 E image (v i ) =. 1 / ( 1 + || I (v i ) || ) Malladi 1995 E image (v i ) = -. || I (v i ) || Leventon 2000 Force: example: F image (v i ) = E image (v i ) n i F image (v i ) = - I (v i )

1.3 Types of influences Exotic influences: E contour (v i ) proportional to the deformations of a template: E image (v i ) based on region statistics: I outside I inside Bredno et al Hamarneh et al. 2001

1.4 Summary Active Contours: –function v : N P ( [ 0, I width ] x [ 0, I height ] ) t { (x,y) } –v(0) is provided externally –v(t+1) is computed by moving sample points v i of v(t) –moved using a linear combination of influences –on convergence, v(t end ) is the border of the object Issues: –fixed topology –possible self-crossing

2. Level sets in Malladi 1995

2.1Introduction to LS 2.2Equation of motion 2.3Algorithm 1 2.3Narrow-band extension 2.4Summary

2.1 Introduction to LS Transition from Active Contours: –contour v(t) front (t) –contour energy forces F A F C –image energy speed function k I Level set: –The level set c 0 at time t of a function (x,y,t) is the set of arguments { (x,y), (x,y,t) = c 0 } –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

2.1 Introduction to LS 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 (t) (x,y,t)

2.1 Introduction to LS (x,y,t) (x,y,t+1) = (x,y,t) + (x,y,t) no movement, only change of values the front may change its topology the front location may be between samples

2.1 Introduction to LS 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 (t end )

2.2 Equation of motion Equation 17 p162: link between spatial and temporal derivatives, but not the same type of motion as contours! constant force (balloon pressure) (x,y,t+1) - (x,y,t) extension of the speed function k I (image influence) smoothing force depending on the local curvature (contour influence) spatial derivative of product of influences

2.2 Equation of motion Speed function: –k I is meant to stop the front on the objects boundaries –similar to image energy: k I (x,y) = 1 / ( 1 + || I (x,y) || ) –only makes sense for the front (level set 0) –yet, same equation for all level sets extend k I to all level sets, defining –possible extension: ^ kIkI ^ k I (x,y) = k I (x,y) where (x,y) is the point in the front closest to (x,y) ^ ( such a k I (x,y) depends on the front location )

2.3 Algorithm 1 (p163) compute the speed k I on the front extend it to all other level sets 2. compute (x,y,t+1) = (x,y,t) + (x,y,t) 3. find the front location (for next iteration) modify (x,y,t+1) by linear interpolation (x,y,t)

2.4 Narrow-band extension Weaknesses of algorithm 1 –update of all (x,y,t): inefficient, only care about the front –speed extension: computationally expensive Improvement: –narrow band: only update a few level sets around –other extended speed: k I (x,y) = 1 / ( 1 + || I(x,y)|| ) ^

2.4 Narrow-band extension Caution: –extrapolate the curvature at the edges –re-select the narrow band regularly: an empty pixel cannot get a value may restrict the evolution of the front

2.5 Summary Level sets: –function : [ 0, I width ] x [ 0, I height ] x N R ( x, y, t ) (x,y,t) –embed a curve : (t) = { (x,y), (x,y,t) = 0 } – (0) is provided externally, (x,y,0) is computed – (x,y,t+1) is computed by changing the values of (x,y,t) –changes using a product of influences –on convergence, (t end ) is the border of the object Issue: –computation time (improved with narrow band)

3. Prior knowledge in Leventon 2000

3.1Introduction 3.2Level set model 3.3Learning prior shapes 3.4Using prior knowledge 3.5Summary

3.1 Introduction New notations: function (x,y,t) shape u(t) ( still a function of (x,y,t) ) front (t) parametric curve C(q) (= level set 0 of u(t) ) extended speed k I stopping function g(I) Malladis model: choose: F A = -c (constant value) F G ( ) = - (penalises high curvatures), ^

3.1 Introduction u(t) use a level set model (based on current geometry and local image values): u(t+1) = u(t) + u(t) use prior knowledge and global image values to find the prior shape which is closest to u(t): call it u*(t) combine linearly these two new shapes to find the next iteration: u(t+1) = u(t) + 1 u(t) + 2 ( u*(t) - u(t) )

3.2 Level set model u(t) use a level set model (based on current geometry and local image values): u(t+1) = u(t) + u(t) use prior knowledge and global image values to find the prior shape which is closest to u(t): call it u*(t) combine linearly these two new shapes to find the next iteration: u(t+1) = u(t) + 1 u(t) + 2 ( u*(t) - u(t) )

3.2 Level set model not Malladis model: its Caselles model: use it in: u(t+1) = u(t) + 1 u(t) + 2 ( u*(t) - u(t)) Thats all about level sets. Now its all about u*. ( implicit geometric active contour ) ( implicit geodesic active contour )

3.3 Learning prior shapes From functions to vectors: u(t) (continuous) sample it: put the values in one column = vector u(t) (discrete)

3.3 Learning prior shapes Storing the training set: –set of n images manually segmented: { C i, 1 i n } –compute the embedding functions : T = { u i, 1 i n } –compute the mean and offsets of T: = 1/n i u i û i = u i - –build the matrix M of offsets: M = ( û 1 û 2 û n ) –build the covariance matrix 1/n MM T, decompose as: 1/n MM T = U U T U orthogonal, columns: orthogonal modes of shape variations diagonal, values: corresponding singular values

3.3 Learning prior shapes Reducing the number of dimensions: –u: dimension N d (number of samples, e.g. I width x I height ) –keep only first k columns of U: U k (most significant modes) –represent any shape u as: = U k T ( u - ) = shape parameter of u, dimension k only –restore a shape from : u = U k + –other parameter defining a shape u: pose p (position) –prior shape: u* (, p) ~

3.3 Learning prior shapes At the end of the training: most common variation least common variation The most common shapes have a higher probability.

3.4 Using prior knowledge u(t) use a level set model (based on current geometry and local image values): u(t+1) = u(t) + u(t) use prior knowledge and global image values to find the prior shape which is closest to u(t): call it u*(t) combine linearly these two new shapes to find the next iteration: u(t+1) = u(t) + 1 u(t) + 2 ( u*(t) - u(t) )

3.4 Using prior knowledge Finding the prior shape u* closest to u(t) –Given the current shape u(t) and the image I, we want: u* map = ( map, p map ) = arg max P(, p | u(t), I) –Bayes rule: P(,p | u,I) = P(u |,p). P(I |u,,p). P( ). P(p) / P(u,I) has to be max = P (u | u*) = exp( - V outside ) compares u and u* = P (I | u, u*) P ( I | u*) = exp ( - | h(u*) - | I| | 2 ) compares u* with the image features measures how likely u* is as a prior shape = U(–,) uniform distribution of poses (no prior knowledge) constant

3.4 Using prior knowledge P( u | u* ) : P(u | u*) = exp ( - V outside ), V outside : volume of u outside of u* u* u V outside = Card { (x,y), u(x,y) < u*(x,y) } – meant to choose the prior shape u* most similar to u – only useful when C(q) gets close to the final boundaries

3.4 Using prior knowledge P(u(t) | u* 1 ) =1 P(u(t) | u* 2 ) =1 P(u(t) | u* 3 ) =1 u* 1 u* 2 u* 3 P(u(t) | u* 2 ) =0.6 P(u(t) | u* 2 ) =0 P(u(t) | u* 3 ) =0.6 P(u(t) | u* 1 ) =1 P(u(t) | u* 3 ) =1 u(t)

I(x,y) 3.4 Using prior knowledge P( I | u, u* ) : –meant to choose the prior shape u* closest to the image –depends on the boundary features (image influence) P( I | u*) = exp ( - | h(u*) - | I| | 2 ) u*=0 u* I 0-22 u*=2 u*=-2 h(u*)

3.4 Using prior knowledge u* 1 u* 2 P(I|u* 1 ) = 0.9 P(I|u* 2 ) = 0.6 u(t) u(t) + 2 (u* 1 - u(t))

3.5 Summary Training: –compute mean and covariance of training set –reduce dimension Segmentation: –initialise C, compute u(0) with signed distance –to find u(t+1) from u(t), compute: a variation u(t) using current shape and local image values a prior shape u* so that: u* is a likely prior shape u* encloses u(t) u* is close to the object boundaries –combine u(t) and u* to get u(t+1)

Conclusions Active contours: –use image values and a target geometry –topology: fixed but little robust Level sets: –also use image values and a target geometry –but in higher dimension, with a different motion –topology: flexible and robust Prior knowledge: –prior shapes influence the segmentation –not specific to level sets –ideas can be adapted to other features (boundaries, pose)

Thats all folks!