Brent M. Dingle, Ph.D. 2015 Game Design and Development Program Mathematics, Statistics and Computer Science University of Wisconsin - Stout Edge Detection:

Slides:



Advertisements
Similar presentations
Cutting Images: Graphs and Boundary Finding Computational Photography Derek Hoiem, University of Illinois 09/15/11 “The Double Secret”, Magritte.
Advertisements

Lecture 2: Convolution and edge detection CS4670: 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.
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.
Edge Detection CSE P 576 Larry Zitnick
Edge and Corner Detection Reading: Chapter 8 (skip 8.1) Goal: Identify sudden changes (discontinuities) in an image This is where most shape information.
Edge Detection. Our goal is to extract a “line drawing” representation from an image Useful for recognition: edges contain shape information –invariance.
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
Lecture 4 Edge Detection
Computer Vision Group Edge Detection Giacomo Boracchi 5/12/2007
Canny Edge Detector.
Announcements Mailing list: –you should have received messages Project 1 out today (due in two weeks)
Lecture 2: Edge detection and resampling
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.
Edge Detection Today’s reading Forsyth, chapters 8, 15.1
Lecture 3: Edge detection, continued
Filters and Edges. Zebra convolved with Leopard.
Lecture 2: Image filtering
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.
The blue and green colors are actually the same.
Segmentation and Clustering Today’s Readings Forsyth & Ponce, Chapter 7 (plus lots of optional references in the slides) From Sandlot ScienceSandlot Science.
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Computer Vision Spring ,-685 Instructor: S. Narasimhan WH 5409 T-R 10:30 – 11:50am.
CS559: Computer Graphics Lecture 3: Digital Image Representation Li Zhang Spring 2008.
Cutting Images: Graphs and Boundary Finding Computational Photography Derek Hoiem, University of Illinois 09/14/10 “The Double Secret”, Magritte.
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.
Lecture 4: Image Resampling and Reconstruction CS4670: Computer Vision Kavita Bala.
Edge Detection Today’s reading Cipolla & Gee on edge detection (available online)Cipolla & Gee on edge detection From Sandlot ScienceSandlot Science.
Edge Detection Today’s reading Cipolla & Gee on edge detection (available online)Cipolla & Gee on edge detection Szeliski, Ch 4.1.2, From Sandlot.
Brent M. Dingle, Ph.D Game Design and Development Program Mathematics, Statistics and Computer Science University of Wisconsin - Stout Quick Review.
Review and Prepare for Test 3 CS 244 Brent M. Dingle, Ph.D. Game Design and Development Program Department of Mathematics, Statistics, and Computer Science.
Brent M. Dingle, Ph.D Game Design and Development Program Mathematics, Statistics and Computer Science University of Wisconsin - Stout HTML5 – Canvas.
CS654: Digital Image Analysis Lecture 24: Introduction to Image Segmentation: Edge Detection Slide credits: Derek Hoiem, Lana Lazebnik, Steve Seitz, David.
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
CSE 185 Introduction to Computer Vision Edges. Scale space Reading: Chapter 3 of S.
Digital Image Processing
Brent M. Dingle, Ph.D Game Design and Development Program Mathematics, Statistics and Computer Science University of Wisconsin - Stout Edge Detection.
Digital Image Processing
Brent M. Dingle, Ph.D Game Design and Development Program Mathematics, Statistics and Computer Science University of Wisconsin - Stout Image Processing.
Announcements Project 0 due tomorrow night. Edge Detection Today’s readings Cipolla and Gee (handout) –supplemental: Forsyth, chapter 9Forsyth For Friday.
Digital Image Processing Lecture 17: Segmentation: Canny Edge Detector & Hough Transform Prof. Charlene Tsai.
COMPUTER VISION D10K-7C02 CV05: Edge Detection Dr. Setiawan Hadi, M.Sc.CS. Program Studi S-1 Teknik Informatika FMIPA Universitas Padjadjaran.
Lecture 8: Edges and Feature Detection
Finding Boundaries Computer Vision CS 143, Brown James Hays 09/28/11 Many slides from Lana Lazebnik, Steve Seitz, David Forsyth, David Lowe, Fei-Fei Li,
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
Brent M. Dingle, Ph.D Game Design and Development Program Mathematics, Statistics and Computer Science University of Wisconsin - Stout Color Image.
Edge Detection Images and slides from: James Hayes, Brown University, Computer Vision course Svetlana Lazebnik, University of North Carolina at Chapel.
Cutting Images: Graphs and Boundary Finding
Announcements CS accounts Project 1 is out today
CS4670/5670: Image Scissors Noah Snavely Today’s Readings
Image Warping (Geometric Transforms)
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.
Announcements Reader is in the BOOK STORE (not Comm Bldg.)
Digital Image Processing
Lecture 2: Edge detection
Announcements Project 1 is out today
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:

Brent M. Dingle, Ph.D Game Design and Development Program Mathematics, Statistics and Computer Science University of Wisconsin - Stout Edge Detection: Smart Scissors Digital Image Processing Material in this presentation is largely based on/derived from presentations by: Noah Snavely DRAFT

Lecture Objectives Previously – Filtering – Interpolation – Warping – Morphing – Compression – Edge Detection Today – Intelligent Scissors Image Manipulation and Enhancement Image Analysis Image Compression

Recall: Edge Detection Goal: Identify sudden changes (discontinuities) in an image – Much of the ‘shape’ information of the image can be realized in the edges Ideal Result: an artist’s line drawing – aside: who can use knowledge beyond a single image contour line drawing image from:

Recall: Canny Edge Detector Filter image with derivative of Gaussian Find magnitude and orientation of gradient Apply non-maximum suppression Linking and thresholding (hysteresis) – Define 2 thresholds: low and high – Use the high threshold to start edge curves and the low threshold to continue them source: L. Fei-Fei, D. Lowe

Extracting Objects How can the tiger be extracted from the image? – Difficult to do manually – Difficult to do automatically (but possible) – Easier to do semi-automatically source: Noah Snavely

Paper to Read/Reference Intelligent Scissors, Mortensen et. al, SIGGRAPH 1995 source: Noah Snavely

Intelligent Scissors source: Noah Snavely

Intelligent Scissors Question – How do we find a path from seed to mouse that follows an object boundary as closely as possible? Answer – Define a path that stays as close as possible to edges source: Noah Snavely

Intelligent Scissors Basic Idea – Define edge score for each pixel assign edge pixels a low score – Find lowest cost path from seed to mouse seed mouse source: Noah Snavely

Let’s look at this more closely Treat the image as a graph Graph node for every pixel p link between every adjacent pair of pixels, p,q cost c for each link Note: each link has a cost this is a little different than the figure before where each pixel had a cost p q c source: Noah Snavely

good (low-cost) links follow the intensity edge –want intensity to change rapidly to the link c – |intensity of r – intensity of s| Defining the costs Want to hug image edges: how to define cost of a link? p q c r s source: Noah Snavely

c can be computed using a cross-correlation filter – assume it is centered at p p q c r s Defining the costs source: Noah Snavely

Defining the costs 1 11 c can be computed using a cross-correlation filter assume it is centered at p A couple more modifications Scale the filter response by length of link c. Why? Make c positive –Set c = (max-|filter response|*length) –where max = maximum |filter response|*length over all pixels in the image p q c r s w source: Noah Snavely

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 source: Noah Snavely

Dijkstra’s shortest path algorithm if q’s cost changed, make q point back to p put q on the ACTIVE list (if not already there) 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) ) source: Noah Snavely

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) source: Noah Snavely

Dijkstra’s shortest path algorithm 3.set r = node with minimum cost on the ACTIVE list 4.repeat Step 2 for p = r 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) source: Noah Snavely

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(N 2 ) time if you use an active list O(N log N) if you use an active priority queue (heap) takes fraction of a 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) time. it runs in real time as the mouse moves – What happens when the user specifies a new seed? source: Noah Snavely

Questions? Beyond D2L – Examples and information can be found online at: Continue to more stuff as needed

Extra Reference Stuff Follows

Credits Much of the content derived/based on slides for use with the book: – Digital Image Processing, Gonzalez and Woods Some layout and presentation style derived/based on presentations by – Donald House, Texas A&M University, 1999 – Sventlana Lazebnik, UNC, 2010 – Noah Snavely, Cornell University, 2012 – Xin Li, WVU, 2014 – George Wolberg, City College of New York, 2015 – Yao Wang and Zhu Liu, NYU-Poly, 2015