Object Detection Using Semi- Naïve Bayes to Model Sparse Structure Henry Schneiderman Robotics Institute Carnegie Mellon University.

Slides:



Advertisements
Similar presentations
Real-Time Detection, Alignment and Recognition of Human Faces
Advertisements

Statistical Learning of Multi-View Face Detection
Detecting Faces in Images: A Survey
Rapid Object Detection using a Boosted Cascade of Simple Features Paul Viola, Michael Jones Conference on Computer Vision and Pattern Recognition 2001.
Rapid Object Detection using a Boosted Cascade of Simple Features Paul Viola, Michael Jones Conference on Computer Vision and Pattern Recognition 2001.
Weiwei Zhang, Jian Sun, and Xiaoou Tang, Fellow, IEEE.
Performance Evaluation Measures for Face Detection Algorithms Prag Sharma, Richard B. Reilly DSP Research Group, Department of Electronic and Electrical.
F ACE D ETECTION FOR A CCESS C ONTROL By Dmitri De Klerk Supervisor: James Connan.
Face detection Many slides adapted from P. Viola.
Cos 429: Face Detection (Part 2) Viola-Jones and AdaBoost Guest Instructor: Andras Ferencz (Your Regular Instructor: Fei-Fei Li) Thanks to Fei-Fei Li,
EE462 MLCV Lecture 5-6 Object Detection – Boosting Tae-Kyun Kim.
Detecting Pedestrians by Learning Shapelet Features
Challenges in Learning the Appearance of Faces for Automated Image Analysis: part I alessandro verri DISI – università di genova
The Viola/Jones Face Detector Prepared with figures taken from “Robust real-time object detection” CRL 2001/01, February 2001.
The Viola/Jones Face Detector (2001)
Robust Moving Object Detection & Categorization using self- improving classifiers Omar Javed, Saad Ali & Mubarak Shah.
HCI Final Project Robust Real Time Face Detection Paul Viola, Michael Jones, Robust Real-Time Face Detetion, International Journal of Computer Vision,
Object Recognition with Informative Features and Linear Classification Authors: Vidal-Naquet & Ullman Presenter: David Bradley.
Robust Real-time Object Detection by Paul Viola and Michael Jones ICCV 2001 Workshop on Statistical and Computation Theories of Vision Presentation by.
Boosting Demo Object Detection Using the Statistics of Parts and Robust Real-time Object Detection Peter Barnum March 6, 2006 Advanced Perception.
Learning and Vision: Discriminative Models
4EyesFace-Realtime face detection, tracking, alignment and recognition Changbo Hu, Rogerio Feris and Matthew Turk.
Robust Real-Time Object Detection Paul Viola & Michael Jones.
Viola and Jones Object Detector Ruxandra Paun EE/CS/CNS Presentation
Face Processing System Presented by: Harvest Jang Group meeting Fall 2002.
Object Detection Using the Statistics of Parts Henry Schneiderman Takeo Kanade Presented by : Sameer Shirdhonkar December 11, 2003.
Foundations of Computer Vision Rapid object / face detection using a Boosted Cascade of Simple features Presented by Christos Stoilas Rapid object / face.
Face Detection CSE 576. Face detection State-of-the-art face detection demo (Courtesy Boris Babenko)Boris Babenko.
Kullback-Leibler Boosting Ce Liu, Hueng-Yeung Shum Microsoft Research Asia CVPR 2003 Presented by Derek Hoiem.
Face Detection using the Viola-Jones Method
Using Statistic-based Boosting Cascade Weilong Yang, Wei Song, Zhigang Qiao, Michael Fang 1.
Recognition using Boosting Modified from various sources including
Object Detection Using the Statistics of Parts Presented by Nicholas Chan – Advanced Perception Robust Real-time Object Detection Henry Schneiderman.
Detecting Pedestrians Using Patterns of Motion and Appearance Paul Viola Microsoft Research Irfan Ullah Dept. of Info. and Comm. Engr. Myongji University.
Window-based models for generic object detection Mei-Chen Yeh 04/24/2012.
Sign Classification Boosted Cascade of Classifiers using University of Southern California Thang Dinh Eunyoung Kim
Lecture 29: Face Detection Revisited CS4670 / 5670: Computer Vision Noah Snavely.
Face detection Slides adapted Grauman & Liebe’s tutorial
DIEGO AGUIRRE COMPUTER VISION INTRODUCTION 1. QUESTION What is Computer Vision? 2.
ECE738 Advanced Image Processing Face Detection IEEE Trans. PAMI, July 1997.
A Statistical Method for 3D Object Detection Applied to Face and Cars CVPR 2000 Henry Schneiderman and Takeo Kanade Robotics Institute, Carnegie Mellon.
Face Detection Ying Wu Electrical and Computer Engineering Northwestern University, Evanston, IL
Real-Time Detection, Alignment and Recognition of Human Faces Rogerio Schmidt Feris Changbo Hu Matthew Turk Pattern Recognition Project June 12, 2003.
Gang WangDerek HoiemDavid Forsyth. INTRODUCTION APROACH (implement detail) EXPERIMENTS CONCLUSION.
Robust Real Time Face Detection
Adaboost and Object Detection Xu and Arun. Principle of Adaboost Three cobblers with their wits combined equal Zhuge Liang the master mind. Failure is.
HCI/ComS 575X: Computational Perception Instructor: Alexander Stoytchev
Lecture 09 03/01/2012 Shai Avidan הבהרה: החומר המחייב הוא החומר הנלמד בכיתה ולא זה המופיע / לא מופיע במצגת.
The Viola/Jones Face Detector A “paradigmatic” method for real-time object detection Training is slow, but detection is very fast Key ideas Integral images.
Learning to Detect Faces A Large-Scale Application of Machine Learning (This material is not in the text: for further information see the paper by P.
Face Detection using the Spectral Histogram representation By: Christopher Waring, Xiuwen Liu Department of Computer Science Florida State University Presented.
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 ( )
Face Detection and Head Tracking Ying Wu Electrical Engineering & Computer Science Northwestern University, Evanston, IL
Statistical Template-Based Object Detection A Statistical Method for 3D Object Detection Applied to Faces and Cars Henry Schneiderman and Takeo Kanade.
Face detection Many slides adapted from P. Viola.
Computer Vision: 3D Shape Reconstruction Use images to build 3D model of object or site 3D site model built from laser range scans collected by CMU autonomous.
Face Detection and Recognition Reading: Chapter and, optionally, “Face Recognition using Eigenfaces” by M. Turk and A. Pentland.
AdaBoost Algorithm and its Application on Object Detection Fayin Li.
Reading: R. Schapire, A brief introduction to boosting
2. Skin - color filtering.
Cascade for Fast Detection
Session 7: Face Detection (cont.)
Presented by Minh Hoai Nguyen Date: 28 March 2007
Lit part of blue dress and shadowed part of white dress are the same color
Recap: Advanced Feature Encoding
HCI/ComS 575X: Computational Perception
ADABOOST(Adaptative Boosting)
Novel Face Detection Method Based on Gabor Features
Jie Chen, Shiguang Shan, Shengye Yan, Xilin Chen, Wen Gao
Presentation transcript:

Object Detection Using Semi- Naïve Bayes to Model Sparse Structure Henry Schneiderman Robotics Institute Carnegie Mellon University

Object Detection Find all instances of object X (e.g. X = human faces)

Examples of Detected Objects

Sparse Structure of Statistical Dependency Chosen variable

Sparse Structure of Statistical Dependency Chosen coefficient

Sparse Structure of Statistical Dependency Chosen coefficient

Detection using a Classifier “Object is present” (at fixed size and alignment) “Object is NOT present” (at fixed size and alignment) Classifier

Proposed Model: Semi-Naïve Bayes Kononenko (1991), Pazzini (1996), Domingos and Pazzini (1997), Rokach and Maimon (2001) e.g. S 1 = (x 21, x 34, x 65, x 73, x 123 ) S 2 = (x 3, x 8, x 17, x 65, x 73, x 111 ) subsets input variables

Goal: Automatic subset grouping S 1 = (x 21, x 34, x 65, x 73, x 123 ) S 2 = (x 3, x 8, x 17, x 65, x 73, x 111 )... S n = (x 14, x 16, x 17, x 23, x 85, x 101, x 103, x 107 )

Approach: Selection by Competition x 1 x 2 x 3... x m S 1 S 2... S q Generate q candidate subsets log [p 1 (S 1 |  1 ) / p 1 (S 1 |  2 )] log [p 2 (S 2 |  1 ) / p 2 (S 2 |  2 )]... log [p q (S q |  1 ) / p q (S q |  2 )] Train q log likelihood function Select combination of n candidates log [p j1 (S j1 |  1 ) / p j1 (S j1 |  2 )] log [p j2 (S j2 |  1 ) / p j2 (S j2 |  2 )]... log [p jn (S jn |  1 ) / p jn (S jn |  2 )] H(x 1,…,x r ) = log [p j1 (S j1 |  1 ) / p j1 (S j1 |  2 )]+log [p j2 (S j2 |  1 ) / p j2 (S j2 |  2 )] log [p jn (S jn |  1 ) / p jn (S jn |  2 )] q functions n functions, n << q

Approach: Selection by Competition x 1 x 2 x 3... x m S 1 S 2... S q Generate q candidate subsets log [p 1 (S 1 |  1 ) / p 1 (S 1 |  2 )] log [p 2 (S 2 |  1 ) / p 2 (S 2 |  2 )]... log [p q (S q |  1 ) / p q (S q |  2 )] Train q log likelihood function Select combination of n candidates log [p j1 (S j1 |  1 ) / p j1 (S j1 |  2 )] log [p j2 (S j2 |  1 ) / p j2 (S j2 |  2 )]... log [p jn (S jn |  1 ) / p jn (S jn |  2 )] H(x 1,…,x r ) = log [p j1 (S j1 |  1 ) / p j1 (S j1 |  2 )]+log [p j2 (S j2 |  1 ) / p j2 (S j2 |  2 )] log [p jn (S jn |  1 ) / p jn (S jn |  2 )]

Generation of Subsets “modeling error for assuming independence” q is size of the subset

Generation of Subsets Selection of variables - “discrimination power” q is size of the subset

Pair-Wise Measurement pair-wise measurements Pair-affinity

Visualization of C(x,*) (frontal faces) x x x

Measure over a Subset Subset-affinity

Generation of Candidate Subsets x 1 x 2 x x m S 1 S S p Heuristic search and selective evaluation of D(S i ) C(x 1, x 2 ) C(x 1, x 3 ) C(x m-1, x m )

subset size vs. modeling power Model complexity limited by number of training examples, etc. Examples of limited modeling power –5 modes in a mixture model –7 projection onto principal components

Approach: Selection by Competition x 1 x 2 x 3... x m S 1 S 2... S q Generate q candidate subsets log [p 1 (S 1 |  1 ) / p 1 (S 1 |  2 )] log [p 2 (S 2 |  1 ) / p 2 (S 2 |  2 )]... log [p q (S q |  1 ) / p q (S q |  2 )] Train q log likelihood function Select combination of n candidates log [p j1 (S j1 |  1 ) / p j1 (S j1 |  2 )] log [p j2 (S j2 |  1 ) / p j2 (S j2 |  2 )]... log [p jn (S jn |  1 ) / p jn (S jn |  2 )] H(x 1,…,x r ) = log [p j1 (S j1 |  1 ) / p j1 (S j1 |  2 )]+log [p j2 (S j2 |  1 ) / p j2 (S j2 |  2 )] log [p jn (S jn |  1 ) / p jn (S jn |  2 )]

Log-likelihood function = Table S i = (x i1, x i2,..., x iq ) vector quantization table look-up

Sub-Classifier Training by Counting P i (f i |  1 ) P i (f i |  2 ) fifi fifi

Example of VQ x i1 x i2 x i3... x iq c 1 c 2 c 3 z 1 z 2 z 3 f = z 1 m 0 + z 2 m 1 + z 3 m 2 quantization to m levels projection on to 3 principal components

Approach: Selection by Competition x 1 x 2 x 3... x m S 1 S 2... S q Generate q candidate subsets log [p 1 (S 1 |  1 ) / p 1 (S 1 |  2 )] log [p 2 (S 2 |  1 ) / p 2 (S 2 |  2 )]... log [p q (S q |  1 ) / p q (S q |  2 )] Train q log likelihood function Select combination of n candidates log [p j1 (S j1 |  1 ) / p j1 (S j1 |  2 )] log [p j2 (S j2 |  1 ) / p j2 (S j2 |  2 )]... log [p jn (S jn |  1 ) / p jn (S jn |  2 )] H(x 1,…,x r ) = log [p j1 (S j1 |  1 ) / p j1 (S j1 |  2 )]+log [p j2 (S j2 |  1 ) / p j2 (S j2 |  2 )] log [p jn (S jn |  1 ) / p jn (S jn |  2 )]

h 1 (S 1 ) h 2 (S 2 )... h P (S P ) E 1,  1 E 1,  2 E 2,  1 E 2,  2... E p,  1 E p,  2 Evaluate on training data ROC 1 ROC 2... ROC P Evaluate ROCs Order top Q log-likelihood functions h j1 (S j1 ) h j2 (S j2 )... h jQ (S jQ ) Candidate log-likelihood functions

h j1 (S j1 ) + h 1 (S 1 )... h jQ (S jQ ) + h p (S p ) Form pQ pairs of log-likelihood functions E j1,  1 + E 1,  1 E j1,  2 + E 1,  2... E jQ,  1 + E p,  1 E jQ,  2 + E p,  2 Sum Evaluations ROC 1... ROC QP Evaluate ROCs Order top Q pairs of log-likelihood functions h k1,1 (S k1,1 ) + h k1,2 (S k1,2 )... h kQ,1 (S kQ,1 ) + h kQ,2 (S kQ,2 )... Repeat for n iterations

H 1 (x 1, x 2,..., x r )... H Q (x 1, x 2,..., x r ) Cross-Validation Selects Classifier Q Candidates: H 1 (x 1, x 2,..., x r ) = h k1,1 (S k1,1 ) + h k1,2 (S k1,2 ) h k1,n (S k1,n )... H Q (x 1, x 2,..., x r ) = h kQ,1 (S kQ,1 ) + h kQ,2 (S kQ,2 ) h Q,n (S kQ,n ) H * (x 1, x 2,..., x r ) Cross-validation

Example subsets learned for telephones

Evaluation of Classifier “Object is present” (at fixed size and alignment) “Object is NOT present” (at fixed size and alignment) Classifier

1) Compute feature values f 2 = #3214 f 1 = #5710 f n = #723

2) Look-Up Log-Likelihoods P 1 ( #5710 |  1 ) P 1 ( #5710 |  2 ) f 2 = #3214 f 1 = #5710 f n = #723 = 0.53 P 2 ( #3214 |  1 ) P 2 ( #3214 |  2 ) = 0.03 log P n ( #723 |  1 ) P n ( #723 |  2 ) = 0.23 log

3) Make Decision P 1 ( #5710 |  1 ) P 1 ( #5710 |  2 ) = 0.53 P 2 ( #3214 |  1 ) P 2 ( #3214 |  2 ) = 0.03 log P n ( #723 |  1 ) P n ( #723 |  2 ) = 0.23 log  > <

Detection using a Classifier “Object is present” (at fixed size and alignment) “Object is NOT present” (at fixed size and alignment) Classifier

View-based Classifiers Face Classifier #1 Face Classifier #2 Face Classifier #3

Detection: Apply Classifier Exhaustively Search in position Search in scale

Decision can be made by partial evaluation P 1 ( #5710 |  1 ) P 1 ( #5710 |  2 ) = 0.53 P 2 ( #3214 |  1 ) P 2 ( #3214 |  2 ) = 0.03 log P n ( #723 |  1 ) P n ( #723 |  2 ) = 0.23 log  > <

Detection Computational Strategy Computational strategy changes with size of search space Apply log [p 1 (S 1 |  1 ) / p 1 (S 1 |  2 )] exhaustively to scaled input image Apply log [p 2 (S 2 |  1 ) / p 2 (S 2 |  2 )] reduced search space Apply log [p 3 (S 3 |  1 ) / p 3 (S 3 |  2 )] further reduced search space

Repeat for N 2 Candidates Compute M 2 feature valuesLook-up M 2 log-likelihood values Candidate-Based Evaluation

Repeat for N 2 Candidates Compute N 2 + M 2 +2MN feature valuesLook-up M 2 log-likelihood values Feature-Based Evaluation

Create candidate subsets Train candidate log-likelihood functions Select log-likelihood functions Retrain selected log-likelihood functions using Adaboost Training images of object Cross-validation images Training images of non- object Determine detection threshold Automatically select non-object examples for next stage Images that do not contain object Increment stage Cascade Implementation Adaboost using confidence-rated predictions [Shapire and Singer, 1999] Bootstrapping [Sung and Poggio, 1995]

Boosting... H(x 1, x 2,..., x r ) = h j1 (S j1 ) + h j2 (S j2 ) h jn (S jn ) x 1 x 2 x 3... x m S 1 S 2... S p Generate p candidate subsets; p >> n h 1 (S 1 ) h 2 (S 2 )... h p (S p ) Train p candidate sub-classifiers h j1 (S j1 ) h j2 (S j2 )... h jr (S jn ) Select combination of n candidates Retrain with Adaboost using confidence-rated predictions [Shapire and Singer, 1999]

Face, eye, ear detection

Frontal Face Detection Recognition rate85.2%89.7%92.1%93.7%94.2% False detections (this method) False Detections [Viola and Jones, CVPR, 2001] MIT-CMU Frontal Face Test Set [Sung and Poggio, 1995; Rowley, Baluja and Kanade, 1997] –180 ms 300x200 image –400 ms 300x500 image Top Rank Video TREC 2002 Face Detection Top Rank 2002 ARDA VACE Face Detection algorithm evaluation AMD Athalon 1.2GHz

Face & Eye Detection for Red-Eye Removal from Consumer Photos CMU Face Detector

Eye Detection Experiments performed independently at NIST Sequested data set: 29,627 mugshots Eyes correctly located (radius of 15 pixels) 98.2% (assumed one face per image) Thanks to Jonathon Phillips, Patrick Grother, and Sam Trahan for their assistance in running these experiments

Realistic Facial Manipulation: Earring Example With Jason Pinto

Telephone Detection

Cart, pose 1

Cart, pose 2

Cart, pose 3

Door Handle Detection

Summary of Classifier Design Sparse structure of statistical dependency in many image classification problem Semi-naïve Bayes Model Automatic learning structure of semi-naïve Bayes classifier: –Generation of many candidate subsets –Competition among many log-likelihood functions to find best combination CMU on-line face detector: