Skip to content
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

How to align estimated camera pose? #22

Open
leo-frank opened this issue Oct 7, 2023 · 2 comments
Open

How to align estimated camera pose? #22

leo-frank opened this issue Oct 7, 2023 · 2 comments

Comments

@leo-frank
Copy link

Hi, thanks for your excellent work.

“During our evaluation, we used the provided API of Reconstruction Align in COLMAP [34] to do that.” I see this in your paper, but I can't find relevant API of colmap in its doc.

Can you tell me the command that you use with colmap ?

Thanks!

@leo-frank
Copy link
Author

BTW, I have 2 details to confirm:

I am training DTU dataset with your codes on scan 65, and run with function eval_poses

def eval_poses(self,

this function nests into evaluate_camera_alignment and then print following information:

ATE:0.018603317439556122
rot_error:0.5499420166015625
t_error:0.01656513102352619
  • the unit of rotation error is degree, so rotation error is 0.549 degree, is that correct ?
  • translation error is 0.01656513102352619, but i am not clear with the unit of translation error on dtu dataset. Can you tell me the unit of output translation error 0.01656513102352619 ?

@henry123-boy
Copy link
Owner

Sorry for not replying in time.
For the question above, the camera pose alignment can be accomplished with different algorithms. One of most efficient approach is procrustes analysis which is mentioned in your question https://github.com/henry123-boy/Level-S2FM_official/blob/30915cbf6d9ea7d376d5fb2be0a223d7b9bfa5a5/pipelines/Camera.py#L584. However, procrustes analysis is just coarse alignment of camera poses which is used to coarsely check the accuracy of estimated poses during training. In the evaluation, we use a more precise camera pose alignment method which can refer to the python binding of COLMAP https://github.com/colmap/pycolmap.

  1. We first use colmap to triangulate the 3D points with the our estimated poses. -> get lots of triangulated 3D points in the current pose coordinate.
  2. Then get the triangulated 3D points with the gt poses -> get lots of triangulated 3D points in gt pose coordinate.
  3. Use the pycolmap.align_reconstructions to align these two coordinates

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants