Snakes Goes from edges to boundaries. Edge is strong change in intensity. Boundary is boundary of an object. –Smooth (more or less) –Closed. –…

Slides:



Advertisements
Similar presentations
Active Contours without Edges
Advertisements

Cutting Images: Graphs and Boundary Finding Computational Photography Derek Hoiem, University of Illinois 09/15/11 “The Double Secret”, Magritte.
Graph cut Chien-chi Chen.
The University of Ontario CS 4487/9587 Algorithms for Image Analysis Segmentation (2D) Acknowledgements: Alexei Efros, Steven Seitz.
Kapitel 13 “Interactive Segmentation” – p. 1 Interactive Segmentation  Live-wire approach  Random walker segmentation TexPoint fonts used in EMF. Read.
Graph-Based Image Segmentation
Graph-based image segmentation Václav Hlaváč Czech Technical University in Prague Faculty of Electrical Engineering Department of Cybernetics Prague, Czech.
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.
Snake: Active Contour Models. Department of Computer Science University of Missouri at Columbia History A seminal work in Computer vision, and imaging.
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
Instructor: Mircea Nicolescu Lecture 13 CS 485 / 685 Computer Vision.
Snakes - Active Contour Lecturer: Hagit Hel-Or
Active Contour Models (Snakes)
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Lecture 6 Image Segmentation
EE663 Image Processing Edge Detection 5 Dr. Samir H. Abdul-Jauwad Electrical Engineering Department King Fahd University of Petroleum & Minerals.
Announcements Mailing list: –you should have received messages Project 1 out today (due in two weeks)
Today: Image Segmentation Image Segmentation Techniques Snakes Scissors Graph Cuts Mean Shift Wednesday (2/28) Texture analysis and synthesis Multiple.
Image Segmentation Today’s Readings Intelligent Scissors, Mortensen et. al, SIGGRAPH 1995Intelligent Scissors From Sandlot ScienceSandlot Science.
Snake: Active Contour Models
Edge Detection Today’s reading Forsyth, chapters 8, 15.1
Active Contour Models (Snakes) Yujun Guo.
Image Segmentation Today’s Readings Forsyth & Ponce, Chapter 14
Announcements Mailing list: –you should have received messages Office hours onlineonline –start next week.
Edge Detection Today’s readings Cipolla and Gee –supplemental: Forsyth, chapter 9Forsyth Watt, From Sandlot ScienceSandlot Science.
Segmentation and Clustering Today’s Readings Forsyth & Ponce, Chapter 7 (plus lots of optional references in the slides) From Sandlot ScienceSandlot Science.
Instructor: Dr. Peyman Milanfar
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
06 - Boundary Models Overview Edge Tracking Active Contours Conclusion.
Globally Optimal Grouping for Symmetric Closed Boundaries with Stahl/ Wang Method Vida Movahedi September 2007.
Deformable Models Segmentation methods until now (no knowledge of shape: Thresholding Edge based Region based Deformable models Knowledge of the shape.
Cutting Images: Graphs and Boundary Finding Computational Photography Derek Hoiem, University of Illinois 09/14/10 “The Double Secret”, Magritte.
7.1. Mean Shift Segmentation Idea of mean shift:
The University of Ontario CS 433/653 Algorithms for Image Analysis Segmentation (2D) Acknowledgements: Alexei Efros, Steven Seitz.
Lecture 2: Edge detection CS4670: Computer Vision Noah Snavely From Sandlot ScienceSandlot Science.
1 Optimal Cycle Vida Movahedi Elder Lab, January 2008.
Intelligent Scissors for Image Composition Anthony Dotterer 01/17/2006.
Lecture 4: Image Resampling and Reconstruction CS4670: Computer Vision Kavita Bala.
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Many slides from Steve Seitz and Larry Zitnick
Brent M. Dingle, Ph.D Game Design and Development Program Mathematics, Statistics and Computer Science University of Wisconsin - Stout Edge Detection:
Dynamic Programming (DP), Shortest Paths (SP)
Lecture 8: Edges and Feature Detection
Cutting Images: Graphs and Boundary Finding Computational Photography Derek Hoiem, University of Illinois 09/20/12 “The Double Secret”, Magritte.
Winter in Kraków photographed by Marcin Ryczek
The University of Ontario The University of Ontario 5-1 CS 4487/9587 Algorithms for Image Analysis Segmentation with Boundary Regularization Acknowledgements:
Shape and Boundaries ECE 847: Digital Image Processing Stan Birchfield
Cutting Images: Graphs and Boundary Finding
Announcements CS accounts Project 1 is out today
CS4670/5670: Image Scissors Noah Snavely Today’s Readings
Image gradients and edges
Edge Detection CS 678 Spring 2018.
Jeremy Bolton, PhD Assistant Teaching Professor
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Image gradients and edges April 11th, 2017
Announcements Reader is in the BOOK STORE (not Comm Bldg.)
Lecture 31: Graph-Based Image Segmentation
Announcements Photos right now Project 3 questions
Lecture 2: Edge detection
Snakes, Shapes, and Gradient Vector Flow
Seam Carving Project 1a due at midnight tonight.
Segmentation (continued)
Announcements Project 4 questions Evaluations.
Announcements Project 1 is out today
Announcements Project 4 out today (due Wed March 10)
Edge Detection Today’s readings Cipolla and Gee Watt,
Announcements Project 1 is out today help session at the end of class.
Lecture 2: Edge detection
Winter in Kraków photographed by Marcin Ryczek
Presentation transcript:

Snakes Goes from edges to boundaries. Edge is strong change in intensity. Boundary is boundary of an object. –Smooth (more or less) –Closed. –…

For Information on SNAKEs See Text by Trucco and Verri, 5.4. Kass, Witkin and Terzopoulos, IJCV. “Dynamic Programming for Detecting, Tracking, and Matching Deformable Contours”, by Geiger, Gupta, Costa, and Vlontzos, IEEE Trans. PAMI 17(3) , 1995 E. N. Mortensen and W. A. Barrett, Intelligent Scissors for Image Composition, in ACM Computer Graphics (SIGGRAPH `95), pp , 1995Intelligent Scissors for Image Composition

Sometimes edge detectors find the boundary pretty well.

Sometimes it’s not enough.

Improve Boundary Detection Integrate information over distance. Use shape cues –Smoothness –Closure Get User to Help.

Humans integrate contour information.

Strategy of Class What is a good path? Given endpoints, how do we find a good path? What if we don’t know the end points? Note that like all vision this is modeling and optimization.

We’ll do something easier than finding the whole boundary. Finding the best path between two boundary points.

How do we decide how good a path is? Which of two paths is better?

Discrete Grid Contour should be near edge. Strength of gradient. Contour should be smooth (good continuation). Low curvature Low change of direction of gradient.

To start: contour near edge For each step from one pixel to another, we measure edge strength. Find path with biggest total edge strength.

So How do we find the best Path? Computer Science at last. A Curve is a path through the grid. Cost depends on each step of the path. We want to minimize cost.

Map problem to Graph Weight represents cost of going from one pixel to another. Next term in sum.

–the link should follow the intensity edge want intensity to change rapidly orthogonal to the link – c  - |difference of intensity orthogonal to link| Defining the costs Treat the image as a graph Want to hug image edges: how to define cost of a link? p q c (Seitz)

Defining the costs p q c First, smooth the image to reduce noise. c can be computed using a cross-correlation filter –assume it is centered at p Also typically scale c by it’s length –set c = (max-|filter response|) * length(c) where max = maximum |filter response| over all pixels in the image (Seitz)

Defining the costs p q c 1 11 w c can be computed using a cross-correlation filter –assume it is centered at p Also typically scale c by it’s length –set c = (max-|filter response|) * length(c) where max = maximum |filter response| over all pixels in the image (Seitz)

Dijkstra’s shortest path algorithm Algorithm 1.init node costs to , set p = seed point, cost(p) = 0 2.expand p as follows: for each of p’s neighbors q that are not expanded –set cost(q) = min( cost(p) + c pq, cost(q) ) link cost (Seitz)

Dijkstra’s shortest path algorithm Algorithm 1.init node costs to , set p = seed point, cost(p) = 0 2.expand p as follows: for each of p’s neighbors q that are not expanded –set cost(q) = min( cost(p) + c pq, cost(q) ) »if q’s cost changed, make q point back to p –put q on the ACTIVE list (if not already there)

Dijkstra’s shortest path algorithm Algorithm 1.init node costs to , set p = seed point, cost(p) = 0 2.expand p as follows: for each of p’s neighbors q that are not expanded –set cost(q) = min( cost(p) + c pq, cost(q) ) »if q’s cost changed, make q point back to p –put q on the ACTIVE list (if not already there) 3.set r = node with minimum cost on the ACTIVE list 4.repeat Step 2 for p = r

Dijkstra’s shortest path algorithm Algorithm 1.init node costs to , set p = seed point, cost(p) = 0 2.expand p as follows: for each of p’s neighbors q that are not expanded –set cost(q) = min( cost(p) + c pq, cost(q) ) »if q’s cost changed, make q point back to p –put q on the ACTIVE list (if not already there) 3.set r = node with minimum cost on the ACTIVE list 4.repeat Step 2 for p = r

demo

Smoothness Discrete Curvature: if you go from p(j-1) to p(j) to p(j+1) how much did direction change? –Be careful with discrete distances. Change of direction of gradient from p(j- 1) to p(j)

Combine into a cost function Path: p(1), p(2), … p(n). Where d(p(j),p(j+1)) is distance between consecutive grid points (ie, 1 or sqrt(2). g(p(j)) measures strength of gradient  is some parameter f measures smoothness, curvature.

One Example cost function f is the angle between the gradient at p(j-1) and p(j). Or it could more directly measure curvature of the curve. (Loosely based on “Dynamic Programming for Detecting, Tracking, and Matching Deformable Contours”, by Geiger, Gupta, Costa, and Vlontzos, IEEE Trans. PAMI 17(3) , 1995.)

Application: Intelligent Scissors

Results demo (Seitz Class)

Why do we need user help? Why not run all points shortest path and find best closed curve?

Lessons Perceptual organization, middle level knowledge, needed for boundary detection. Fully automatic methods not good enough yet. Formulate desired solution then optimize it.