mapillary / mapillary/OpenSfM

Understanding OpenSfm Coordinate systems

Open
#1,000 0 comments 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

I have seen this doc: https://opensfm.org/docs/cam_coord_system.html, but it has not answer my questions about the coordinate systems.
For example in this code:

from opensfm import dataset
from opensfm import pygeometry
import numpy as np

path_to_data = 'data/berlin'
image_name = '01.jpg'
data = dataset.DataSet(path_to_data)
recs = data.load_reconstruction()[0]
shot = recs.shots[image_name]
cam = shot.camera
org = shot.pose.get_origin()
t_cam2world = pose.get_t_cam_to_world()
t_world2cam  = pose.get_t_world_to_cam()
R_world_to_cam = pose.get_R_world_to_cam()
R_cam_to_world = pose.get_R_cam_to_world()
  • What is the difference among shot.pose.translation , shot.pose.get_origin() and shot.pose.get_t_world_to_cam()
    • shot.pose.translation == [-39.92162186654672, 4.321152612338446, 42.30462302120646]
    • shot.pose.get_origin() == [-9.12350592612648, -4.150188496711767, 57.459785558064425]
    • shot.pose.get_t_world_to_cam() == [-0.48666580475695764, 6.902214741262238, 7.5422937224223965]
  • What is the difference between shot.pose.rotation and shot.pose.get_R_cam_to_world()
    • shot.pose.rotation == [2.2100701859936356, 1.2014072132379674, 1.0844326019850279]
    • shot.pose.get_R_cam_to_world() == 3x3 rotatio matrix
  • Where can I find the documentation of these functions
  • Thanks

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 the linked cam_coord_system.html documentation and the shown Pose entry points: translation, get_origin(), get_t_world_to_cam(), rotation, and get_R_cam_to_world(). Trace their definitions and coordinate conventions, then document the distinctions and explain the example values. Done means the coordinate-system questions and function documentation gaps are answered clearly.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
computer-vision, documentation
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.