Instructor: Mircea Nicolescu Lecture 12 CS 485 / 685 Computer Vision.

Slides:



Advertisements
Similar presentations
Object Recognition from Local Scale-Invariant Features David G. Lowe Presented by Ashley L. Kapron.
Advertisements

November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
Computer vision: models, learning and inference Chapter 13 Image preprocessing and feature extraction.
Instructor: Mircea Nicolescu Lecture 6 CS 485 / 685 Computer Vision.
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
Instructor: Mircea Nicolescu Lecture 13 CS 485 / 685 Computer Vision.
Lecture 6: Feature matching CS4670: Computer Vision Noah Snavely.
Midterm Review CS485/685 Computer Vision Prof. Bebis.
Edge detection. Edge Detection in Images Finding the contour of objects in a scene.
EE663 Image Processing Edge Detection 2 Dr. Samir H. Abdul-Jauwad Electrical Engineering Department King Fahd University of Petroleum & Minerals.
Announcements. Projection Today’s Readings Nalwa 2.1.
Object Recognition with Invariant Features n Definition: Identify objects or scenes and determine their pose and model parameters n Applications l Industrial.
Lecture 4: Feature matching
Automatic Image Alignment (feature-based) : Computational Photography Alexei Efros, CMU, Fall 2005 with a lot of slides stolen from Steve Seitz and.
CS485/685 Computer Vision Dr. George Bebis
Feature extraction: Corners and blobs
Segmentation (Section 10.2)
Scale Invariant Feature Transform (SIFT)
EE663 Image Processing Edge Detection 3 Dr. Samir H. Abdul-Jauwad Electrical Engineering Department King Fahd University of Petroleum & Minerals.
1Ellen L. Walker Matching Find a smaller image in a larger image Applications Find object / pattern of interest in a larger picture Identify moving objects.
Edge Detection Today’s readings Cipolla and Gee –supplemental: Forsyth, chapter 9Forsyth Watt, From Sandlot ScienceSandlot Science.
Automatic Image Alignment (feature-based) : Computational Photography Alexei Efros, CMU, Fall 2006 with a lot of slides stolen from Steve Seitz and.
CS4670: Computer Vision Kavita Bala Lecture 7: Harris Corner Detection.
CS4670: Computer Vision Kavita Bala Lecture 8: Scale invariance.
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.
Distinctive Image Features from Scale-Invariant Keypoints David G. Lowe – IJCV 2004 Brien Flewelling CPSC 643 Presentation 1.
Hough Transform (Section 10.2) CS474/67. Edge Linking and Boundary Detection Edge detection does not yield connected boundaries. Edge linking and boundary.
כמה מהתעשייה? מבנה הקורס השתנה Computer vision.
October 8, 2013Computer Vision Lecture 11: The Hough Transform 1 Fitting Curve Models to Edges Most contours can be well described by combining several.
Camera Geometry and Calibration Thanks to Martial Hebert.
1 Interest Operators Harris Corner Detector: the first and most basic interest operator Kadir Entropy Detector and its use in object recognition SIFT interest.
Epipolar geometry The fundamental matrix and the tensor
Local invariant features Cordelia Schmid INRIA, Grenoble.
From Pixels to Features: Review of Part 1 COMP 4900C Winter 2008.
HOUGH TRANSFORM Presentation by Sumit Tandon
EDGE DETECTION IN COMPUTER VISION SYSTEMS PRESENTATION BY : ATUL CHOPRA JUNE EE-6358 COMPUTER VISION UNIVERSITY OF TEXAS AT ARLINGTON.
CS654: Digital Image Analysis Lecture 25: Hough Transform Slide credits: Guillermo Sapiro, Mubarak Shah, Derek Hoiem.
Lecture 7: Features Part 2 CS4670/5670: Computer Vision Noah Snavely.
Local invariant features Cordelia Schmid INRIA, Grenoble.
CS654: Digital Image Analysis Lecture 24: Introduction to Image Segmentation: Edge Detection Slide credits: Derek Hoiem, Lana Lazebnik, Steve Seitz, David.
Edge Detection and Geometric Primitive Extraction Jinxiang Chai.
CSE 185 Introduction to Computer Vision Feature Matching.
October 16, 2014Computer Vision Lecture 12: Image Segmentation II 1 Hough Transform The Hough transform is a very general technique for feature detection.
Course 5 Edge Detection. Image Features: local, meaningful, detectable parts of an image. edge corner texture … Edges: Edges points, or simply edges,
Lecture 04 Edge Detection Lecture 04 Edge Detection Mata kuliah: T Computer Vision Tahun: 2010.
Digital Image Processing Lecture 17: Segmentation: Canny Edge Detector & Hough Transform Prof. Charlene Tsai.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
Computer Vision Image Features Instructor: Dr. Sherif Sami Lecture 4.
Instructor: Mircea Nicolescu Lecture 7
Instructor: Mircea Nicolescu Lecture 5 CS 485 / 685 Computer Vision.
Instructor: Mircea Nicolescu Lecture 9
Digital Image Processing CSC331
Announcements Final is Thursday, March 18, 10:30-12:20 –MGH 287 Sample final out today.
Instructor: Mircea Nicolescu Lecture 10 CS 485 / 685 Computer Vision.
Camera Calibration Course web page: vision.cis.udel.edu/cv March 24, 2003  Lecture 17.
Hough Transform CS 691 E Spring Outline Hough transform Homography Reading: FP Chapter 15.1 (text) Some slides from Lazebnik.
Chapter 10 Image Segmentation
Detection of discontinuity using
Announcements Final is Thursday, March 20, 10:30-12:20pm
Edge Detection CS485/685 Computer Vision Dr. George Bebis.
Feature description and matching
Fitting Curve Models to Edges
Filtering Things to take away from this lecture An image as a function
Announcements Final is Thursday, March 16, 10:30-12:20
Feature descriptors and matching
Lecture 5: Feature invariance
Filtering An image as a function Digital vs. continuous images
Lecture 5: Feature invariance
Introduction to Artificial Intelligence Lecture 22: Computer Vision II
Review and Importance CS 111.
Presentation transcript:

Instructor: Mircea Nicolescu Lecture 12 CS 485 / 685 Computer Vision

Line and Curve Detection The Hough Transform Curve fitting Deformable/active contours (Snakes) 2

3 The Hough Transform The Hough Transform – can be used for line detection −Consider the slope-intercept equation of a line: y = ax + b (a, b are constants, x is a variable, y is a function of x) −Rewrite the equation as follows: b = -xa + y (now, x, y are constants, a is a variable, b is a function of a)

4 The Hough Transform Properties: −Each point (x i, y i ) defines a line in the a - b space (parameter space) −Points lying on the same line in the x - y space, define lines in the parameter space which all intersect at the same point −The coordinates of the point of intersection define the parameters of the line in the x - y space y = ax + bb = -xa + y

5 The Hough Transform Algorithm −(line detection with slope-intercept representation)

6 The Hough Transform Effects of quantization: −The parameters of a line can be estimated more accurately using a finer quantization of the parameter space −Finer quantization increases space and time requirements −For noise tolerance, however, a coarser quantization is better (it is very likely that every point will cast a vote in the (a’, b’) cell)

7 The Hough Transform Problem with slope-intercept equation: −The slope can become very large or even infinite !! −It will be impossible to quantize such a large space Polar representation of lines

8 The Hough Transform Properties: −Each point (x i, y i ) defines a sinusoidal curve in the ρ-θ space (parameter space) −Points lying on the same line in the x - y space define curves in the parameter space which all intersect at the same point −The coordinates of the point of intersection define the parameters of the line in the x - y space

9 The Hough Transform Example:

10 The Hough Transform Algorithm −(line detection with polar representation)

11 The Hough Transform Example:

12 The Hough Transform Extending the Hough Transform −It can also be used for detecting circles, ellipses, etc. −For example, the equation of a circle is: −In this case, there are three parameters: (x 0, y 0 ), r −In general, we can use the Hough Transform to detect any curve which can be described analytically by an equation of the form: −Detecting arbitrary shapes, with no analytical description, is also possible: −Generalized Hough Transform

13 The Generalized Hough Transform −The Hough transform was initially developed to detect analytically defined shapes (e.g., lines, circles, ellipses etc.). −The generalized Hough transform can be used to detect arbitrary shapes (i.e., shapes having no simple analytical form). −It requires the complete specification of the exact shape of the target object. The Generalized Hough Transform (GHT)

14 The Generalized Hough Transform Special case: fixed orientation and size Combine the above equations:

15 The Generalized Hough Transform Preprocessing step:

16 The Generalized Hough Transform Detection:

17 The Generalized Hough Transform General case −Suppose the object has undergone some rotation θ and uniform scaling s: −Replacing x’ by x” and y’ by y” we have:

18 The Generalized Hough Transform Algorithm −(general case)

19 The Generalized Hough Transform Advantages −The generalized Hough transform is essentially a method for object recognition. −It is robust to partial or slightly deformed shapes (i.e., robust to recognition under occlusion). −It is robust to the presence of additional structures in the image (i.e., other lines, curves, etc.). −It is tolerant to noise. −It can find multiple occurrences of a shape during the same processing pass.

20 The Generalized Hough Transform Disadvantages −It requires a lot of storage and extensive computation (but it is inherently parallelizable!). −Faster variations have been proposed in the literature: −Hierarchical representations −First match using a coarse resolution Hough array −Then selectively expand parts of the array having high matches −Projections −Instead of having one high-dimensional array, store a few two dimensional projections with common coordinates: (e.g., (x c, y c ), (y c, θ), (θ, s), (s, x c )) −Find consistent peaks in these lower dimensional arrays.

21 Curve Fitting Approximation −Compute a curve approximation that is not forced to pass through particular edge points. −Approximation-based methods use all the edge points to find a good fit. −Methods to approximate curves depend on the reliability with which edge points can be grouped into contours. 1)Least-squares regression can be used if it is certain that the edge points grouped together belong to the same contour. 2)Robust regression is more appropriate if there are some grouping errors.

22 Curve Fitting Noise-free case −Suppose the curve model we are trying to fit is described by the equation: −In the noise-free case, it suffices to use p edge points to solve for the unknown parameters a 1, a 2,..., a p −In practice, we need to use all the edge points available to obtain good parameter estimates.

23 Curve Fitting Least-squares line fit −Linear regression fits a line to the edge points by minimizing the sum of squares of the perpendicular distances of the edge points from the line being fit. −Find ρ and θ that minimize E

24 Curve Fitting Least-squares line fit – cont. −The solution to the linear regression problem is: where and where

25 Curve Fitting Least-squares line fit – cont. −Problems with linear regression: −It works well for cases where the noise follows a Gaussian distribution. −It does not work well when there are outliers in the data (e.g., due to errors in edge linking ).

26 Curve Fitting Robust regression methods −Outliers can pull the regression line far away from its correct location. −Robust regression methods try various subsets of the data points and choose the subset that provides the best fit.

27 Curve Fitting Robust regression methods – cont.

Midterm Review Image Formation and Representation Image Filtering Edge Detection Math Review Interest Point Detection Line and Curve Detection 28

Image Formation and Representation Image formation (i.e., geometry + light) Pinhole camera model Effect of aperture size (blurring, diffraction) Lens, properties of thin lens, thin lens equation Focal length, focal plane, image plane, focus/defocus (circle of confusion) Depth of field, relation to aperture size Field of view, relation to focal length 29

Lens flaws (chromatic aberration, radial distortion, tangential distortion) Human eye (focusing, rods, cones) Digital cameras (CCD/CMOS) Image digitization (sampling, quantization) and representation Color sensing (color filter array, demosaicing, color spaces, color processing) Image file formats Image Formation and Representation 30

Image Filtering Point/area processing methods Area processing methods using masks −how do we choose and normalize the mask weights? Correlation/convolution −Definition and geometric interpretation using dot product Noise modeling 31

Image Filtering Smoothing −Goal? Mask weights? −Effect of mask size? −Properties of Gaussian filter −Convolution with self  Gaussian width −Separability property and implications – proof Sharpening −Goal? Mask weights? −Effect of mask size? 32

Edge Detection What is an edge? What causes intensity changes? Edge descriptors (direction, strength, position) Edge models (step, ramp, ridge, roof) Mains steps in edge detection −Smoothing, Enhancement, Thresholding, Localization 33

Edge Detection Edge detection using derivatives: −First derivative for edge detection −Min/max – why? −Second derivative for edge detection −Zero crossings – why? 34

Edge Detection Edge detection masks by discrete gradient approximations (Robert, Sobel, Prewitt) −Study derivations −Gradient magnitude and direction −What information do they carry? −Isotropic property of gradient magnitude Practical issues in edge detection −Noise suppression-localization tradeoff −Thresholding −Edge thinning and linking 35

Edge Detection Criteria for optimal edge detection −Good detection/localization, single response Canny edge detector −What optimality criteria does it satisfy? −Steps and importance of each step −Main parameters 36

Edge Detection Laplacian edge detector −Properties −Comparison with gradient magnitude Laplacian of Gaussian (LoG) edge detector −Decomposition using 1D convolutions Difference of Gaussians (DoG) 37

Edge Detection Second directional derivative edge detector −Main idea Facet model −Main idea, steps Anisotropic filtering −Main idea Multi-scale edge detection −Effect of σ, coarse-to-fine edge localization 38

Math Review – Vectors Dot product and geometric interpretation Orthogonal/orthonormal vectors Linear combination of vectors Space spanning Linear independence/dependence Vector basis Vector expansion 39

Math Review – Matrices Transpose, symmetry, determinants Inverse, pseudo-inverse Matrix trace and rank Orthogonal/orthonormal matrices Eigenvalues/eigenvectors Determinant, rank, trace etc. using eigenvalues Matrix diagonalization and decomposition Case of symmetric matrices 40

Math Review – Linear Systems Overdetermined/underdetermined systems Conditions for solutions of Ax=b −One solution −Multiple solutions −No solution Conditions for solutions of Ax=0 −Trivial and non-trivial solutions 41

SVD definition and meaning of each matrix involved Use SVD to compute matrix rank, inverse, condition Use SVD to solve Ax=b −Over-determined systems (m>n) −Homogeneous systems (b=0) Math Review – SVD 42

Translation, rotation, scaling −Need to remember equations Homogeneous coordinates Composition of transformations Rigid, similarity, affine, projective Change of coordinate systems Math Review – Geometric Transformations 43

Interest Point Detection Why are interest points useful? Characteristics of “good” local features −Local structure of interest points – gradient should vary in more than one direction Covariance and invariance properties Corner detection −Main steps −Methods using contour/intensity information Moravec detector −Main steps −Strengths and weaknesses 44

Interest Point Detection Harris detector −How does it improve the Moravec detector? −Derivation of Harris detector – grad students −Auto-correlation matrix −What information does it encode? −Geometric interpretation? −Computation of “cornerness” −Steps and main parameters −Strengths and weaknesses 45

Interest Point Detection Multi-scale Harris-Laplace detector −Steps and main parameters −Strengths and weaknesses −Characteristic scale and spatial extent of interest points −Automatic scale selection −How are the characteristic scale and spatial extent being determined using LoG? −How and why do we normalize LoG’s response? −Implement Harris-Laplace using DoG 46

Interest Point Detection Harris-Affine detector −Main idea, steps and parameters −Strengths and weaknesses 47

Line and Curve Detection Hough Transform −main ideas, steps, tradeoffs −study very well - need to remember the steps of the algorithm −Generalized Hough Transform Curve fitting −least-squares −need to know how to derive and use equations −robust regression methods 48