Presentation is loading. Please wait.

Presentation is loading. Please wait.

Face detection Slides adapted Grauman & Liebe’s tutorial

Similar presentations


Presentation on theme: "Face detection Slides adapted Grauman & Liebe’s tutorial"— Presentation transcript:

1 Face detection Slides adapted Grauman & Liebe’s tutorial
Why would this be useful? Main reason is focus. Also enables “smart” cropping. Slides adapted Grauman & Liebe’s tutorial Also see Paul Viola’s talk (video)

2 Limitations of Eigenfaces
Eigenfaces are cool. But they’re not great for face detection. Chief Limitations not very accurate not very fast To make it work on the camera, we need ~30fps, and near-perfect accuracy. 2

3 Rectangle filters P. Viola and M. Jones. Rapid object detection using a boosted cascade of simple features. CVPR 2001.

4 Why rectangles? Answer: very very fast to compute (x,y) integral image
Trick: integral images (aka summed-area-tables) Value at (x,y) is sum of pixels above and to the left of (x,y) (x,y) integral image

5 Integral images What’s the sum of pixels in the blue rectangle? A B C
D input image integral image

6 Integral images A B C D integral image

7 Integral images A integral image

8 Integral images B integral image

9 Integral images C integral image

10 Integral images D integral image

11 Integral images What’s the sum of pixels in the rectangle? A B C D

12 Computing sum within a rectangle
Let A,B,C,D be the values of the integral image at the corners of a rectangle Then the sum of original image values within the rectangle can be computed as: sum = A – B – C + D Only 3 additions are required for any size of rectangle! D B A C Lana Lazebnik

13 Filter as a classifier How to convert the filter into a classifier?
Resulting weak classifier: Outputs of a rectangle feature on faces and non-faces.

14 Finding the best filters...
Considering all possible filter parameters: position, scale, and type: 180,000+ possible filters associated with each 24 x 24 window Which of these filters(s) should we use to determine if a window has a face?

15 Boosting Weak Classifier 1 Slide credit: Paul Viola

16 Boosting Weights Increased

17 Boosting Weak Classifier 2

18 Boosting Weights Increased

19 Boosting Weak Classifier 3

20 Boosting Final classifier is a combination of weak classifiers

21 Boosting: training Initially, weight each training example equally
In each boosting round: find the weak classifier with lowest weighted training error raise weights of training examples misclassified by current weak classifier Final classifier is linear combination of all weak classifiers weight of each learner is directly proportional to its accuracy) Exact formulas for re-weighting and combining weak classifiers depend on the particular boosting scheme Slide credit: Lana Lazebnik

22 AdaBoost Algorithm {x1,…xn}
Start with uniform weights on training examples {x1,…xn} For T rounds Evaluate weighted error for each feature, pick best. Perceptual and Sensory Augmented Computing Visual Object Recognition Tutorial Visual Object Recognition Tutorial Re-weight the examples: Incorrectly classified -> more weight Correctly classified -> less weight Final classifier is combination of the weak ones, weighted according to error they had. Freund & Schapire 1995

23 Viola-Jones Face Detector: Results
First two features selected Visual Object Recognition Tutorial Visual Object Recognition Tutorial Perceptual and Sensory Augmented Computing

24 Even if the filters are fast to compute, each new image has a lot of possible windows to search.
How to make the detection more efficient?

25 Cascading classifiers for detection
Form a cascade with low false negative rates early on Apply less accurate but faster classifiers first to immediately discard windows that clearly appear to be negative Kristen Grauman

26 Viola-Jones detector: summary
Train cascade of classifiers with AdaBoost Apply to each subwindow Faces New image Selected features, thresholds, and weights Non-faces Train with 5K positives, 350M negatives Real-time detector using 38 layer cascade 6061 features in all layers [Implementation available in OpenCV: Kristen Grauman

27 Viola-Jones Face Detector: Results
Visual Object Recognition Tutorial Visual Object Recognition Tutorial Perceptual and Sensory Augmented Computing

28 Viola-Jones Face Detector: Results
Visual Object Recognition Tutorial Visual Object Recognition Tutorial Perceptual and Sensory Augmented Computing

29 Viola-Jones Face Detector: Results
Visual Object Recognition Tutorial Visual Object Recognition Tutorial Perceptual and Sensory Augmented Computing

30 Detecting profile faces?
Can we use the same detector? Visual Object Recognition Tutorial Visual Object Recognition Tutorial Perceptual and Sensory Augmented Computing

31 Viola-Jones Face Detector: Results
Perceptual and Sensory Augmented Computing Visual Object Recognition Tutorial Visual Object Recognition Tutorial Paul Viola, ICCV tutorial

32 Example using Viola-Jones detector
Frontal faces detected and then tracked, character names inferred with alignment of script and subtitles. Everingham, M., Sivic, J. and Zisserman, A. "Hello! My name is... Buffy" - Automatic naming of characters in TV video, BMVC

33 Application: streetview

34 Application: streetview
34

35 Application: streetview
35

36 Consumer application: iPhoto 2009
Slide credit: Lana Lazebnik

37 Consumer application: iPhoto 2009
Things iPhoto thinks are faces Slide credit: Lana Lazebnik

38 What other categories are amenable to window-based representation?

39 Pedestrian detection Detecting upright, walking humans also possible using sliding window’s appearance/texture; e.g., Visual Object Recognition Tutorial Perceptual and Sensory Augmented Computing Visual Object Recognition Tutorial SVM with HoG [Dalal & Triggs, CVPR 2005] Kristen Grauman

40 Window-based detection: strengths
Sliding window detection and global appearance descriptors: Simple detection protocol to implement Good feature choices critical Past successes for certain classes Visual Object Recognition Tutorial Perceptual and Sensory Augmented Computing Visual Object Recognition Tutorial Kristen Grauman

41 Window-based detection: Limitations
High computational complexity For example: 250,000 locations x 30 orientations x 4 scales = 30,000,000 evaluations! If training binary detectors independently, means cost increases linearly with number of classes With so many windows, false positive rate better be low Visual Object Recognition Tutorial Perceptual and Sensory Augmented Computing Visual Object Recognition Tutorial Kristen Grauman

42 Limitations (continued)
Not all objects are “box” shaped Visual Object Recognition Tutorial Perceptual and Sensory Augmented Computing Visual Object Recognition Tutorial Kristen Grauman

43 Limitations (continued)
Non-rigid, deformable objects not captured well with representations assuming a fixed 2d structure; or must assume fixed viewpoint Objects with less-regular textures not captured well with holistic appearance-based descriptions Visual Object Recognition Tutorial Perceptual and Sensory Augmented Computing Visual Object Recognition Tutorial Kristen Grauman

44 Limitations (continued)
If considering windows in isolation, context is lost Visual Object Recognition Tutorial Perceptual and Sensory Augmented Computing Visual Object Recognition Tutorial Sliding window Detector’s view Figure credit: Derek Hoiem Kristen Grauman

45 Limitations (continued)
In practice, often entails large, cropped training set (expensive) Requiring good match to a global appearance description can lead to sensitivity to partial occlusions Visual Object Recognition Tutorial Perceptual and Sensory Augmented Computing Visual Object Recognition Tutorial Image credit: Adam, Rivlin, & Shimshoni Kristen Grauman


Download ppt "Face detection Slides adapted Grauman & Liebe’s tutorial"

Similar presentations


Ads by Google