Face Detection & Synthesis using 3D Models & OpenCV Learning Bit by Bit Don Miller ITP, Spring 2010.

Slides:



Advertisements
Similar presentations
EE462 MLCV Lecture 5-6 Object Detection – Boosting Tae-Kyun Kim.
Advertisements

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.
Face detection Behold a state-of-the-art face detector! (Courtesy Boris Babenko)Boris Babenko.
F ACE TRACKING EE 7700 Name: Jing Chen Shaoming Chen.
AdaBoost & Its Applications
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.
Bohr Robot Group OpenCV ECE479 John Chhokar J.C. Arada Richard Dixon.
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)
HCI Final Project Robust Real Time Face Detection Paul Viola, Michael Jones, Robust Real-Time Face Detetion, International Journal of Computer Vision,
Rapid Object Detection using a Boosted Cascade of Simple Features
Robust Real-time Object Detection by Paul Viola and Michael Jones ICCV 2001 Workshop on Statistical and Computation Theories of Vision Presentation by.
Face detection and recognition Many slides adapted from K. Grauman and D. Lowe.
A Robust Real Time Face Detection. Outline  AdaBoost – Learning Algorithm  Face Detection in real life  Using AdaBoost for Face Detection  Improvements.
Face Recognition with Harr Transforms and SVMs EE645 Final Project May 11, 2005 J Stautzenberger.
CS 223B Assignment 1 Help Session Dan Maynes-Aminzade.
Robust Real-Time Object Detection Paul Viola & Michael Jones.
Viola and Jones Object Detector Ruxandra Paun EE/CS/CNS Presentation
Foundations of Computer Vision Rapid object / face detection using a Boosted Cascade of Simple features Presented by Christos Stoilas Rapid object / face.
F ACE D ETECTION FOR A CCESS C ONTROL By Dmitri De Klerk Supervisor: James Connan.
Face Detection CSE 576. Face detection State-of-the-art face detection demo (Courtesy Boris Babenko)Boris Babenko.
FACE DETECTION AND RECOGNITION By: Paranjith Singh Lohiya Ravi Babu Lavu.
Vision-Based Biometric Authentication System by Padraic o hIarnain Final Year Project Presentation.
Face Detection using the Viola-Jones Method
Human tracking and counting using the KINECT range sensor based on Adaboost and Kalman Filter ISVC 2013.
A Tutorial on Object Detection Using OpenCV
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
Visual Object Recognition
Automatic Image Anonymizer Alex Brettingen James Esposito.
DIEGO AGUIRRE COMPUTER VISION INTRODUCTION 1. QUESTION What is Computer Vision? 2.
Terrorists Team members: Ágnes Bartha György Kovács Imre Hajagos Wojciech Zyla.
Robust Real-time Face Detection by Paul Viola and Michael Jones, 2002 Presentation by Kostantina Palla & Alfredo Kalaitzis School of Informatics University.
REAL TIME FACE DETECTION
Automated Solar Cavity Detection
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.
Bibek Jang Karki. Outline Integral Image Representation of image in summation format AdaBoost Ranking of features Combining best features to form strong.
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.
Hand Gesture Recognition Using Haar-Like Features and a Stochastic Context-Free Grammar IEEE 高裕凱 陳思安.
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 Behold a state-of-the-art face detector! (Courtesy Boris Babenko)Boris Babenko slides adapted from Svetlana Lazebnik.
Notes on HW 1 grading I gave full credit as long as you gave a description, confusion matrix, and working code Many people’s descriptions were quite short.
A Brief Introduction on Face Detection Mei-Chen Yeh 04/06/2010 P. Viola and M. J. Jones, Robust Real-Time Face Detection, IJCV 2004.
Face detection Many slides adapted from P. Viola.
Hand Detection with a Cascade of Boosted Classifiers Using Haar-like Features Qing Chen Discover Lab, SITE, University of Ottawa May 2, 2006.
Recognition Part II: Face Detection via AdaBoost Linda Shapiro CSE
1 Munther Abualkibash University of Bridgeport, CT.
CS262: Computer Vision Lect 06: Face Detection
2. Skin - color filtering.
License Plate Detection
Session 7: Face Detection (cont.)
HCI/ComS 575X: Computational Perception
High-Level Vision Face Detection.
Learning to Detect Faces Rapidly and Robustly
Cos 429: Face Detection (Part 2) Viola-Jones and AdaBoost Guest Instructor: Andras Ferencz (Your Regular Instructor: Fei-Fei Li) Thanks to Fei-Fei.
ADABOOST(Adaptative Boosting)
A Tutorial on Object Detection Using OpenCV
Lecture 29: Face Detection Revisited
ECE738 Final Project Face Detection Baseline
Presentation transcript:

Face Detection & Synthesis using 3D Models & OpenCV Learning Bit by Bit Don Miller ITP, Spring 2010

Game Plan Face detection Face synthesis OpenCV – How it works Interesting facts from Viola / Jones Face synthesis using 3D Models: OBJ / MTL Altered textures & vertices My experiments / findings

Face detection & synthesis Detection vs. recognition: Detection: finding a face Recognition: identifying a person Synthesis: Still images / facial animations Applications in games and film Used in recognition, too:  Experiment with different lighting & poses

OpenCV – How it works OpenCV uses a face detection method developed in 2001 by Paul Viola and Michael Jones, commonly referred to as the Viola-Jones method. First to provide competitive object detection rates in real- time. Mostly used for faces, but can detect other objects. Four key concepts: Simple rectangular features, called Haar features An Integral Image for rapid feature detection The AdaBoost machine-learning method A cascaded classifier to combine many features efficiently

OpenCV – How it works (con't) The features that Viola and Jones used are based on Haar wavelets. Haar wavelets are single wavelength square waves. In two dimensions, a square wave is a pair of adjacent rectangles - one light and one dark.

OpenCV – How it works (con't) The rectangles used for object detection are not true Haar wavelets. They include rectangle combinations better suited to visual recognition tasks. So, they are usually referred to as Haar features, or Haarlike features, rather than wavelets.

OpenCV – How it works (con't) The presence of a Haar feature is determined by subtracting the average dark-region pixel value from the average light-region pixel value. If the difference is above a threshold (set during learning), that feature is said to be present. This binary determination is face / not face.

OpenCV – How it works (con't) To determine the presence or absence of hundreds of Haar features at every image location and at several scales efficiently, Viola / Jones used a technique called an Integral Image. "Integrating" means adding small units together. In this case, the small units are pixel values. The integral value for each pixel is the sum of all the pixels above it and to its left. Starting at the top left and traversing to the right and down, the entire image can be integrated with a few integer operations per pixel. The Haar rectangular features are primitive (compared to more complex filters), but the integrating allows for higher speed than more sophisticated methods.

OpenCV – How it works (con't) After “integrating”, pixel x,y contains the sum of all the pixel values in the rectangle. To find the average pixel value in this rectangle, you'd only need to divide the value at (x,y) by the rectangle's area.

OpenCV – How it works (con't) Its possible to find the sum of sub-rectangles, like D = A+B+C+D - (A+B) - (A+C) + A. You can think of that as being the sum of pixel values in the combined rectangle, A+B+C+D, minus the sums in rectangles A+B and A+C, plus the sum of pixel values in A.

OpenCV – How it works (con't) Conveniently, A+B+C+D is the Integral Image's value at location 4, A+B is the value at location 2, A+C is the value at location 3, and A is the value at location 1. So, with an Integral Image, you can find the sum of pixel values for any rectangle in the original image with just three integer operations: (x4, y4) - (x2, y2) - (x3, y3) + (x1, y1).

OpenCV – How it works (con't) To select specific Haar features to use and set threshold levels, Viola / Jones use a machine-learning method called AdaBoost. AdaBoost combines many "weak" classifiers to create one "strong" classifier. "Weak" here means the classifier only gets the right answer a little more often than random guessing would. But if you had a whole lot of these weak classifiers, and each one "pushed" the final answer a little bit in the right direction, you'd have a strong, combined force for arriving at the correct solution. AdaBoost selects a set of weak classifiers to combine and assigns a weight to each. This weighted combination is the strong classifier.

OpenCV – How it works (con't) Viola and Jones combined a series of AdaBoost classifiers as a filter chain, that they called a cascade. The cascade is especially efficient for classifying image regions. Each filter is a separate AdaBoost classifier with a fairly small number of weak classifiers.

OpenCV – How it works (con't) The acceptance threshold at each level is set low enough to almost all face examples in the training set of about 1000 faces. If it fails one, it goes to “not face”. If it passes, it goes on to the next in the cascade. If it passes all, its classified as “face”. This reduces the total number of times the classifier is accessed and allows for real time detection.

OpenCV – How it works (con't) The order of filters in the cascade is based on the importance weighting that AdaBoost assigns. The more heavily weighted filters come first, to eliminate non-face image regions as quickly as possible. In the image on the right, the first one keys off the cheek area being lighter than the eye region. The second uses the fact that the bridge of the nose is lighter than the eyes.

OpenCV – How it works (con't) The first and second features selected by AdaBoost. The first feature measures the difference in intensity between the region of the eyes and a region across the upper cheeks. The feature capitalizes on the observation that the eye region is often darker than the cheeks. The second feature compares the intensities in the eye regions to the intensity across the bridge of the nose.

Interesting Facts from Viola / Jones Training time was weeks long with 5,000 faces and 10,000 non-faces Final detector has 38 layers in the cascade, 6060 features They used a 700 Mhz processor: Could process a 384 x 288 image in seconds (in 2003 when paper was written)

Interesting Facts from Viola / Jones Some of the original training images, randomly pulled from the web in 2001.

Face synthesis using 3D Models For my experiments, I used: OBJ files: represent 3D geometry, vertices, UV maps, faces that make polygons, etc. MTL files: defines light reflecting properties

Face synthesis using 3D Models Altering textures: Throwing off the classifiers Darkening areas to reduce contrast and presence of Haar-like features Results: Really had to break OpenCV / Viola & Jones method Large areas of black work well, but it is resistant to small changes

Face synthesis using 3D Models Altering vertices: Moving areas of the face around, changing the way light hits and textures map Results: Rotations really change the face / not face detection May have been skewed by lack of proper texture

References Robust Real-time Object Detection (Viola/Jones), PDF How Face Detection Works, SERVO Magazine, 2007 Wikipedia: Viola-Jones object detection framework Haar-like features OpenCV: Face Detection using OpenCV