1 | initial version |
Edit : Is there any other way I can make the face detection robust ? I am working on real time video capture
Face detection:
Given an arbitrary image, the goal of face detection is to determine whether or not there are any faces in the image and, if present, return the location and extent of each face.
Viola & Jones algorithm is commonly applied to face detection. Viola and Jones introduced their object detection framework that can be applied to human faces. At runtime, the algorithm is capable of processing images extremely rapidly. It uses a boosted cascade of simple classifiers based on rectangular Haar-like features that can be computed rapidly.
Face tracking:
Track a detected face over time. In order to track a human face, the system not only needs to locate a face, but also needs to find it in a sequence of images. You can use color information, estimate the motion, and so on. There are a lot of algorithms and approaches that perform face tracking in real time.
You can perform face tracking with opencv functions and methods. For example:
Also you can use TLD algorithm to track the face . There are some C++ implementations: tld C++ implementation, tld C++ implementation 2, TLD face tracking video
Or for example this one: Zhang, K., Zhang, L., & Yang, M. H. (2012). Real-time compressive tracking. In Computer Vision–ECCV 2012 (pp. 864-877). Springer Berlin Heidelberg. Project web page. It includes matlab code and c++ code. Compressive tracking video