mapillary / mapillary/OpenSfM

Different mathcing results on two machines

Open
#792 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

I'm using OpenSfM on different machines, one is a workstation with Ubuntu and the other is a server with Oracle Linux.
After running a set of 176 images, I get successful results on the workstation, but always get failed matching results on the server (0 robust matches for all images and consequently 0 tracks and 0 reconstructions).

Successful results on the workstation: (e.g.)
2021-09-03 12:44:19,093 DEBUG: Matching G0030109.JPG and G0030114.JPG. Matcher: FLANN (symmetric) T-desc: 0.547 T-robust: 0.014 T-total: 0.561 Matches: 139 Robust: 76 Success: True

Failed results on the server: (e.g.)
2021-09-02 23:43:34,546 DEBUG: Matching G0030109.JPG and G0030114.JPG. Matcher: FLANN (symmetric) T-desc: 1.122 T-robust: 0.492 T-total: 1.614 Matches: 132 Robust: 0 Success: False

I'm using exactly same config.yaml and I've confirmed the data is fine since I got successful results on the workstation and other SfM softwares (e.g. COLMAP).
Also, I've confirmed the extracted SIFT features are same (exactly same size of features.npz) on both machines.

What would be the causes of the inconsistent matching results?

  1. Different version of Python dependencies (e.g. Numpy, opencv-python) on different machines?
  2. Different version of OpenSfM? It was installed on the server by our lab administrator, but I've tested older and newer versions on the workstation and all got successful results.
  3. Any other possible reason?

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

Compare the Python, OpenCV, and OpenSfM versions on both machines, then review the matching logs for the same image pairs. Check whether the identical config.yaml and features.npz produce different matcher behavior. Done means identifying the environment difference that causes zero robust matches or documenting a reproducible cause.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.