vcg-uvic / learned-correspondence-release

Code release for "learning to find good correspondences" CVPR 2018
Other
258 stars 53 forks source link

calcampose in Eigen Free code #14

Open zjhthu opened 5 years ago

zjhthu commented 5 years ago

It seems the calcampose function in the PnP problem solves a closed-form ICP problem to enforce the orthogonality constraint of the rotation matrix.

But I am a little confused about this line.

As shown in the Eq. 10 of this paper, after finding the ration matrix R2, the translation can be recovered from t2 = uc - np.matmul(R2, uw). But in the implementation of calcampose, there is an additional coefficient c2 in t2 = uc - c2 * np.matmul(R2, uw) . So why there is a c2?

@kmyid @Dangzheng

zjhthu commented 5 years ago

Besides, in the evaluate_R_t_pnp function, the rotation error is computed by the difference between the quaternion vector and ground truth vector rather than the angular difference as done in the original evaluate_R_t function. But it seems the code still reports the angular error as the metric for both the rotation and translation, which may be inconsistent?

Dangzheng commented 5 years ago

Hi,

About the metric, we use the standard rotation and trainslation error metric as in the paper. 'Robust 3D Object Tracking from Monocular'

About the calcampose, we convert it from a matlab script. We really forget where I find it. Here it is.

Best regards, Zheng image