object category detection: parts-based modelsdhoiem.cs.illinois.edu/courses/vision_spring10... ·...

56
Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549 University of Illinois Derek Hoiem 03/30/10

Upload: others

Post on 25-Jul-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Object Category Detection:Parts-based Models

Computer Vision

CS 543 / ECE 549

University of Illinois

Derek Hoiem

03/30/10

Page 2: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Administrative stuff

• Returning homeworks

Page 3: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Administrative stuff• Projects: next class, each group gives 2 minute

summary of projects– Goal– Progress so far– If you want to show an image or figure, e-mail me one

image or powerpoint slide by Wed 5pm

• Deadlines– HW 3 due April 6– HW 4 due May 4 (should be out April 9)– Projects due in ~5 weeks

• Poster session– During finals week

• May 11 12:30-2:30 (Tues) or May 13 12:30-2:30 (Thurs)

Page 4: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Goal: Detect all instances of objectsCars

Faces

Cats

Page 5: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Object model: last class

• Statistical Template in Bounding Box– Object is some (x,y,w,h) in image

– Features defined wrt bounding box coordinates

Image Template Visualization

Images from Felzenszwalb

Page 6: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Last class: sliding window detection

Page 7: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Last class: statistical template

• Object model = log linear model of parts at fixed positions

+3 +2 -2 -1 -2.5 = -0.5

+4 +1 +0.5 +3 +0.5= 10.5

> 7.5?

> 7.5?

Non-object

Object

Page 8: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

When do statistical templates make sense?

Caltech 101 Average Object Images

Page 9: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Object models: this class

• Articulated parts model– Object is configuration of parts

– Each part is detectable

Images from Felzenszwalb

Page 10: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Deformable objects

Images from Caltech-256

Slide Credit: Duan Tran

Page 11: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Deformable objects

Images from D. Ramanan’s datasetSlide Credit: Duan Tran

Page 12: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Compositional objects

Page 13: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Parts-based Models

Define object by collection of parts modeled by1. Appearance

2. Spatial configuration

Slide credit: Rob Fergus

Page 14: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

How to model spatial relations?

• One extreme: fixed template

Page 15: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

How to model spatial relations?

• Another extreme: bag of words

=

Page 16: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

How to model spatial relations?

• Star-shaped model

Root

Part

Part

Part

Part

Part

Page 17: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

How to model spatial relations?

• Star-shaped model

=X X

XRoot

Part

Part

Part

Part

Part

Page 18: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

How to model spatial relations?• Tree-shaped model

Page 19: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

How to model spatial relations?

Fergus et al. ’03Fei-Fei et al. ‘03

Leibe et al. ’04, ‘08Crandall et al. ‘05Fergus et al. ’05

Crandall et al. ‘05 Felzenszwalb & Huttenlocher ‘05

Bouchard & Triggs ‘05 Carneiro & Lowe ‘06Csurka ’04Vasconcelos ‘00

from [Carneiro & Lowe, ECCV’06]

O(N6) O(N2) O(N3) O(N2)

• Many others...

Page 20: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Today’s class

1. Star-shaped model – Example: ISM

• Leibe et al. 2004, 2008

2. Tree-shaped model– Example: Pictorial structures

• Felzenszwalb Huttenlocher 2005

Root

Part

Part

Part

Part

Part

Page 21: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

ISM: Implicit Shape Model

Training overview• Start with bounding boxes and (ideally) segmentations of

objects

• Extract local features (e.g., patches or SIFT) at interest points on objects

• Cluster features to create codebook

• Record relative bounding box and segmentation for each codeword

Page 22: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

ISM: Implicit Shape Model

Testing overview• Extract interest points in test image

• Softly match to codebook entries

• Each matched codeword votes for object bounding box

• Compute modes of votes using mean-shift

• Check which codewords voted for modes

• Refine

Page 23: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

K. Grauman, B. Leibe

Codebook Representation

• Extraction of local object featuresInterest Points (e.g. Harris detector)Sparse representation of the object appearance

• Collect features from whole training set

• Example:

Page 24: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

K. Grauman, B. Leibe

Agglomerative Clustering

• Algorithm (Average-Link)1. Start with each patch as a cluster of its own2. Repeatedly merge the two most similar clusters X and Y,

where the similarity between two clusters is defined as the average similarity between their members

3. Until

• Commonly used similarity measuresNormalized correlationEuclidean distances

θ<),sim( YX

Page 25: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

K. Grauman, B. Leibe

Appearance Codebook

• Clustering ResultsVisual similarity preservedWheel parts, window corners, fenders, ...Store cluster centers as Appearance Codebook

Page 26: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

K. Grauman, B. Leibe

Voting with Local Features

• For every feature, store possible “occurrences”

• For new image, let the matched features vote for possible object positions

Record relative size and scale of object

Page 27: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Implicit Shape Model - RecognitionInterest Points Matched Codebook

EntriesProbabilistic

Voting

3D Voting Space(continuous)

x

y

s

Object Position

o,x

Image Feature

f

Interpretation(Codebook match)

Ci

)( fCp i ),,( lin Cxop

∑=i

inin CxopfCpfxop ),,()(),,( ll

[Leibe04, Leibe08]

Page 28: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

K. Grauman, B. Leibe

• Mean-Shift formulation for refinementScale-adaptive balloon density estimator

Scale Voting: Efficient Computation

y

s

Binned accum. array

y

s

x

Refinement(MSME)

y

s

x

Candidatemaxima

y

s

Scale votes

Page 29: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Implicit Shape Model - Recognition

BackprojectedHypotheses

Interest Points Matched Codebook Entries

Probabilistic Voting

3D Voting Space(continuous)

x

y

s

Backprojectionof Maxima

[Leibe04, Leibe08]

Page 30: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

K. Grauman, B. Leibe

Original image

Example: Results on Cows

Page 31: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

K. Grauman, B. Leibe

Original imageInterest points

Example: Results on Cows

Page 32: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

K. Grauman, B. Leibe

O������� �����I�������

������

Matched patches

Example: Results on Cows

Page 33: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

K. Grauman, B. Leibe

O������� �����I�������

������

M������ �������Prob. Votes

Example: Results on Cows

Page 34: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

K. Grauman, B. Leibe

1st hypothesis

Example: Results on Cows

Page 35: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

K. Grauman, B. Leibe

2nd hypothesis

Example: Results on Cows

Page 36: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

K. Grauman, B. Leibe

Example: Results on Cows

3rd hypothesis

Page 37: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

ISM: Detection Results

• Qualitative Performance– Recognizes different kinds of objects

– Robust to clutter, occlusion, noise, low contrast

K. Grauman, B. Leibe

Page 38: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Beyond bounding boxes

Backprojected codewords can vote:• Pixel segmentation

• Part layout

• Pose

• Depth values BackprojectedHypotheses

Interest Points Matched Codebook Entries

Probabilistic Voting

3D Voting Space(continuous)

x

y

s

Backprojectionof Maxima

Page 39: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

K. Grauman, B. Leibe

Segmentation: Probabilistic Formulation

• Influence of patch on object hypothesis (vote weight)

( ) ( ) ( ) ( )( )xop

f,pfCpCxopxofp

n

i iinn ,

||,,, ∑= l

l

( ) ( ) ( )∑∈

===),(

,|,,,,|,|l

llf

nnn xofpxoffigurepxofigurepp

pp• Backprojection to features f and pixels p:

Segmentationinformation

Influence on object hypothesis

[Leibe04, Leibe08]

Page 40: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

K. Grauman, B. Leibe

ISM – Top-Down Segmentation

BackprojectedHypotheses

Interest Points Matched Codebook Entries

Probabilistic Voting

Segmentation3D Voting Space

(continuous)

x

y

s

Backprojectionof Maxima

p(figure)Probabilities

[Leibe04, Leibe08]

Page 41: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

46K. Grauman, B. Leibe

Example Results: Motorbikes

Page 42: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

47B. Leibe

Example Results: Chairs

Office chairs

Dining room chairs

Page 43: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

48

Inferring Other Information: Part Labels

Training

Test Output

[Thomas07]

Page 44: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

49

Inferring Other Information: Part Labels (2)

[Thomas07]

Page 45: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

50

Inferring Other Information: Depth Maps

“Depth from a single image”

[Thomas07]

Page 46: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Tree-shaped model

Page 47: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Pictorial Structures Model

Part = oriented rectangle Spatial model = relative size/orientation

Felzenszwalb and Huttenlocher 2005

Page 48: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Pictorial Structures Model

Appearance likelihood Geometry likelihood

Page 49: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Pictorial structures model

Optimization is tricky but can be efficient

Maximization

• For each l1, find best l2:

• Remove v2, and repeat with smaller tree, until only a single part

• For n parts, k locations per part, this has complexity of O(nk2), but can be solved in ~O(nk) usinggeneralized distance transform

Page 50: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Pictorial structures model

Optimization is tricky but can be efficient

Sampling

• Sample root node, then each node given parent, until all parts are sampled

Page 51: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Sample poses from likelihood and choose best match with Chamfer distance

Page 52: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Results for person matching

58

Page 53: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Results for person matching

59

Page 54: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Recently enhanced pictorial structures

BMVC 2009

Page 55: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Things to remember• Rather than searching for whole

object, can locate “parts” that vote for object– Better encoding of spatial

variation

• These parts can vote for other things too

• Models can be broken down into part appearance and spatial configuration– Wide variety of models

• Efficient optimization is often tricky, but many tricks available

Page 56: Object Category Detection: Parts-based Modelsdhoiem.cs.illinois.edu/courses/vision_spring10... · Object Category Detection: Parts-based Models Computer Vision CS 543 / ECE 549

Next class

• Each group gives 2 minute summary of projects– Goal

– Progress so far

– If you want to show an image or figure, e-mail me one image or powerpoint slide by Wed 5pm

• Review of object recognition