mapillary / mapillary/OpenSfM

How to get the position of GCPs in the point cloud?

Open
#355 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

sfm-reconstruction
Dominant language
Python
Stars
3.8k
Forks
899
PR merge metrics
No merged PRs in 30d

Description

I did a 3D reconstruction of terrain using a drone and 8 GCPs. I would like, as validation, to measure the distance between the real measured position of GCP (that I give in gcp_list.txt) and its final coordinates in the point cloud.

I have been reviewing the code and, I think that in the point cloud the GCPs are not added. However, I have noticed that in opensfm/align.py there is a function triangulate_all_gcp that returns the triangulated and measured GCPs. I thought to use it and, for that, I wrote a small code where I read the undistorted reconstruction using data.load_undistorted_reconstruction() in order to pass it to triangulate_all_gcp function.

My question is: the final pose if it is in undistorted reconstruction?
I ask that because when I calculate the distance between both triangulated and measured GCPs, I get values of approximately 10 meters. Perhaps this is not the best way to do this.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with opensfm/align.py and the triangulate_all_gcp function, then inspect data.load_undistorted_reconstruction() and the point-cloud export path. Compare the triangulated and measured GCP coordinates with the final point cloud to determine whether they use the same coordinate frame; done means identifying the correct validation path or documenting the mismatch.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
computer-vision
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.