borglab / borglab/gtsfm

Bad results on ETH3D

Open
#810 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Jupyter Notebook
Stars
524
Forks
64
Avg merge
4h 1m
Merged PRs (30d)
3

Description

Hi guys,
I am trying to compare GLOMAP performances with GTSfM. I can duplicate the results of GLOMAP (and COLMAP) runned on ETH3D _undistorted_ scenes, while for GTSfM I am getting very bad results for 22 out of 25 scenes. For both I use SIFT as feature extractor. I am running the command in `scripts/eth3d_benchmark.sh` that is

```
python gtsfm/runner/run_scene_optimizer_colmaploader.py
--mvs_off
--config unified
--correspondence_generator_config_name sift
--share_intrinsics
--images_dir {scene_path}/images
--colmap_files_dirpath {scene_path}/dslr_calibration_undistorted
--num_workers 1
--num_matched 5
--max_frame_lookahead 10
--worker_memory_limit 32GB
--output_root {scene_path}/gtsfm
--max_resolution 760
```

where {scene_path} is, for example, `.../Datasets/ETH3D_Stereo/DSLR_undistorted_gtsfm/door`.

According to the code and the argument `--colmap_files_dirpath` I am passing the GT intrinsics to the model, but when I check the camera.txt file of ba_output folder I get a different camera model and other parameters (eventhough they are basically zero). Consider the scene "door", the following is the GT camera.txt file

0 PINHOLE 6212 4140 3415.67 3414.36 3119.82 2054.28

while in GTSfM I get

0 RADIAL 1140 760 626.8293303284069 572.5361880231809 377.1142028985508 4.782895950634459e-09 -9.97228226196883e-09

As far as I get, the GT params are [fx, fy, cx,cy], while for GTSfM output I get (scaled) [fx, cx, cy, k1, k1]. Moreover, the camera model changes from pinhole to radial.

Considering I can reproduce the GLOMAP's paper results, I assume my evaluation code is correct. I have the following questions:

- Am I missing something?
- Is that the proper way to pass intrisics to the pipeline?

Thanks in advance!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.