Lecture 10 Segmentation, Part II (ch 8) Active Contours (Snakes) ch. 8 of Machine Vision by Wesley E. Snyder & Hairong Qi

Similar documents
Lecture 12 Level Sets & Parametric Transforms. sec & ch. 11 of Machine Vision by Wesley E. Snyder & Hairong Qi

Lecture 15 Active Shape Models

Lecture 14 Shape. ch. 9, sec. 1-8, of Machine Vision by Wesley E. Snyder & Hairong Qi. Spring (CMU RI) : BioE 2630 (Pitt)

All images are degraded

Lecture 6 Linear Processing. ch. 5 of Machine Vision by Wesley E. Snyder & Hairong Qi. Spring (CMU RI) : BioE 2630 (Pitt)

Lecture 09 Segmentation (ch 8) ch. 8 of Machine Vision by Wesley E. Snyder & Hairong Qi. Dr. John Galeo3. Into connected regions

Lecture 13 Theory of Registration. ch. 10 of Insight into Images edited by Terry Yoo, et al. Spring (CMU RI) : BioE 2630 (Pitt)

Registration: Rigid vs. Deformable

The Pipeline. Lecture 17 ITK Pipeline. The pipeline idea. Image sources. Image to image filters. Input and output

What are advanced filters? Lecture 19 Write Your Own ITK Filters, Part2. Different output size. Details, details. Changing the input requested region

2/7/18. For more info/gory detail. Lecture 8 Registration with ITK. Transform types. What is registration? Registration in ITK

Goals for this lecture. Lecture 4 Getting Started with ITK! Getting help. Assignments. Assignments, cont. Grading of assignments

Variational Methods II

Recap. Disclaimer. Goals for this lecture. C++ vs. Python. Reference & Review Material

Bioimage Informatics

Lecture 6: Edge Detection

Edge Detection (with a sidelight introduction to linear, associative operators). Images

Dr. Ulas Bagci

EE795: Computer Vision and Intelligent Systems

Image Processing. Bilkent University. CS554 Computer Vision Pinar Duygulu

Computer Vision. Recap: Smoothing with a Gaussian. Recap: Effect of σ on derivatives. Computer Science Tripos Part II. Dr Christopher Town

Outline 7/2/201011/6/

Requirements for region detection

Segmentation. Separate image into coherent regions

Feature extraction. Bi-Histogram Binarization Entropy. What is texture Texture primitives. Filter banks 2D Fourier Transform Wavlet maxima points

IMAGE PROCESSING FOR MEASUREMENT OF INTIMA MEDIA THICKNESS

Computer Vision I - Filtering and Feature detection

HOUGH TRANSFORM CS 6350 C V

CAP 5415 Computer Vision Fall 2012

Bioimage Informatics

Other Linear Filters CS 211A

Scientific Visualization Example exam questions with commented answers

Computer Vision/Graphics -- Dr. Chandra Kambhamettu for SIGNEWGRAD 11/24/04

Lecture 15: Segmentation (Edge Based, Hough Transform)

Lecture 4: Image Processing

Working with Health IT Systems is available under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0 Unported license.

CSC Computer Graphics

CS 534: Computer Vision Segmentation and Perceptual Grouping

Segmentation (continued)

Image Sampling & Quantisation

EECS490: Digital Image Processing. Lecture #20

Multimedia Computing: Algorithms, Systems, and Applications: Edge Detection

Snakes operating on Gradient Vector Flow

Edge and local feature detection - 2. Importance of edge detection in computer vision

convolution shift invariant linear system Fourier Transform Aliasing and sampling scale representation edge detection corner detection

Edge linking. Two types of approaches. This process needs to be able to bridge gaps in detected edges due to the reason mentioned above

Computer Vision I - Basics of Image Processing Part 2

Announcements. Edges. Last Lecture. Gradients: Numerical Derivatives f(x) Edge Detection, Lines. Intro Computer Vision. CSE 152 Lecture 10

Digital Image Processing. Image Enhancement - Filtering

STA Rev. F Learning Objectives. Learning Objectives (Cont.) Module 3 Descriptive Measures

COMPUTER AND ROBOT VISION

Volume Illumination and Segmentation

Review on Image Segmentation Techniques and its Types

Tangent & normal vectors The arc-length parameterization of a 2D curve The curvature of a 2D curve

Foetus Ultrasound Medical Image Segmentation via Variational Level Set Algorithm

Level Set Evolution without Reinitilization

Towards an Ultrasound Probe with Vision: Structured Light to Determine Surface Orientation

A Novel Method for Enhanced Needle Localization Using Ultrasound-Guidance

Research on the Wood Cell Contour Extraction Method Based on Image Texture and Gray-scale Information.

Optics: Laser Light Show Student Advanced Version

Image Sampling and Quantisation

Output Primitives Lecture: 4. Lecture 4

Elastic Bands: Connecting Path Planning and Control

Lecture 16: Computer Vision

Feature Tracking and Optical Flow

Image Segmentation. Ross Whitaker SCI Institute, School of Computing University of Utah

Practice Exam Sample Solutions

Exploring Curve Fitting for Fingers in Egocentric Images

Feature Tracking and Optical Flow

EECS150 - Digital Design Lecture 14 FIFO 2 and SIFT. Recap and Outline

Image Segmentation Based on Watershed and Edge Detection Techniques

CS443: Digital Imaging and Multimedia Binary Image Analysis. Spring 2008 Ahmed Elgammal Dept. of Computer Science Rutgers University

Segmentation. Namrata Vaswani,

Kinematic Analysis of Lumbar Spine Undergoing Extension and Dynamic Neural Foramina Cross Section Measurement

A Toolbox of Level Set Methods

White Pixel Artifact. Caused by a noise spike during acquisition Spike in K-space <--> sinusoid in image space

Region-based Segmentation

Multimodality Imaging for Tumor Volume Definition in Radiation Oncology

A New Technique of Extraction of Edge Detection Using Digital Image Processing

Segmentation. (template) matching

Image processing. Reading. What is an image? Brian Curless CSE 457 Spring 2017

Scaled representations

Level lines based disocclusion

How does bilateral filter relates with other methods?

Biomedical Image Processing for Human Elbow

6.801/866. Segmentation and Line Fitting. T. Darrell

UNIT-2 IMAGE REPRESENTATION IMAGE REPRESENTATION IMAGE SENSORS IMAGE SENSORS- FLEX CIRCUIT ASSEMBLY

Shape Descriptor using Polar Plot for Shape Recognition.

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes

Visualization. CSCI 420 Computer Graphics Lecture 26

Homework #1. Displays, Alpha Compositing, Image Processing, Affine Transformations, Hierarchical Modeling

RASTERIZING POLYGONS IN IMAGE SPACE

Carmen Alonso Montes 23rd-27th November 2015

Computer Vision I - Basics of Image Processing Part 1

Segmentation of Images

Parametric curves. Brian Curless CSE 457 Spring 2016

Computer Vision 6 Segmentation by Fitting

CS 231A Computer Vision (Winter 2014) Problem Set 3

CS664 Lecture #21: SIFT, object recognition, dynamic programming

Chapter 11 Arc Extraction and Segmentation

Transcription:

Lecture 10 Segmentation, Part II (ch 8) Active Contours (Snakes) ch. 8 of Machine Vision by Wesley E. Snyder & Hairong Qi Spring 2018 16-725 (CMU RI) : BioE 2630 (Pitt) Dr. John Galeotti The content of these slides by John Galeotti, 2012-2018 Carnegie Mellon University (CMU), was made possible in part by NIH NLM contract# HHSN276201000580P, and is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/ or send a letter to Creative Commons, 171 2nd Street, Suite 300, San Francisco, California, 94105, USA. Permissions beyond the scope of this license may be available either from CMU or by emailing itk@galeotti.net. The most recent version of these slides may be accessed online via http://itk.galeotti.net/ Review: Segmentation A partitioning Into connected regions Where each region is: Homogeneous Identified by a unique label There is room for interpretation here And here 2 1

Review: The big picture: Examples from The ITK Software Guide Figures 9.12 (top) & 9.1 (bottom) from the ITK Software Guide v 2.4, by Luis Ibáñez, et al. 3 Review: The Nature of Curves A curve is a 1D function, which is simply bent in ( lives in ) ND space. That is, a curve can be parameterized using a single parameter (hence, 1D). The parameter is usually arc length, s Even though not invariant to affine transforms. 4 2

Review: The Nature of Curves The speed of a curve at a point s is: Denote the outward normal direction at point s as n Y (s) Suppose the curve is closed: The concepts of INSIDE and OUTSIDE make sense Given a point x = [x i,y i ] not on the curve, Let Y x represent the closest point on the curve to x The arc length at Y x is defined to be s x. x is INSIDE the curve if: [x - Y x ] n Y (s x ) 0 And OUTSIDE otherwise. 5 Active Contours (Snakes) Most whole-image segmentation methods: Connectivity and homogeneity are based only on image data. In medical imaging, we often want to segment an anatomic object Connectivity and homogeneity are defined in terms of anatomy, not pixels How can we do this from an image? We definitely have to make use of prior knowledge of anatomy! Radiologists do this all the time 6 3

Active Contours (Snakes) Let s look at ultrasound of my neck. Examine the CCA: Large parts of the boundary are NOT visible! We know the CCA doesn t include the large black area at the bottom-right How can we automatically get a good segmentation? This is (usually) hard. Internal jugular vein (IJV) Common Carotid Artery (CCA) Not part of CCA Automated analysis of images like this is discussed in depth by David Wang, et al. in Fully Automated Common Carotid Artery and Internal Jugular Vein Identification and Tracking using B-Mode Ultrasound, IEEE Transactions on Biomedical Engineering, Vol. 56, No. 6, June 2009, free PMC version at http://www.ncbi.nlm.nih.gov/pmc/articles/pmc2873619/ 7 Active Contours (Snakes) How do we know where the edges/ boundaries are? Why are they missing in some places? Ultrasound & OCT frequently measure pixels as too dark Nuclear medicine often measures pixels as too bright X-Ray superimposes different objects from different depths What can we do about it? Edge closing won t work. Hallucinate 8 4

Active Contours (Snakes) Another example & underlying idea: 9 Active Contours (Snakes) Active contours can insure * that: The segmentation is not drastically too large or too small It is approximately the right shape There is a single, closed boundary Active contours can still be very wrong Just like every other segmentation method * Requires careful usage. 10 5

Active Contours (Snakes) Step 1: Initialize the boundary curve (the active contour) Automatically, Manually, or Semi-automatically Step 2: The contour moves Active contour Looks like a wiggling snake Step 3: The contour stops moving When many/most points on the contour line up with edge pixels 11 Initialization Good initialization is critical! Especially around small neighboring objects Especially if the image is really noisy/blurry Some snake algorithms require initialization entirely inside or outside of the object. It is usually best to initialize on the cleaner side of the boundary. Clinically, this is often involves a human, who: Marks 1 or more points inside the object Marks 1 or more boundary points and/or Possibly draws a simple curve, such as an ellipse 12 6

Moving the Contour Two common philosophies: Energy minimization Ad-hoc energy equation describes how good the curve looks, and how well it matches the image Numerically optimize the curve Partial differential equations (PDEs) Start the curve expanding or contracting Points on the curve move more slowly as: They become more curved They lie on top of image edginess The curve ideally stops moving when it lies over the appropriate image boundaries 13 Active Contours: Energy Minimization Visible image boundaries represent a low energy state for the active contour If your equations are properly set up This is usually a local minima This is one reason why initialization is so important! The curve is (typically) represented as a set of sequentially connected points. Each point is connected to its 2 neighboring points. The curve is usually closed, so the first and last points are connected. 14 7

Active Contours: Energy Minimization Active contour points pixels At any given time, each point is located at some pixel location (Think itk::index or itk::continuousindex) But points move around as the curve moves And neighboring points are usually separated by several pixels This allows room for each point to move around 15 Active Contours: Snake Energy Two Terms Internal Energy + External Energy External Energy Also called image energy Designed to capture desired image features Internal Energy Also called shape energy Designed to reduce extreme curvature and prevent outlier points 16 8

Active Contours: External (Image) Energy Designed to capture desired image features Example: E E = S exp( - úú Ñ f (X i ) úú ) Measures the gradient magnitude in the image at the location of each snake point 17 Active Contours: Internal (Shape) Energy Designed to reduce extreme curvature and prevent outlier points Example: Can add a -d term for avg. segment length E I = S aúú X i - X j úú + búú X i-1-2x i + X i+1 úú Looks like a 2nd derivative kernel Rubber band tension b is usually larger than a Minimizes: How far apart the snake points are from one another How much the curve bends 18 9

Active Contours: Selecting New Points Need choices to evaluate when minimizing snake energy Scenario 1: Snake can only shrink Useful to execute between (large) initialization and normal execution Look at points only inside the contour, relative to current point locations Scenario 2: Each snake point can move 1 step in any direction Useful if the snake is close to the correct boundary Look at all vertex-connected neighbors of each point s current location Other scenarios possible 19 Active Contours: Energy Minimization Numerical minimization methods Several choices In 2D, dynamic programming can work well In 3D (i.e. active surfaces ), simulated annealing can be a good choice Both methods require a finite (typically sampled) number of possible states. The solution obtained is hopefully the best within the set that was sampled, but If the best solution in the region of interest is not included in the sample set, then we won t find it! 20 10

Active Contours: Partial Differential Equations (PDEs) A different method for moving the active contour s points Used by Level Sets Operates on discrete time steps Snake points move normal to the curve (at each time step ). Snake points move a distance determined by their speed. 21 Active Contours using PDEs: Typical Speed Function Speed is usually a product of internal and external terms: s(x,y) = s I (x,y)s E (x,y) Internal (shape) speed: s I (x,y) = 1 - úú ek(x,y) úú where k(x,y) measures the snake s curvature at (x,y) External (image) speed: s E (x,y) = (1+D(x,y) ) -1 where D(x,y) measures the image s edginess at (x,y) 22 11

Active Contours using PDEs: Typical Problems Curvature measurements are very sensitive to noise They use 2nd derivatives These contour representations don t allow an object to split This can be a problem when tracking an object through multiple slices or multiple time frames. A common problem with branching vasculature or dividing cells How do you keep a curve from crossing itself? One solution: only allow the curve to grow 23 Level Sets A variation of the PDE framework Address the problems on the previous slide We will go over these in detail in the next lecture 24 12