Locating and Describing Interest Points

Slides:



Advertisements
Similar presentations
Distinctive Image Features from Scale-Invariant Keypoints
Advertisements

Interest points CSE P 576 Ali Farhadi Many slides from Steve Seitz, Larry Zitnick.
The SIFT (Scale Invariant Feature Transform) Detector and Descriptor
Feature Matching and Robust Fitting Computer Vision CS 143, Brown James Hays Acknowledgment: Many slides from Derek Hoiem and Grauman&Leibe 2008 AAAI Tutorial.
Computer Vision CS 143, Brown James Hays
TP14 - Local features: detection and description Computer Vision, FCUP, 2014 Miguel Coimbra Slides by Prof. Kristen Grauman.
Matching with Invariant Features
Computational Photography
Algorithms and Applications in Computer Vision
Automatic Image Alignment (feature-based) : Computational Photography Alexei Efros, CMU, Fall 2005 with a lot of slides stolen from Steve Seitz and.
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.
Automatic Matching of Multi-View Images
Image Features: Descriptors and matching
CS4670: Computer Vision Kavita Bala Lecture 8: Scale invariance.
Distinctive Image Features from Scale-Invariant Keypoints David G. Lowe – IJCV 2004 Brien Flewelling CPSC 643 Presentation 1.
Scale-Invariant Feature Transform (SIFT) Jinxiang Chai.
Computational Photography lecture 14 – Matching Keypoints CS 590 Spring 2014 Prof. Alex Berg (Credits to many other folks on individual slides)
Overview Introduction to local features
Interest Points Computational Photography Derek Hoiem, University of Illinois 10/14/10 Galatea of the Spheres Salvador Dali.
Locating and Describing Interest Points Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/02/10 Acknowledgment: Many keypoint slides.
Image Stitching Tamara Berg CSE 590 Computational Photography Many slides from Alyosha Efros & Derek Hoiem.
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.
Computer Vision Lecture 4 FEATURE DETECTION. Feature Detection Feature Description Feature Matching Today’s Topics 2.
Photo by Carl Warner. Feature Matching and Robust Fitting Computer Vision James Hays Acknowledgment: Many slides from Derek Hoiem and Grauman&Leibe.
Interest Points Computational Photography Derek Hoiem, University of Illinois 10/24/13 Galatea of the Spheres Salvador Dali.
776 Computer Vision Jan-Michael Frahm Fall SIFT-detector Problem: want to detect features at different scales (sizes) and with different orientations!
CSE 185 Introduction to Computer Vision Local Invariant Features.
CS 1699: Intro to Computer Vision Local Image Features: Extraction and Description Prof. Adriana Kovashka University of Pittsburgh September 17, 2015.
Lecture 7: Features Part 2 CS4670/5670: Computer Vision Noah Snavely.
Local invariant features Cordelia Schmid INRIA, Grenoble.
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.
CSE 185 Introduction to Computer Vision Feature Matching.
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
CS654: Digital Image Analysis
Presented by David Lee 3/20/2006
Interest Points Computational Photography Derek Hoiem, University of Illinois 10/23/12 Galatea of the Spheres Salvador Dali.
CS 2750: Machine Learning Bias-Variance Trade-off (cont’d) + Image Representations Prof. Adriana Kovashka University of Pittsburgh January 20, 2016.
CSE 185 Introduction to Computer Vision Local Invariant Features.
Computer Vision Jia-Bin Huang, Virginia Tech
SIFT Scale-Invariant Feature Transform David Lowe
Interest Points EE/CSE 576 Linda Shapiro.
Lecture 13: Feature Descriptors and Matching
Presented by David Lee 3/20/2006
Local features: main components
Project 1: hybrid images
Motion illusion, rotating snakes
3D Vision Interest Points.
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
Feature Tracking and Optical Flow
CAP 5415 Computer Vision Fall 2012 Dr. Mubarak Shah Lecture-5
Photo by Carl Warner.
The SIFT (Scale Invariant Feature Transform) Detector and Descriptor
SIFT keypoint detection
CSE 185 Introduction to Computer Vision
Lecture VI: Corner and Blob Detection
Feature descriptors and matching
Lecture 5: Feature invariance
Presented by Xu Miao April 20, 2005
Presentation transcript:

Locating and Describing Interest Points 02/10/15 Locating and Describing Interest Points Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem Acknowledgment: Many keypoint slides from Grauman&Leibe 2008 AAAI Tutorial

Overview of correspondence and alignment Applications Basic approach: find corresponding points, estimate alignment Interest points: one very useful way to find corresponding points ESP: two people separately look at a picture and select the same points Or look at a local region and select the same single point Eye scan

Laplacian Pyramid clarification

This section: correspondence and alignment Correspondence: matching points, patches, edges, or regions across images ≈

This section: correspondence and alignment Alignment: solving the transformation that makes two things match better T

Example: fitting an 2D shape template Slide from Silvio Savarese

Example: fitting a 3D object model As shown at the beginning, it interesting to visualize the geometrical relationship between canonical parts. Notice that: These 2 canonical parts share the same pose. All parts that share the same pose form a canonical pose. These are other examples of canonical poses Part belonging to different canonical poses are linked by a full homograhic transformation Here we see examples of canonical poses mapped into object instances %% This plane collect canonical parts that share the same pose. All this canonical parts are related by a pure translation constraint. - These canonical parts do not share the same pose and belong to different planes. This change of pose is described by the homographic transformation Aij. - Canonical parts that are not visible at the same time are not linked. Canonical parts that share the same pose forms a single-view submodel. %Canonical parts that share the same pose form a single view sub-model of the object class. Canonical parts that do not belong to the same plane, correspond to different %poses of the 3d object. The linkage stucture quantifies this relative change of pose through the homographic transformations. Canonical parts that are not visible at the same %time are not linked. Notice this representation is more flexible than a full 3d model yet, much richer than those where parts are linked by 'right to left', 'up to down‘ relationship, yet. . Also it is different from aspect graph: in that: aspect graphs are able to segment the object in stable regions across views Slide from Silvio Savarese

Example: Estimating an homographic transformation Slide from Silvio Savarese

Example: estimating “fundamental matrix” that corresponds two views Slide from Silvio Savarese

Example: tracking points frame 0 frame 22 frame 49 Your problem 1 for HW 2!

HW 2 Interest point detection and tracking Detect trackable points Track them across 50 frames In HW 3, you will use these tracked points for structure from motion frame 0 frame 22 frame 49

HW 2 Alignment of object edge images Compute a transformation that aligns two edge maps

HW 2 Initial steps of object alignment Derive basic equations for interest-point based alignment

This class: interest points Note: “interest points” = “keypoints”, also sometimes called “features” Many applications tracking: which points are good to track? recognition: find patches likely to tell us something about object category 3D reconstruction: find correspondences across different views

Human eye movements Yarbus eye tracking Your eyes don’t see everything at once, but they jump around. You see only about 2 degrees with high resolution Yarbus eye tracking

Human eye movements Study by Yarbus Change blindness: http://www.simonslab.com/videos.html

This class: interest points original Suppose you have to click on some point, go away and come back after I deform the image, and click on the same points again. Which points would you choose? deformed

Overview of Keypoint Matching 1. Find a set of distinctive key- points A1 A2 A3 B1 B2 B3 2. Define a region around each keypoint 3. Extract and normalize the region content 4. Compute a local descriptor from the normalized region 5. Match local descriptors K. Grauman, B. Leibe

Goals for Keypoints Detect points that are repeatable and distinctive

Key trade-offs Detection Description More Repeatable More Points Robust detection Precise localization Robust to occlusion Works with less texture More Distinctive More Flexible Description Minimize wrong matches Robust to expected variations Maximize correct matches

Choosing distinctive interest points If you wanted to meet a friend would you say “Let’s meet on campus.” “Let’s meet on Green street.” “Let’s meet at Green and Wright.” Corner detection Or if you were in a secluded area: “Let’s meet in the Plains of Akbar.” “Let’s meet on the side of Mt. Doom.” “Let’s meet on top of Mt. Doom.” Blob (valley/peak) detection

Choosing interest points Where would you tell your friend to meet you? Corners!

Choosing interest points Where would you tell your friend to meet you? Blobs!

Many Existing Detectors Available Hessian & Harris [Beaudet ‘78], [Harris ‘88] Laplacian, DoG [Lindeberg ‘98], [Lowe 1999] Harris-/Hessian-Laplace [Mikolajczyk & Schmid ‘01] Harris-/Hessian-Affine [Mikolajczyk & Schmid ‘04] EBR and IBR [Tuytelaars & Van Gool ‘04] MSER [Matas ‘02] Salient Regions [Kadir & Brady ‘01] Others… K. Grauman, B. Leibe

Harris Detector [Harris88] Second moment matrix Intuition: Search for local neighborhoods where the image content has two main directions (eigenvectors). K. Grauman, B. Leibe

Harris Detector [Harris88] Second moment matrix 1. Image derivatives Ix Iy (optionally, blur first) Ix2 Iy2 IxIy 2. Square of derivatives g(IxIy) 3. Gaussian filter g(sI) g(Ix2) g(Iy2) 4. Cornerness function – both eigenvalues are strong 5. Non-maxima suppression har

Harris Detector: Mathematics Want large eigenvalues, and small ratio We know Leads to (k :empirical constant, k = 0.04-0.06) Nice brief derivation on wikipedia

Explanation of Harris Criterion From Grauman and Leibe

Harris Detector – Responses [Harris88] Effect: A very precise corner detector.

Harris Detector - Responses [Harris88]

Hessian Detector [Beaudet78] Hessian determinant Ixx Iyy Ixy Intuition: Search for strong curvature in two orthogonal directions K. Grauman, B. Leibe

Hessian Detector [Beaudet78] Hessian determinant Ixx Iyy Ixy Find maxima of determinant In Matlab: K. Grauman, B. Leibe

Hessian Detector – Responses [Beaudet78] Effect: Responses mainly on corners and strongly textured areas.

Hessian Detector – Responses [Beaudet78]

So far: can localize in x-y, but not scale

Automatic Scale Selection How to find corresponding patch sizes? K. Grauman, B. Leibe

Automatic Scale Selection Function responses for increasing scale (scale signature) K. Grauman, B. Leibe

Automatic Scale Selection Function responses for increasing scale (scale signature) K. Grauman, B. Leibe

Automatic Scale Selection Function responses for increasing scale (scale signature) K. Grauman, B. Leibe

Automatic Scale Selection Function responses for increasing scale (scale signature) K. Grauman, B. Leibe

Automatic Scale Selection Function responses for increasing scale (scale signature) K. Grauman, B. Leibe

Automatic Scale Selection Function responses for increasing scale (scale signature) K. Grauman, B. Leibe

What Is A Useful Signature Function? Difference-of-Gaussian = “blob” detector K. Grauman, B. Leibe

Difference-of-Gaussian (DoG) = K. Grauman, B. Leibe

DoG – Efficient Computation Computation in Gaussian scale pyramid s Original image Sampling with step s4 =2 K. Grauman, B. Leibe

Find local maxima in position-scale space of Difference-of-Gaussian  List of (x, y, s) K. Grauman, B. Leibe

Results: Difference-of-Gaussian K. Grauman, B. Leibe

Orientation Normalization Compute orientation histogram Select dominant orientation Normalize: rotate to fixed orientation [Lowe, SIFT, 1999] 2 p T. Tuytelaars, B. Leibe

Harris-Laplace [Mikolajczyk ‘01] Initialization: Multiscale Harris corner detection s4 s3 s2 s Computing Harris function Detecting local maxima

Harris-Laplace [Mikolajczyk ‘01] Initialization: Multiscale Harris corner detection Scale selection based on Laplacian (same procedure with Hessian  Hessian-Laplace) Harris points Harris-Laplace points K. Grauman, B. Leibe

Maximally Stable Extremal Regions [Matas ‘02] Based on Watershed segmentation algorithm Select regions that stay stable over a large parameter range K. Grauman, B. Leibe

Example Results: MSER K. Grauman, B. Leibe

Comparison Hessian Harris MSER LoG

Available at a web site near you… For most local feature detectors, executables are available online: http://www.robots.ox.ac.uk/~vgg/research/affine http://www.cs.ubc.ca/~lowe/keypoints/ http://www.vision.ee.ethz.ch/~surf K. Grauman, B. Leibe

Local Descriptors The ideal descriptor should be Robust Distinctive Compact Efficient Most available descriptors focus on edge/gradient information Capture texture information Color rarely used K. Grauman, B. Leibe

Local Descriptors: SIFT Descriptor Histogram of oriented gradients Captures important texture information Robust to small translations / affine deformations [Lowe, ICCV 1999] K. Grauman, B. Leibe

Details of Lowe’s SIFT algorithm Run DoG detector Find maxima in location/scale space Remove edge points Find all major orientations Bin orientations into 36 bin histogram Weight by gradient magnitude Weight by distance to center (Gaussian-weighted mean) Return orientations within 0.8 of peak Use parabola for better orientation fit For each (x,y,scale,orientation), create descriptor: Sample 16x16 gradient mag. and rel. orientation Bin 4x4 samples into 4x4 histograms Threshold values to max of 0.2, divide by L2 norm Final descriptor: 4x4x8 normalized histograms Lowe IJCV 2004

Matching SIFT Descriptors Nearest neighbor (Euclidean distance) Threshold ratio of nearest to 2nd nearest descriptor Lowe IJCV 2004

SIFT Repeatability Lowe IJCV 2004

SIFT Repeatability

SIFT Repeatability Lowe IJCV 2004

SIFT Repeatability Lowe IJCV 2004

Local Descriptors: SURF Fast approximation of SIFT idea Efficient computation by 2D box filters & integral images  6 times faster than SIFT Equivalent quality for object identification GPU implementation available Feature extraction @ 200Hz (detector + descriptor, 640×480 img) http://www.vision.ee.ethz.ch/~surf Many other efficient descriptors are also available [Bay, ECCV’06], [Cornelis, CVGPU’08] K. Grauman, B. Leibe

Local Descriptors: Shape Context Count the number of points inside each bin, e.g.: Count = 4 ... Count = 10 Log-polar binning: more precision for nearby points, more flexibility for farther points. Belongie & Malik, ICCV 2001 K. Grauman, B. Leibe

~ Local Descriptors: Geometric Blur Compute edges at four orientations Extract a patch in each channel ~ Apply spatially varying blur and sub-sample Example descriptor (Idealized signal) Berg & Malik, CVPR 2001 K. Grauman, B. Leibe

Choosing a detector What do you want it for? Precise localization in x-y: Harris Good localization in scale: Difference of Gaussian Flexible region shape: MSER Best choice often application dependent Harris-/Hessian-Laplace/DoG work well for many natural categories MSER works well for buildings and printed things Why choose? Get more points with more detectors There have been extensive evaluations/comparisons [Mikolajczyk et al., IJCV’05, PAMI’05] All detectors/descriptors shown here work well

Comparison of Keypoint Detectors Tuytelaars Mikolajczyk 2008

Choosing a descriptor Again, need not stick to one For object instance recognition or stitching, SIFT or variant is a good choice

Things to remember Keypoint detection: repeatable and distinctive Corners, blobs, stable regions Harris, DoG Descriptors: robust and selective spatial histograms of orientation SIFT

Next time Feature tracking