Interest Point Detectors (see CS485/685 notes for more details)

Slides:



Advertisements
Similar presentations
Feature extraction: Corners
Advertisements

CSE 473/573 Computer Vision and Image Processing (CVIP)
Interest points CSE P 576 Ali Farhadi Many slides from Steve Seitz, Larry Zitnick.
Outline Feature Extraction and Matching (for Larger Motion)
TP14 - Local features: detection and description Computer Vision, FCUP, 2014 Miguel Coimbra Slides by Prof. Kristen Grauman.
Instructor: Mircea Nicolescu Lecture 15 CS 485 / 685 Computer Vision.
Matching with Invariant Features
Computational Photography
Algorithms and Applications in Computer Vision
Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC.
Lecture 6: Feature matching CS4670: Computer Vision Noah Snavely.
1 Interest Operators Find “interesting” pieces of the image –e.g. corners, salient regions –Focus attention of algorithms –Speed up computation Many possible.
Lecture 4: Feature matching
1 Interest Operator Lectures lecture topics –Interest points 1 (Linda) interest points, descriptors, Harris corners, correlation matching –Interest points.
Feature matching and tracking Class 5 Read Section 4.1 of course notes Read Shi and Tomasi’s paper on.
Automatic Image Alignment (feature-based) : Computational Photography Alexei Efros, CMU, Fall 2005 with a lot of slides stolen from Steve Seitz and.
Distinctive Image Feature from Scale-Invariant KeyPoints
Feature extraction: Corners and blobs
Interest Points and Corners Computer Vision CS 143, Brown James Hays Slides from Rick Szeliski, Svetlana Lazebnik, Derek Hoiem and Grauman&Leibe 2008 AAAI.
Scale Invariant Feature Transform (SIFT)
Automatic Matching of Multi-View Images
Image Features: Descriptors and matching
Blob detection.
Lecture 3a: Feature detection and matching CS6670: Computer Vision Noah Snavely.
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.
Overview Introduction to local features
Overview Harris interest points Comparing interest points (SSD, ZNCC, SIFT) Scale & affine invariant interest points Evaluation and comparison of different.
Local invariant features Cordelia Schmid INRIA, Grenoble.
CS 558 C OMPUTER V ISION Lecture VII: Corner and Blob Detection Slides adapted from S. Lazebnik.
Lecture 06 06/12/2011 Shai Avidan הבהרה: החומר המחייב הוא החומר הנלמד בכיתה ולא זה המופיע / לא מופיע במצגת.
CSE 185 Introduction to Computer Vision Local Invariant Features.
CSCE 643 Computer Vision: Extractions of Image Features Jinxiang Chai.
Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC.
776 Computer Vision Jan-Michael Frahm, Enrique Dunn Spring 2013.
Lecture 7: Features Part 2 CS4670/5670: Computer Vision Noah Snavely.
Harris Corner Detector & Scale Invariant Feature Transform (SIFT)
Overview Introduction to local features Harris interest points + SSD, ZNCC, SIFT Scale & affine invariant interest point detectors Evaluation and comparison.
Feature extraction: Corners and blobs. Why extract features? Motivation: panorama stitching We have two images – how do we combine them?
Features, Feature descriptors, Matching Jana Kosecka George Mason University.
Project 3 questions? Interest Points and Instance Recognition Computer Vision CS 143, Brown James Hays 10/21/11 Many slides from Kristen Grauman and.
Local features: detection and description
Features Jan-Michael Frahm.
CS654: Digital Image Analysis
Instructor: Mircea Nicolescu Lecture 10 CS 485 / 685 Computer Vision.
CSE 185 Introduction to Computer Vision Local Invariant Features.
Keypoint extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC.
Blob detection.
Invariant Local Features Image content is transformed into local feature coordinates that are invariant to translation, rotation, scale, and other imaging.
SIFT Scale-Invariant Feature Transform David Lowe
Interest Points EE/CSE 576 Linda Shapiro.
Distinctive Image Features from Scale-Invariant Keypoints
Corners and interest points
TP12 - Local features: detection and description
Source: D. Lowe, L. Fei-Fei Recap: edge detection Source: D. Lowe, L. Fei-Fei.
Scale and interest point descriptors
Local features: detection and description May 11th, 2017
Feature description and matching
CAP 5415 Computer Vision Fall 2012 Dr. Mubarak Shah Lecture-5
CSE 455 – Guest Lectures 3 lectures Contact Interest points 1
The SIFT (Scale Invariant Feature Transform) Detector and Descriptor
SIFT keypoint detection
Lecture VI: Corner and Blob Detection
Feature descriptors and matching
Lecture 5: Feature invariance
Lecture 5: Feature invariance
Presentation transcript:

Interest Point Detectors (see CS485/685 notes for more details) CS491Y/691Y Topics in Computer Vision Dr. George Bebis

What is an Interest Point? A point in an image which has a well-defined position and can be robustly detected. Typically associated with a significant change of one or more image properties simultaneously (e.g., intensity, color, texture). 2

What is an Interest Point? (cont’d) Corners is a special case of interest points. However, interest points could be more generic than corners. 3

Why are interest points useful? Could be used to find corresponding points between images which is very useful for numerous applications! panorama stitching stereo matching left camera right camera

How to find corresponding points? ( ) = ? feature descriptor Need to define local patches surrounding the interest points and extract feature descriptors from every patch. Match feature descriptors to find corresponding points. 5

Properties of good features Local: robust to occlusion and clutter. Accurate: precise localization. Covariant Robust: noise, blur, compression, etc. Efficient: close to real-time performance. Repeatable

Interest point detectors should be covariant Features should be detected in corresponding locations despite geometric or photometric changes. 7

Interest point descriptors should be invariant ( ) = ? feature descriptor Should be similar despite geometric or photometric transformations 8 8

Interest point candidates Use features with gradients in at least two, significantly different orientations (e.g., corners, junctions etc)

Harris Corner Detector Assuming a W x W window, it computes the matrix: AW(x,y) is a 2 x 2 matrix called auto-correlation matrix. fx, fy are the horizontal and vertical derivatives. w(x,y) is a smoothing function (e.g., Gaussian) C. Harris and M. Stephens. "A Combined Corner and Edge Detector”, Proceedings of the 4th Alvey Vision Conference: pages 147—151, 1988. 

Why is the auto-correlation matrix useful? Describes the gradient distribution (i.e., local structure) inside the window!

Properties of the auto-correlation matrix Aw is symmetric and can be decomposed : We can visualize AW as an ellipse with axis lengths and directions determined by its eigenvalues and eigenvectors. (max)1/2 (min)1/2 12

Harris Corner Detector (cont’d) The eigenvectors of AW encode direction of intensity change. The eigenvalues of AW encode strength of intensity change. v1 v2 direction of the slowest change (max)1/2 (min)1/2 direction of the fastest change 13 13

Harris Corner Detector (cont’d) 2 “Edge” 2 >> 1 “Corner” 1 and 2 are large, 1 ~ 2; intensity changes in all directions Classification of pixels using the eigenvalues of AW : 1 and 2 are small; intensity is almost constant in all directions “Edge” 1 >> 2 “Flat” region 1 14

Harris Corner Detector (cont’d) To avoid computing the eigenvalues explicitly, the Harris detector uses the following function: R(AW) = det(AW) – α trace2(AW) which is equal to: R(AW) = λ1 λ2- α (λ1+ λ2)2 α: is a const

Harris Corner Detector (cont’d) “Corner” R > 0 “Edge” R < 0 “Flat” region |R| small Classification of image points using R(AW): R(AW) = det(AW) – α trace2(AW) α: is usually between 0.04 and 0.06 16

Harris Corner Detector (cont’d) Other functions:

Harris Corner Detector - Steps Compute the horizontal and vertical (Gaussian) derivatives σD is called the “differentiation” scale 2. Compute the three images involved in AW :

Harris Detector - Steps 3. Convolve each of the three images with a larger Gaussian w(x,y) : Gaussian σI is called the “integration” scale 4. Determine cornerness: R(AW) = det(AW) – α trace2(AW) 5. Find local maxima

Harris Corenr Detector - Example

Harris Detector - Example 21

Compute corner response R 22

Find points with large corner response: R>threshold 23

Take only the points of local maxima of R

Map corners on the original image (for visualization) 25

Harris Corner Detector (cont’d) Rotation invariant Sensitive to: Scale change Significant viewpoint change Significant contrast change

Multi-scale Harris Detector Detect interest points at varying scales. R(AW) = det(AW(x,y,σI,σD)) – α trace2(AW(x,y,σI,σD)) scale x y  Harris  σn=knσ σn σD= σn σI=γσD

Multi-scale Harris Detector (cont’d) The same interest point will be detected at multiple consecutive scales. Interest point location will shift as scale increases (i.e., due to smoothing). i.e., the size of each circle corresponds to the scale at which the interest point was detected.

How do we match them? Corresponding features might appear at different scales. How do we determine these scales? We need a scale selection mechanism!

Exhaustive Search Simple approach for scale selection but not efficient!

Characteristic Scale Find the characteristic scale of each feature (i.e., the scale revealing the spatial extent of an interest point). characteristic scale characteristic scale 31

Characteristic Scale (cont’d) Only a subset of interest points are selected using the characteristic scale of each feature. i.e., the size of the circles is related to the scale at which the interest points were selected. Matching can be simplified!

Automatic Scale Selection – Main Idea Design a function F(x,σn) which provides some local measure. Select points at which F(x,σn) is maximal over σn. max of F(x,σn) corresponds to characteristic scale! F(x,σn) σn T. Lindeberg, "Feature detection with automatic scale selection" International Journal of Computer Vision, vol. 30, no. 2, pp 77-116, 1998.

Lindeberg et al, 1996 Slide from Tinne Tuytelaars

Automatic Scale Selection (cont’d) Using characteristic scale, the spatial extent of interest points becomes covariant to scale transformations. The ratio σ1/σ2 reveals the scale factor between the images. σ1 σ2 σ1/σ2 = 2.5 42

How to choose F(x,σn) ? Typically, F(x,σn) is defined using derivatives, e.g.: LoG (Laplacian of Gaussian) yielded best results in a recent evaluation study. DoG (Difference of Gaussians) was second best. C. Schmid, R. Mohr, and C. Bauckhage, "Evaluation of Interest Point Detectors", International Journal of Computer Vision, 37(2), pp. 151-172, 2000.

LoG and DoG LoG can be approximated by DoG:

Harris-Laplace Detector Multi-scale Harris with scale selection. Uses LoG maxima to find characteristic scale. σn scale  LoG  y  Harris  x

Harris-Laplace Detector (cont’d) Find interest points at multiple scales using Harris detector. - Scales are chosen as follows: σn =knσ - At each scale, choose local maxima assuming 3 x 3 window (i.e., non-maximal suppression) where (σD =σn, σI =γσD )

Harris-Laplace Detector (cont’d) (2) Select points at which the normalized LoG is maximal across scales and the maximum is above a threshold. σn+1 σn where: σn-1 K. Mikolajczyk and C. Schmid, “Indexing based on scale invariant interest points" IEEE Int. Conference on Computer Vision, pp 525-531, 2001.

Example Interest points detected at each scale using Harris-Laplace Few correspondences between levels corresponding to same σ. More correspondences between levels having a ratio of σ = 2. images differ by a scale factor of 1.92 σ=1.2 σ=2.4 σ=4.8 σ=9.6 σ=1.2 σ=4.8 σ=9.6 σ=2.4

Example (cont’d) (same viewpoint – change in focal length and orientation) More than 2000 points would have been detected without scale selection. Using scale selection, 190 and 213 points were detected in the left and right images, respectively.

Example (cont’d) 58 points are initially matched (some were not correct)

Example (cont’d) Reject outliers (i.e., inconsistent matches) using RANSAC Left with 32 matches, all of which are correct. Estimated scale factor is 4:9 and rotation angle is 19 degrees.

Harris-Laplace Detector (cont’d) Repeatability Invariant to: Scale Rotation Translation Robust to: Illumination changes Limited viewpoint changes

Harris-Laplace using DoG Look for local maxima in DoG pyramid DoG pyramid David G. Lowe, "Distinctive image features from scale-invariant keypoints.” Int. Journal of Computer Vision, 60 (2), pp. 91-110, 2004.

Handling Affine Changes Similarity transformations cannot account for perspective distortions; affine could be used for planar surfaces. Similarity transform Affine transform

Harris Affine Detector Use an iterative approach: Extract approximate locations and scales using the Harris-Laplace detector. For each point, modify the scale and shape of its neighborhood in an iterative fashion. Converges to stable points that are covariant to affine transformations. .

Steps of Iterative Affine Adaptation 1. Detect initial locations and neighborhood using Harris-Laplace. 2. Estimate affine shape of neighborhood using 2nd order moment matrix μ(x, σI, σD).

Steps of Iterative Affine Adaptation (cont’d) 3. Normalize (i.e., de-skew) the affine region by mapping it to a circular one (i.e., “remove” perspective distortions). 4. Re-detect the new location and scale in the normalized image. 5. Go to step 2 if the eigenvalues of μ(x, σI, σD) for the new point are not equal (i.e., not yet adapted to the characteristic shape).

Iterative affine adaptation - Examples Initial points Example 1 Example 2

Iterative affine adaptation – Examples (cont’d) Iteration #1 Example 1 Example 2

Iterative affine adaptation – Examples (cont’d) Iteration #2 Example 1 Example 2

Iterative affine adaptation – Examples (cont’d) Iteration #3, #4, … Example 1 Example 2 K. Mikolajczyk and C. Schmid, “Scale and Affine invariant interest point detectors”, International Journal of Computer Vision, 60(1), pp. 63-86, 2004. http://www.robots.ox.ac.uk/~vgg/research/affine/

Iterative affine adaptation – Examples (cont’d) 62

De-skewing Consider a point xL with 2nd order matrix ML The de-skewing transformation is defined as follows: xL 63

De-skewing corresponding regions Consider two points xL and xR which are related through an affine transformation: xL xR

De-skewing corresponding regions (cont’d) Normalized regions are related by pure rotation R.

Resolving orientation ambiguity Create histogram of local gradient directions in the patch. Smooth histogram and assign canonical orientation at peak of smoothed histogram. Dominant gradient direction! 2 p (36 bins) 66

Resolving orientation ambiguity (cont’d) Resolve orientation ambiguity. Compute R 67 67

Other Affine Invariant Blob/Region Detectors There are many other techniques for detecting affine invariant blobs or regions, for example: Intensity Extrema-Based Region (IER) Maximally Stable Extremal Regions (MSERs) No need to detect interest points.

Intensity Extrema-Based Region Detector Take a local intensity extremum as initial point. (2) Examine the intensity along “rays” from the local extremum. (3) The point on each ray for which fI(t) reaches an extremum is selected (i.e., invariant). (4) Linking these points together yields an affinely invariant region, to which an ellipse is fitted. d>0: small const Tuytelaars, T. and Van Gool, L. “Matching Widely Separated Views based on Affine Invariant Regions”, International Journal on Computer Vision, 59(1):61–85, 2004.

Intensity Extrema-Based Region Detector (cont’d) The regions found may not exactly correspond, so we approximate them with ellipses using 2nd order moments.

Intensity Extrema-Based Region Detector (cont’d) Double the size of the ellipse to make regions more distinctive. Final ellipse is not necessarily centered at original anchor point.

Intensity Extrema-Based Region Detector (cont’d)

Intensity Extrema-Based Region Detector (cont’d) Region extraction is fairly robust to inaccurate localization of intensity extremum.

Maximally Stable Extremal Regions (MSERs) Consider all possible thresholdings of a gray-scale image: If I(x,y) > It then I(x,y)=255; else I(x,y)=0 Matas, J., Chum, O., Urban, M. and Pajdla, T., “Robust wide-baseline stereo from maximally stable extremal regions”, British Machine Vision Conf, pp. 384–393, 2002.

Maximally Stable Extremal Regions (MSERs) Extermal Regions All regions formed using different thresholds. Can be extracted using connected components. Maximally Stable Extremal Regions Regions that remain stable over a large range of thresholds. Approximate MSER by an ellipse

Example Extermal regions can be extracted in O(nlog(logn)) time where n is the number of pixels. Sensitive to image blur.