Efficient Interest Point Detectors & Features

Similar documents
Efficient Interest Point Detectors & Features

Local features and image matching. Prof. Xin Yang HUST

Feature Detection and Matching

Click to edit title style

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

Lecture 10 Detectors and descriptors

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

EE795: Computer Vision and Intelligent Systems

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

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

Comparison of Feature Detection and Matching Approaches: SIFT and SURF

3D Photography. Marc Pollefeys, Torsten Sattler. Spring 2015

Outline 7/2/201011/6/

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

University of Cambridge Engineering Part IIB Module 4F12 - Computer Vision and Robotics Mobile Computer Vision

CS 558: Computer Vision 4 th Set of Notes

Learning Visual Semantics: Models, Massive Computation, and Innovative Applications

Feature Descriptors. CS 510 Lecture #21 April 29 th, 2013

CS 223B Computer Vision Problem Set 3

Computer Vision for HCI. Topics of This Lecture

Lecture 4.1 Feature descriptors. Trym Vegard Haavardsholm

Hardware Acceleration of Feature Detection and Description Algorithms on Low Power Embedded Platforms

Scale Invariant Feature Transform

AK Computer Vision Feature Point Detectors and Descriptors

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

Visual Tracking (1) Pixel-intensity-based methods

Motion illusion, rotating snakes

Scale Invariant Feature Transform

Local Image Features

Local Image Features

CAP 5415 Computer Vision Fall 2012

Corner Detection. GV12/3072 Image Processing.

Local Image Features

Feature Based Registration - Image Alignment

IJSER. 1. Introduction

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

A MARKERLESS AUGMENTED REALITY SYSTEM FOR MOBILE DEVICES

Motion Estimation and Optical Flow Tracking

Local Patch Descriptors

CS 378: Autonomous Intelligent Robotics. Instructor: Jivko Sinapov

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

Semantic Kernels Binarized A Feature Descriptor for Fast and Robust Matching

A Fuzzy Brute Force Matching Method for Binary Image Features

Image features. Image Features

ECE Digital Image Processing and Introduction to Computer Vision

CS 231A Computer Vision (Fall 2012) Problem Set 3

Local Features Tutorial: Nov. 8, 04

A System of Image Matching and 3D Reconstruction

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

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

3D Vision. Viktor Larsson. Spring 2019

Feature-based methods for image matching

SIFT - scale-invariant feature transform Konrad Schindler

Live Metric 3D Reconstruction on Mobile Phones ICCV 2013

The SIFT (Scale Invariant Feature

SIFT: Scale Invariant Feature Transform

CS534: Introduction to Computer Vision Edges and Contours. Ahmed Elgammal Dept. of Computer Science Rutgers University

Edge and corner detection

IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY A SURVEY ON VIDEO STABILIZATION TECHNIQUES

Visual Object Recognition

ARTVision Tracker 2D

CS664 Lecture #21: SIFT, object recognition, dynamic programming

Eligible Features Segregation for Real-time Visual Odometry

A Comparison of SIFT, PCA-SIFT and SURF

Object Recognition Algorithms for Computer Vision System: A Survey

Performance Analysis of Computationally Efficient Model based Object Detection and Recognition Techniques

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

Visual Pose Estimation System for Autonomous Rendezvous of Spacecraft

Local features: detection and description. Local invariant features

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

Fast Image Matching Using Multi-level Texture Descriptor

EE795: Computer Vision and Intelligent Systems

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

Is ORB Efficient Over SURF for Object Recognition?

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

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

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

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

The Lucas & Kanade Algorithm

Stitching and Blending

Local Features: Detection, Description & Matching

Comparison of Some Motion Detection Methods in cases of Single and Multiple Moving Objects

Scott Smith Advanced Image Processing March 15, Speeded-Up Robust Features SURF

Click to edit title style

SURF: Speeded Up Robust Features. CRV Tutorial Day 2010 David Chi Chung Tam Ryerson University

Computer vision: models, learning and inference. Chapter 13 Image preprocessing and feature extraction

A hardware design of optimized ORB algorithm with reduced hardware cost

Key properties of local features

Edge Detection. CS664 Computer Vision. 3. Edges. Several Causes of Edges. Detecting Edges. Finite Differences. The Gradient

AN ADVANCED SCALE INVARIANT FEATURE TRANSFORM ALGORITHM FOR FACE RECOGNITION

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

Computational Optical Imaging - Optique Numerique. -- Multiple View Geometry and Stereo --

Designing Applications that See Lecture 7: Object Recognition

Patch-based Object Recognition. Basic Idea

A NEW FEATURE BASED IMAGE REGISTRATION ALGORITHM INTRODUCTION

Obtaining Feature Correspondences

Edge Detection. CSE 576 Ali Farhadi. Many slides from Steve Seitz and Larry Zitnick

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

Image matching on a mobile device

Transcription:

Efficient Interest Point Detectors & Features Instructor - Simon Lucey 16-423 - Designing Computer Vision Apps

Today Review. Efficient Interest Point Detectors. Efficient Descriptors.

Review In classical Structure from Motion (SfM) computer vision pipeline there are four steps, 1. Locate interest points.

Review - Harris Corner Detector Make decision based on image structure tensor H = X i2n @I(x i ) @x @I(x i ) @x T

Scalar Measures of Cornerness" A popular measure for measuring a corner, 1 + 2 tr[h (x,y) ]= r x I(x, y) 2 2 + r y I(x, y) 2 2 L I(x, y) 2 2 Laplacian (L)

Scalar Measures of Cornerness" A popular measure for measuring a corner, 1 + 2 tr[h (x,y) ]= r x I(x, y) 2 2 + r y I(x, y) 2 2 L I(x, y) 2 2 Laplacian (L) Difference of Gaussians (DOG)

Example - DoGs in SIFT

Review In classical Structure from Motion (SfM) computer vision pipeline there are four steps, 1. Locate interest points. 2. Generate descriptors. I 1 I 2

Review - SIFT Descriptor 1. Compute image gradients 2. Pool into local histograms 3. Concatenate histograms 4. Normalize histograms

Review In classical Structure from Motion (SfM) computer vision pipeline there are four steps, 1. Locate interest points. 2. Generate descriptors. 3. Matching descriptors.

Matching Descriptors Descriptor at position x {x} View 1 View 2??? See BFMatcher class in OpenCV!!!

Matching Descriptors View 1 View 2 (i) = arg min j {x (1) i } {x (2) j } 2 2 Variants other than nearest neighbor are possible!!!

Matching Descriptors View 1 View 2 (i) = arg min j {x (1) i } {x (2) j } 2 2 Variants other than nearest neighbor are possible!!!

Review In classical Structure from Motion (SfM) computer vision pipeline there are four steps, 1. Locate interest points. 2. Generate descriptors. 3. Matching descriptors. 4. Robust fit. arg min {x (1) i hom[x (2) (i) ; ]}

Review - RANSAC Original images Initial matches Inliers from RANSAC

?

Today Review. Efficient Interest Point Detectors. Efficient Descriptors.

Efficient Interest Point Detection Most classical interest point detectors require the employment of oriented edges. r x I Horizontal r x I r y I Vertical r y

Problem - Gaussian Filtering is Slow Naively, filtering with Gaussians is relatively slow on most modern architectures. 2 1, 0, 3 1 42, 0, 25 1, 0, 1 (Sobel) Does not lend itself well to parallelization as the variance of the Gaussian filter increases (even with FFT). Computational cost increases dramatically as a function of the size of the filter.

In MATLAB, Gaussian Filter is Separable >> h1d = fspecial( gaussian,[25,1],3); >> h2d = kron(h1d,h1d );

Gaussian Filter is Separable In MATLAB, >> mesh(i) >> h2d = imfilter(i, h1d); >> h2d = imfilter(h2d, h1d ); >> mesh(h2d)

More Problems - Scale However, even slower when you have to process things across multiple scales. 2 1, 0, 3 1 42, 0, 25 1, 0, 1 2 1, 0, 3 1 42, 0, 25 1, 0, 1 2 1, 0, 3 1 42, 0, 25 1, 0, 1

Solution - Box Filters One strategy has been to approximate oriented filters with box filters. Most notably the SURF (Speed Up Robust Feature) descriptor of Bay et al. ECCV 2006.

Integral Image Trick We need to compute the box filter values many, many times and we must do it very fast! I(x,y ) II(x, y) = x x, y y I(x,y ) (x, y) 22 (Black)

Computing Integral Images Computing sum of pixels in a rectangular area: f(a) = 23 (Black)

Computing Integral Images Computing sum of pixels in a rectangular area: f(a) = II(A) A 24 (Black)

Computing Integral Images Computing sum of pixels in a rectangular area: f(a) = II(A) II(B) B A 25 (Black)

Computing Integral Images Computing sum of pixels in a rectangular area: f(a) = II(A) II(B) II(C) B C A 26 (Black)

Computing Integral Images Computing sum of pixels in a rectangular area: f(a) = II(A) II(B) II(C) + II(D) D B C A 27 (Black)

Computing Integral Images Computing sum of pixels in a rectangular area: f(a) = II(A) II(B) II(C) + II(D) D B C A A 3 box filter array takes only 8 lookups. 27 (Black)

Fast Gaussian Filtering Iterative box filters can also be applied to obtain extremely efficient Gaussian filtering, In MATLAB, >> mesh(b) >> mesh(imfilter(imfilter(b,b),b))

SURF - Efficient Computation Positives:- Filters can be efficiently applied irrespective of size. Integral images well suited in particular to SIMD. Can take advantage of fixed integer arithmetic. Negatives:- Due to recursive nature cannot be easily parallelized. All pixels in local region need to be touched. Outputs floating/integer point metric of interest. 29

FAST Features from Accelerated Segment Test (FAST) - basis for most modern day computationally efficient interest point detectors. Proposed by Rosten et al. PAMI 2010. Operates by considering a circle of sixteen pixels around the corner candidate. 15 16 1 2 3 14 13 12 p 4 5 6 11 10 9 8 7

FAST Features from Accelerated Segment Test (FAST) - basis for most modern day computationally efficient interest point detectors. Proposed by Rosten et al. PAMI 2010. Operates by considering a circle of sixteen pixels around the corner candidate. 15 16 1 2 3 14 13 12 p 4 5 6 11 10 9 8 7

Why is it FAST? FAST relies heavily upon simple binary test, Does not have to touch all pixels before making a decision. Again, lends itself strongly to the employment of SIMD. Does not rely on integral images. Very good at finding possible corner candidates. Can still fire on edges, (can use Harris to remove false positives). Is NOT multi-scale. I(x p ) t>i(x n )

Today Review. Efficient Interest Point Detectors. Efficient Descriptors.

SURF Descriptor SURF also proposed a more efficient descriptor extraction strategy using box filters, Rest of the descriptor quite similar to SIFT.

Reminder - SIFT Descriptor 1. Compute image gradients 2. Pool into local histograms 3. Concatenate histograms 4. Normalize histograms

BRIEF Descriptor Proposed by Calonder et al. ECCV 2010. Borrows idea that binary comparison is very fast on modern chipset architectures, 1:I(x + 1 ) >I(x + 2 ) I(x, 1, 2) ={ 0 : otherwise Combine features together compactly, I(x) = X i 2 i 1 I(x, (i) 1, (i) 2 )

Why do Binary Features Work? Success of binary features says something about illumination invariance. Absolute values of pixels do not matter. Makes sense as variable lighting source will effect the gain and bias of pixels, but the local ordering should remain relatively constant.

BRIEF Descriptor Do not need to touch all pixels, can choose randomly and sparsely, { 1, 2} pairs

BRIEF Descriptor Measuring distance between descriptors, d( {x i }, {x j }) = Hamming distance e.g., 2 3 2 3 1 1 405, 405 ( ) d =1 1 0 Why not use Euclidean distance?

ORB Rublee et al. ICCV 2011 proposed Oriented FAST and Rotated BRIEF (ORB). Essentially combines FAST with BRIEF. Demonstrated that ORB is 2 orders of magnitude faster than SIFT. Very useful for mobile devices.

ORB ORB is patent free and available in OpenCV, Detector ORB SURF SIFT Time per frame (ms) 15.3 217.3 5228.7 These times were averaged over 24 640x480 images from the Pascal dataset [9]. ORB is an order of magnitude faster than SURF, and over two orders faster than SIFT.

More to read E. Rublee et al. ORB: an efficient alternative to SIFT or SURF, ICCV 2011. Calonder et al. BRIEF: Binary Robust Independent Elementary Features, ECCV 2010. E. Rosten et al. Faster and better: A machine learning approach to corner detection IEEE Trans. PAMI 2010. P. Kovesi Fast Almost Gaussian Filtering DICTA 2010. 1 Faster and better: a machine learning approach to corner detection Edward Rosten, Reid Porter, and Tom Drummond Edward Rosten and Reid Porter are with Los Alamos National Laboratory, Los Alamos, New Mexico, USA, 87544. Email: edrosten@lanl.gov, rporter@lanl.gov Tom Drummond is with Cambridge University, Cambridge University Engineering Department, Trumpington Street, Cambridge, UK, CB2 1PZ Email: twd20@cam.ac.uk