mapillary / mapillary/OpenSfM

Partial constraints for GCPs

Open
#302 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

I am monitoring glacier change with monthly measurements, and currently need to align each flight manually due to the lack of precise ground control points. Because of the way the landscape changes, it would be relatively easy to establish repeatable, precise lat/lon coordinates for certain features even without precise geolocation, but altitude may change significantly between measurement runs.

Conversely there is a glacial lake with known altitude but it would be almost impossible to use lat/lon out there. So I was wondering if the GCP control point format could be extended to allow something like

<geo_x> <geo_y> NAN <img_x> <img_y> <image_name>
NAN NAN <geo_z> <img_x> <img_y> <image_name>

Update:
I've read more of the source and I would guess the first option (unknown altitude) may be easier to accommodate. The cost function is calculated in image space, and one unknown component would be equivalent to the distance of the specified image location to a line rather than the reprojected point. In the second case (elevation only) there appears not to be enough information.

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 by reading the GCP control-point format handling and the image-space cost function described in the issue. Determine whether unknown altitude can be supported without changing the existing model, and compare that with the elevation-only case. Done means the selected partial-constraint form is implemented, validated, and covered by appropriate tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
computer-vision
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.