Classification using intersection kernel SVMs is efficient

37
Classification using intersection kernel SVMs is efficient Joint work with Subhransu Maji and Alex Berg Jitendra Malik UC Berkeley

description

Classification using intersection kernel SVMs is efficient. Jitendra Malik UC Berkeley. Joint work with Subhransu Maji and Alex Berg. Fast intersection kernel SVMs and other generalizations of linear SVMs. - IKSVM is a (simple) generalization of a linear SVM - PowerPoint PPT Presentation

Transcript of Classification using intersection kernel SVMs is efficient

Page 1: Classification using intersection kernel SVMs is efficient

Classification using intersection kernel SVMs is

efficient

Joint work with Subhransu Maji and Alex Berg

Jitendra Malik UC Berkeley

Page 2: Classification using intersection kernel SVMs is efficient

Fast intersection kernel SVMs

and other generalizations of linear SVMs

- IKSVM is a (simple) generalization of a linear SVM- Can be evaluated very efficiently- Other kernels (including ) have a similar form- Novel features based on pyramid of oriented energy.- Methods applicable to current most successful object recognition/detection strategies.

Page 3: Classification using intersection kernel SVMs is efficient

Detection: Is this an X?

Ask this question over and over again,varying position, scale, multiple categories…Speedups: hierarchical, early reject, feature sharing, cueingbut same underlying question!

Page 4: Classification using intersection kernel SVMs is efficient

Detection: Is this an X?

Ask this question over and over again,varying position, scale, multiple categories…Speedups: hierarchical, early reject, feature sharing,but same underlying question!

Page 5: Classification using intersection kernel SVMs is efficient

Detection: Is this an X?

Ask this question over and over again,varying position, scale, multiple categories…Speedups: hierarchical, early reject, feature sharing,but same underlying question!

Boosted dec. trees, cascades + Very fast evaluation - Slow training (esp. multi-class)Linear SVM + Fast evaluation + Fast training - Need to find good featuresNon-linear kernelized SVM + Better class. acc. than linear . Medium training - Slow evaluation

Page 6: Classification using intersection kernel SVMs is efficient

Detection: Is this an X?

Ask this question over and over again,varying position, scale, multiple categories…Speedups: hierarchical, early reject, feature sharing,but same underlying question!

Boosted dec. trees, cascades + Very fast evaluation - Slow training (esp. multi-class)Linear SVM + Fast evaluation + Fast training - Need to find good featuresNon-linear kernelized SVM + Better class. acc. than linear . Medium training - Slow evaluation

This work

Page 7: Classification using intersection kernel SVMs is efficient

Outline

What is Intersection Kernel SVM? Trick to make it fast (exact) Trick to make it very fast (approximate) Why use it? Multi-scale Features based on Oriented Energy

Generalization of linear classifiers Reinterpret the approximate IKSVM Fast training

Summary of where this matters

Page 8: Classification using intersection kernel SVMs is efficient

Outline

What is Intersection Kernel SVM? Trick to make it fast (exact) Trick to make it very fast (approximate) Why use it? Multi-scale Features based on Oriented Energy

Generalization of linear classifiers Reinterpret the approximate IKSVM Fast training

Summary of where this matters

Page 9: Classification using intersection kernel SVMs is efficient

Support Vector Machines

Linear Separators (aka. Perceptrons)

B2

Page 10: Classification using intersection kernel SVMs is efficient

Support Vector Machines

Other possible solutions

B2

Page 11: Classification using intersection kernel SVMs is efficient

Support Vector Machines

Which one is better? B1 or B2? How do you define better?

B1

B2

Page 12: Classification using intersection kernel SVMs is efficient

Support Vector Machines

Find hyperplane maximizes the margin => B1 is better than B2

B1

B2

b11

b12

b21

b22

margin

Page 13: Classification using intersection kernel SVMs is efficient

Kernel Support Vector Machines

Kernel :•Inner Product in Hilbert Space

•Can Learn Non Linear Boundaries

2

2( , ) exp( )

2

x zK x z

σ−

= −

( , ) ( ) ( )TK x z x z=Φ Φ

Page 14: Classification using intersection kernel SVMs is efficient

Feature Representation

Discriminative Classifier

(+ examples)

(- examples)

Training Stage

Page 15: Classification using intersection kernel SVMs is efficient

Our Multiscale HOG-like feature

Concatenate orientation histograms for each orange region.Differences from HOG: -- Hierarchy of regions -- Only performing L1 normalization once (at 16x16)

Page 16: Classification using intersection kernel SVMs is efficient

Comparison to HOG (Dalal & Triggs)

Page 17: Classification using intersection kernel SVMs is efficient

Smaller Dimensional (1360 vs. 3780)

Simple Implementation (Convolutions)

Faster to compute + No non-local Normalization+ No gaussian weighting+ No color normalization

Comparison to HOG (Dalal & Triggs)

Page 18: Classification using intersection kernel SVMs is efficient

What is the Intersection Kernel?

Histogram Intersection kernel between histograms a, b

Page 19: Classification using intersection kernel SVMs is efficient

What is the Intersection Kernel?

Histogram Intersection kernel between histograms a, b

K small -> a, b are differentK large -> a, b are similar

Intro. by Swain and Ballard 1991 to compare color histograms.Odone et al 2005 proved positive definiteness.Can be used directly as a kernel for an SVM.Compare to

Page 20: Classification using intersection kernel SVMs is efficient

linear SVM, Kernelized SVM, IKSVM

Decision function is where:

Linear:

Non-linearUsingKernel

HistogramIntersectionKernel

Page 21: Classification using intersection kernel SVMs is efficient

Kernelized SVMs slow to evaluate

Arbitrary Kernel

HistogramIntersectionKernel

Feature corresponding to a support vector l

Feature vector to evaluate

Kernel EvaluationSum over all support vectors

SVM with Kernel Cost: # Support Vectors x Cost of kernel comp.IKSVM Cost: # Support Vectors x # feature dimensions

Decision function is where:

Page 22: Classification using intersection kernel SVMs is efficient

The TrickDecision function is where:

Just sort the support vectorvalues in each coordinate, andpre-compute

To evaluate, find position ofin the sorted support vectorvalues (cost: log #sv)look up values, multiply & add

Page 23: Classification using intersection kernel SVMs is efficient

The TrickDecision function is where:

Just sort the support vectorvalues in each coordinate, andpre-compute

To evaluate, find position ofin the sorted support vectorvalues (cost: log #sv)look up values, multiply & add

#support vectors x #dimensions

log( #support vectors ) x #dimensions

Page 24: Classification using intersection kernel SVMs is efficient

The Trick 2

For IK hi is piecewise linear, and quite smooth, blue plot. We can approximate with fewer uniformly spaced segments, red plot. Saves

time & space!

Decision function is where:

#support vectors x #dimensionslog( #support vectors ) x #dimensions

Page 25: Classification using intersection kernel SVMs is efficient

The Trick 2Decision function is where:

#support vectors x #dimensionslog( #support vectors ) x #dimensions

constant x #dimensions

For IK hi is piecewise linear, and quite smooth, blue plot. We can approximate with fewer uniformly spaced segments, red plot. Saves

time & space!

Page 26: Classification using intersection kernel SVMs is efficient

Timing Results

Time to evaluate 10,000 feature vectors

IKSVM with our multi-scale version of HOG featuresbeats Dalal & Triggs. Alsofor Daimler Chrysler data. Current Best on these datasets.

Linear SVM with our multi-scale Version of HOG featureshas worse classification perf.than Dalal & Triggs.

reduced memory!

Page 27: Classification using intersection kernel SVMs is efficient

Distribution of support vector values and hi

Distribution of

Page 28: Classification using intersection kernel SVMs is efficient

Best Performance on Pedestrian Detection,Improve on Linear for Many Tasks

INRIA PedestriansDaimler Chrysler Pedestrians

Caltech 101 with “simple features” Linear SVM 40% correct IKSVM 52% correct

Page 29: Classification using intersection kernel SVMs is efficient

Classification Errors

Page 30: Classification using intersection kernel SVMs is efficient

Results – ETHZ DatasetDataset: Ferrari et al., ECCV 2006 255 images, over 5 classes training = half of positive images for a class + same number from the other classes (1/4 from each) testing = all other images large scale changes; extensive clutter

Page 31: Classification using intersection kernel SVMs is efficient

Method Applelogo

Bottle

Giraffe

Mug Swan Avg

PAS* 65.0 89.3

72.3 80.6 64.7 76.7

Our 86.1 81.0

62.1 78.0 100 81.4

Beats many current techniques without any changes to our features/classification framework.

Recall at 0.3 False Positive per Image Shape is an important cue (use Pb instead of OE)

Results – ETHZ Dataset

*Ferarri et.al, IEEE PAMI - 08

Page 32: Classification using intersection kernel SVMs is efficient

Other kernels allow similar trick

Decision function is where:

IKSVM SVM

hi not piece-wise linear,but we can still use anapproximation for fastevaluation.

hi are piece-wise linear,uniformly spacedpiece-wise linear approx.is fast.

Page 33: Classification using intersection kernel SVMs is efficient

Results outside computer vision

Accuracy of IK vs Linear on Text classification

Error rate of directly trained piecewise linear (blue) best kernel (green) and linear (red) on SVM benchmark datasets

Page 34: Classification using intersection kernel SVMs is efficient

Results outside computer vision

Accuracy of IK vs Linear on Text classification

Error rate of directly trained piecewise linear (blue) best kernel (green) and linear (red) on SVM benchmark datasets

Page 35: Classification using intersection kernel SVMs is efficient

Results outside computer vision

Accuracy of IK vs Linear on Text classification

Error rate of directly trained piecewise linear (blue) best kernel (green) and linear (red) on SVM benchmark datasets

Piecewise linear usually better,Depending on amount of data relative to the dimension and regularization

Page 36: Classification using intersection kernel SVMs is efficient

Conclusions Exactly evaluate IKSVM in O(n log m) as opposed to O(nm) Makes SV cascade or other ordering schemes irrelevant for intersection kernel

Verified that IKSVM offers classification performance advantages over linear

Approximate decision functions that decompose to a sum of functions for each coordinate (including Chi squared)

Directly learn such classification functions (no SVM machinery)

Generalized linear svm beats linear SVM in some applications often as good as more expensive RBF kernels

Showed that relatively simple features with IKSVM beats Dalal & Triggs (linear SVM), leading to the state of the art in pedestrian detection.

Applies to best Caltech 256, Pascal VOC 2007 methods.

Page 37: Classification using intersection kernel SVMs is efficient

Classification Using Intersection Kernel Support Vector Machines is efficient.Subhransu Maji and Alexander C. Berg and Jitendra Malik.Proceedings of CVPR 2008, Anchorage, Alaska, June 2008.

Software and more results available at

http://www.cs.berkeley.edu/~smaji/projects/fiksvm/