Local features and image matching. Prof. Xin Yang HUST

Similar documents
Local features: detection and description. Local invariant features

Local features: detection and description May 12 th, 2015

Midterm Wed. Local features: detection and description. Today. Last time. Local features: main components. Goal: interest operator repeatability

Local invariant features

Local Features: Detection, Description & Matching

Patch Descriptors. CSE 455 Linda Shapiro

Local Image Features

Patch Descriptors. EE/CSE 576 Linda Shapiro

Lecture 10 Detectors and descriptors

Image matching. Announcements. Harder case. Even harder case. Project 1 Out today Help session at the end of class. by Diva Sian.

Image Features. Work on project 1. All is Vanity, by C. Allan Gilbert,

Local Patch Descriptors

Harder case. Image matching. Even harder case. Harder still? by Diva Sian. by swashford

SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014

CS4670: Computer Vision

Harder case. Image matching. Even harder case. Harder still? by Diva Sian. by swashford

Computer Vision for HCI. Topics of This Lecture

CS 558: Computer Vision 4 th Set of Notes

CEE598 - Visual Sensing for Civil Infrastructure Eng. & Mgmt.

Local features and image matching May 8 th, 2018

Feature Based Registration - Image Alignment

Image Features: Local Descriptors. Sanja Fidler CSC420: Intro to Image Understanding 1/ 58

Prof. Feng Liu. Spring /26/2017

Automatic Image Alignment (feature-based)

Lecture: RANSAC and feature detectors

Local Image Features

AK Computer Vision Feature Point Detectors and Descriptors

The SIFT (Scale Invariant Feature

Local Image Features

Local Feature Detectors

Motion Estimation and Optical Flow Tracking

CAP 5415 Computer Vision Fall 2012

Building a Panorama. Matching features. Matching with Features. How do we build a panorama? Computational Photography, 6.882

CS 4495 Computer Vision A. Bobick. CS 4495 Computer Vision. Features 2 SIFT descriptor. Aaron Bobick School of Interactive Computing

Lecture 6: Finding Features (part 1/2)

Wikipedia - Mysid

CS 1674: Intro to Computer Vision. Midterm Review. Prof. Adriana Kovashka University of Pittsburgh October 10, 2016

A Hybrid Feature Extractor using Fast Hessian Detector and SIFT

Feature Detection. Raul Queiroz Feitosa. 3/30/2017 Feature Detection 1

Motion illusion, rotating snakes

Object Recognition with Invariant Features

CS5670: Computer Vision

Edge and corner detection

EECS150 - Digital Design Lecture 14 FIFO 2 and SIFT. Recap and Outline

Bias-Variance Trade-off (cont d) + Image Representations

Scale Invariant Feature Transform

Click to edit title style

Automatic Image Alignment

Features Points. Andrea Torsello DAIS Università Ca Foscari via Torino 155, Mestre (VE)

BSB663 Image Processing Pinar Duygulu. Slides are adapted from Selim Aksoy

Augmented Reality VU. Computer Vision 3D Registration (2) Prof. Vincent Lepetit

Image Features: Detection, Description, and Matching and their Applications

Scale Invariant Feature Transform

Feature descriptors. Alain Pagani Prof. Didier Stricker. Computer Vision: Object and People Tracking

Automatic Image Alignment

Outline 7/2/201011/6/

Today. Main questions 10/30/2008. Bag of words models. Last time: Local invariant features. Harris corner detector: rotation invariant detection

Feature descriptors and matching

SCALE INVARIANT FEATURE TRANSFORM (SIFT)

School of Computing University of Utah

SIFT - scale-invariant feature transform Konrad Schindler

Eppur si muove ( And yet it moves )

Robust Binary Feature using the Intensity Order

Feature Matching and RANSAC

2D Image Processing Feature Descriptors

Feature Detection and Matching

Introduction. Introduction. Related Research. SIFT method. SIFT method. Distinctive Image Features from Scale-Invariant. Scale.

Instance-level recognition part 2

Lecture 4.1 Feature descriptors. Trym Vegard Haavardsholm

Local Features Tutorial: Nov. 8, 04

State-of-the-Art: Transformation Invariant Descriptors. Asha S, Sreeraj M

Computer Vision. Recap: Smoothing with a Gaussian. Recap: Effect of σ on derivatives. Computer Science Tripos Part II. Dr Christopher Town

Feature Matching and Robust Fitting

Evaluation and comparison of interest points/regions

Appearance-Based Place Recognition Using Whole-Image BRISK for Collaborative MultiRobot Localization

A Comparison of SIFT, PCA-SIFT and SURF

SUMMARY: DISTINCTIVE IMAGE FEATURES FROM SCALE- INVARIANT KEYPOINTS

Object Recognition Based on ORB Descriptor for Markerless Augmented Reality

Instance-level recognition II.

Multi-modal Registration of Visual Data. Massimiliano Corsini Visual Computing Lab, ISTI - CNR - Italy

A Fuzzy Brute Force Matching Method for Binary Image Features

Key properties of local features

SURF. Lecture6: SURF and HOG. Integral Image. Feature Evaluation with Integral Image

Computer Vision I - Appearance-based Matching and Projective Geometry

Implementation and Comparison of Feature Detection Methods in Image Mosaicing

Stitching and Blending

Image Matching Using SIFT, SURF, BRIEF and ORB: Performance Comparison for Distorted Images

Homographies and RANSAC

Visual Tracking (1) Tracking of Feature Points and Planar Rigid Objects

CS 556: Computer Vision. Lecture 3

Performance Evaluation of Scale-Interpolated Hessian-Laplace and Haar Descriptors for Feature Matching

Feature Detectors and Descriptors: Corners, Lines, etc.

An Algorithm for Medical Image Registration using Local Feature Modal Mapping

A Comparison and Matching Point Extraction of SIFT and ISIFT

Modern to Historic Image Matching: ORB/SURF an Effective Matching Technique

Computer Vision I - Appearance-based Matching and Projective Geometry

ARTVision Tracker 2D

Yudistira Pictures; Universitas Brawijaya

Image correspondences and structure from motion

3D from Photographs: Automatic Matching of Images. Dr Francesco Banterle

Transcription:

Local features and image matching Prof. Xin Yang HUST

Last time RANSAC for robust geometric transformation estimation Translation, Affine, Homography Image warping Given a 2D transformation T and a source image, compute a transformed image of source based on T Image mosaics Given two images, compute the transformation between them and blend them based on image warping

Today How to detect which features to match? Computing local invariant features Detection of interest points Harris corner detection Scale invariant blob detection: LoG Description of local patches

Kristen Grauman Local features: main components 1) Detection: Identify the interest points 2) Description: Extract vector feature descriptor surrounding each interest point. x (1) [ x,, x (1) 1 1 d ] 3) Matching: Determine correspondence between descriptors in two views x (2) [ x,, x (2) 2 1 d ]

Local features: desired properties Repeatability The same feature can be found in several images despite geometric and photometric transformations Saliency Each feature has a distinctive description Compactness and efficiency Many fewer features than image pixels Locality A feature occupies a relatively small area of the image; robust to clutter and occlusion

Goal: interest operator repeatability We want to detect (at least some of) the same points in both images No chance to find true matches! Yet we have to be able to run the detection procedure independently per image

Goal: descriptor distinctiveness We want to be able to reliably determine which point goes with which? Must provide some invariance to geometric and photometric differences between the two views

Local features: main components 1) Detection: Identify the interest points 2) Description: Extract vector feature descriptor surrounding each interest point. 3) Matching: Determine correspondence between descriptors in two views

What points would you choose?

Corners as distinctive interest points We should easily recognize the point by looking through a small window Shifting a window in any direction should give a large change in intensity flat region: no change in all directions edge : no change along the edge direction corner : significant change in all directions Slide credit: Alyosha Efros, Darya Frolova, Denis Simakov

y y y x y x x x I I I I I I I I y x w M ), ( x I I x y I I y y I x I I I y x Corners as distinctive interest points 2 x 2 matrix of image derivatives (averaged in neighborhood of a point) Notation:

What does this matrix reveal? First, consider an axis-aligned corner:

2 1 2 2 0 0 y y x y x x I I I I I I M First, consider an axis-aligned corner: This means dominant gradient directions align with x or y axis Look for locations where both λ s are large If either λ is close to 0, then this is not corner-like What if we have a corner that is not aligned with the image axes? What does this matrix reveal?

What does this matrix reveal? Since M is symmetric, we have M X 1 0 0 X 2 T Mx i x i i The eigenvalues of M reveal the amount of intensity change in the two principal orthogonal gradient directions in the window

Corner response function edge : 1 >> 2 2 >> 1 corner : 1 and 2 are large, 1 ~ 2 ; flat region 1 and 2 are small;

Harris corner detector 1) Compute M matrix for each image window to get their cornerness scores. 2) Find points whose surrounding window gave large corner response (f> threshold) 3) Take the points of local maxima, i.e., perform nonmaximum suppression

Kristen Grauman Example of Harris application

Kristen Grauman Example of Harris application Compute corner response at every pixel.

Kristen Grauman Example of Harris application

Harris Detector: Steps

Harris Detector: Steps Compute corner response f

Harris Detector: Steps Find points with large corner response: f > threshold

Harris Detector: Steps Take only the points of local maxima of f

Harris Detector: Steps

Properties of the Harris corner detector Rotation invariant? Yes M X 1 0 0 X 2 T Scale invariant?

Properties of the Harris corner detector Rotation invariant? Yes Scale invariant? No All points will be classified as edges Corner!

Scale invariant interest points How can we independently select interest points in each image, such that the detections are repeatable across different scales?

Automatic scale selection Intuition: Find scale that gives local maxima of some function f in both position and scale f Image 1 f Image 2 s 1 region size s 2 region size

What can be the signature function?

Recall: Edge detection f Edge d dx g Derivative of Gaussian f d dx g Edge = maximum of derivative Source: S. Seitz

Recall: Edge detection f Edge d dx 2 2 g Second derivative of Gaussian (Laplacian) d dx 2 f 2 g Edge = zero crossing of second derivative Source: S. Seitz

Edge = ripple From edges to blobs Blob = superposition of two ripples maximum Spatial selection: the magnitude of the Laplacian response will achieve a maximum at the center of the blob, provided the scale of the Laplacian is matched to the scale of the blob Slide credit: Lana Lazebnik

Blob detection in 2D Laplacian of Gaussian: Circularly symmetric operator for blob detection in 2D 2 g 2 x g 2 2 y g 2

filter scales Blob detection in 2D: scale selection 2 2 2 g g Laplacian-of-Gaussian = blob detector g 2 2 x y Bastian Leibe img1 img2 img3

Blob detection in 2D We define the characteristic scale as the scale that produces peak of Laplacian response characteristic scale Slide credit: Lana Lazebnik

Example Original image at ¾ the size Kristen Grauman

Original image at ¾ the size Kristen Grauman

Kristen Grauman

Kristen Grauman

Kristen Grauman

Kristen Grauman

Kristen Grauman

Scale invariant interest points Interest points are local maxima in both position and scale. 5 4 scale L xx ( ) L ( ) yy 3 2 Squared filter response maps 1 List of (x, y, σ)

Scale-space blob detector: Example Image credit: Lana Lazebnik

We can approximate the Laplacian with a difference of Gaussians; more efficient to implement 2 L Gxx x y Gyy x y (,, ) (,, ) (Laplacian) DoG G( x, y, k) G( x, y, ) (Difference of Gaussians) Technical detail

Local features: main components 1) Detection: Identify the interest points 2) Description:Extract vector feature descriptor surrounding each interest point. 3) Matching: Determine correspondence between descriptors in two views x (1) [ x,, x (1) 1 1 d x ] (2) [ x,, x (2) 2 1 d ]

Geometric transformations e.g. scale, translation, rotation

Photometric transformations Figure from T. Tuytelaars ECCV 2006 tutorial

Raw patches as local descriptors The simplest way to describe the neighborhood around an interest point is to write down the list of intensities to form a feature vector. But this is very sensitive to even small shifts, rotations.

SIFT descriptor [Lowe 2004] Use histograms to bin pixels within sub-patches according to their orientation. 0 2 p Why subpatches? Why does SIFT have some illumination invariance?

Making descriptor rotation invariant CSE 576: Computer Vision Rotate patch according to its dominant gradient orientation This puts the patches into a canonical orientation. Image from Matthew Brown

Steve Seitz SIFT descriptor [Lowe 2004] Extraordinarily robust matching technique Can handle changes in viewpoint Up to about 60 degree out of plane rotation Can handle significant changes in illumination Sometimes even day vs. night (below) Fast and efficient can run in real time Lots of code available http://people.csail.mit.edu/albert/ladypack/wiki/index.php/known_implementations_of_sift

Example NASA Mars Rover images

Example NASA Mars Rover images with SIFT feature matches Figure by Noah Snavely

SIFT properties Invariant to Scale Rotation Partially invariant to Illumination changes Camera viewpoint Occlusion, clutter

Local features: main components 1) Detection: Identify the interest points 2) Description:Extract vector feature descriptor surrounding each interest point. 3) Matching: Determine correspondence between descriptors in two views

Kristen Grauman Matching local features

Matching local features? Image 1 Image 2 To generate candidate matches, find patches that have the most similar appearance (e.g., lowest SSD) Simplest approach: compare them all, take the closest (or closest k, or within a thresholded distance) Kristen Grauman

Ambiguous matches???? At what SSD value do we have a good match? To add robustness to matching, can consider ratio : distance to best match / distance to second best match Kristen Grauman Image 1 Image 2 If low, first match looks good. If high, could be ambiguous match.

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

Recap: robust feature-based alignment Source: L. Lazebnik

Recap: robust feature-based alignment Extract features Source: L. Lazebnik

Recap: robust feature-based alignment Extract features Compute putative matches Source: L. Lazebnik

Recap: robust feature-based alignment Extract features Compute putative matches Loop: Hypothesize transformation T (small group of putative matches that are related by T) Source: L. Lazebnik

Recap: robust feature-based alignment Extract features Compute putative matches Loop: Hypothesize transformation T (small group of putative matches that are related by T) Verify transformation (search for other matches consistent with T) Source: L. Lazebnik

Recap: robust feature-based alignment Extract features Compute putative matches Loop: Hypothesize transformation T (small group of putative matches that are related by T) Verify transformation (search for other matches consistent with T) Source: L. Lazebnik

Recent Work for Local Features Bay, H., Ess, A., Tuytelaars, T. and Gool, L.V., SURF: Speeded-Up Robust Features. In Proc. of ECCV 06. Calonder, M., Lepetit, V., Strecha, C., and Fua, P., Brief: Binary Robust Independent Elementary Features. In Proc. of ECCV 10. Rublee, E., Rabaud, V., Konolige, K., and Bradski, G., ORB: an Efficient Alternative to SIFT or SURF. In Proc. of ICCV 11, Barcelona, Spain. Leutenegger, S., Chli, M., Siegwart, R., BRISK: Binary Robust Invariant Scalable Keypoints. In Proc. of CVPR 11. Alahi, A., Ortiz, R., and Vandergheynst, P., FREAK: Fast Retinal Keypoint, In Proc. of CVPR 12. Yang, X. and Cheng, K. T., LDB: An Ultra-Fast Feature for Scalable Augmented Reality on Mobile Device. In Proc. of ISMAR 12. Calonder, M., Lepetit, V., Konolige K., Bowman, J., Mihelich, P., and Fua, P., Compact Signatures for High-Speed Interest Point Description and Matching, In Proc. of ICCV 09. Winder, S., and Brown, M., Learning Local Image Descriptors, In Proc. of CVPR 07. Winder, S., Hua, G., and Brown, M., Picking the Best DAISY, In Proc. of CVPR 09. Calonder, M., Lepetit, V., Konolige K., Bowman, J., Mihelich, P., and Fua, P., Compact Signatures for High-Speed Interest Point Description and Matching, In Proc. of ICCV 09. Rosten, E., Porter, R., and Drummond, T., Faster and Better: A machine learning approach to corner detection. IEEE Trans. PAMI, 32:105 119, 2010.

Applications of local invariant features Wide baseline stereo Motion tracking Panoramas Mobile robot navigation 3D reconstruction Recognition

Automatic mosaicing http://www.cs.ubc.ca/~mbrown/autostitch/autostitch.html

Wide baseline stereo [Image from T. Tuytelaars ECCV 2006 tutorial]

Recognition of specific objects, scenes Schmid and Mohr 1997 Sivic and Zisserman, 2003 Kristen Grauman Rothganger et al. 2003 Lowe 2002

Summary Interest point detection Harris corner detector Laplacian of Gaussian, automatic scale selection Invariant descriptors Rotation according to dominant gradient direction Histograms for robustness to small shifts and translations (SIFT descriptor)