How to get the position of GCPs in the point cloud?
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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