mapillary / mapillary/OpenSfM

Issues with reconstructing using images from GoPro Hero 4 Session

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

Nobody has claimed this yet.

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

Description

My GoPro Hero 4 Session apparently produces images with "Focal Length in 35mm" set to 1, which produces horrible results when trying to reconstruct a scene. When I change compute_focal to only use focal_35 > 1 and provide the sensor size (4.57mm) through sensor_data.json I get the results I expect.

I'm not really sure what has changed and where but my January uploads to Mapillary with this camera were fine while my uploads in September have issues. Because of build issues I haven't been able to check if older OpenSfM versions produce the same issues, and I don't have older images I can use to check for changes in the exif data.

Is it reasonable for OpenSfM to ignore exif data if the 35mm focal length is reported as <= 1?

Example Mapillary image with issues: https://www.mapillary.com/app/?lat=59.9627934&lng=11.0542162&z=17&pKey=1035824187167841&focus=photo

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 at the compute_focal logic and sensor_data.json handling mentioned in the issue, then inspect how the GoPro EXIF value is used during reconstruction. Compare the reported focal-length behavior with the suggested <=1 condition and sensor size. Done means the invalid 35mm value no longer produces incorrect reconstruction results, with the behavior verified against the example image if available.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
computer-vision
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.