Announcements Project 1 is out today help session at the end of class.

Slides:



Advertisements
Similar presentations
November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
Advertisements

Lecture 24: Segmentation CS6670: Computer Vision Noah Snavely From Sandlot ScienceSandlot Science.
The University of Ontario CS 4487/9587 Algorithms for Image Analysis Segmentation (2D) Acknowledgements: Alexei Efros, Steven Seitz.
I Images as graphs Fully-connected graph – node for every pixel – link between every pair of pixels, p,q – similarity w ij for each link j w ij c Source:
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.
Lecture 6 Image Segmentation
Image segmentation. The goals of segmentation Group together similar-looking pixels for efficiency of further processing “Bottom-up” process Unsupervised.
CS 376b Introduction to Computer Vision 04 / 08 / 2008 Instructor: Michael Eckmann.
Region Segmentation. Find sets of pixels, such that All pixels in region i satisfy some constraint of similarity.
Segmentation CSE P 576 Larry Zitnick Many slides courtesy of Steve Seitz.
Announcements Project 2 more signup slots questions Picture taking at end of class.
Today: Image Segmentation Image Segmentation Techniques Snakes Scissors Graph Cuts Mean Shift Wednesday (2/28) Texture analysis and synthesis Multiple.
From Pixels to “Blobs” : Rendering and Image Processing Alexei Efros.
Snakes Goes from edges to boundaries. Edge is strong change in intensity. Boundary is boundary of an object. –Smooth (more or less) –Closed. –…
Image Segmentation Today’s Readings Intelligent Scissors, Mortensen et. al, SIGGRAPH 1995Intelligent Scissors From Sandlot ScienceSandlot Science.
Cutting complete weighted graphs Jameson Cahill Ido Heskia Math/CSC 870 Spring 2007.
Lecture 18: Context and segmentation CS6670: Computer Vision Noah Snavely.
Image Segmentation A Graph Theoretic Approach. Factors for Visual Grouping Similarity (gray level difference) Similarity (gray level difference) Proximity.
Image Segmentation Today’s Readings Forsyth & Ponce, Chapter 14
Announcements Mailing list: –you should have received messages Office hours onlineonline –start next week.
Perceptual Organization: Segmentation and Optical Flow.
Segmentation and Clustering Today’s Readings Forsyth & Ponce, Chapter 7 (plus lots of optional references in the slides) From Sandlot ScienceSandlot Science.
Announcements vote for Project 3 artifacts Project 4 (due next Wed night) Questions? Late day policy: everything must be turned in by next Friday.
Announcements Project 3 questions Photos after class.
The Shortest Path Problem
Computer Vision - A Modern Approach Set: Segmentation Slides by D.A. Forsyth Segmentation and Grouping Motivation: not information is evidence Obtain a.
Segmentation via Graph Cuts
Graph-based Segmentation
Presenter : Kuang-Jui Hsu Date : 2011/5/3(Tues.).
The University of Ontario CS 433/653 Algorithms for Image Analysis Segmentation (2D) Acknowledgements: Alexei Efros, Steven Seitz.
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:
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.
Brent M. Dingle, Ph.D Game Design and Development Program Mathematics, Statistics and Computer Science University of Wisconsin - Stout Edge Detection:
Cutting Images: Graphs and Boundary Finding Computational Photography Derek Hoiem, University of Illinois 09/20/12 “The Double Secret”, Magritte.
Normalized Cuts and Image Segmentation Patrick Denis COSC 6121 York University Jianbo Shi and Jitendra Malik.
Grouping and Segmentation Previously: model-based grouping (e.g., straight line, figure 8…) Now: general ``bottom-up” image organization (Like detecting-specific-brightness-patterns.
Course Introduction to Medical Imaging Segmentation 1 – Mean Shift and Graph-Cuts Guy Gilboa.
Graphcut Textures:Image and Video Synthesis Using Graph Cuts
Image Segmentation Today’s Readings Szesliski Chapter 5
Cutting Images: Graphs and Boundary Finding
Exercise class 13 : Image Segmentation
Announcements CS accounts Project 1 is out today
CSC317 Shortest path algorithms
CSSE463: Image Recognition Day 34
CS4670/5670: Image Scissors Noah Snavely Today’s Readings
Image gradients and edges
Shortest Path Problems
Grouping.
Announcements Reader is in the BOOK STORE (not Comm Bldg.)
Lecture 31: Graph-Based Image Segmentation
Announcements Photos right now Project 3 questions
Digital Image Processing
Shortest Path Problems
Seam Carving Project 1a due at midnight tonight.
Image Segmentation CS 678 Spring 2018.
Segmentation (continued)
Announcements Project 4 questions Evaluations.
Announcements Project 1 is out today
Announcements Project 4 out today (due Wed March 10)
EE 492 ENGINEERING PROJECT
CSSE463: Image Recognition Day 34
“Traditional” image segmentation
More Graphs Lecture 19 CS2110 – Fall 2009.
Presentation transcript:

Announcements Project 1 is out today help session at the end of class

Segmentation Today’s Readings Intelligent Scissors From Sandlot Science Today’s Readings Intelligent Scissors http://www.cs.washington.edu/education/courses/490cv/02wi/readings/book-7-revised-a-indx.pdf

From images to objects What Defines an Object? Subjective problem, but has been well-studied Gestalt Laws seek to formalize this proximity, similarity, continuation, closure, common fate see notes by Steve Joordens, U. Toronto

Segmentation using edges Edges  Segments Spurious edges Missing edges

Extracting objects How could this be done?

Image Segmentation Many approaches proposed color cues region cues contour cues We will consider a few of these Today: Intelligent Scissors (contour-based) E. N. Mortensen and W. A. Barrett, Intelligent Scissors for Image Composition, in ACM Computer Graphics (SIGGRAPH `95), pp. 191-198, 1995 Normalized Cuts (region-based) J. Shi and J. Malik, Normalized Cuts and Image Segmentation, IEEE Conf. Computer Vision and Pattern Recognition(CVPR), 1997 Discussed in Forsyth, chapter 16.5

Intelligent Scissors

Intelligent Scissors Approach answers a basic question Q: how to find a path from seed to mouse that follows object boundary as closely as possible? A: define a path that stays as close as possible to edges

Intelligent Scissors Questions Basic Idea Define edge score for each pixel edge pixels have low cost Find lowest cost path from seed to mouse mouse seed Questions How to define costs? How to find the path?

Path Search (basic idea) Graph Search Algorithm Computes minimum cost path from seed to all other pixels

How does this really work? Treat the image as a graph q c p Graph node for every pixel p link between every adjacent pair of pixels, p,q cost c for each link Note: each node has a cost this is a little different than the figure before where each pixel had a cost

Defining the costs Treat the image as a graph q c p Want to hug image edges: how to define cost of a link? the link should follow the edge this means the gradient at p is nearly perpendicular to the link direction, option 1: c = option 2: c  - |derivative of intensity across link| other options (see reading) for project 1

Defining the costs q c p 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

Defining the costs q c w p 1 -1 c 1 -1 w p 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

Dijkstra’s shortest path algorithm 5 3 1 4 9 2 link cost Algorithm set p = seed point, cost(p) =  expand p as follows: for each of p’s neighbors q that are not expanded set cost(q) = min( cost(p) + cpq, cost(q) )

Dijkstra’s shortest path algorithm 4 9 5 5 3 1 4 9 2 1 1 1 3 3 2 3 Algorithm set p = seed point, cost(p) =  expand p as follows: for each of p’s neighbors q that are not expanded set cost(q) = min( cost(p) + cpq, 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 4 9 5 2 5 3 1 4 9 2 3 5 2 1 1 3 3 3 4 3 2 3 Algorithm set p = seed point, cost(p) =  expand p as follows: for each of p’s neighbors q that are not expanded set cost(q) = min( cost(p) + cpq, cost(q) ) if q’s cost changed, make q point back to p put q on the ACTIVE list (if not already there) set r = node with minimum cost on the ACTIVE list repeat Step 2 for p = r

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

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

Dijkstra’s shortest path algorithm Properties It computes the minimum cost path from the seed to every node in the graph. This set of minimum paths is represented as a tree Running time, with N pixels: O(N2) time if you use an active list O(N log N) if you use an active priority queue (heap) takes < second for a typical (640x480) image Once this tree is computed once, we can extract the optimal path from any point to the seed in O(N/2) time. it runs in real time as the mouse moves What happens when the user specifies a new seed?

Results demo

How about doing this automatically?

Images as graphs c Fully-connected graph q Cpq p node for every pixel link between every pair of pixels, p,q cost cpq for each link cpq measures dissimilarity dissimilarity: difference in color and position this is different than the costs for intelligent scissors

Segmentation by Graph Cuts w A B C Break Graph into Segments Delete links that cross between segments Easiest to break links that have high cost similar pixels should be in the same segments dissimilar pixels should be in different segments

Cuts in a graph Normalized Cut B A Link Cut set of links whose removal makes a graph disconnected cost of a cut: Normalized Cut a cut penalizes large segments fix by normalizing for size of segments

Interpretation as a Dynamical System Treat the links as springs and shake the system elasticity proportional to cost vibration “modes” correspond to segments

Interpretation as a Dynamical System Treat the links as springs and shake the system elasticity proportional to cost vibration “modes” correspond to segments

Color Image Segmentation

Normalize Cut in Matrix Form W is the cost matrix : W ( i , j ) = w ; i , j å D is the sum of costs from node i : D ( i , i ) = W ( i , j ); j After lots of math, we get: Solution given by “generalized” eigenvalue problem: Solved by converting to standard eigenvalue problem: optimal solution corresponds to second smallest eigenvector for more details, see J. Shi and J. Malik, Normalized Cuts and Image Segmentation, IEEE Conf. Computer Vision and Pattern Recognition(CVPR), 1997