SIFT: SCALE INVARIANT FEATURE TRANSFORM BY DAVID LOWE. Presented by: Jason Clemons

Similar documents
Distinctive Image Features from Scale-Invariant Keypoints

Image Segmentation and Registration

Convolution. 1D Formula: 2D Formula: Example on the web:

Feature Tracking and Optical Flow

A Study on SURF Algorithm and Real-Time Tracking Objects Using Optical Flow

Probabilistic Latent Semantic Analysis (plsa)

Automatic georeferencing of imagery from high-resolution, low-altitude, low-cost aerial platforms

Android Ros Application

siftservice.com - Turning a Computer Vision algorithm into a World Wide Web Service

Local features and matching. Image classification & object localization

Face Recognition in Low-resolution Images by Using Local Zernike Moments

jorge s. marques image processing

Randomized Trees for Real-Time Keypoint Recognition

A Comparative Study of SIFT and its Variants

J. P. Oakley and R. T. Shann. Department of Electrical Engineering University of Manchester Manchester M13 9PL U.K. Abstract

Edge detection. (Trucco, Chapt 4 AND Jain et al., Chapt 5) -Edges are significant local changes of intensity in an image.

Bildverarbeitung und Mustererkennung Image Processing and Pattern Recognition

Automatic 3D Reconstruction via Object Detection and 3D Transformable Model Matching CS 269 Class Project Report

Part-Based Recognition

A Comparative Study between SIFT- Particle and SURF-Particle Video Tracking Algorithms

Image Classification for Dogs and Cats

Low-resolution Character Recognition by Video-based Super-resolution

Automatic Grocery Shopping Assistant

MusicGuide: Album Reviews on the Go Serdar Sali

The use of computer vision technologies to augment human monitoring of secure computing facilities

Recognizing Cats and Dogs with Shape and Appearance based Models. Group Member: Chu Wang, Landu Jiang

FPGA-BASED PARALLEL HARDWARE ARCHITECTURE FOR REAL-TIME OBJECT CLASSIFICATION. by Murad Mohammad Qasaimeh

3D Model based Object Class Detection in An Arbitrary View

Point Matching as a Classification Problem for Fast and Robust Object Pose Estimation

Blind Deconvolution of Barcodes via Dictionary Analysis and Wiener Filter of Barcode Subsections

521466S Machine Vision Assignment #7 Hough transform

Assessment. Presenter: Yupu Zhang, Guoliang Jin, Tuo Wang Computer Vision 2008 Fall

Robert Collins CSE598G. More on Mean-shift. R.Collins, CSE, PSU CSE598G Spring 2006

More Local Structure Information for Make-Model Recognition

A Learning Based Method for Super-Resolution of Low Resolution Images

ACCURACY ASSESSMENT OF BUILDING POINT CLOUDS AUTOMATICALLY GENERATED FROM IPHONE IMAGES

Introduction Feature Estimation Keypoint Detection Keypoints + Features. PCL :: Features. Michael Dixon and Radu B. Rusu

Surgical Tools Recognition and Pupil Segmentation for Cataract Surgical Process Modeling

Heat Kernel Signature

Edge-based Template Matching and Tracking for Perspectively Distorted Planar Objects

MVA ENS Cachan. Lecture 2: Logistic regression & intro to MIL Iasonas Kokkinos Iasonas.kokkinos@ecp.fr

Cees Snoek. Machine. Humans. Multimedia Archives. Euvision Technologies The Netherlands. University of Amsterdam The Netherlands. Tree.

Feature Point Selection using Structural Graph Matching for MLS based Image Registration

Evaluation of Interest Point Detectors

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

EECS 556 Image Processing W 09. Interpolation. Interpolation techniques B splines

A. OPENING POINT CLOUDS. (Notepad++ Text editor) (Cloud Compare Point cloud and mesh editor) (MeshLab Point cloud and mesh editor)

REAL TIME TRAFFIC LIGHT CONTROL USING IMAGE PROCESSING

Object class recognition using unsupervised scale-invariant learning

AN EFFICIENT HYBRID REAL TIME FACE RECOGNITION ALGORITHM IN JAVA ENVIRONMENT ABSTRACT

SOLUTIONS. f x = 6x 2 6xy 24x, f y = 3x 2 6y. To find the critical points, we solve

2.2 Creaseness operator

CS 534: Computer Vision 3D Model-based recognition

Build Panoramas on Android Phones

Canny Edge Detection

Image Gradients. Given a discrete image Á Òµ, consider the smoothed continuous image ܵ defined by

EFFICIENT VEHICLE TRACKING AND CLASSIFICATION FOR AN AUTOMATED TRAFFIC SURVEILLANCE SYSTEM

OBJECT TRACKING USING LOG-POLAR TRANSFORMATION

International Journal of Advanced Information in Arts, Science & Management Vol.2, No.2, December 2014

Signature Segmentation from Machine Printed Documents using Conditional Random Field

Signature Segmentation and Recognition from Scanned Documents

Summary: Transformations. Lecture 14 Parameter Estimation Readings T&V Sec Parameter Estimation: Fitting Geometric Models

3D Object Recognition in Clutter with the Point Cloud Library

Introduction to Computer Graphics

Segmentation & Clustering

3D Scanner using Line Laser. 1. Introduction. 2. Theory

Fast Matching of Binary Features

DATA ANALYSIS II. Matrix Algorithms

Automated Process for Generating Digitised Maps through GPS Data Compression

Math 265 (Butler) Practice Midterm II B (Solutions)

3. Reaction Diffusion Equations Consider the following ODE model for population growth

Jiří Matas. Hough Transform

SURF: Speeded Up Robust Features

Online Learning for Offroad Robots: Using Spatial Label Propagation to Learn Long Range Traversability

3D Human Face Recognition Using Point Signature

Object Recognition and Template Matching

Mean-Shift Tracking with Random Sampling

MIFT: A Mirror Reflection Invariant Feature Descriptor

Modelling, Extraction and Description of Intrinsic Cues of High Resolution Satellite Images: Independent Component Analysis based approaches

Abstract. A Biometric system provides automatic identification of an individual, based on a unique possessed feature or characteristic.

Classification of Fingerprints. Sarat C. Dass Department of Statistics & Probability

Open-Set Face Recognition-based Visitor Interface System

Lectures 6&7: Image Enhancement

Workstation Applications for Windows. NVIDIA MAXtreme User s Guide

FREAK: Fast Retina Keypoint

Computational Foundations of Cognitive Science

An Experimental Comparison of Online Object Tracking Algorithms

PCL Tutorial: The Point Cloud Library By Example. Jeff Delmerico. Vision and Perceptual Machines Lab 106 Davis Hall UB North Campus.

Metrics on SO(3) and Inverse Kinematics

Image Normalization for Illumination Compensation in Facial Images

Transcription:

SIFT: SCALE INVARIANT FEATURE TRANSFORM BY DAVID LOWE Presented by: Jason Clemons

Overview Motivation of Work Overview of Algorithm Scale Space and Difference of Gaussian Keypoint Localization Orientation Assignment Descriptor Building Application

Motivation Image Matching Correspondence Problem Desirable Feature Characteristics Scale Invariance Rotation Invariance Illumination invariance Viewpoint invariance

Overview Of Algorithm Construct Scale Space Filter Edge and Low Contrast Responses Take Difference of Gaussians Assign Keypoints Orientations Locate DoG Extrema Build Keypoint Descriptors Sub Pixel Locate Potential Feature Points Go Play with Your Features!!

Constructing Scale Space Construct Scale Space Filter Edge and Low Contrast Responses Take Difference of Gaussians Assign Keypoints Orientations Locate DoG Extrema Build Keypoint Descriptors Sub Pixel Locate Potential Feature Points Go Play with Your Features!!

Scale Space

Constructing Scale Space Gaussian kernel used to create scale space Only possible scale space kernel (Lindberg 94) where

Laplacian of Gaussians LoG - σ 2 2 G Extrema Useful Found to be stable features Gives Excellent notion of scale Calculation costly so instead.

Take DoG Construct Scale Space Filter Edge and Low Contrast Responses Take Difference of Gaussians Assign Keypoints Orientations Locate DoG Extrema Build Keypoint Descriptors Sub Pixel Locate Potential Feature Points Go Play with Your Features!!

Difference of Gaussian Approximation of Laplacian of Gaussians

DoG Pyramid

DoG Extrema Construct Scale Space Filter Edge and Low Contrast Responses Take Difference of Gaussians Assign Keypoints Orientations Locate DoG Extrema Build Keypoint Descriptors Sub Pixel Locate Potential Feature Points Go Play with Your Features!!

Locate the Extrema of the DoG Scan each DOG image Look at all neighboring points (including scale) Identify Min and Max 26 Comparisons

Sub pixel Localization Construct Scale Space Filter Edge and Low Contrast Responses Take Difference of Gaussians Assign Keypoints Orientations Locate DoG Extrema Build Keypoint Descriptors Sub Pixel Locate Potential Feature Points Go Play with Your Features!!

Sub-pixel Localization 3D Curve Fitting Taylor Series Expansion Differentiate and set to 0 to get location in terms of (x,y,σ)

Filter Responses Construct Scale Space Filter Edge and Low Contrast Responses Take Difference of Gaussians Assign Keypoints Orientations Locate DoG Extrema Build Keypoint Descriptors Sub Pixel Locate Potential Feature Points Go Play with Your Features!!

Filter Low Contrast Points Low Contrast Points Filter Use Scale Space value at previously found location

The House With Contrast Elimination

Edge Response Elimination Peak has high response along edge, poor other direction Low Response Use Hessian High Response Eigenvalues Proportional to principle Curvatures Use Trace and Determinant Tr( H ) D xx D yy, Det( H ) D xx D yy ( D xy ) 2 2 Tr( H ) Det( H ) ( r 1) r 2

Results On The House Apply Contrast Limit Apply Contrast and Edge Response Elimination

Assign Keypoint Orientations Construct Scale Space Filter Edge and Low Contrast Responses Take Difference of Gaussians Assign Keypoints Orientations Locate DoG Extrema Build Keypoint Descriptors Sub Pixel Locate Potential Feature Points Go Play with Your Features!!

Orientation Assignment Compute Gradient for each blurred image For region around keypoint Create Histogram with 36 bins for orientation Weight each point with Gaussian window of 1.5σ Create keypoint for all peaks with value>=.8 max bin Note that a parabola is fit to better locate each max (least squares)

Build Keypoint Descriptors Construct Scale Space Filter Edge and Low Contrast Responses Take Difference of Gaussians Assign Keypoints Orientations Locate DoG Extrema Build Keypoint Descriptors Sub Pixel Locate Potential Feature Points Go Play with Your Features!!

Building the Descriptor Find the blurred image of closest scale Sample the points around the keypoint Rotate the gradients and coordinates by the previously computer orientation Separate the region in to sub regions Create histogram for each sub region with 8 bins Weight the samples with N(σ) = 1.5 Region width Trilinear Interpolation (1-d factor) to place in histogram bins

Building a Descriptor Actual implementation uses 4x4 descriptors from 16x16 which leads to a 4x4x8=128 element vector

Illumination Issues Illumination changes can cause issues So normalize the vector Solves Affine but what non-linear sources like camera saturation? Cap the vector elements to.2 and renormalize Now we have some illumination invariance

Results Check Scale Invariance Scale Space usage Check Rotation Invariance Align with largest gradient Check Illumination Invariance Normalization Check Viewpoint Invariance For small viewpoint changes Check (mostly)

Constructing Scale Space Construct Scale Space Filter Edge and Low Contrast Responses Take Difference of Gaussians Assign Keypoints Orientations Locate DoG Extrema Build Keypoint Descriptors Sub Pixel Locate Potential Feature Points Go Play with Your Features!!

Supporting Data for Performance

About matching Can be done with as few as 3 features. Use Hough transform to cluster features in pose space Have to use broad bins since 4 items but 6 dof Match to 2 closest bins After Hough finds clusters with 3 entries Verify with affine constraint

Hough Transform Example (Simplified) For the Current View, color feature match with the database image If we take each feature and align the database image at that feature we can vote for the x position of the center of the object and the theta of the object based on all the poses that align X position 0 90 180 270 Theta

Hough Transform Example (Simplified) Database Image Current Item Assume we have 4 x locations And only 4 possible rotations (thetas) X position Then the Hough space can look like the Diagram to the left 0 90 180 270 Theta

Hough Transform Example (Simplified) X position 0 90 180 270 Theta

Hough Transform Example (Simplified) X position 0 90 180 270 Theta

Playing with our Features: Where s Traino and Froggy?

Here s Traino and Froggy!

Outdoors anyone?

Questions?

Credits Lowe, D. Distinctive image features from scaleinvariant keypoints International Journal of Computer Vision, 60, 2 (2004), pp. 91-110 Pele, Ofir. SIFT: Scale Invariant Feature Transform. Sift.ppt Lee, David. Object Recognition from Local Scale-Invariant Features (SIFT). O319.Sift.ppt Some Slide Information taken from Silvio Savarese