Motion Estimation and Optical Flow Tracking

Similar documents
Feature Based Registration - Image Alignment

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

Local invariant features

Automatic Image Alignment

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

Automatic Image Alignment

Computer Vision for HCI. Topics of This Lecture

Automatic Image Alignment (feature-based)

Object Recognition with Invariant Features

Prof. Feng Liu. Spring /26/2017

Local features: detection and description. Local invariant features

Local Features: Detection, Description & Matching

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

The SIFT (Scale Invariant Feature

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

Local Feature Detectors

Scale Invariant Feature Transform

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

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

Wikipedia - Mysid

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

Local features: detection and description May 12 th, 2015

Outline 7/2/201011/6/

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

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

SUMMARY: DISTINCTIVE IMAGE FEATURES FROM SCALE- INVARIANT KEYPOINTS

Local features and image matching. Prof. Xin Yang HUST

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

Key properties of local features

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

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

2D Image Processing Feature Descriptors

Motion illusion, rotating snakes

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

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

Scale Invariant Feature Transform by David Lowe

CAP 5415 Computer Vision Fall 2012

Lecture 10 Detectors and descriptors

Local Image Features

SCALE INVARIANT FEATURE TRANSFORM (SIFT)

CS4670: Computer Vision

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

Feature Detection and Matching

EE368 Project Report CD Cover Recognition Using Modified SIFT Algorithm

Lecture: RANSAC and feature detectors

Lecture 6: Finding Features (part 1/2)

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

Implementation and Comparison of Feature Detection Methods in Image Mosaicing

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

Problems with template matching

Stitching and Blending

Implementing the Scale Invariant Feature Transform(SIFT) Method

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

Local Patch Descriptors

CS5670: Computer Vision

SIFT - scale-invariant feature transform Konrad Schindler

A NEW FEATURE BASED IMAGE REGISTRATION ALGORITHM INTRODUCTION

AK Computer Vision Feature Point Detectors and Descriptors

Local Features Tutorial: Nov. 8, 04

School of Computing University of Utah

A Comparison of SIFT, PCA-SIFT and SURF

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

Local Image Features

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

Patch Descriptors. CSE 455 Linda Shapiro

Evaluation and comparison of interest points/regions

Distinctive Image Features from Scale-Invariant Keypoints

Feature descriptors and matching

CS 558: Computer Vision 4 th Set of Notes

Distinctive Image Features from Scale-Invariant Keypoints

Local Image preprocessing (cont d)

Corner Detection. GV12/3072 Image Processing.

Patch-based Object Recognition. Basic Idea

Patch Descriptors. EE/CSE 576 Linda Shapiro

Chapter 3 Image Registration. Chapter 3 Image Registration

EE795: Computer Vision and Intelligent Systems

Obtaining Feature Correspondences

III. VERVIEW OF THE METHODS

Applications. Feature Detection and Matching. How do we build panorama? Example: Build a Panorama

SIFT: Scale Invariant Feature Transform

Computer Vision I - Basics of Image Processing Part 2

Automatic Image Alignment (direct) with a lot of slides stolen from Steve Seitz and Rick Szeliski

Distinctive Image Features from Scale-Invariant Keypoints

Computer Vision I - Filtering and Feature detection

Feature Detection and Matching

Feature Detectors and Descriptors: Corners, Lines, etc.

Edge and corner detection

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

Multimedia Retrieval Ch 5 Image Processing. Anne Ylinen

Computer Vision I. Announcements. Fourier Tansform. Efficient Implementation. Edge and Corner Detection. CSE252A Lecture 13.

Low-level Vision Processing Algorithms Speaker: Ito, Dang Supporter: Ishii, Toyama and Y. Murakami

A SIFT Descriptor with Global Context

CS 378: Autonomous Intelligent Robotics. Instructor: Jivko Sinapov

A Comparison of SIFT and SURF

Image Matching. AKA: Image registration, the correspondence problem, Tracking,

CS 556: Computer Vision. Lecture 3

Image features. Image Features

Comparison of Feature Detection and Matching Approaches: SIFT and SURF

Transcription:

Image Matching

Image Retrieval

Object Recognition

Motion Estimation and Optical Flow Tracking

Example: Mosiacing (Panorama) M. Brown and D. G. Lowe. Recognising Panoramas. ICCV 2003

Example 3D Reconstruction Source: http://www.photogrammetry.ethz.ch/general/persons/fabio/fabio_spie0102.pdf

Image Matching Three approaches: Shape Matching Assume shape has been extracted Direct (appearance-based) registration Search for alignment where most pixels agree Feature-based registration Find a few matching features in both images compute alignment

Direct Method (brute force) The simplest approach is a brute force search Need to define image distance function: SSD, Normalized Correlation, Mutual Information, etc. Search over all parameters within a reasonable range: e.g. for translation: for x=x0:step:x1, for y=y0:step:y1, calculate Dist(image1(x,y),image2(x+ x,y+ y)) end; end;

Shape Representation Region Based Representation Area / Circumference / Width Euler Number Moments Quad Trees Edge Based Representation Chain Code Fourier Descriptor Interior Based Representation MAT / Skeleton Hierarchical Representations

Shape Representation Shape representation must be GOOD: Different shapes Different Codes Location / Rotation /Scale Invariant Convenient Stable Generative

Moments I(x,y) = ij Moment: M 1 If pixel (x,y) is IN object 0 otherwise i j ij x y I(x,y ) = x y Area: M 00 = x= x M M 10 00 y I(x,y) y= M Average x-coordinate: Average y-coordinate: M00 01 Center of Mass: (x,y) ( M 10 M =, M M 00 01 00 )

Central Moment: Moments i j µ ij = (x x) (y y) I(x,y ) Moment expressions that are invariant to translation, rotation and/or scale: x y wide domain, not unique, not unambiguous, not generative, not stable, invariant to translation, rotation. Very convenient.

Quad Tree Representation wide domain, unique, unambiguous, generative up to error tolerance partially stable Not invariant to translation, rotation scale. Inefficient for comparison

Edge Based Representation Chain Code 2 1 2 2 1 0 7 6 6 6 6 3 2 1 4 0 5 6 7 3 5 3 5 000102011717211 wide domain, Unique, unambiguous, generative - 2D only, Not very stable Invariant to translation. Rotation (x90 deg)

Fourier Descriptors r θ Boundary Representation r Fourier Transform θ

Boundary Rep Fourier Transform Translation r θ r θ Rotation θ r r θ (spectrum) Scale r θ r θ

Fourier Descriptors r Fourier Transform θ wide domain, Unique, unambiguous, generative, Stable (depends on tolerance), Invariant to translation. Rotation, Scale.

Interior Based representation MAT, Skeleton wide domain, unique, unambiguous, generative not stable - small changes affect dramatically

Pattern Matching Direct approach (Appearance based) image pattern

Finding a pattern in an Image image pattern d e Look for minimum of: ( u,v) = [ I( u+ x,v+ y) P( x, y) ] x,y N 2 D e (u,v)=0

Finding a pattern in an Image = x,y N d e ( u,v) = [ I( u+ x,v+ y) P( x, y) ] x,y N 2 2 ( u+ x,v+ y) + P( x,y) I( u+ x,v+ y) P( x,y) I 2 2 = x,y N 2 2 ( u+ x,v+ y) + P( x,y) I( u+ x,v+ y) P( x,y) I 2 x,y N x,y N Sum of squares of the window Sum of squares of the pattern CONSTANT Correlation

Finding a pattern in an Image - Correlation image pattern Look for maximum of: x,y N [ I( u+ x,v+ y) P( x,y) ]

Correlation I P * I corr P

Real Image Correlation Example image pattern Correlation Correlation value is dependent on the local gray value of the pattern and the image window.

Normalized Correlation x,y N x,y N [ I( u+ x,v+ y) I ] P( x,y) uv [ P] [( ) ] 2 I u+ x,v+ y I P( x,y) uv x,y N [ P] 2 1/ 2 Correlation value is in (-1..1) Correlation value is independent of the local gray value of the pattern and the image window.

Normalized Correlation - Example image pattern Correlation Normalized Correlation

Normalized Correlation - Example image Correlation Pattern

Pattern Matching - Example Pattern image 1 0.8 0.6 0.4 0.2 Euclidean NCC MTM 0

Pairs for Image Matching

Feature Based Object Detection

Feature Based Object Detection Features Descriptors

Features: Issues to be addressed What are good features to extract? Distinctive Invariant to different acquisition conditions Different view-points, different illuminations, different cameras, etc. How can we find corresponding features in both images? no chance to match!

Invariant Feature Descriptors Schmid & Mohr 1997, Lowe 1999, Baumberg 2000, Tuytelaars & Van Gool 2000, Mikolajczyk & Schmid 2001, Brown & Lowe 2002, Matas et. al. 2002, Schaffalitzky & Zisserman 2002

Image Features Feature Detectors - where Feature Descriptors - what Methods: Harris Corner Detector (multi-scale Harris) SIFT (Scale Invariant Features Transform)

Harris Corner Detector C.Harris, M.Stephens. A Combined Corner and Edge Detector. 1988 We should easily recognize a corner by looking through a small window Shifting a window in any direction should give a large change in intensity

Harris Detector: Basic Idea flat region: no change in all directions edge : no change along the edge direction corner : significant change in all directions

Harris Detector: Mathematics Corner at position (x,y)? Evaluate change of intensity for shift in [u,v] direction: x, y [ ] 2 E( u, v) = w( x, y) I( x+ u, y+ v) I( x, y) Window function Shifted intensity Intensity Window function w(x,y) = or 1 in window, 0 outside Gaussian

Harris Detector: Mathematics [ ] 2, (, ) (, ) (, ) (, ) x y E u v w x y I x u y v I x y = + + ( ) ( ) y ui x vi y x I v y u x I + + = + +,, ( ) ( ) ( ) ( ) [ ] = = y x y x v u y x I y x I y x w v u E, 2,,,, For small [u,v]: We have: [ ] [ ] = v u M v u v u I I I I I I y x w v u y y x y x x 2 2 ), (

Harris Detector: Mathematics For small shifts [u,v] we have a bilinear approximation: u E( u, v) [ u, v] M v where M is a 2 2 matrix computed from image derivatives: M 2 I x I xi y = w( x, y) 2 x, y I xi y I y

Harris Detector: Mathematics What is the direction [u,v] of greatest intensity change? arg max E u, v, = = e ( ) ( u v) 1 max Denote by e i the i th eigen-vector of M whose eigen-value is λ i : e T i M e i λ = i > 0 Conclusions: E ( e ) λ max = max

Harris Detector: Mathematics Intensity change in shifting window: eigenvalue analysis u E( u, v) [ u, v] M v λ 1, λ 2 eigenvalues of M Ellipse E(u,v) = const direction of the fastest change direction of the slowest change (λ max ) -1/2 (λ min) -1/2

Harris Detector: Mathematics Classification of image points using eigenvalues of M: λ 2 Edge λ 2 >> λ 1 Corner λ 1 and λ 2 are large, λ 1 ~ λ 2 ; E increases in all directions λ 1 and λ 2 are small; E is almost constant in all directions Flat region Edge λ 1 >> λ 2 λ 1

Harris Detector: Mathematics Measure of corner response (without calculating the e.v.): R = det M Trace M det M trace M = λλ 1 2 = λ + λ 1 2 R is associated with the smallest eigen-vector (why?) 100 50 90 45 80 40 R v.s. λ 1, λ 2 70 60 50 40 30 20 35 30 25 20 15 10 10 10 20 30 40 50 60 70 80 90 100 5

Harris Corner Detector The Algorithm: Find points with large corner response function R (R > threshold) Take the points of local maxima of R

Harris Detector: Workflow

Harris Detector: Workflow Compute corner response R

Harris Detector: Workflow Find points with large corner response: R>threshold

Harris Detector: Workflow Take only the points of local maxima of R

Harris Detector: Workflow

Harris Detector: Example

Harris Detector: Example

Harris Detector: Some Properties Rotation invariance Ellipse rotates but its shape (i.e. eigenvalues) remains the same Corner response R is invariant to image rotation

Harris Detector: Some Properties Partial invariance to affine intensity change Only derivatives are used => invariance to intensity shift I I + b Intensity scale: I a I g g threshold x (image coordinate) x (image coordinate)

Harris Detector: Some Properties But: non-invariant to spatial scale! All points will be classified as edges Corner!

Scale Invariant Detection Consider regions (e.g. circles) of different sizes around a point Regions of corresponding sizes will look the same in both images

Scale Invariant Detection The problem: how do we choose corresponding circles independently in each image? Solution: choose the scale of the best corner.

Harris-Laplacian Point Detector Harris-Laplacian Find local maximum of: Harris corner detector for a set of Laplacian images. scale y Harris x Laplacian 1 K.Mikolajczyk, C.Schmid. Indexing Based on Scale Invariant Interest Points. ICCV 2001

Memo: Gaussian / Laplacian Pyramids Gaussian Pyramid Laplacian Pyramid - - = = - =

Harris - Laplacian Detector

SIFT Scale Invariant Feature Transform David G. Lowe, Distinctive image features from scale-invariant keypoints, International Journal of Computer Vision, 60, 2 (2004), pp. 91-110 Extract affine regions Normalize regions Eliminate rotational ambiguity Compute appearance descriptors SIFT (Lowe 04)

SIFT Scale Invariant Feature Transform David G. Lowe, Distinctive image features from scale-invariant keypoints, International Journal of Computer Vision, 60, 2 (2004), pp. 91-110 Give about 2000 stable keypoints for a typical 500 x 500 image Each keypoint is described by a vector of 4 x 4 x 8 = 128 elements (over 4x4 array of 8-bin gradient histograms keypoint neighborhood)

SIFT Scale Invariant Feature Transform - Find local maximum of Laplacian in space and scale scale y Laplacian x Laplacian David G. Lowe, Distinctive image features from scale-invariant keypoints, International Journal of Computer Vision, 60, 2 (2004), pp. 91-110

SIFT - Point Detection Construct scale-space: increasing σ G ( σ) * I ( kσ) I G * First octave ( k 2 σ) I G * G ( 2σ) * I ( 2kσ) I G * Second octave ( 2k 2 σ) I G *

SIFT Scale Space

SIFT point detection STEP 1: Determine local Maxima in DoG pyramid (Laplacian Pyramid). Scale Space extrema detection. Choose all extrema within 3x3x3 neighborhood. ( 2 σ) D k D( kσ) Dσ ( )

SIFT point detection STEP 1: Determine local Maxima in DoG pyramid (Laplacian Pyramid). Experimentally, Maximum of Laplacian gives best notion of sc

SIFT - Step 1: Interest Point Detection Detections at multiple scales Some of the detected SIFT frames. http://www.vlfeat.org/overview/sift.html

SIFT point detection 233x189 image 832 SIFT extrema

SIFT - Step 2: Interest Localization & Filtering 2) Remove bad Interest points: a) Remove points with low contrast b) Remove Edge points (Eigenvalues of Hessian Matrix must BOTH be large).

Interest Points (c) 729 left after peak value threshold (from 832) (d) 536 left after testing ratio of principle curvatures

SIFT Descriptor Vector STEP 3: Select canonical orientation Each SIFT interest point is associated with location (x,y) and scale (σ) Compute gradient magnitude and orientation for each SIFT point: 0 2π Assign canonical orientation at peak of smoothed histogram (fit parabola to better localize peak).

SIFT Descriptor Vector STEP 3: Select canonical orientation Each SIFT interest point is associated with location (x,y), scale (σ), gradient magnitude and orientation (m, θ). Compute SIFT feature - a vector of 128 entries.

SIFT Descriptor Vector STEP 4: Compute SIFT feature vector of 128 entries Gradients determined in 16x16 window at SIFT point in scale space. Histogram is computed for gradients of each 4x4 sub window in 8 relative directions. A 4x4x8 = 128 dimensional feature vector is produced. Image from: Jonas Hurrelmann

SIFT Descriptor Vector STEP 4: Compute feature vector

Object Recognition Only 3 keys are needed for recognition, so extra keys provide robustness

Recognition under occlusion

Test of illumination Robustness Same image under differing illumination 273 keys verified in final match

Matching SIFT Features Given a feature in I 1, how to find the best match in I 2? 1. Define distance function that compares two descriptors. 2. Test all the features in I 2, find the one with min distance. Accept if below threshold. I 1 I 2

Matching SIFT Features 22 correct matches

Matching SIFT Features 33 correct matches

Matching SIFT Features How to evaluate the performance of a feature matcher? 50 75 200

Matching SIFT Features Threshold t affects # of correct/false matches 50 75 true match 200 false match True positives (TP) = # of detected matches that are correct False positives (FP) = # of detected matches that are incorrect

Matching SIFT Features ROC Curve - Generated by computing (FP, TP) for different thresholds. - Maximize area under the curve (AUC). 1 0.7 TP rate 0 0.1 FP rate 1 http://en.wikipedia.org/wiki/receiver_operating_characteristic

Evaluating SIFT Features Empirically found 2 to show very good performance, invariant to image rotation, scale, intensity change, and to moderate affine transformations Scale = 2.5 Rotation = 45 0 1 D.Lowe. Distinctive Image Features from Scale-Invariant Keypoints. Accepted to IJCV 2004 2 K.Mikolajczyk, C.Schmid. A Performance Evaluation of Local Descriptors. CVPR 2003

Example - Mosaicing Source: Alexei Efros

Example: Mosiacing (Panorama) M. Brown and D. G. Lowe. Recognising Panoramas. ICCV 2003