Patch Descriptors CSE P 576 Larry Zitnick

Slides:



Advertisements
Similar presentations
Feature matching “What stuff in the left image matches with stuff on the right?” Necessary for automatic panorama stitching (Part of Project 4!) Slides.
Advertisements

BRIEF: Binary Robust Independent Elementary Features
Group Meeting Presented by Wyman 10/14/2006
Presented by Xinyu Chang
BRISK (Presented by Josh Gleason)
Interest points CSE P 576 Ali Farhadi Many slides from Steve Seitz, Larry Zitnick.
TP14 - Local features: detection and description Computer Vision, FCUP, 2014 Miguel Coimbra Slides by Prof. Kristen Grauman.
CSE 473/573 Computer Vision and Image Processing (CVIP)
Instructor: Mircea Nicolescu Lecture 15 CS 485 / 685 Computer Vision.
Robust and large-scale alignment Image from
Interest points CSE P 576 Larry Zitnick Many slides courtesy of Steve Seitz.
CS4670: Computer Vision Kavita Bala Lecture 10: Feature Matching and Transforms.
Lecture 6: Feature matching CS4670: Computer Vision Noah Snavely.
Affine Linear Transformations Prof. Graeme Bailey (notes modified from Noah Snavely, Spring 2009)
Lecture 4: Feature matching
Scale Invariant Feature Transform
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
(1) Feature-point matching by D.J.Duff for CompVis Online: Feature Point Matching Detection, Extraction.
Feature-based object recognition Prof. Noah Snavely CS1114
Fitting a Model to Data Reading: 15.1,
Representation, Description and Matching
Blob detection.
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 8: Scale invariance.
Lecture 6: Feature matching and alignment CS4670: Computer Vision Noah Snavely.
Overview Introduction to local features
Interest Point Descriptors
Distinctive Image Features from Scale-Invariant Keypoints By David G. Lowe, University of British Columbia Presented by: Tim Havinga, Joël van Neerbos.
Computer vision.
Interest Point Descriptors and Matching
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.
Lecture 4: Feature matching CS4670 / 5670: Computer Vision Noah Snavely.
4.1 Feature: Point and Patches Xuejin Chen Reading: Szeliski Chap ~238.
776 Computer Vision Jan-Michael Frahm Fall SIFT-detector Problem: want to detect features at different scales (sizes) and with different orientations!
Lecture 7: Features Part 2 CS4670/5670: Computer Vision Noah Snavely.
Overview Introduction to local features Harris interest points + SSD, ZNCC, SIFT Scale & affine invariant interest point detectors Evaluation and comparison.
Lecture 8: Feature matching CS6670: Computer Vision Noah Snavely.
Fitting image transformations Prof. Noah Snavely CS1114
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
776 Computer Vision Jan-Michael Frahm Spring 2012.
Image matching by Diva SianDiva Sian by swashfordswashford TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAA.
Announcements Project 1 Out today Help session at the end of class.
Recognizing specific objects Matching with SIFT Original suggestion Lowe, 1999,2004.
Blob detection.
Recognizing objects Prof. Noah Snavely CS1114
776 Computer Vision Jan-Michael Frahm Spring 2012.
CS262: Computer Vision Lect 09: SIFT Descriptors
Interest Points EE/CSE 576 Linda Shapiro.
Lecture 13: Feature Descriptors and Matching
Lecture 07 13/12/2011 Shai Avidan הבהרה: החומר המחייב הוא החומר הנלמד בכיתה ולא זה המופיע / לא מופיע במצגת.
Image Features: Points and Regions
TP12 - Local features: detection and description
Scale and interest point descriptors
Local features: detection and description May 11th, 2017
Feature description and matching
Features Readings All is Vanity, by C. Allan Gilbert,
CAP 5415 Computer Vision Fall 2012 Dr. Mubarak Shah Lecture-5
Announcements Project 1 Project 2 (panoramas)
Announcement Project 1 1.
SIFT keypoint detection
CSE 185 Introduction to Computer Vision
Computational Photography
Feature descriptors and matching
Lecture 6: Feature matching
Presentation transcript:

Patch Descriptors CSE P 576 Larry Zitnick (larryz@microsoft.com) Many slides courtesy of Steve Seitz

How do we describe an image patch?

How do we describe an image patch? Patches with similar content should have similar descriptors.

What do human use? Gabor filters… … and many other things.

Encoding the gradients Poster

Scale Invariant Feature Transform Basic idea: Take 16x16 square window around detected feature Compute gradient orientation for each pixel Create histogram over edge orientations weighted by magnitude 2 angle histogram Adapted from slide by David Lowe

SIFT descriptor Full version Divide the 16x16 window into a 4x4 grid of cells (2x2 case shown below) Compute an orientation histogram for each cell 16 cells * 8 orientations = 128 dimensional descriptor Adapted from slide by David Lowe

SIFT descriptor Why? Full version such that: Divide the 16x16 window into a 4x4 grid of cells (2x2 case shown below) Compute an orientation histogram for each cell 16 cells * 8 orientations = 128 dimensional descriptor Threshold normalize the descriptor: such that: Why? 0.2 Adapted from slide by David Lowe

Properties of SIFT Extraordinarily robust matching technique Can handle changes in viewpoint Up to about 30 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

When does SIFT fail? Patches SIFT thought were the same but aren’t:

Other methods: Daisy Circular gradient binning SIFT Daisy Picking the best DAISY, S. Winder, G. Hua, M. Brown, CVPR 09

Other methods: SURF For computational efficiency only compute gradient histogram with 4 bins: SURF: Speeded Up Robust Features Herbert Bay, Tinne Tuytelaars, and Luc Van Gool, ECCV 2006

Other methods: BRIEF Randomly sample pair of pixels a and b. 1 if a > b, else 0. Store binary vector. Daisy BRIEF: binary robust independent elementary features, Calonder, V Lepetit, C Strecha, ECCV 2010

Feature distance How to define the difference between two features f1, f2? Simple approach is SSD(f1, f2) sum of square differences between entries of the two descriptors can give good scores to very ambiguous (bad) matches f1 f2 I1 I2

Feature distance f1 f2' f2 I1 I2 How to define the difference between two features f1, f2? Better approach: ratio distance = SSD(f1, f2) / SSD(f1, f2’) f2 is best SSD match to f1 in I2 f2’ is 2nd best SSD match to f1 in I2 gives large values (~1) for ambiguous matches f1 f2' f2 I1 I2

Eliminating bad matches Throw out features with distance > threshold How to choose the threshold? 50 true match 75 200 false match feature distance

True/false positives The distance threshold affects performance True positives = # of detected matches that are correct Suppose we want to maximize these—how to choose threshold? False positives = # of detected matches that are incorrect Suppose we want to minimize these—how to choose threshold? 50 true match 75 200 false match feature distance

Evaluating the results How can we measure the performance of a feature matcher? 1 the matcher correctly found a match 0.7 true positive rate # true positives matched # true positives features that really do have a match false positive rate 0.1 1 the matcher said yes when the right answer was no # false positives matched # true negatives features that really don’t have a match

Evaluating the results How can we measure the performance of a feature matcher? ROC curve (“Receiver Operator Characteristic”) 1 0.7 true positive rate # true positives matched # true positives false positive rate 0.1 1 # false positives matched # true negatives ROC Curves Generated by counting # current/incorrect matches, for different threholds Want to maximize area under the curve (AUC) Useful for comparing different feature matching methods For more info: http://en.wikipedia.org/wiki/Receiver_operating_characteristic

Some actual ROC curves