Download presentation

Presentation is loading. Please wait.

Published byThaddeus Beringer Modified over 2 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

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google