59
Shared features and Joint Boosting Yuandong Tia n Sharing visual features for multiclass and multiview object detection A. Torralba, K. P. Murphy and W. T. Freeman PAMI. vol. 29, no. 5, pp. 854-869, May, 200 7.

Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Embed Size (px)

Citation preview

Page 1: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Shared features and Joint Boosting

Yuandong Tian

Sharing visual features for multiclass and multiview object detectionA. Torralba, K. P. Murphy and W. T. Freeman PAMI. vol. 29, no. 5, pp. 854-869, May, 2007.

Page 2: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Outline

Motivation to choose this paper Motivation of this paper Basic ideas in boosting Joint Boost Feature used in this paper My results in face recognition

Page 3: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Motivation to choose this paper

Axiom: Computer vision is hard.

Assumption: (smart-stationary) Equally smart people are equally distributed over time.

Conjure: If computer vision cannot be solved in 30 years, it won’t be solved forever!

Page 4: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Wrong! Because we are standing on

the Shoulder of Giants.

Page 5: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Where are the Giants?

More computing resources?

Lots of data? Advancement of new

algorithm? Machine Learning?

What I believe

Page 6: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Cruel Reality

Why ML seems not to help much in CV (at least for now)?

My answer: CV and ML are

weakly coupled

Page 7: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

A typical question in CVQ: Why do we use feature A instead of feature B?

A1: Feature A gives better performance.

A2: Feature A has some fancy properties.

A3: The following step requires the feature to have a certain property that only A has.

A strongly-coupled answer

Page 8: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Typical CV pipeline

Preprocessing Steps (“Computer Vision”) Feature/Similarity

ML black box

Have some domain-specific structures Design for generic structures

Page 9: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Contribution of this paper

Tune the ML algorithm in a CV context A good attempt to break the black

box and integrate them together

Page 10: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Outline

Motivation to choose this paper Motivation of this paper Basic ideas in boosting Joint Boost Feature used in this paper My results in face recognition

Page 11: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

This paper

Object Recognition Problem Many object category. Few images per category

Solution—Feature sharing Find common features that distinguish a

subset of classes against the rest.

Page 12: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Feature sharingConcept of Feature Sharing

Page 13: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Template-like features

100% accuracy for a single object

But too specific.

Wavelet-like features,

weaker discriminative power

but shared in many classes.

Typical behavior of feature sharing

Page 14: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Result of feature sharing

Page 15: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Why feature sharing?

ML: Regularization—avoid over-fitting Essentially more positive samples Reuse the data

CV: Utilize the intrinsic structure of object category Use domain-specific prior to bias the

machine learning algorithm

Page 16: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Outline

Motivation to choose this paper Motivation of this paper Basic ideas in boosting Joint Boost Feature used in this paper My results in face recognition

Page 17: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Basic idea in Boosting

Concept: Binary classification samples, labels(+1 or -1)

Goal: Find a function (classifier) H whichmaps positive samples to the positive value

Optimization: Minimize the exponential loss w.r.t the classifier H

Page 18: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Basic idea in boosting(2)

Boosting: Assume H is additive

Each is a “weak” learner (classifier).Almost random but uniformly better than random

Example:Single feature classifier:

make decision only on a single dimension

Page 19: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

The addition of weak classifiers gives a strong classifier!Key point:

How weak learner looks like

Page 20: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Basic idea in boosting(3)

How to minimize? Greedy Approach

Fix H, add one h in each iteration Weighting samples

After each iteration, wrongly classified samples (difficult samples) get higher weights

Page 21: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass
Page 22: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass
Page 23: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass
Page 24: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass
Page 25: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass
Page 26: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass
Page 27: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Technical parts

Greedy -> Second-order Taylor Expansion in each iteration

weightslabels

The weak learner to be optimized in this iteration

Solved by Least Square

Page 28: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Outline

Motivation to choose this paper Motivation of this paper Basic ideas in boosting Joint Boost Feature used in this paper My results in face recognition

Page 29: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Joint Boost—Multiclass We can minimize a similar function using

one-vs-all strategy

This doesn’t work very well, since it is separable in c.

Put constraints. -> shared features!

Page 30: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Joint Boost (2)

In each iteration, choose One common feature A subset of classes that use this feature

So that the objective decreases most

Page 31: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

#class

Features 1 3 4 5 2 1 4 6 2 7 3

#Iteration

Sharing Diagram

III III IV V

Page 32: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Key insight

Each class may have its own favorite feature

a common feature may not be any of them, however it simultaneously decreases errors of many classes.

Page 33: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Joint Boost – Illustration

Page 34: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Computational issue

Choose the best subset is prohibitive Use greedy approach

Choose one class and one feature so that the objective decreases the most

Iteratively add more classes until the objective increases again Note the common feature may change

From O(2^C) to O(C^2)

Page 35: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

(greedy)

#features = O(log #class)

Page 36: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

29 objects, average over 20 training sets

0.95 ROC

Page 37: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Outline

Motivation to choose this paper Motivation of this paper Basic ideas in boosting Joint Boost Feature used in this paper My results in face recognition

Page 38: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Feature they used in the paper

Dictionary 2000 random sampled patches

Of size from 4x4 to 14x14 no clustering

Each patch is associated with a spatial mask

Page 39: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

The candidate features

Dictionary of 2000 candidate patches and position masks, randomly sampled from the training images

template position

Page 40: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Features

Building feature vectors Normalized correlation with each patch

to get response Raise the response to some power

Large value gets even larger and dominate the response (max operation)

Use spatial mask to align the response to the object center (voting)

Extract response vector at object center

Page 41: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass
Page 42: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Results

Multiclass object recognition Dataset: LabelMe 21 objects, 50 samples per object 500 rounds

Multiview car recognition Train on LabelMe, test on PASCAL 12 views, 50 samples per view 300 rounds

Page 43: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass
Page 44: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass
Page 45: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

70 rounds, 20 training per class, 21 objects

Page 46: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass
Page 47: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

12 views50 samples per class300 features

Page 48: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Outline

Motivation to choose this paper Motivation of this paper Basic ideas in boosting Joint Boost Feature used in this paper My results in face recognition

Page 49: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Simple Experiment

Main point of this paper They claimed shared feature helps in the

situation of many categories, only a few samples in

each category.

Test it! Dataset: face recognition “Face in the wild” dataset.

Many famous figures

Page 50: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Experiment configuration

Use Gist-like feature but Only Gabor response Use finer grid to gather histogram

Face is aligned in the dataset.

Feature statistics 8 orientation, 2 scale, 8x8 grid 1024 dimension

Page 51: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Experiment

Training and testing Find 50 identities with most images For each identity, random select 3 as

training The rest for testing

Page 52: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Nearest neighbor (50 classes, 3 per class)Chance rate = 0.02

orientation Scale

Block

K blur L1 L2 Chisqr

8 2 8 3 No 0.1338 0.1033 0.13

8 2 8 1 No 0.1868 0.1350 0.1681

8 2 6 1 No 0.1651 0.1285 0.1544

8 2 8 1 1.0 0.1822 0.1407 0.1754

8 2 8 1 2.0 0.1677 0.1365 0.1616

Page 53: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

80% better than NN

Page 54: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Result on More images

50 people, 7 images each Chance rate = 2% Nearest neighbor

L1 = 0.2856 (0.1868 in 50/3)L2 = 0.2022Chisqr = 0.2596

Page 55: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Joint Boost doubles the accuracy of NN

Single->PairwisePairwise->Joint7% percent

More feature is shared

Page 56: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Result on More Identities

100 people, 3 images each Chance rate = 1% Nearest neighbor

L1 = 0.1656 (0.1868 in 50/3)L2 = 0.1235Chisqr = 0.1623

Page 57: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

The performance of single Boost is the same as NN

Joint Boost is still better than NN yet the increment is less (~60%) compared to the previous cases.

Page 58: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Conclusion Joint Boosting indeed works

Especially when the number of images per class is not too small (otherwise NN)

Better performance in the presence of Many classes, each class has only a new sam

ples Introduce regularization that reduce overfitti

ng Disadvantages

Train slowly, O(C^2).

Page 59: Shared features and Joint Boosting Yuandong Tian Sharing visual features for multiclass and multiview object detection Sharing visual features for multiclass

Thanks!

Any questions?