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

Similar documents
Scale Invariant Feature Transform

SCALE INVARIANT FEATURE TRANSFORM (SIFT)

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

Outline 7/2/201011/6/

Scale Invariant Feature Transform

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

Object Recognition with Invariant Features

Local Features Tutorial: Nov. 8, 04

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

Local Features: Detection, Description & Matching

SUMMARY: DISTINCTIVE IMAGE FEATURES FROM SCALE- INVARIANT KEYPOINTS

The SIFT (Scale Invariant Feature

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

Designing Applications that See Lecture 7: Object Recognition

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

CAP 5415 Computer Vision Fall 2012

CS5670: Computer Vision

Some material taken from: Yuri Boykov, Western Ontario

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

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

EE368 Project Report CD Cover Recognition Using Modified SIFT Algorithm

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 by David Lowe

Local Feature Detectors

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

CS231A Section 6: Problem Set 3

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

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

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

TA Section 7 Problem Set 3. SIFT (Lowe 2004) Shape Context (Belongie et al. 2002) Voxel Coloring (Seitz and Dyer 1999)

CS664 Lecture #18: Motion

Motion Estimation and Optical Flow Tracking

Feature Based Registration - Image Alignment

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

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

Ulas Bagci

Local invariant features

COMPUTER VISION > OPTICAL FLOW UTRECHT UNIVERSITY RONALD POPPE

Coarse-to-fine image registration

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

School of Computing University of Utah

EE795: Computer Vision and Intelligent Systems

Local features: detection and description May 12 th, 2015

Feature Detectors and Descriptors: Corners, Lines, etc.

Feature descriptors and matching

Implementing the Scale Invariant Feature Transform(SIFT) Method

Key properties of local features

Feature Matching and Robust Fitting

CS 223B Computer Vision Problem Set 3

Local features: detection and description. Local invariant features

ME/CS 132: Introduction to Vision-based Robot Navigation! Low-level Image Processing" Larry Matthies"

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

CS664 Lecture #16: Image registration, robust statistics, motion

SIFT - scale-invariant feature transform Konrad Schindler

Computer Vision for HCI. Topics of This Lecture

Patch-based Object Recognition. Basic Idea

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

EE795: Computer Vision and Intelligent Systems

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

Template Matching Rigid Motion. Find transformation to align two images. Focus on geometric features

Edge and corner detection

Corner Detection. GV12/3072 Image Processing.

HISTOGRAMS OF ORIENTATIO N GRADIENTS

Template Matching Rigid Motion

Category vs. instance recognition

2D Image Processing Feature Descriptors

AK Computer Vision Feature Point Detectors and Descriptors

Anno accademico 2006/2007. Davide Migliore

Digital Image Processing COSC 6380/4393

Edge Detection. Announcements. Edge detection. Origin of Edges. Mailing list: you should have received messages

Announcements. Edges. Last Lecture. Gradients: Numerical Derivatives f(x) Edge Detection, Lines. Intro Computer Vision. CSE 152 Lecture 10

Discovering Visual Hierarchy through Unsupervised Learning Haider Razvi

Eppur si muove ( And yet it moves )

CS 558: Computer Vision 4 th Set of Notes

What have we leaned so far?

Recognition of Degraded Handwritten Characters Using Local Features. Markus Diem and Robert Sablatnig

SIFT: Scale Invariant Feature Transform

Matching. Compare region of image to region of image. Today, simplest kind of matching. Intensities similar.

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

Announcements. Stereo Vision Wrapup & Intro Recognition

CS6670: Computer Vision

Automatic Image Alignment (feature-based)

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

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

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

CS4670: Computer Vision

Lecture 8: Fitting. Tuesday, Sept 25

CS5670: Computer Vision

Lecture 10 Detectors and descriptors

Edge Detection (with a sidelight introduction to linear, associative operators). Images

Advanced Video Content Analysis and Video Compression (5LSH0), Module 4

Midterm Examination CS 534: Computational Photography

Chapter 3 Image Registration. Chapter 3 Image Registration

Motion illusion, rotating snakes

Local Image Features

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

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

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

Introduction to SLAM Part II. Paul Robertson

Mosaics. Today s Readings

Transcription:

CS664 Lecture #21: SIFT, object recognition, dynamic programming Some material taken from: Sebastian Thrun, Stanford http://cs223b.stanford.edu/ Yuri Boykov, Western Ontario David Lowe, UBC http://www.cs.ubc.ca/~lowe/keypoints/

Announcements Paper report due on 11/15 Next quiz Tuesday 11/15 coverage through next lecture PS#2 due today (November 8) Code is due today, you can hand in the writeup without penalty until 11:59PM Thursday (November 10) There will be a (short) PS3, due on the last day of classes. 2

Invariant local features SIFT Features Invariant to affine transformations, or changes in camera gain and bias 3

Keypoint detection Laplacian is a center-surround filter Very high response at dark point surrounded by bright stuff Very low response at the opposite In practice, often computed as difference of Gaussians (DOG) filter: (I h σ1 )-(I h σ2 ), where σ1/σ2 is around 2 Scale parameter σ is important Keypoints are maxima (minima) of DOG that occur at multiple scales 4

Scale-space pyramid All scales must be examined to identify scale-invariant features DOG pyramid (Burt & Adelson, 1983) Resample Blur Subtract 5

Rotation invariance Create histogram of local gradient directions computed at selected scale Assign canonical orientation at peak of smoothed histogram Each key specifies stable 2D coordinates (x, y, scale, orientation) 0 2π 8

SIFT feature vector Note: this is somewhat simplified; there are a number of somewhat ad hoc steps, but the whole thing works pretty well 9

Hough transform Motivation: find global features 10

Example: vanishing points 11

From edges to lines An edge should vote for all lines that go (roughly) through it Find the line with lots of votes A line is parameterized by m and b This is actually a lousy choice, as it turns out 12

Hough transform for lines b m m m 13

SIFT-based recognition Given: a database of features Computed from model library We want to probe for the features we see in the image Use approximate nearest-neighbor scheme 14

SIFT is quite robust 15

SIFT DEMO! 16

Recognition Classical recognition (Roberts, 1962) http://www.packet.cc/files/mach-per-3dsolids.html Influenced by J. J. Gibson Given: set of objects of known fixed shape Find: position and pose ( placement ) Match model features to image features Models and/or image can be 2D or 3D 2D to 2D example: OCR Common case is 3D model, 2D image 17

Face recognition Extensively studied special case Approaches: intensities or features Intensities: SSD (L 2 distance) or variants Features: extract eyes, nose, chin, etc. Intensities seem to work more reliably Images need to be registered Famous application of PCA: eigenfaces Nothing really works with serious changes in lighting, profile, appearance FERET database has good evaluation metrics 18

Combinatorial search Possible formulation of recognition: match each model feature to an image feature Some model features can be occluded This leads to an intractable problem with lots of backtracking Interpretation tree search Especially bad with unreliable features The methods that work tend to avoid explicit search over matchings Robust to feature unreliability 19

Distance-based matching Intuition: all points (features) in model should be close to some point in image We will assume binary features, usually edges All points assumption means no occlusions Many image points will be unmatched Naively posed, this is very hard For each point in the model, find the distance to the nearest point in the image Do this for each placement of the model How can we make this fast? 20

Dynamic programming General technique to speed up computations by re-using results Many successful applications in vision Canonical examples: Shortest paths (Dijkstra s algorithm) Many applications in vision (curves) Integral images Efficiently compute the sum of any quantity over an arbitrary rectangle Useful for image smoothing, stereo, face detection, etc. 21

Shortest paths via DP B A - processed nodes (distance to A is known) - active nodes (front) - active node with the smallest distance value Dijkstra s algorithm 22

Integral images via DP Suppose we want to compute the sum in D At each pixel (x,y), compute the sum in the rectangle [(0,0),(x,y)] Gives: A+C,A+B,A+B+C+D (A+B+C+D) (A+C) (A+B) + A = D Can compute rectangle sums by same trick Row major scan A C B D 23