keypoint-based recognition computer vision cs 543 / ece 549 university of illinois derek hoiem...

52
Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Upload: solomon-sparks

Post on 20-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Keypoint-based Recognition

Computer VisionCS 543 / ECE 549

University of Illinois

Derek Hoiem

03/04/10

Page 2: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Today• HW 1

• HW 2 (p3)

• Recognition

Page 3: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

General Process of Object Recognition

Specify Object Model

Generate Hypotheses

Score Hypotheses

Resolution

Page 4: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

General Process of Object RecognitionExample: Keypoint-based

Instance Recognition

Specify Object Model

Generate Hypotheses

Score Hypotheses

Resolution

B1B2

B3A1

A2

A3

Last Class

Page 5: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Overview of Keypoint Matching

K. Grauman, B. Leibe

N p

ixe

ls

N pixels

Af

e.g. color

Bf

e.g. color

B1

B2

B3A1

A2 A3

Tffd BA ),(

1. Find a set of distinctive key- points

3. Extract and normalize the region content

2. Define a region around each keypoint

4. Compute a local descriptor from the normalized region

5. Match local descriptors

Page 6: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

General Process of Object RecognitionExample: Keypoint-based

Instance Recognition

Specify Object Model

Generate Hypotheses

Score Hypotheses

Resolution

B1B2

B3A1

A2

A3

Affine Parameters

Choose hypothesis with max score above threshold

# Inliers

Affine-variant point locations

This Class

Page 7: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Matching Keypoints

• Want to match keypoints between:1. Training images containing the object2. Database images

• Given descriptor x0, find two nearest neighbors x1, x2 with distances d1, d2

• x1 matches x0 if d1/d2 < 0.8– This gets rid of 90% false matches, 5% of true

matches in Lowe’s study

Page 8: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Affine Object Model• Accounts for 3D rotation of a surface under

orthographic projection

Page 9: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Affine Object Model• Accounts for 3D rotation of a surface under

orthographic projection

Scaling/skew Translation

How many matched points do we need?

Page 10: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Finding the objects1. Get matched points in database image

2. Get location/scale/orientation using Hough voting– In training, each point has known position/scale/orientation

wrt whole object– Bins for x, y, scale, orientation

• Loose bins (0.25 object length in position, 2x scale, 30 degrees orientation)

• Vote for two closest bin centers in each direction (16 votes total)

3. Geometric verification– For each bin with at least 3 keypoints– Iterate between least squares fit and checking for inliers and

outliers4. Report object if > T inliers (T is typically 3, can be

computed by probabilistic method)

Page 11: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Matched objects

Page 12: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

View interpolation• Training

– Given images of different viewpoints

– Cluster similar viewpoints using feature matches

– Link features in adjacent views

• Recognition– Feature matches may be

spread over several training viewpoints

Use the known links to “transfer votes” to other viewpoints

Slide credit: David Lowe

[Lowe01]

Page 13: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Applications• Sony Aibo

(Evolution Robotics)

• SIFT usage– Recognize

docking station– Communicate

with visual cards

• Other uses– Place recognition– Loop closure in SLAM

K. Grauman, B. Leibe 14Slide credit: David Lowe

Page 14: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Location Recognition

Slide credit: David Lowe

Training

[Lowe04]

Page 15: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Fast visual search

“Scalable Recognition with a Vocabulary Tree”, Nister and Stewenius, CVPR 2006.

“Video Google”, Sivic and Zisserman, ICCV 2003

Page 16: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Slide

110,000,000Images in

5.8 Seconds

Slide Credit: Nister

Page 17: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Slide Slide Credit: Nister

Page 18: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Slide Slide Credit: Nister

Page 19: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Slide Credit: NisterSlide

Page 20: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Key Ideas

• Visual Words– Cluster descriptors (e.g., K-means)

• Inverse document file– Quick lookup of files given keypoints

tf-idf: Term Frequency – Inverse Document Frequency

# words in document

# times word appears in document

# documents

# documents that contain the word

Page 21: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Recognition with K-tree

Following slides by David Nister (CVPR 2006)

Page 22: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 23: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 24: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 25: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 26: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 27: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 28: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 29: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 30: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 31: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 32: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 33: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 34: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 35: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 36: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 37: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 38: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 39: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 40: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 41: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 42: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 43: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 44: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10
Page 45: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Performance

Page 46: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

More words is better ImprovesRetrieval

ImprovesSpeed

Branch factor

Page 47: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Higher branch factor works better (but slower)

Page 48: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Video Google System

1. Collect all words within query region

2. Inverted file index to find relevant frames

3. Compare word counts4. Spatial verification

Sivic & Zisserman, ICCV 2003

• Demo online at : http://www.robots.ox.ac.uk/~vgg/research/vgoogle/index.html

49 K. Grauman, B. Leibe

Query region

Retrieved fram

es

Page 49: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Application: Large-Scale Retrieval

K. Grauman, B. Leibe 51[Philbin CVPR’07]

Query Results on 5K (demo available for 100K)

Page 50: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Example Applications

B. Leibe 52

Mobile tourist guide• Self-localization• Object/building recognition• Photo/video augmentation

Aachen Cathedral

[Quack, Leibe, Van Gool, CIVR’08]

Page 51: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Application: Image Auto-Annotation

K. Grauman, B. Leibe 53

Left: Wikipedia imageRight: closest match from Flickr

[Quack CIVR’08]

Moulin Rouge

Tour Montparnasse Colosseum

ViktualienmarktMaypole

Old Town Square (Prague)

Page 52: Keypoint-based Recognition Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/04/10

Things to remember• Object instance recognition

– Find keypoints, compute descriptors

– Match descriptors– Vote for / fit affine parameters– Return object if # inliers > T

• Keys to efficiency– Visual words

• Used for many applications

– Inverse document file• Used for web-scale search