Advanced motion tracking-Human face detection in video processing
The opencv built in object detector which is based on haar-like features was used to detect faces. This algorithm can detect faces in realtime and is thus suitable for our application.An integral image is formed by replacing each pixel by the sum of all pixels to its left and above. A search window is slided over the integral image and inside each window, haar-like features Are extracted using only a few sum and difference operations as opposed to a large loop. For scale invariant detection, the feature scale is varied rather than the image scale. This is much more efficient as the integral image has to be calculated only once. Multiple weak classifiers are trained using a labeled set of negative and positive face images.
These weak classifiers are then cascaded to form a complex strong classifier using adaboost. Opencv ships with already trained classifiers for frontal and profile face detection. We used the frontal face Detection in our experiments. The image was converted to grayscale and histogram equalized before face detection. The face detection algorithm is trained to detect front views of faces but once a face has been detected, the tracker can track it in any pose. Another advantage of camshift is that it operates in realtime and utilizes minimal cpu resources leaving out plenty for other operations like face recognition.