Closed Liumihan closed 5 years ago
I applied this negation to match the coordinate system of the gaze vector to that used commonly in datasets such as MPIIGaze and UT Multiview (OpenGL to standard camera coordinates).
The gaze vector there is defined to be relative to the camera, and a negation to both pitch and yaw are applied to make the frontal-gaze (0, 0) be one where the eyes stare straight into the normalized camera. The final gaze vector in the code segment you're referring to in src/datasources/unityeyes.py
yields such a set of pitch-yaw values where they have to be negated before conversion to unit vector representation, for the final angular distance/error calculation.
Also see https://www.mpi-inf.mpg.de/departments/computer-vision-and-multimodal-computing/research/gaze-based-human-computer-interaction/appearance-based-gaze-estimation-in-the-wild/ for reference on this.
Thank you so much
Sorry to bother you! It's really a great work. I am a newbee to this fild. I'm confused by this line https://github.com/swook/GazeML/blob/7087b9eb49a5749d84016a2079a91e85d7984511/src/datasources/unityeyes.py#L209 Why it should be negetive? And I also saw that in the UnityEye offical visualize.py , but it is "look_vec[1] = - look_vec[1]" instead. Your help means a lot to me.