mapillary / mapillary/OpenSfM

Meaning of reference frame.

Open
#841 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

Hi,

I was going through the reconstruction code and had some doubts regarding the reference coordinate frame.

Here https://github.com/mapillary/OpenSfM/blob/d087aa64159d18e919ac4c5bd25ab0d27b497fad/opensfm/reconstruction.py#L597 we set the reference in some world coordinate frame. And during bootsraping https://github.com/mapillary/OpenSfM/blob/d087aa64159d18e919ac4c5bd25ab0d27b497fad/opensfm/reconstruction.py#L640 we set the pose of the first frame as Identity and compute the pose of 2nd frame with respect to the first frame (if my understanding is correct). So this means the reference for each partial reconstruction should be the first frame and hence the pose of the first frame should not change. But during alignment and bundle adjustment the pose of the first frame also changes.

So I have two questions -

  1. Am I correct in assuming that the first frame of each partial reconstruction is a reference frame with respect to which all the poses in that reconstruction are calculated. If not can you please once explain meaning of reference frame?
  2. If I have some initial poses (in world coordinate frame) then how can I pass them in openSfm codebase maintaining the correct reference.

Thank You

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 opensfm/reconstruction.py around the linked lines 597 and 640, then trace the alignment and bundle adjustment steps mentioned in the issue. Document the meaning of the reference frame and explain how initial world-coordinate poses should be supplied, with the resulting guidance answering both numbered questions.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.