Classifcation2 CS 4495 Computer Vision – A. Bobick
Aaron Bobick School of Interactive Computing
CS 4495 Computer Vision Classification 2 Aaron Bobick School of - - PowerPoint PPT Presentation
Classifcation2 CS 4495 Computer Vision A. Bobick CS 4495 Computer Vision Classification 2 Aaron Bobick School of Interactive Computing Classifcation2 CS 4495 Computer Vision A. Bobick Administrivia PS5 (still) due on Friday Nov
Classifcation2 CS 4495 Computer Vision – A. Bobick
Aaron Bobick School of Interactive Computing
Classifcation2 CS 4495 Computer Vision – A. Bobick
question.
Classifcation2 CS 4495 Computer Vision – A. Bobick
function that will predict the labels of new examples.
“four” “nine”
Training examples Novel input
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
model; separately model class-conditional densities and priors (Generative)
posterior (Discriminative)
Classifcation2 CS 4495 Computer Vision – A. Bobick
Feature value x
Optimal classifier will minimize total risk. At decision boundary, either choice of label yields same expected loss. So, best decision boundary is at point x where To classify a new point, choose class with lowest expected loss; i.e., choose “four” if
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
Feature value x
Optimal classifier will minimize total risk. At decision boundary, either choice of label yields same expected loss. So, best decision boundary is at point x where To classify a new point, choose class with lowest expected loss; i.e., choose “four” if
How to evaluate these probabilities?
P(4 | x) L(4→9) P(9 | x) L(9→4)
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
using a histogram (a “non-parametric” distribution)
Feature x = Hue P(x|skin) Feature x = Hue P(x|not skin)
Percentage of skin pixels in each bin
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
posterior prior likelihood
Where does the prior come from?
Source: Steve Seitz
Feature x = Hue P(x|skin)
Classifcation2 CS 4495 Computer Vision – A. Bobick
Brighter pixels higher probability
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
Generative approaches were some of the first methods in pattern recognition.
Classifcation2 CS 4495 Computer Vision – A. Bobick
But for the modern world there are some liabilities:
Classifcation2 CS 4495 Computer Vision – A. Bobick
important in defining the classes … then …
types.
matter.
Classifcation2 CS 4495 Computer Vision – A. Bobick
Going forward we’re gong to make some assumptions
Classifcation2 CS 4495 Computer Vision – A. Bobick
Train
Describe training instances (here images)
Test
Classifcation2 CS 4495 Computer Vision – A. Bobick
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
sensitive to illumination and intra-class appearance variation
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
gradients
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
gradients
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
Train
Describe training instances (here images)
Test
Classifcation2 CS 4495 Computer Vision – A. Bobick
Car/non-car Classifier
Yes, car. No, not a car. Given the representation, train a binary classifier
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
106 examples
Nearest neighbor Shakhnarovich, Viola, Darrell 2003 Berg, Berg, Malik 2005... Neural networks LeCun, Bottou, Bengio, Haffner 1998 Rowley, Baluja, Kanade 1998 … Support Vector Machines Guyon, Vapnik Heisele, Serre, Poggio, 2001,…
Slide adapted from Antonio Torralba
Boosting Viola, Jones 2001, Torralba et al. 2004, Opelt et al. 2006,…
Random Forests
Breiman, 1984 Shotton, et al CVPR 2008
tree t1 v
Classifcation2 CS 4495 Computer Vision – A. Bobick
106 examples
Nearest neighbor Shakhnarovich, Viola, Darrell 2003 Berg, Berg, Malik 2005... Neural networks LeCun, Bottou, Bengio, Haffner 1998 Rowley, Baluja, Kanade 1998 … Support Vector Machines Guyon, Vapnik Heisele, Serre, Poggio, 2001,…
Slide adapted from Antonio Torralba
Boosting Viola, Jones 2001, Torralba et al. 2004, Opelt et al. 2006,…
Random Forests
Breiman, 1984 Shotton, et al CVPR 2008
tree t1 v
Classifcation2 CS 4495 Computer Vision – A. Bobick
Car/non-car Classifier
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
Car/non-car Classifier Feature extraction
Training examples
Training: 1. Obtain training data 2. Define features 3. Define classifier Given new image: 1. Slide window 2. Score by classifier
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
Discriminative classifiers – find a division (surface) in feature space that separates the classes Several methods
Classifcation2 CS 4495 Computer Vision – A. Bobick
Discriminative classifiers – find a division (surface) in feature space that separates the classes Several methods
Classifcation2 CS 4495 Computer Vision – A. Bobick
data point
Voronoi partitioning of feature space for 2-category 2D data
from Duda et al.
Black = negative Red = positive Novel test example Closest to a positive example from the training set, so classify it as positive.
Classifcation2 CS 4495 Computer Vision – A. Bobick
k = 5
Source: D. Lowe
data
If query lands here, the 5 NN consist of 3 negatives and 2 positives, so we classify it as negative. Black = negative Red = positive
Classifcation2 CS 4495 Computer Vision – A. Bobick
Discriminative classifiers – find a division (surface) in feature space that separates the classes Several methods
Classifcation2 CS 4495 Computer Vision – A. Bobick
Discriminative classifiers – find a division (surface) in feature space that separates the classes Several methods
Classifcation2 CS 4495 Computer Vision – A. Bobick
Slide credit: Lana Lazebnik
Classifcation2 CS 4495 Computer Vision – A. Bobick
Weak Classifier 1
Slide credit: Paul Viola
Classifcation2 CS 4495 Computer Vision – A. Bobick
Slide credit: Lana Lazebnik
Classifcation2 CS 4495 Computer Vision – A. Bobick
Slide credit: Lana Lazebnik
Classifcation2 CS 4495 Computer Vision – A. Bobick
Weak Classifier 1
Slide credit: Paul Viola
Classifcation2 CS 4495 Computer Vision – A. Bobick
Weights Increased
Classifcation2 CS 4495 Computer Vision – A. Bobick
Weak Classifier 2
Classifcation2 CS 4495 Computer Vision – A. Bobick
Weights Increased
Classifcation2 CS 4495 Computer Vision – A. Bobick
Weak Classifier 3
Classifcation2 CS 4495 Computer Vision – A. Bobick
Final classifier is a combination of weak classifiers
Classifcation2 CS 4495 Computer Vision – A. Bobick
Slide credit: Lana Lazebnik
Classifcation2 CS 4495 Computer Vision – A. Bobick
Classifcation2 CS 4495 Computer Vision – A. Bobick
“rectangular” features within window of interest
negatives quickly
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
Feature output is difference between adjacent regions Efficiently computable with integral image: any sum can be computed in constant time. “Rectangular” filters
Value at (x,y) is sum of pixels above and to the left of (x,y)
Integral image
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
the integral image at the corners of a rectangle
values within the rectangle can be computed as: sum = A – B – C + D
for any size of rectangle! D B C A
Lana Lazebnik
Classifcation2 CS 4495 Computer Vision – A. Bobick
Feature output is difference between adjacent regions Efficiently computable with integral image: any sum can be computed in constant time Avoid scaling images scale features directly for same cost “Rectangular” filters
Value at (x,y) is sum of pixels above and to the left of (x,y)
Integral image
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
Considering all possible filter parameters: position, scale, and type: 180,000+ possible features associated with each 24 x 24 window
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
that best separates positive (faces) and negative (non- faces) training examples, in terms of weighted error.
Outputs of a possible rectangle feature on faces and non-faces.
… Resulting weak classifier: For next round, reweight the examples according to errors, choose another filter/threshold combo.
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
Start with uniform weights
examples Evaluate weighted error for each feature, pick best. Re-weight the examples: Incorrectly classified -> more weight Correctly classified -> less weight Final classifier is combination of the weak
had. Freund & Schapire 1995
{x1,…xn}
For T rounds
Classifcation2 CS 4495 Computer Vision – A. Bobick
First two features selected
Classifcation2 CS 4495 Computer Vision – A. Bobick
“rectangular” features within window of interest
negatives quickly
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
“rectangular” features within window of interest
negatives quickly
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
Classifcation2 CS 4495 Computer Vision – A. Bobick
discard windows that clearly appear to be negative
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
[Implementation available in OpenCV: http://www.intel.com/technology/computing/opencv/]
Faces Non-faces
Train cascade of classifiers with AdaBoost
Selected features, thresholds, and weights New image
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
Classifcation2 CS 4495 Computer Vision – A. Bobick
Classifcation2 CS 4495 Computer Vision – A. Bobick
Classifcation2 CS 4495 Computer Vision – A. Bobick
Can we use the same detector?
Classifcation2 CS 4495 Computer Vision – A. Bobick Paul Viola, ICCV tutorial
Classifcation2 CS 4495 Computer Vision – A. Bobick
Everingham, M., Sivic, J. and Zisserman, A. "Hello! My name is... Buffy" - Automatic naming of characters in TV video, BMVC 2006. http:/ / www.robots.ox.ac.uk/ ~vgg/ research/ nface/ index.html
Frontal faces detected and then tracked, character names inferred with alignment of script and subtitles.
Classifcation2 CS 4495 Computer Vision – A. Bobick
Classifcation2 CS 4495 Computer Vision – A. Bobick
http://www.apple.com/ilife/iphoto/
Slide credit: Lana Lazebnik
Classifcation2 CS 4495 Computer Vision – A. Bobick
Slide credit: Lana Lazebnik
Classifcation2 CS 4495 Computer Vision – A. Bobick
face windows
CVPR 2001.
Classifcation2 CS 4495 Computer Vision – A. Bobick
classifier, support vector machine (SVM)
Slide credit: Lana Lazebnik
Classifcation2 CS 4495 Computer Vision – A. Bobick
Discriminative classifiers – find a division (surface) in feature space that separates the classes Several methods
Classifcation2 CS 4495 Computer Vision – A. Bobick
Classifcation2 CS 4495 Computer Vision – A. Bobick
Classifcation2 CS 4495 Computer Vision – A. Bobick
Classifcation2 CS 4495 Computer Vision – A. Bobick
0, y
Classifcation2 CS 4495 Computer Vision – A. Bobick
0, y
Τ 2 2
Classifcation2 CS 4495 Computer Vision – A. Bobick
0, y
Τ 2 2
Classifcation2 CS 4495 Computer Vision – A. Bobick
examples : negative : positive < + ⋅ ≥ + ⋅ b b
i i i i
w x x w x x Which line is best?
Classifcation2 CS 4495 Computer Vision – A. Bobick
Classifcation2 CS 4495 Computer Vision – A. Bobick
1 : 1) ( negative 1 : 1) ( positive − ≤ + ⋅ − = ≥ + ⋅ = b y b y
i i i i i i
w x x w x x
Margin Support vectors
Knowledge Discovery, 1998
For support, vectors,
1 ± = + ⋅ b
i w
x
Classifcation2 CS 4495 Computer Vision – A. Bobick
1 : 1) ( negative 1 : 1) ( positive − ≤ + ⋅ − = ≥ + ⋅ = b y b y
i i i i i i
w x x w x x
Margin M Support vectors For support, vectors,
1 ± = + ⋅ b
i w
x
Distance between point and line:
|| || | | w w x b
i
+ ⋅
w w w 2 1 1 = − − = M
w w x w 1 ± = + b
Τ
For support vectors:
Classifcation2 CS 4495 Computer Vision – A. Bobick
4.
Minimize Subject to
w wT 2 1
i i i i i i
( ) 1
i i
b ⋅ + ≥ y x w
Classifcation2 CS 4495 Computer Vision – A. Bobick
i i i i y x
Support vector learned weight
i
Classifcation2 CS 4495 Computer Vision – A. Bobick
(for any support vector)
i i i i
i i i i y x
i
i i
If f(x) < 0, classify as negative, if f(x) > 0, classify as positive
i i
b y = − ⋅ w x Dot product only!
Classifcation2 CS 4495 Computer Vision – A. Bobick
Classifcation2 CS 4495 Computer Vision – A. Bobick
Classifcation2 CS 4495 Computer Vision – A. Bobick
Dalal & Triggs, CVPR 2005
Code available: http://pascal.inrialpes.fr/soft/olt/
Classifcation2 CS 4495 Computer Vision – A. Bobick
International Conference on Computer Vision & Pattern Recognition - June 2005
Classifcation2 CS 4495 Computer Vision – A. Bobick
Classifcation2 CS 4495 Computer Vision – A. Bobick
work out great:
hard?
space: x x x x2
Classifcation2 CS 4495 Computer Vision – A. Bobick
some higher-dimensional feature space where the training set is separable:
Φ: x → φ(x)
Slide from Andrew Moore’s tutorial: http://www.autonlab.org/tutorials/svm.html
Classifcation2 CS 4495 Computer Vision – A. Bobick
K(xi,xj)=xi
Txj
via some transformation Φ: x → φ(x), the dot product becomes: K(xi,xj)= φ(xi) Tφ(xj)
an inner product in some expanded feature space.
Classifcation2 CS 4495 Computer Vision – A. Bobick
2-dimensional vectors x=[x1 x2]; let K(xi,xj)=(1 + xi
Txj)2
Need to show that K(xi,xj)= φ(xi) Tφ(xj): K(xi,xj)=(1 + xi
Txj)2 ,
= 1+ xi1
2xj1 2 + 2 xi1xj1 xi2xj2+ xi2 2xj2 2 + 2xi1xj1 + 2xi2xj2
= [1 xi1
2 √2 xi1xi2 xi2 2 √2xi1 √2xi2]T
[1 xj1
2 √2 xj1xj2 xj2 2 √2xj1 √2xj2]
= φ(xi) Tφ(xj), where φ(x) = [1 x1
2 √2 x1x2 x2 2 √2x1 √2x2]
from Andrew Moore’s tutorial: http://www.autonlab.org/tutorials/svm.html
Classifcation2 CS 4495 Computer Vision – A. Bobick
transformation φ(x), define a kernel function K such that K(xi,xjj) = φ(xi ) · φ(xj)
feature space:
T i i i i i i i i
Classifcation2 CS 4495 Computer Vision – A. Bobick
Linear:
Gaussian RBF: Histogram intersection:
2 2
j i j i
k j i j i
j T i j i
2 2 2 2 2 2
j
j
=
Classifcation2 CS 4495 Computer Vision – A. Bobick
example.
between labeled examples
SVM support vectors & weights.
kernel values between new input and support vectors, apply weights, check sign of output.
Classifcation2 CS 4495 Computer Vision – A. Bobick
Moghaddam and Yang, Learning Gender with Support Faces, TPAMI 2002. Moghaddam and Yang, Face & Gesture 2000.
Classifcation2 CS 4495 Computer Vision – A. Bobick
Moghaddam and Yang, Learning Gender with Support Faces, TPAMI 2002.
Processed faces Face alignment processing
Classifcation2 CS 4495 Computer Vision – A. Bobick
2 2
j i j i
Classifcation2 CS 4495 Computer Vision – A. Bobick
Moghaddam and Yang, Learning Gender with Support Faces, TPAMI 2002.
Classifcation2 CS 4495 Computer Vision – A. Bobick
Moghaddam and Yang, Learning Gender with Support Faces, TPAMI 2002.
Classifcation2 CS 4495 Computer Vision – A. Bobick
Gender perception experiment: How well can humans do?
Moghaddam and Yang, Face & Gesture 2000.
Classifcation2 CS 4495 Computer Vision – A. Bobick
Moghaddam and Yang, Face & Gesture 2000.
Error Error
Classifcation2 CS 4495 Computer Vision – A. Bobick
Classifcation2 CS 4495 Computer Vision – A. Bobick
Classifcation2 CS 4495 Computer Vision – A. Bobick
Classifcation2 CS 4495 Computer Vision – A. Bobick
Moghaddam and Yang, Face & Gesture 2000.
Classifcation2 CS 4495 Computer Vision – A. Bobick
Classifcation2 CS 4495 Computer Vision – A. Bobick
binary classifiers
it the class of the SVM that returns the highest decision value
to the test example
Classifcation2 CS 4495 Computer Vision – A. Bobick
http://www.kernel-machines.org/software
sizes
pair of examples
Adapted from Lana Lazebnik
Classifcation2 CS 4495 Computer Vision – A. Bobick
descriptors:
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
30,000,000 evaluations!
with number of classes
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
representations assuming a fixed 2d structure; or must assume fixed viewpoint
holistic appearance-based descriptions
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
Figure credit: Derek Hoiem
Sliding window Detector’s view
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
(expensive)
can lead to sensitivity to partial occlusions
Image credit: Adam, Rivlin, & Shimshoni
Kristen Grauman
Classifcation2 CS 4495 Computer Vision – A. Bobick
feature selection, cascade