Question

I want to create an eye-tracker using EmguCV. I came across the problem of calculating the face position, which I need to get in order to correctly estimate the gaze of a person. I wanted to use the Haar cascade to detect face and then, using the optical flow method, track some face features. The problem is what to do next.

How can I project tracked 2D points to the 3D to extract the rotation matrix? I heard about the POSIT algorithm but to use it I need a 3D face model. Is there a method to create a face model automatically during the initialization of a program?

Was it helpful?

Solution

After some struggle I found a solution. In short I short I found some good features to track and basing on them I created sinusoidal face model. This model was used within POSIT algorithm to compute rotation matrix and translation vector. To project 2D point into 3D model I used a pinhole camera model.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top