Download presentation
Presentation is loading. Please wait.
Published byThaddeus Beringer Modified over 9 years ago
1
Object Detection Using Semi- Naïve Bayes to Model Sparse Structure Henry Schneiderman Robotics Institute Carnegie Mellon University
2
Object Detection Find all instances of object X (e.g. X = human faces)
3
Examples of Detected Objects
4
Sparse Structure of Statistical Dependency Chosen variable
5
Sparse Structure of Statistical Dependency Chosen coefficient
6
Sparse Structure of Statistical Dependency Chosen coefficient
7
Detection using a Classifier “Object is present” (at fixed size and alignment) “Object is NOT present” (at fixed size and alignment) Classifier
8
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
9
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 )
10
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
11
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 )]
12
Generation of Subsets “modeling error for assuming independence” q is size of the subset
13
Generation of Subsets Selection of variables - “discrimination power” q is size of the subset
14
Pair-Wise Measurement pair-wise measurements Pair-affinity
15
Visualization of C(x,*) (frontal faces) x x x
16
Measure over a Subset Subset-affinity
17
Generation of Candidate Subsets x 1 x 2 x 3........................ x m S 1 S 2.................. 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 )
18
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
19
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 )]
20
Log-likelihood function = Table S i = (x i1, x i2,..., x iq ) vector quantization table look-up
21
Sub-Classifier Training by Counting P i (f i | 1 ) P i (f i | 2 ) fifi fifi
22
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
23
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 )]
24
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
25
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
26
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
27
Example subsets learned for telephones
28
Evaluation of Classifier “Object is present” (at fixed size and alignment) “Object is NOT present” (at fixed size and alignment) Classifier
29
1) Compute feature values f 2 = #3214 f 1 = #5710 f n = #723
30
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
31
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 > < 0.53 + 0.03 +... + 0.23
32
Detection using a Classifier “Object is present” (at fixed size and alignment) “Object is NOT present” (at fixed size and alignment) Classifier
33
View-based Classifiers Face Classifier #1 Face Classifier #2 Face Classifier #3
34
Detection: Apply Classifier Exhaustively Search in position Search in scale
35
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 > < 0.53 + 0.03 +... + 0.23
36
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
37
Repeat for N 2 Candidates Compute M 2 feature valuesLook-up M 2 log-likelihood values Candidate-Based Evaluation
38
Repeat for N 2 Candidates Compute N 2 + M 2 +2MN feature valuesLook-up M 2 log-likelihood values Feature-Based Evaluation
39
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]
40
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]
41
Face, eye, ear detection
42
Frontal Face Detection Recognition rate85.2%89.7%92.1%93.7%94.2% False detections (this method) 613446479 False Detections [Viola and Jones, CVPR, 2001] --3150167-- 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
43
Face & Eye Detection for Red-Eye Removal from Consumer Photos CMU Face Detector
44
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
45
Realistic Facial Manipulation: Earring Example With Jason Pinto
46
Telephone Detection
47
Cart, pose 1
48
Cart, pose 2
49
Cart, pose 3
50
Door Handle Detection
51
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: http://www.vasc.ri.cmu.edu/cgi-bin/demos/findface.cgi
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.