Skip to content

Commit

Permalink
more options (#11)
Browse files Browse the repository at this point in the history
  • Loading branch information
lpanaf authored Jul 31, 2024
1 parent f690c0a commit 816e06f
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 6 deletions.
6 changes: 1 addition & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# GLOMAP: Global Structure-from-Motion Revisited

[Project page](https://lpanaf.github.io/eccv24_glomap/) | [Paper](https://demuc.de/papers/pan2024glomap.pdf) | [ Supplementary](https://demuc.de/papers/pan2024glomap_supp.pdf)
[Project page](https://lpanaf.github.io/eccv24_glomap/) | [Paper](https://arxiv.org/pdf/2407.20219)
---

## About
Expand Down Expand Up @@ -36,10 +36,6 @@ After installation, one can run GLOMAP by (starting from a database)
glomap mapper --database_path DATABASE_PATH --output_path OUTPUT_PATH --image_path IMAGE_PATH
```
For more details on the command line interface, one can type `glomap -h` or `glomap mapper -h` for help.
To obtain a colored reconstruction, it is recommended to call
```shell
colmap color_extractor --image_path IMAGE --input_path MODEL_INPUT --output_path MODEL_OUTPUT
```

Note:
- GLOMAP depends on two external libraries - [COLMAP](https://github.com/colmap/colmap) and [PoseLib](https://github.com/PoseLib/PoseLib).
Expand Down
20 changes: 20 additions & 0 deletions docs/getting_started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Getting started
### Installation and End-to-End Examples
Please refer to the main `README.md`

### Recommended practice
The default parameters do not always gaurantee satisfying reconstructions.
Regarding this, there are several things which can generally help

#### Share camera parameters as much as possible
If images are known to be taken with the same camera, or images are well organized and known to be taken by several cameras, it is higly recommended to share the camera intrinsics
To achieve this, one can set `--ImageReader.single_camera_per_folder` or `--ImageReader.single_camera_per_image` in `colmap feature_extractor` to be 1.

#### Allow larger epipolar error
If images are of high resolution, or are blurry, it is worth trying to increase the allowed epipolar error by modifying `--RelPoseEstimation.max_epipolar_error`. For example, make it 4, or 10.

#### Cap the number of tracks
If the number of images and points are large, the run-time of global bundle adjustment can be long. In this case, to further speed up the overall reconstruction process, the total number of points can be capped, by changing `--TrackEstablishment.max_num_tracks`. Typically, one image should not need more than 1000 tracks to achieve good performance, so this number can be adjusted to $1000 \times n$.
Afterwards, if a full point cloud is desired (for example, to initialize a Gaussian Splatting), points can be triangulated directly by calling `colmap point_triangulator`.

Note, if the `--skip_retriangulation` is not set true when calling `glomap mapper`, retriangulation should already been performed.
10 changes: 9 additions & 1 deletion glomap/controllers/option_manager.cc
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,15 @@ void OptionManager::AddTrackEstablishmentOptions() {
if (added_track_establishment_options_) {
return;
}
// TODO: maybe add options for track establishment
added_track_establishment_options_ = true;
AddAndRegisterDefaultOption("TrackEstablishment.min_num_tracks_per_view",
&mapper->opt_track.min_num_tracks_per_view);
AddAndRegisterDefaultOption("TrackEstablishment.min_num_view_per_track",
&mapper->opt_track.min_num_view_per_track);
AddAndRegisterDefaultOption("TrackEstablishment.max_num_view_per_track",
&mapper->opt_track.max_num_view_per_track);
AddAndRegisterDefaultOption("TrackEstablishment.max_num_tracks",
&mapper->opt_track.max_num_tracks);
}

void OptionManager::AddGlobalPositionerOptions() {
Expand Down

0 comments on commit 816e06f

Please sign in to comment.