You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am trying to understand the different elements of the code. However, I fail to see why you multiply by a matrix called fix when computing the tag pose. I have an intuition that it has something to do with the direction of the Z axis pointing away or to the camera but why can't that be directly estimated via the homography?
I did not write that code but your intuition is correct. That matrix is flipping the y- and z-axes so that the z-axis of the tag frame is pointing away from the tag surface towards the camera.
This is essentially also done in the ROS node by setting the objectPoints for cv::solvePnP accordingly. The relation of the 3D points (objectPoints) and the order of the corresponding 2D coordinates (imagePoints) of the detected tag define a coordinate system where z is also "flipped".
I am trying to understand the different elements of the code. However, I fail to see why you multiply by a matrix called fix when computing the tag pose. I have an intuition that it has something to do with the direction of the Z axis pointing away or to the camera but why can't that be directly estimated via the homography?
Here is the matrix in question
https://github.com/AprilRobotics/apriltag/blob/master/apriltag_pose.c#L463
Could one of the authors please elaborate on this or point to an article where they describe why this is necessary?
Thank you
The text was updated successfully, but these errors were encountered: