Jarrome/IMT_Mapping

Comparison of surface error on ICL-NUIM benchmark

corpse-dog opened this issue · 4 comments

I tried to repeat your surface error results after running, but found in meshlab that they were registered, but the following problems occurred when using SurfReg. So I would like to ask how you did the final error calculation work.
How cna this be resolved?

QQ图片20221107211846

QQ图片20221107211041

Hi corpse-dog,

Thanks for your question.
As I recall, the evaluation code (SurfReg) will 1. register two model and then 2. evaluate.

Please check.

Also welcome for further question :D

Thanks for answering!

So, that means you haven't modified (SurfReg), but there is a problem with my input, right

SurfReg will run a fine-reg

So I think the problem should be the initial pose.
You can see in IMT-Mapping code there is a first_iso for better visualization.

Please check and back-transform the first_iso.

If there is a groundtruth mesh provided.

For comparison, in ifr/ifr_main.py, you can compute

T_gt2ours = first_iso.dot( world_pose.dot(cano_quat) ) )

Then inverse transform our result mesh with T_gt2ours to the coordinate of GT mesh.

res_mesh.transform(np.linalg.inv(T_gt2ours))
compare_func(res_mesh, gt_mesh)