Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

Head Pose Detection

The current algorithm for head pose detection works by Centroid subtraction of the point cloud. Step 1: Taking a Reference image

A reference image, typically with the user facing the camera dead on, is taken. This image is used for global centroid estimation of all future calculations. Next, the global centroid is subtracted from each point in the reference cloud. This makes the new reference cloud centered at origin, with its new centroid as the origin. Step 2: Post calibration Image capture

Once the reference image has been taken, all images following it go through a similar process. The centroid of each point cloud is subtracted from the point cloud. This ensures that all point clouds centre at approximately the same origin. This process also prevents any small translations of user head away from reference image to affect angle measurements (Fig 1). NOTE: Red point cloud represents reference point cloud.

Fig 1: Centroid Subtraction

Step 3:

Nose detection and curvature correction

It is now important to remove extraneous points and isolate the region of face near eyes and nose. This is done by estimating curvature of small cluster of points in the point cloud. If a certain cluster has very high curvature while being close to centroid of the point cloud, it is selected as Face mask for further calculations. If no such clusters are found, or if centroid of selected face mask is too far away from Global centroid, it means that a bad point cloud has been captured. At this point, no further calculations are done for pose estimation and program moves on to capture next set of point cloud.

Fig 2: Face Mask Step 4: Head Pose Estimation

Now, program just cycles through all the points in face mask while calculating distance between Global centroid and the point.

It was observed that in the desired detection range of 45 , the furthest point from Global centroid always turns out to be the tip of nose. Therefore, the point at largest distance from Global centroid is saved a nose tip vector (vector OA in fig 3).

Projecting vector OA on XZ plane gives vector OA.


XOA here would represent the pose of head.

XOA

( | || |

You might also like