CS328 Final Project Report
Results and Discussion
Results
Several results are shown below, the detected faces are marked by black rectangles, click them for enlarged versions:
Comments
- Case 1:
- The hands occlude the face completely, and we successfully removed it from being a face during the eye detection test.
- Case 2:
- The 2 faces with varying distances are all successfully detected, with one false match on the arm. The arm with the background contains very similar histograms to the human face and confused our algorithm.
- Case 3:
- Both the front facing and side facing faces are successfully detected.
- Case 4:
- 3 people with varying distances and skin colors are all successfully detected.
- Case 5:
- Our algorithm could detect faces with different sizes and shapes, as could be seen in my friend Ken's face.
- Case 6:
- The female face is detected, though our training set contains oyly male images.
Discussions and future directions
There are several restrictions for out algorithm, with possible extensions illustrated:
- The lighting between the training face images and the test images must be roughly the same, otherwise the color shift will make histogram intersection and backprojection useless. One possible way to overcome this problem is to do color correction before any processing.
- We only have one face template size right now, so we can only detect faces with roughly the same size. This could be generalized with various face sizes by using different face template sizes. We haven't fully implemented this, but looks like we need to choose threshold parameters for each size group separately. The histogram of faces just don't seem to scale.
- We can only handle faces with roughly front facing, though we can handle rolls(a graphics terminology, means rotation around the camera principle axis) pretty well. When the people faces away from the camera(or pan in graphics terminology), the histograms change and will fail over some angle.
- Right now, we only rely on color histogram information to do face detection. It works surprisingly well. We could try to expolre other geometric constraints to make our algorithm more robust.
The following image is captured during the day of the final project demo. We didn't calibrate the lighting, and the result is horrible:
but after we calibrate the lighting, the result is pretty good:
We still have problems with human arms, but they might be get rid of using geometric information, since arms are mostly rods but human heads are mostly balls or ellipsoids.
liyiwei@graphics.stanford.edu