-
Notifications
You must be signed in to change notification settings - Fork 109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is Prediction Rotation Vector or Euler Angles (yaw, pitch roll)? #15
Comments
Hello, Thank you for pointing this out! |
Hi, there is still the problem that the euler angle convention and coordinate system convention does not match the convention used in AFLW2000-3D. When looking at the person from the front as an observer, in the AFLW2000-3D coordinate system the X-Axis goes to the right, the Y-Axis to the top and the Z-Axis towards the observer. In your coordinate system (OpenCV) the Y- and Z-Axis are inverted. So to convert your rotvec to AFLW2000-3D euler convention you need to use the function you already provided in #17 (comment) (convert_to_aflw). But then use the return from this function directly and not transform them again. The errors will be different to your current ones. Ideally you would additionally use the groundtruth from AFLW2000-3D (pose_para) instead of you own groundtruth. |
Hello @KarlKulator, Thank you for the suggestion. As our model is not constrained by yaw angles of (-90, 90), the AFLW2000-3D convention fails to accurately measure our errors. One example is the image below, where the error is qualitatively small in visualization, small on zxy rotation angles, but large on xyz rotation angles, due to yaw been predicted a little above 90 degrees. Nevertheless, in response to your question, we released a model trained with constrained yaw poses and updated the evaluation notebooks to use the AFLW2000-3D ground-truth (pose_para) with its standard convention (xyz). The updated version obtains state-of-the-art accuracy when measured in the AFLW2000-3D representation (in fact, pose estimation results actually improved in some cases). We will update the information in the camera-ready version of our CVPR'21 paper, and arXiv accordingly. |
Hi,
Thanks for your code. I was checking your notebook biwi_evaluation.ipynb and found that the ground truth and predictions are both in rotation vector representation (3d vector representing rotation axis and norm representing rotation angle). However, when you print out the errors, you call it error on Yaw, Pitch and Roll. But it should be errors on rotation vector?
Evidence of ground truth being rotation vector:
Here it's clear that the pose_target is first a rotation matrix and then converted to rotation vector by as_rotvec().
To convert to Pitch, Yaw, Roll it should be
Thanks!
The text was updated successfully, but these errors were encountered: