Categorization by Learning and Combing Object Parts

Slides:



Advertisements
Similar presentations
Introduction to Support Vector Machines (SVM)
Advertisements

Lecture 9 Support Vector Machines
Road-Sign Detection and Recognition Based on Support Vector Machines Saturnino, Sergio et al. Yunjia Man ECG 782 Dr. Brendan.
Zhimin CaoThe Chinese University of Hong Kong Qi YinITCS, Tsinghua University Xiaoou TangShenzhen Institutes of Advanced Technology Chinese Academy of.
Image classification Given the bag-of-features representations of images from different classes, how do we learn a model for distinguishing them?
SVM - Support Vector Machines A new classification method for both linear and nonlinear data It uses a nonlinear mapping to transform the original training.
An Introduction of Support Vector Machine
Linear Classifiers (perceptrons)
Support Vector Machines
SVM—Support Vector Machines
1 Learning to Detect Objects in Images via a Sparse, Part-Based Representation S. Agarwal, A. Awan and D. Roth IEEE Transactions on Pattern Analysis and.
Face Recognition with Harr Transforms and SVMs EE645 Final Project May 11, 2005 J Stautzenberger.
Bioinformatics Challenge  Learning in very high dimensions with very few samples  Acute leukemia dataset: 7129 # of gene vs. 72 samples  Colon cancer.
Data mining and statistical learning - lecture 13 Separating hyperplane.
5/30/2006EE 148, Spring Visual Categorization with Bags of Keypoints Gabriella Csurka Christopher R. Dance Lixin Fan Jutta Willamowski Cedric Bray.
Face Processing System Presented by: Harvest Jang Group meeting Fall 2002.
Face Recognition Using Neural Networks Presented By: Hadis Mohseni Leila Taghavi Atefeh Mirsafian.
Classification III Tamara Berg CS Artificial Intelligence Many slides throughout the course adapted from Svetlana Lazebnik, Dan Klein, Stuart Russell,
Multiclass object recognition
Rotation Invariant Neural-Network Based Face Detection
Window-based models for generic object detection Mei-Chen Yeh 04/24/2012.
Object Recognition in Images Slides originally created by Bernd Heisele.
Recognition II Ali Farhadi. We have talked about Nearest Neighbor Naïve Bayes Logistic Regression Boosting.
Face Detection Ying Wu Electrical and Computer Engineering Northwestern University, Evanston, IL
Handwritten digit recognition
Face Detection Using Large Margin Classifiers Ming-Hsuan Yang Dan Roth Narendra Ahuja Presented by Kiang “Sean” Zhou Beckman Institute University of Illinois.
Visual Categorization With Bags of Keypoints Original Authors: G. Csurka, C.R. Dance, L. Fan, J. Willamowski, C. Bray ECCV Workshop on Statistical Learning.
Categorization by Learning and Combing Object Parts B. Heisele, T. Serre, M. Pontil, T. Vetter, T. Poggio. Presented by Manish Jethwa.
1  Problem: Consider a two class task with ω 1, ω 2   LINEAR CLASSIFIERS.
FACE DETECTION : AMIT BHAMARE. WHAT IS FACE DETECTION ? Face detection is computer based technology which detect the face in digital image. Trivial task.
Face Detection Using Neural Network By Kamaljeet Verma ( ) Akshay Ukey ( )
9.913 Pattern Recognition for Vision Class9 - Object Detection and Recognition Bernd Heisele.
1 Kernel Machines A relatively new learning methodology (1992) derived from statistical learning theory. Became famous when it gave accuracy comparable.
High resolution product by SVM. L’Aquila experience and prospects for the validation site R. Anniballe DIET- Sapienza University of Rome.
Non-separable SVM's, and non-linear classification using kernels Jakob Verbeek December 16, 2011 Course website:
Neural networks and support vector machines
Support vector machines
CS 9633 Machine Learning Support Vector Machines
Cascade for Fast Detection
LINEAR CLASSIFIERS The Problem: Consider a two class task with ω1, ω2.
Face Detection EE368 Final Project Group 14 Ping Hsin Lee
MIRA, SVM, k-NN Lirong Xia. MIRA, SVM, k-NN Lirong Xia.
Session 7: Face Detection (cont.)
Perceptrons Lirong Xia.
Support Vector Machines
Classification with Perceptrons Reading:
Basic machine learning background with Python scikit-learn
Recognition using Nearest Neighbor (or kNN)
Jan Rupnik Jozef Stefan Institute
Object detection as supervised classification
CS 4/527: Artificial Intelligence
An Introduction to Support Vector Machines
A Tutorial on HOG Human Detection
Students: Meiling He Advisor: Prof. Brain Armstrong
Cos 429: Face Detection (Part 2) Viola-Jones and AdaBoost Guest Instructor: Andras Ferencz (Your Regular Instructor: Fei-Fei Li) Thanks to Fei-Fei.
CS 2750: Machine Learning Support Vector Machines
ADABOOST(Adaptative Boosting)
CSSE463: Image Recognition Day 14
The following slides are taken from:
Support vector machines
Machine Learning Week 3.
Pattern Classification All materials in these slides were taken from Pattern Classification (2nd ed) by R. O. Duda, P. E. Hart and D. G. Stork, John.
Support Vector Machines
Support vector machines
Support vector machines
Concave Minimization for Support Vector Machine Classifiers
Jie Chen, Shiguang Shan, Shengye Yan, Xilin Chen, Wen Gao
MIRA, SVM, k-NN Lirong Xia. MIRA, SVM, k-NN Lirong Xia.
Perceptrons Lirong Xia.
Support Vector Machines 2
Presentation transcript:

Categorization by Learning and Combing Object Parts B. Heisele, T. Serre, M. Pontil, T. Vetter, T. Poggio. Presented by Manish Jethwa

Overview Learn discriminatory components of objects with Support Vector Machine (SVM) classifiers.

Background Global Approach Component-based techniques Attempt to classify the entire object Successful when applied to problems in which the object pose is fixed. Component-based techniques Individual components vary less when object pose changes than whole object Useable even when some of the components are occluded.

Linear Support Vector Machines Linear SVMs are used to discriminate between two classes by determining the separating hyperplane. Support Vectors

f (x)= ∑αi yi < xi . x> + b Decision function The decision function of the SVM has the form: i=1 l f (x)= ∑αi yi < xi . x> + b Number of training data points New data point Bias Training data points Adjustable coefficients -solution of quadratic programming problem -positive weights for Support Vectors -zero for all other data points Class label {-1,1} f (x) defines a hyperplane dividing The data. The sign of f (x) indicates the class of x.

Significance of αi Correspond to the weights of the support vectors. Learned from training data set. Used to compute the margin M of the support vectors to the hyperplane. Margin M = (√∑il i )-1

Non-separable Data EPerr ≤l -1E[D2/M2] The notion of a margin extends to non-separable data also. Misclassified points result in errors. The hyperplane is now defined by maximizing the margin while minimizing the summed error. The expected error probability of the SVM satisfies the following bound: EPerr ≤l -1E[D2/M2] Diameter of sphere containing all training data

Measuring Error ρ= D2/M2 Error is dependant on the following ratio: Renders ρ invariant to scale D1 M1 D2 M2 = D2 M2 D1 M1 ρ1= ρ2

Learning Components Expansion left ρ

Learning Facial Components Extracting face components is time consuming Requires manually extracting each component from all training images. Use textured head models instead Automatically produce a large number of faces under differing illumination and poses Seven textured head models used to generate 2,457 face images of size 58x58

Negative Training Set Use extract 58x58 patches from 502 non-face images to give 10,209 negative training points. Train SVM classifier on this data, then add false positives to the negative training set. Increases negative training set with those images which look most like faces.

Learned Components Start with fourteen manually selected 5x5 seed regions. The eyes (17x17 pixels) The nose (15x20 pixels) The mouth (31x15 pixels) The cheeks (21x20 pixels) The lip (13x16 pixels) The eyebrows (15x20 pixels) The nostrils (22x12 pixels) The bridge of the nose (15x20 pixels) The corners of the mouth (15x20 pixels)

Combining Components Left Eye Expert Linear SVM Nose Mouth Combining Shift component Experts over 58x58 window Left Eye Expert Linear SVM Nose Mouth Combining Classifier Linear SVM Determine maximum output and its location Shift 58x58 window over input image Final decision face / background

Experiments Training data for 3 classifiers: Test data 2,457 faces, 13,654 non-face grey images Test data 1,834 faces, 24,464 non-face grey images Components vs. Whole face Components method performs better than benchmark: whole face detector, with 2nd degree polynomial SVM.

Results Faces detected by the component-based classifier

Computer Examples

The Data Used images from MIT CBCL faces dataset: Image are 19x19 pixels Greyscale Histogram equalized Full training set contains 2,429 faces, 4,548 non-faces Only used 100 face examples, 300 non-face Test set contains 472 faces, 23,573 non-faces All 24,045 images used

Learning Components Left eye component: Extract three negative examples for every positive one This provides a bias to correctly classify non-face examples. Minimize false positives. Training set contains 400 examples: 100 left eye examples 300 non-left eye examples

Results Left Eye learned using 400 examples: Training set classified 97% correctly Test set classified 96.2% correctly (of 24,045) Right Eye learned using 400 examples: Training set classified 100% correctly Test set classified 96.5% correctly (of 24,045) Training set classified 95% correctly Test set classified 95.7% correctly (of 24,045)

Locating Learned Components Left eye is reasonably well localized

Locating Learned Components Histograms are fairly flat compared to face images

Face detector Learned components Each learned from 400 examples Left eye 8x6 pixels Right eye 8x6 pixels Mouth 11x 4 pixels Each learned from 400 examples 100 positive 300 negative Trained SVM with fixed location for components No shifting

Face Detector Training The output Oi from each component i (distance for the hyperplane) is used together with the center ( Xi , Yi ) location of corresponding component. All components are combined into one input feature vector: X = (Oleft, Xleft ,Yleft , Oright , Xright ,Yright , Omouth , Xmouth ,Ymouth )

Results The resulting SVM correct classified all 400 training examples For non-face examples: Placing component centers in random locations resulted in 100% correct classification. Placing component centers in identical positions to face examples resulted in 98.4% accuracy.

Is this the best face detector ever? Performed well on the given dataset. Low resolution But… Dataset contains centered faces Component positions were given Did not shift component window and look for maximum Did not have the opportunity to test against other algorithm So… We will never know.