Computer Vision for HCI. Topics of This Lecture

Similar documents
Local invariant features

Lecture: RANSAC and feature detectors

Lecture 6: Finding Features (part 1/2)

Local features: detection and description. Local invariant features

Feature Based Registration - Image Alignment

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

Motion Estimation and Optical Flow Tracking

Prof. Feng Liu. Spring /26/2017

Local Features: Detection, Description & Matching

Local Image Features

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

The SIFT (Scale Invariant Feature

CAP 5415 Computer Vision Fall 2012

Local features and image matching. Prof. Xin Yang HUST

Outline 7/2/201011/6/

Motion illusion, rotating snakes

Automatic Image Alignment (feature-based)

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

Local features: detection and description May 12 th, 2015

Feature Detection and Matching

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

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

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

Local Image Features

SIFT - scale-invariant feature transform Konrad Schindler

Key properties of local features

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

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

SCALE INVARIANT FEATURE TRANSFORM (SIFT)

EE368 Project Report CD Cover Recognition Using Modified SIFT Algorithm

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

Automatic Image Alignment

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

Wikipedia - Mysid

Local Feature Detectors

AK Computer Vision Feature Point Detectors and Descriptors

SUMMARY: DISTINCTIVE IMAGE FEATURES FROM SCALE- INVARIANT KEYPOINTS

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

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

Scale Invariant Feature Transform

CS 556: Computer Vision. Lecture 3

Evaluation and comparison of interest points/regions

CS 556: Computer Vision. Lecture 3

CS 558: Computer Vision 4 th Set of Notes

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

Scale Invariant Feature Transform

School of Computing University of Utah

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

Object Recognition with Invariant Features

Lecture 10 Detectors and descriptors

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

CS5670: Computer Vision

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

Automatic Image Alignment

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

Local Features Tutorial: Nov. 8, 04

CS4670: Computer Vision

Feature descriptors and matching

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

2D Image Processing Feature Descriptors

A Comparison of SIFT, PCA-SIFT and SURF

Keypoint detection. (image registration, panorama stitching, motion estimation + tracking, recognition )

Edge and corner detection

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

EE795: Computer Vision and Intelligent Systems

Scale Invariant Feature Transform by David Lowe

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

Ulas Bagci

Comparison of Feature Detection and Matching Approaches: SIFT and SURF

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

Implementation and Comparison of Feature Detection Methods in Image Mosaicing

Feature Matching and Robust Fitting

Feature Detectors and Descriptors: Corners, Lines, etc.

Implementing the Scale Invariant Feature Transform(SIFT) Method

Image Features Detection, Description and Matching

Local Patch Descriptors

Distinctive Image Features from Scale-Invariant Keypoints

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

A NEW FEATURE BASED IMAGE REGISTRATION ALGORITHM INTRODUCTION

Stitching and Blending

Distinctive Image Features from Scale-Invariant Keypoints

3D Vision. Viktor Larsson. Spring 2019

Object Detection by Point Feature Matching using Matlab

Vision and Image Processing Lab., CRV Tutorial day- May 30, 2010 Ottawa, Canada

Problems with template matching

Computer Vision I. Announcement. Corners. Edges. Numerical Derivatives f(x) Edge and Corner Detection. CSE252A Lecture 11

Distinctive Image Features from Scale-Invariant Keypoints

Local Image Features

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

Corner Detection. GV12/3072 Image Processing.

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

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

Visual Tracking (1) Pixel-intensity-based methods

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

Click to edit title style

Obtaining Feature Correspondences

Digital Image Processing (CS/ECE 545) Lecture 5: Edge Detection (Part 2) & Corner Detection

Patch-based Object Recognition. Basic Idea

Patch Descriptors. EE/CSE 576 Linda Shapiro

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

Transcription:

Computer Vision for HCI Interest Points Topics of This Lecture Local Invariant Features Motivation Requirements, Invariances Keypoint Localization Features from Accelerated Segment Test (FAST) Harris Shi-Tomasi Scale Invariant Region Selection Automatic scale selection Laplacian-of-Gaussian detector Difference-of-Gaussians detector Local Descriptors Orientation normalization SIFT Slides adapted from Brown, Efros, Frolova, Grauman, Jacobs, Lazebnik, Leibe, Lowe, Mikolajczyk, Seitz, Simakov, Szeliski, and Tuytelaars 1

Consider Image Matching Global vs. Local Matching Global image representations can be easily corrupted (e.g., by even small occlusion) Instead, describe and match using multiple local regions Increased robustness to Occlusions Articulation d φ θ Within-category variations θ q φ d q

Application: Image Stitching w/ Local Features Application: Image Stitching w/ Local Features Find good locations 3

Application: Image Stitching w/ Local Features Match/Correspond them Application: Image Stitching w/ Local Features Transform images so points align 4

General Approach 1. Find a set of distinctive keypoints A 1 A A 3. Define a region around each keypoint N pixels N pixels f Similarity measure A e.g. color d( f A, fb) < T f B e.g. color 3. Extract and normalize the region content 4. Compute a local descriptor from the normalized region 5. Match local descriptors Common Requirements Problem 1: Detect the same points independently in both images No chance to match! We need a repeatable detector! 5

Common Requirements Problem 1: Detect the same points independently in both images Problem : For each point, correctly identify the corresponding point? We need a reliable and distinctive descriptor! Invariance: Geometric Transformations 6

Invariance: Photometric Transformations Requirements Repeatable: region extraction needs to be Invariant to translation, rotation, scale changes, and other simple (affine) transformations Robust to lighting variations, noise, blur, quantization Local: to be more robust to occlusion and clutter Large Quantity: need a sufficient number of regions to cover the object Highly Distinctive: regions should contain interesting structure Efficient: close to real-time performance 7

Many Existing Detectors Available Hessian & Harris [Beaudet 78], [Harris 88] Laplacian, DoG [Lindeberg 98], [Lowe 99] Harris-/Hessian-Laplace [Mikolajczyk & Schmid 01] Harris-/Hessian-Affine [Mikolajczyk & Schmid 04] EBR and IBR [Tuytelaars & Van Gool 04] MSER [Matas 0] Salient Regions [Kadir & Brady 01] Others Detectors have become a basic building block for many applications in Computer Vision Topics of This Lecture Local Invariant Features Motivation Requirements, Invariances Keypoint Localization Features from Accelerated Segment Test (FAST) Harris Shi-Tomasi Scale Invariant Region Selection Automatic scale selection Laplacian-of-Gaussian detector Difference-of-Gaussians detector Local Descriptors Orientation normalization SIFT 8

Features from Accelerated Segment Test (FAST) Compare local neighborhood around each pixel to determine if the pixel is a good feature point For each pixel x Look at the pixels on the border of a circle of radius r around x Let n be the number of contiguous pixels (check for wrap-around!!) whose intensities are either 1) all > (I(x) + T) or ) all < (I(x) T) I(x) is the intensity at pixel x and T is a threshold If n n* then the pixel is considered a feature Original paper (Rosten 006) suggests using r = 3 (yields 16 pixels on border) and n* = 1 Later results suggest using r = 3 (yields 16 pixels on border) and n* = 9 provides best detector FAST Example r = 3 and n* = 1 Techniques can be employed to decrease computation time 9

FAST Example (r = 3, n* = 1) Input T = 10 T = 30 T = 50 FAST Example (r = 3, n* = 9) Input T = 10 T = 30 T = 50 10

Harris Detector Based on the matrix M, which is a x correlation matrix from image derivatives around a pixel (recall from Optic Flow and KLT!): Ix IxI y M = w(, x y) xy, II x y Iy Sum over image region the area we are checking for corner Window/Weighting function Gradients with respect to x and y Gradients Image I I x I y I x I y To evaluate the cornerness of a particular pixel location from its local region: M Ix IxI y = w(, x y) xy, II x y Iy 11

Window/Weighting Function w(x,y) Ix IxI y M = w(, x y) xy, II x y Iy Option 1: uniform window Sum over square window Ix IxI y M = xy, II x y Iy Option : Smooth with Gaussian Gaussian performs weighted sum Also is rotation invariant 1 in window, 0 outside Ix IxIy M = g( σ ) II x y Iy Gaussian Flat vs. Edge vs. Corner flat region: no change in all directions edge : no change along the edge direction corner : significant change in all directions 1

Eigenvalues of M Let λ 1 λ be the Eigenvalues of M λ 1 < e : intensity is nearly constant over patch λ 1 λ : edge was found λ > T : corner or textured patch found ( Recall KLT Good Features to track! ) Interpreting the Eigenvalues Classification of image points using eigenvalues of M Edge λ >> λ 1 Corner λ 1 and λ are large, λ 1 ~ λ λ λ 1 and λ are small Flat region Edge λ 1 >> λ λ 1 1 13

Harris Corner Response Function R = det( M ) M α trace( ) = λ1λ α( λ1 + λ ) Fast approximation Avoids computing Eigenvalues α: constant (0.04 to 0.06) λ Edge R < 0 Corner R > 0 Flat region Edge R < 0 λ 1 Summary: Harris Detector Compute M (can easily do with convolutions) Ix( σd) IxIy( σ ) D M( σi, σd) = g( σi) II x y( σd) Iy( σd) 1. Image derivatives I x I y Gaussian window sigma Gaussian derivative sigma. Square of derivatives 3. Gaussian filter g(σ I ) Compute Cornerness function: R= det[ M( σ, σ )] α[trace( M( σ, σ ))] I D I D = gi ( ) gi ( ) [ gii ( )] α[ gi ( ) + gi ( )] x y x y x y I x I y I x I y g(i x ) g(i y ) g(i x I y ) Remove small values in R, and then perform non-maximum suppression R 14

Harris Detector Responses Shi-Tomasi Corner Detector Similar to Harris corner points Harris R = det( M ) α trace( M ) = λ1λ α( λ1 + λ) Shi-To mas i R ' = min( λ1, λ ) Harris Shi-To mas i λ Edge R < 0 Corner R > 0 λ Edge R < T Corner R T Flat region Edge R < 0 Flat region Edge R < T λ 1 λ 1 15

Harris and Shi-Tomasi Detector: Properties Rotation invariance? Eigenvalues remains the same Corner response R is invariant to image rotation Harris and Shi-Tomasi Detector: Properties Rotation invariance Scale invariance? Corner Magnify image and keep window size the same All points will be classified as edges! Not invariant to image scale! 16

Topics of This Lecture Local Invariant Features Motivation Requirements, Invariances Keypoint Localization Features from Accelerated Segment Test (FAST) Harris Shi-Tomasi Scale Invariant Region Selection Automatic scale selection Laplacian-of-Gaussian detector Difference-of-Gaussians detector Local Descriptors Orientation normalization SIFT From Points to Regions The Harris and Shi-Tomasi operators define interest points How can we detect scale invariant interest regions? In order to compare points, we need to compute a descriptor over a region How can we define such a region in a scale invariant manner? 17

Naïve Approach: Exhaustive Search Multi-scale procedure Compare descriptors while varying the patch size in the other image f A e.g. color Similarity measure d( f A, fb) f B e.g. color Naïve Approach: Exhaustive Search Multi-scale procedure Compare descriptors while varying the patch size f A e.g. color Similarity measure d( f A, fb) f B e.g. color 18

Naïve Approach: Exhaustive Search Multi-scale procedure Compare descriptors while varying the patch size f A e.g. color Similarity measure d( f A, fb) f B e.g. color Naïve Approach: Exhaustive Search Multi-scale procedure Compare descriptors while varying the patch size f A e.g. color Similarity measure = d( f A, fb) f B e.g. color 19

Naïve Approach: Exhaustive Search Comparing descriptors while varying the patch size Computationally inefficient But possible for matching Prohibitive for retrieval in large databases e.g. color e.g. color f A e.g. color Similarity measure = d( f A, fb) e.g. color f B e.g. color Automatic Scale Selection Solution: Design a magic function f that is maximal at the correct region size for a given location (indicates the best region size) f Image 1 f Image scale = 1/ Region size Region size 0

Automatic Scale Selection Choose the region size that is best Important: this scale invariant region size (for a point) is found in each image independently! f Image 1 scale = ½ f Image s = ½ s 1 s 1 Region size s Region size Automatic Scale Selection Function responses for increasing scale (scale signature) f ( I (, )) i! im i 1! i x σ m f ( I 1 ( x, σ )) ʹ 1

Automatic Scale Selection Function responses for increasing scale (scale signature) f ( I (, )) i! im i 1! i x σ m f ( I 1 ( x, σ )) ʹ Automatic Scale Selection Function responses for increasing scale (scale signature) f ( I (, )) i! im i 1! i x σ m f ( I 1 ( x, σ )) ʹ

Automatic Scale Selection Function responses for increasing scale (scale signature) f ( I (, )) i! im i 1! i x σ m f ( I 1 ( x, σ )) ʹ Automatic Scale Selection Function responses for increasing scale (scale signature) f ( I (, )) i! im i 1! i x σ m f ( I 1 ( x, σ )) ʹ 3

9/8/18 Automatic Scale Selection Function responses for increasing scale (scale signature) f ( I i1!im ( xʹ, σ ʹ)) f ( I i1!im ( x, σ )) Automatic Scale Selection Normalize: Rescale best region size to fixed size Image 1 Image f ( I i1!im ( x, σ )) f ( I i1!im ( xʹ, σ ʹ)) 4

So what could be a possible magic function for f??? A Useful Function Scale-normalized Laplacian-of-Gaussian = blob/spot detector 5

Scale-Normalized Laplacian-of-Gaussian ( G ( x, y; σ ) G ( x, y σ )) L = σ ; xx + yy 1-D Example Scale-normalized Laplacian shows the strongest response at the characteristic scale of the original signal (σ = 8, x = 0) Characteristic Scale -D Example Response vs. Scale Characteristic scale 6

Laplacian-of-Gaussian (LoG) Interest points: Local maxima in scale space (above/below/around) of scale-normalized Laplacian-of-Gaussian 5 4 σ ( G ( σ ) + G ( σ )) xx yy 3 Laplacian-of-Gaussian (LoG) Interest points: Local maxima in scale space (above/below/around) of scale-normalized Laplacian-of-Gaussian 5 4 σ ( G ( σ ) + G ( σ )) xx yy 3 7

Laplacian-of-Gaussian (LoG) Interest points: Local maxima in scale space (above/below/around) of scale-normalized Laplacian-of-Gaussian 5 4 σ ( G ( σ ) + G ( σ )) xx yy 3 Laplacian-of-Gaussian (LoG) Interest points: Local maxima in scale space (above/below/around) of scale-normalized Laplacian-of-Gaussian 5 4 σ ( G ( σ ) + G ( σ )) xx yy 3 Save list of (x, y, σ) that are locally maximal 8

Keypoint Localization Detect maxima in scale space Then reject points with low image contrast (threshold) Eliminate edge responses Candidate keypoints: list of (x,y,σ) LoG Detector 9

Technical Detail We can efficiently approximate the scale-normalized Laplacian with a difference of Gaussians (DoG): ( G ( x, y; σ ) G ( x, y σ )) L = σ ; xx + yy DoG = G x (, y; kσ ) G( x, y;σ ) (Since it is an approximation, DoG is generally slightly inferior to LoG) Difference-of-Gaussians (DoG) Difference-of-Gaussians as approximation of the scale-normalized LoG Advantage No need to compute nd derivatives - = 30

DoG Octave Octave = set of images for which smoothing σ is doubled s = desired # of images in DoG octave 1/ set k = s (smoothed at σ 0 ) Subtract smoothed images from adjacent levels Smooth with σ = k Smooth with σ = k Smooth with σ = k Smooth with σ = k Smooth with Original image DoG Octave Pyramid First image in next octave is Gaussian image having (already) downsampled by Original image Then find maxima as before 31

Example of Keypoint Detection DoG extrema Points remaining after contrast threshold Points remaining after removing edge responses Topics of This Lecture Local Invariant Features Motivation Requirements, Invariances Keypoint Localization Features from Accelerated Segment Test (FAST) Harris Shi-Tomasi Scale Invariant Region Selection Automatic scale selection Laplacian-of-Gaussian detector Difference-of-Gaussians detector Local Descriptors Orientation normalization SIFT 3

Local Descriptors We know how to detect points and appropriate scales Next question: How to describe them for matching?? Point descriptor should be: 1. Invariant. Distinctive Local Descriptors Simplest descriptor: rasterized list of intensities within a patch To what is this going to be invariant (for normalized patch sizes)? Translation and scale only (not rotation!) 33

Feature Descriptors Disadvantage of patches as descriptors: Small deformations between patches can greatly affect matching score Solution: histogram of gradient directions 0 π Rotation Invariant Descriptors Find local gradient directions in patch Find dominant direction of overall gradient for the patch Rotate patch according to this angle This puts the patches into a standardized direction 34

Feature Descriptors: SIFT Scale Invariant Feature Transform Descriptor computation: Divide patch (for keypoint at chosen scale) after standardized direction alignment into 4x4 sub-patches: 16 cells Compute Gaussian weighted histogram of gradient directions (8 reference angles) for all pixels inside each sub-patch Resulting descriptor: 4x4x8 = 18 dimensions Rasterize and normalize to unit vector (enhances invariance to affine changes in illumination) Clip high values and renormalize vector to reduce effects of non-linear illumination Working with SIFT Descriptors One image with n feature points yields: n 18-dimensional descriptors: each one is a collection of histograms of the gradient orientations within a patch [n x 18 matrix] n scale parameters specifying the size of each patch [n x 1 vector] n orientation parameters specifying the angle of the patch [n x 1 vector] n -D points giving positions of the patches [n x matrix] 35

Matching Sift Descriptors Given two images Match each keypoint independently Employ 18-D descriptors Best candidate match is closest Euclidean neighbor Discard matches using ratio of closest ( best ) and second closest ( nd best ) neighbors Simple measure of how unique is the match Can employ more costly approach to match complete sets of points (e.g., Hungarian algorithm) Advantages of SIFT Fairly robust matching technique Can handle significant changes in viewpoint Can handle significant changes in illumination Sometimes even day vs. night Fast and efficient can run in real time Lots of code available 36

Variations and Implementations SURF: Fast approximation of SIFT (multiple times faster) Efficient computation by -D box filters and integral images Essentially equivalent quality for object identification GPU implementations of SIFT and SURF exist Summary Corners Image gradient has two dominant directions FAST, Harris, Shi-Tomasi Corner detectors are rotation invariant but not scale invariant Automatic scale selection Select patch size yielding maximum value of scale invariant function LoG and DoG detectors Need descriptors to match keypoints Use histograms for rotation invariance SIFT, SURF 37