Object categorization: the constellation models categorization: the constellation models Li Fei-Fei...

70
Object categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus with many thanks to Rob Fergus

Transcript of Object categorization: the constellation models categorization: the constellation models Li Fei-Fei...

Page 1: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Object categorization:the constellation models

Li Fei-Fei

with many thanks to Rob Ferguswith many thanks to Rob Fergus

Page 2: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

The People and slides credit

Pietro Perona

Mike Burl Thomas Leung

Markus Weber

Rob Fergus

Max Welling

Li Fei-Fei

Andrew Zisserman

Page 3: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Goal

• Recognition of visual object classes

• Unassisted learning

Page 4: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Issues:• Representation

• Learning

• Recognition

Page 5: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Model: Parts and Structure

Page 6: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

• Fischler & Elschlager 1973

• Yuille ‘91• Brunelli & Poggio ‘93• Lades, v.d. Malsburg et al. ‘93• Cootes, Lanitis, Taylor et al. ‘95• Amit & Geman ‘95, ‘99 • et al. Perona ‘95, ‘96, ’98, ’00, ‘03• Huttenlocher et al. ’00• Agarwal & Roth ’02

etc…

Parts and Structure Literature

Page 7: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

The Constellation ModelT. Leung

M. Burl

Representation

Detection

Shape statistics – F&G ’95Affine invariant shape – CVPR ‘98

CVPR ‘96ECCV ‘98

M. WeberM. Welling Unsupervised Learning

ECCV ‘00Multiple views - F&G ’00 Discovering categories - CVPR ’00

R. Fergus

L. Fei-Fei

Joint shape & appearance learningGeneric feature detectors

One-Shot LearningIncremental learning

CVPR ’03Polluted datasets - ECCV ‘04

ICCV ’03CVPR ‘04

Page 8: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

A B

DC

Deformations

Page 9: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Presence / Absence of Features

occlusion

Page 10: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Background clutter

Page 11: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Foreground modelGenerative probabilistic model

Gaussian shape pdf

Clutter model

Uniform shape pdfProb. of detection

0.8 0.75

0.9

# detections

pPoisson(N2|λ2)

pPoisson(N1|λ1)

pPoisson(N3|λ3)

Assumptions: (a) Clutter independent of foreground detections(b) Clutter detections independent of each other

Example1. Object Part Positions

3a. N false detect2. Part Absence

N1

N2

3b. Position f. detect

N3

Page 12: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Learning Models `Manually’

• Obtain set of training images

• Label parts by hand, train detectors

• Learn model from labeled parts

• Choose parts

Page 13: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Recognition1. Run part detectors exhaustively over image

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

=

2032

e.g.

0000

4

3

2

1

h

NNNN

h

K

K

K

K1

2

3

3

2

41

1

2 3

1

2

2. Try different combinations of detections in model- Allow detections to be missing (occlusion)

3. Pick hypothesis which maximizes:

4. If ratio is above threshold then, instance detected

),|(),|(

HypClutterDatapHypObjectDatap

Page 14: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

So far…..• Representation

– Joint model of part locations– Ability to deal with background clutter and occlusions

• Learning– Manual construction of part detectors– Estimate parameters of shape density

• Recognition– Run part detectors over image– Try combinations of features in model– Use efficient search techniques to make fast

Page 15: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Unsupervised LearningWeber & Welling et. al.

Page 16: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

(Semi) Unsupervised learning

•Know if image contains object or not•But no segmentation of object or manual selection of features

Page 17: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Unsupervised detector training - 1

• Highly textured neighborhoods are selected automatically• produces 100-1000 patterns per image

10

10

Page 18: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Unsupervised detector training - 2

“Pattern Space” (100+ dimensions)

Page 19: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Unsupervised detector training - 3

100-1000 images ~100 detectors

Page 20: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

• Task: Estimation of model parameters

Learning

• Let the assignments be a hidden variable and use EM algorithm to learn them and the model parameters

• Chicken and Egg type problem, since we initially know neither:

- Model parameters

- Assignment of regions to foreground / background

• Take training images. Pick set of detectors. Apply detectors.

Page 21: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

ML using EM1. Current estimate

...

Image 1 Image 2 Image i

2. Assign probabilities to constellations

Large P

Small P

3. Use probabilities as weights to re-estimate parameters. Example: μ

Large P x + Small P x

pdf

new estimate of μ

+ … =

Page 22: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Detector Selection

ParameterEstimation

Choice 1

Choice 2 ParameterEstimation

Model 1

Model 2

Predict / measure model performance(validation set or directly from model)

Detectors (≈100)

•Try out different combinations of detectors (Greedy search)

Page 23: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Frontal Views of Faces

• 200 Images (100 training, 100 testing)

• 30 people, different for training and testing

Page 24: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Learned face modelPre-selected Parts

Model Foreground pdf

Sample Detection

Parts in Model

Test Error: 6% (4 Parts)

Page 25: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Face images

Page 26: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Background images

Page 27: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Preselected Parts

Model Foreground pdf

Sample Detection

Parts in Model

Car from RearTest Error: 13% (5 Parts)

Page 28: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Detections of Cars

Page 29: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Background Images

Page 30: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

3D Object recognition – Multiple mixture components

Page 31: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

3D Orientation Tuning

Frontal Profile

0 20 40 60 80 10050

55

60

65

70

75

80

85

90

95

100Orientation Tuning

angle in degrees

% C

orre

ct

% C

orre

ct

Page 32: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

So far (2)…..• Representation

– Multiple mixture components for different viewpoints• Learning

– Now semi-unsupervised– Automatic construction and selection of part detectors– Estimation of parameters using EM

• Recognition– As before

• Issues:-Learning is slow (many combinations of detectors)-Appearance learnt first, then shape

Page 33: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Issues• Speed of learning

– Slow (many combinations of detectors)• Appearance learnt first, then shape

– Difficult to learn part that has stable location but variable appearance

– Each detector is used as a cross-correlation filter, giving a hard definition of the part’s appearance

• Would like a fully probabilistic representation of the object

Page 34: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Object categorization

Fergus et. al.

CVPR ‘03

Page 35: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Detection & Representation of regions

Appearance

Location

Scale

(x,y) coords. of region centre

Radius of region (pixels)

11x11 patchNormalizeProjection onto

PCA basis

c1

c2

c15

……

…..

Gives representation of appearance in low-dimensional vector space

• Find regions within image

• Use salient region operator(Kadir & Brady 01)

Page 36: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Motorbikes example•Kadir & Brady saliency region detector

Page 37: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Foreground model

Gaussian shape pdf

Poission pdf on # detections

Uniform shape pdf

Generative probabilistic model (2)

Clutter model

Gaussian part appearance pdf

Gaussian background appearance pdf

Prob. of detection

0.8 0.75 0.9

Gaussian relative scale pdf

log(scale)

Uniformrelative scale pdf

log(scale)

based on Burl, Weber et al. [ECCV ’98, ’00]

Page 38: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

MotorbikesSamples from appearance model

Page 39: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Recognized Motorbikes

Page 40: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Background images evaluated with motorbike model

Page 41: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Frontal faces

Page 42: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Airplanes

Page 43: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Spotted cats

Page 44: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Summary of results

10.010.0Spotted cats

9.715.2Cars (Rear)

7.09.8Airplanes

4.64.6Faces

6.77.5Motorbikes

Scale invariant experiment

Fixed scale experimentDataset

% equal error rate

Note: Within each series, same settings used for all datasets

Page 45: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Comparison to other methods

AgarwalRoth

[ECCV ’02]21.011.5Cars (Side)

Weber32.09.8Airplanes

Weber6.04.6Faces

Weber et al. [ECCV ‘00]16.07.5Motorbikes

OthersOursDataset

% equal error rate

Page 46: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Why this design?• Generic features seem to well in finding consistent parts

of the object

• Some categories perform badly – different feature types needed

• Why PCA representation?– Tried ICA, FLD, Oriented filter responses etc.– But PCA worked best

• Fully probabilistic representation lets us use tools from machine learning community

Page 47: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

S. Savarese, 2003

Page 48: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

P. Buegel, 1562

Page 49: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

One-Shot learningFei-Fei et. al.

ICCV ‘03

Page 50: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Faces, Cars~2,000Schneiderman, et al.

Faces~500Rowley et al.

Faces, Motorbikes, Spotted cats, Airplanes,

Cars200 ~ 400Burl, et al. Weber,

et al. Fergus, et al.

Faces~10,000Viola et al.

CategoriesTraining ExamplesAlgorithm

Page 51: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

1 2 3 4 5 6 7 8 90

10

20

30

40

50

60

log2 (Training images)

Cla

ssifi

catio

n er

ror

(%)

Generalisation performance

TestTrain

Number of training examples

Previously

6 part Motorbike model

Page 52: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

How do we do better than what statisticians have told

us?

• Intuition 1: use Prior information

• Intuition 2: make best use of training information

Page 53: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Prior knowledge: means

ShapeAppearance

likel

yun

likel

y

Page 54: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Bayesian frameworkP(object | test, train) vs. P(clutter | test, train)

)object()trainobject,|test( pp

Bayes Rule

θθθ dpp∫ )trainobject,|()object,|test(

Expansion by parametrization

Page 55: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Bayesian framework

( )MLθδPrevious Work:

P(object | test, train) vs. P(clutter | test, train)

)object()trainobject,|test( pp

Bayes Rule

θθθ dpp∫ )trainobject,|()object,|test(

Expansion by parametrization

Page 56: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Bayesian framework

One-Shot learning: ( ) ( )θθ pp object,train

P(object | test, train) vs. P(clutter | test, train)

)object()trainobject,|test( pp

Bayes Rule

θθθ dpp∫ )trainobject,|()object,|test(

Expansion by parametrization

Page 57: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

θ1

θ2θn

model (θ) space

Each object model θ

Gaussian shape pdfGaussian part

appearance pdf

Model Structure

Page 58: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

θ2θn

model distribution: p(θ)• conjugate distribution of p(train|θ,object)

θ1

model (θ) space

Each object model θ

Gaussian shape pdfGaussian part

appearance pdf

Model Structure

Page 59: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Learning Model Distribution

• use Prior information

• Bayesian learning

• marginalize over theta

Variational EM (Attias, Hinton, Minka, etc.)

( ) ( ) ( )θθθ ppp object ,traintrain object, ∝

Page 60: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

E-Step

Random initializationVariational EMVariational EM

prior knowledge of p(θ)

new estimate of p(θ|train)

M-Step

new θ’s

Page 61: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

ExperimentsTraining:

1- 6 randomly

drawn images

Testing:

50 fg/ 50 bg images

object present/absent

Datasets

spotted catsairplanes motorbikesfaces

[www.vision.caltech.edu]

Page 62: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Faces

Airplanes

Motorbikes

Spotted cats

Page 63: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Experiments: obtaining priors

spotted cats

airplanes

motorbikes

faces

Miller, et al. ‘00

model (θ) space

Page 64: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Experiments: obtaining priors

spotted cats

faces

airplanes

motorbikes

model (θ) space

Page 65: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Number of training examples

Page 66: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Number of training examples

Page 67: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Number of training examples

Page 68: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

Number of training examples

Page 69: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

7.5 –24.1%Faces~500

Rowley et al.

5.6 – 17%Faces, Cars~2,000Schneiderman, et al.

8 –15 %

Faces, Motorbikes, Spotted cats, Airplanes1 ~ 5Bayesian

One-Shot

5.6 - 10 %

Faces, Motorbikes, Spotted cats, Airplanes,

Cars200 ~ 400Burl, et al. Weber,

et al. Fergus, et al.

7-21%Faces~10,000Viola et al.

Results(error)CategoriesTraining

ExamplesAlgorithm

Page 70: Object categorization: the constellation models categorization: the constellation models Li Fei-Fei with many thanks to Rob Fergus The People and slides credit Pietro Perona Mike Burl

• Viewpoint variation not accounted for, so learnt intrinsically (legs of camel, curve of wheels for motorbikes)

• Move to explicit representation (i.e. mixture models)

• Use prior information: (a) Learning models(b) commonly selected images

• Use partially-labelled learning methods for 10 images case

• Improve unsupervised learning methods

Future work