Face Pose Problem
15 ° Toward Right
15 ° Toward Left
30 ° Toward Right
30 ° Toward Left
Without Our Procedure
With Our Procedure
<--- Face Pose example
If you try the ASM/AAM on pose face, you will find that the fitting result is bad.
Normally people using 3D to handle face pose problem.
But due to the complexity of 3D, it is still an interesting topic to estimate the face pose angle using 2D.
In the famous paper "Statistical Models of Appearance for Computer Vision" of Tim Cootes, there is a formula between the face feature and the pose angle.
Since we want to use the ASM fitting result as the initial starting shape for AAM, and know the face pose angle is an inportant step for face pose ASM fitting.
Therefore, it is an egg and chicken problem if you want directly use the formula taken the parameter c as the face feature described in the paper.
We all know that the Viola Jones's "Object Detection Using a Boosted Cascade" is a good face detection algorithm that implemented in OpenCV. If the VJ face dection can also give the face pose angle it will be great. (Or at least give us which direction of the face toward left or right). Furthermore we want to give out a good shape estimate of the face pose.
We all know that the Viola Jones's "Object Detection Using a Boosted Cascade" is a good face detection algorithm that implemented in OpenCV. If the VJ face dection can also give the face pose angle it will be great. (Or at least give us which direction of the face toward left or right). Furthermore we want to give out a good shape estimate of the face pose.
Can we achieve this?
Our ideas to use this formula combine with VJ algorithm is following:- Suppose you have some face pose DB. Let's assume, you have -15 and +15 degree angle faces.
- Initially we use stasm find all the shape fitting for -15/+15 faces. (This is possible since the angle is small, stasm can still fit it).
- Use VJ to exact each face area of -15/+15 faces. Then divide that area into ROW X COL sub-area and calculate the average gray value.
- We use the average gray value as the face feature for that sub-area and then training the parameter C_0, C_x and C_y for the face feature.
- During the training, we also get calculate the C_0, C_x and C_y for the shape which we'll use for the shape estimate later.
- For a new face pose, we estimate the pose angle and the shape by using those C parameters that obtained in the above steps.

