Search code examples
computer-visionface-detectionobject-detectionviola-jones

Viola jones bounding box and rotated faces


  1. Can Viola jones detect faces which are bigger than(lets say a face of 128x128 in 256x256 image) 24x24 window? If yes how would it draw a bounding box since my understanding tells me the max size of window is 24x24
  2. If trained on profile and rotated faces can faces be detected detect with good accuracy ?
  3. How robust is Viola Jones to change in expression on face, illumination?

Solution

  • Can Viola jones detect faces which are bigger than(lets say a face of 128x128 in 256x256 image) 24x24 window? If yes how would it draw a bounding box since my understanding tells me the max size of window is 24x24

    Different face-sizes can be detected, 24x24 is not the max size. The classification can be repeated at different scales. As can be read in the paper, good results are obtained by trying different scales a factor of 1.25 apart. Read: Rapid Object Detection using a Boosted Cascade of Simple Features

    Integral image means that it is able to compute the rectangular features at any scale by scaling the coordinates of the corners of the rectangles.

    If trained on profile and rotated faces can faces be detected detect with good accuracy?

    Yes, if we go back to the paper "Rapid Object Detection using a Boosted Cascade of Simple Features" by Paul Viola and Michael Jones; "Initial experiments demonstrated that a frontal face classifier constructed from 200 features yields a detection rate of 95% with a false positive rate of 1 in 14084.".

    Furthermore, I have trained Cascade Classifiers for other purposes than detecting faces with good results. The detection rate will very much be dependent on the amount of positives you provide for the training together with the right parameters.

    Have you seen these pre-trained classifiers? - https://github.com/opencv/opencv/tree/master/data/haarcascades

    How robust is Viola Jones to change in expression on face, illumination?

    Quite robust I would say, I have used it for other purposes than face detection with good results in terms of precision and recall. Sure, illuminations such as sunlight, reflections etc. can affect the detection rate but that applies to other object detection algorithms as well.