This project is made to recognize front-view face, eyes and smile.
Image recognition, in the context of machine vision, is the ability of software to identify objects, places, people, writing and actions in images. Computers can use machine vision technologies in combination with a camera and artificial intelligence software to achieve image recognition. Image recognition has very wide range of applications, some examples are:
- Powering self-driving cars
- Boosting augmented reality applications and gaming
- Teaching machines to see
- Image Classification for Websites with Large Visual Databases
- Image Search
I made this project on Ubuntu 16.04 LTS
- Python
- Anaconda
- Spyder 3.1.4
- OpenCV
- XML
P. Viola, M. J. Jones, “Robust Real-Time Face Detection”, International Journal of Computer Vision 57(2), 137–154, 2004
Check Source Folder for the original paper
- Haar like features
- Integral Image
- Adaptive Bosting
Haar-like features are digital image features used in object recognition. They owe their name to their intuitive similarity with Haar wavelets and were used in the first real-time face detector. Here I have used rectangular features.
The integral image at location x , y contains the sum of the pixels above and to the left of x , y. The integral image allows integrals for the Haar extractors to be calculated by adding only four numbers.
The training process uses AdaBoost to select a subset of features and construct the classifier. A large set of images, with size corresponding to the size of the detection window, is prepared. This set must contain positive examples for the desired filter (e.g. only front view of faces), and negative examples (nonfaces). Each image has index l, l = 1…L. For each image, a corresponding value yl, is established. yl=1 for faces and yl=0 for nonfaces.