mapillary / mapillary/OpenSfM

[Help for Project] Reprojection using point cloud and json of OpenSfM

Open
#1,004 3 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

Good afternoon, everyone

Wanted to see if it were possible for anyone to help me on a project I’m doing using OpenSfM.
My objective is to make a projection from 3D to 2D, using .ply Point Cloud and write the respective matching pixel on an image. The problem I have right now is scaling.

image_test

The image above represents 10% of the points from the 1.6 million vertices point cloud. You can see that it has the shape of the pillar, but the scaling is all wrong. I’m using reconstruction.json from the undistorted folder and using EXIF library to export information from the images to create the camera intrinsic matrix.

Below, there's a zip with image, reconstruction.json and the ipynb code (also the code in .txt form):

iPYNB code.zip
Projection.txt

I appreciate any help. Thank you in advance and have a wonderful weekend.

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

Review the attached reconstruction.json, iPYNB code.zip, and Projection.txt, beginning with how the reconstruction data and EXIF-derived camera intrinsics are used. Compare the projected point-cloud scale with the supplied image and determine what correction is needed; done means the 3D points align with their matching image pixels.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
computer-vision
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.