CSSE463: Image Recognition Day 25 This week This week Today: Finding lines and circles using the Hough transform (Sonka 6.26) Today: Finding lines and.

Slides:



Advertisements
Similar presentations
Hough Transforms CSE 6367 – Computer Vision Vassilis Athitsos University of Texas at Arlington.
Advertisements

Edge Detection Selim Aksoy Department of Computer Engineering Bilkent University
Hough Transform Reading Watt, An edge is not a line... How can we detect lines ?
CSSE463: Image Recognition Day 6 Yesterday: Yesterday: Local, global, and point operators all operate on entire image, changing one pixel at a time!! Local,
Lecture 5 Hough transform and RANSAC
1Ellen L. Walker Segmentation Separating “content” from background Separating image into parts corresponding to “real” objects Complete segmentation Each.
CS 376b Introduction to Computer Vision 04 / 11 / 2008 Instructor: Michael Eckmann.
Announcements Mailing list: –you should have received messages Project 1 out today (due in two weeks)
GENERALIZED HOUGH TRANSFORM. Recap on classical Hough Transform 1.In detecting lines – The parameters  and  were found out relative to the origin (0,0)
Edge Detection Today’s reading Forsyth, chapters 8, 15.1
Edges and Lines Readings: Chapter 10:
Feature Detection: Corners and Lines. Edges vs. Corners Edges = maxima in intensity gradientEdges = maxima in intensity gradient.
Fitting a Model to Data Reading: 15.1,
CS 376b Introduction to Computer Vision 04 / 14 / 2008 Instructor: Michael Eckmann.
Stockman MSU/CSE Fall 2009 Finding region boundaries.
CS 376b Introduction to Computer Vision 04 / 15 / 2008 Instructor: Michael Eckmann.
Edge Detection Today’s readings Cipolla and Gee –supplemental: Forsyth, chapter 9Forsyth Watt, From Sandlot ScienceSandlot Science.
Fitting: The Hough transform
Edge Detection.
Robust estimation Problem: we want to determine the displacement (u,v) between pairs of images. We are given 100 points with a correlation score computed.
1 Lines and Arcs Segmentation In some image sets, lines, curves, and circular arcs are more useful than regions or helpful in addition to regions. Lines.
כמה מהתעשייה? מבנה הקורס השתנה Computer vision.
Computer Vision Spring ,-685 Instructor: S. Narasimhan Wean Hall 5409 T-R 10:30am – 11:50am.
October 8, 2013Computer Vision Lecture 11: The Hough Transform 1 Fitting Curve Models to Edges Most contours can be well described by combining several.
Hough Transform on the GPU Presented by Javier Garcia November 29, 2010.
Segmentation Course web page: vision.cis.udel.edu/~cv May 7, 2003  Lecture 31.
Fitting: The Hough transform. Voting schemes Let each feature vote for all the models that are compatible with it Hopefully the noise features will not.
HOUGH TRANSFORM Presentation by Sumit Tandon
HOUGH TRANSFORM & Line Fitting Introduction  HT performed after Edge Detection  It is a technique to isolate the curves of a given shape / shapes.
Fitting : Voting and the Hough Transform Monday, Feb 14 Prof. Kristen Grauman UT-Austin.
Generalized Hough Transform
Mestrado em Ciência de Computadores Mestrado Integrado em Engenharia de Redes e Sistemas Informáticos VC 14/15 – TP8 Segmentation Miguel Tavares Coimbra.
Lecture 08 Detecting Shape Using Hough Transform Lecture 08 Detecting Shape Using Hough Transform Mata kuliah: T Computer Vision Tahun: 2010.
CS654: Digital Image Analysis Lecture 25: Hough Transform Slide credits: Guillermo Sapiro, Mubarak Shah, Derek Hoiem.
Fitting: The Hough transform
Edge Detection and Geometric Primitive Extraction Jinxiang Chai.
Fitting Thursday, Sept 24 Kristen Grauman UT-Austin.
Object Detection 01 – Basic Hough Transformation JJCAO.
Hough Transform Procedure to find a shape in an image Shape can be described in parametric form Shapes in image correspond to a family of parametric solutions.
CSSE463: Image Recognition Day 6 Yesterday: Local, global, and point operators use different context, but all Yesterday: Local, global, and point operators.
October 16, 2014Computer Vision Lecture 12: Image Segmentation II 1 Hough Transform The Hough transform is a very general technique for feature detection.
Lecture 10: Lines from Edges, Interest Points, Binary Operations CAP 5415: Computer Vision Fall 2006.
Image Segmentation Image segmentation (segmentace obrazu)
Edges and Lines Readings: Chapter 10:
Digital Image Processing Lecture 17: Segmentation: Canny Edge Detector & Hough Transform Prof. Charlene Tsai.
Hough Transform CS 691 E Spring Outline Hough transform Homography Reading: FP Chapter 15.1 (text) Some slides from Lazebnik.
Object Recognition. Segmentation –Roughly speaking, segmentation is to partition the images into meaningful parts that are relatively homogenous in certain.
Grouping and Segmentation. Sometimes edge detectors find the boundary pretty well.
HOUGH TRANSFORM.
CSSE463: Image Recognition Day 26
Fitting: Voting and the Hough Transform
Miguel Tavares Coimbra
Line Fitting James Hayes.
Fitting: The Hough transform
Fitting Curve Models to Edges
Hough Transform COMP 4900C Winter 2008.
Edge Detection CSE 455 Linda Shapiro.
CSSE463: Image Recognition Day 26
CSSE463: Image Recognition Day 6
CSSE463: Image Recognition Day 26
Hough Transform.
CSSE463: Image Recognition Day 6
Outline Announcement Perceptual organization, grouping, and segmentation Hough transform Read Chapter 17 of the textbook File: week14-m.ppt.
CSSE463: Image Recognition Day 27
CSSE463: Image Recognition Day 26
Edge Detection Today’s readings Cipolla and Gee Watt,
CSSE463: Image Recognition Day 6
CSSE463: Image Recognition Day 26
Finding Line and Curve Segments from Edge Images
Introduction to Artificial Intelligence Lecture 22: Computer Vision II
Presentation transcript:

CSSE463: Image Recognition Day 25 This week This week Today: Finding lines and circles using the Hough transform (Sonka 6.26) Today: Finding lines and circles using the Hough transform (Sonka 6.26) Please fill out Angel evaluation of Sunset partner if you had one. Use "Term Project Partner Evaluation" Please fill out Angel evaluation of Sunset partner if you had one. Use "Term Project Partner Evaluation" Tomorrow: Applications of PCA Tomorrow: Applications of PCA Weds: k-means lab due. Weds: k-means lab due. Sunday night: project plans and preliminary work due Sunday night: project plans and preliminary work due Questions? Questions?

Finding lines in real images Input: set of edge points Input: set of edge points Output: the equation of a line containing them Output: the equation of a line containing them Methods: Methods: Least-squares (if you know which points belong to the line…) Hough transform (today)

Hough transform Idea (Sonka 6.2.6; Forsyth and Ponce, ch 15) : Idea (Sonka 6.2.6; Forsyth and Ponce, ch 15) : Represent a line using parameters Represent a line using parameters Each edge point in the image casts a vote for all lines of which it could be part. Each edge point in the image casts a vote for all lines of which it could be part. Only the true line receives lots of votes Only the true line receives lots of votes

Parametric Equation of a Line Represent a line using 2 parameters Represent a line using 2 parameters y = mx + b? y = mx + b? Problem? Problem? Ax + By + C = 0? Ax + By + C = 0? 3 parameters; but A, B, and C are related…we only need 2 3 parameters; but A, B, and C are related…we only need 2  and   and   is distance from line to origin  is distance from line to origin  is the angle the distance segment makes with x- axis  is the angle the distance segment makes with x- axis x cos  + y sin  =  x cos  + y sin  =  Q1

Voting Each point in image votes for all lines of which it could be part. Each point in image votes for all lines of which it could be part. Only “true” line receives lots of votes. Only “true” line receives lots of votes. Quiz question: show (4,4), (2,2), and (0,0) voting for a line in y = mx+b space (for simplicity) Quiz question: show (4,4), (2,2), and (0,0) voting for a line in y = mx+b space (for simplicity) Q2-3

Perfect line Notice sharp peak in voting space Notice sharp peak in voting space (next 3 images from Forsyth and Ponce, ch 15) (next 3 images from Forsyth and Ponce, ch 15) Q4

Approximate line Notice the broader peak. Can we detect it? Notice the broader peak. Can we detect it? Could smooth or use a coarser quantization? Could smooth or use a coarser quantization? Accumulator array: bin size? Range? Accumulator array: bin size? Range? Q5

Random noise Votes spead all over the place: no line Votes spead all over the place: no line Too much noise creates “phantom lines” Too much noise creates “phantom lines” Smoothing can sometimes help Smoothing can sometimes help Q6

Limitations Finding the right grid size in parameter space may be tricky Finding the right grid size in parameter space may be tricky Trial and error Trial and error

Matlab Run an edge detector first to find points that are voting [H, theta, rho] = hough(edgeImg); peaks = houghpeaks(H,nPeaks); This works for lines only

Another demo teaching/06-interactive/HNF.html

Generalizations Finding circles with fixed radius… Finding circles with fixed radius… Finding circles with arbitrary radius… Finding circles with arbitrary radius… Finding line segments Finding line segments Finding arbitrary shapes… Finding arbitrary shapes… Ballard, Dana Generalizing the Hough transform to detect arbitrary shapes. Pattern Recognition, 13(2): Ballard, Dana Generalizing the Hough transform to detect arbitrary shapes. Pattern Recognition, 13(2): Dana was a long-time member of Rochester’s computer vision group. Dana was a long-time member of Rochester’s computer vision group. Q7-8

My Circle Finder Demo Demo Wouldn’t this be a great lab? Wouldn’t this be a great lab? Like Matlab’s hough and houghpeaks (for lines), but from scratch Like Matlab’s hough and houghpeaks (for lines), but from scratch Easier would be to find circles of fixed radius Easier would be to find circles of fixed radius

Reducing the number of votes Use the edge gradient information as well Use the edge gradient information as well Only need to cast votes for centers along the gradient Only need to cast votes for centers along the gradient I’ve done this; it works really well I’ve done this; it works really well Use partial curves. If you had a way of grouping relating points, you could use curvature. Use partial curves. If you had a way of grouping relating points, you could use curvature. Haven’t done yet. Haven’t done yet.

Circle finder assignment Like Matlab’s hough and houghpeaks (for lines), but from scratch Like Matlab’s hough and houghpeaks (for lines), but from scratch To help: To help: Can opt to find circles of fixed radius (but I’ll hold you to higher standard of accuracy) Can opt to find circles of fixed radius (but I’ll hold you to higher standard of accuracy) I’ve posted my Lab 2 sobel edge finder I’ve posted my Lab 2 sobel edge finder