You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Multivew matcher for SfM software. Support both deep-learning based and hand-crafted local features and matchers and export keypoints and matches directly in a COLMAP database or to Agisoft Metashape by importing the reconstruction in Bundler format. It supports both CLI and GUI. Feel free to collaborate!
20
+
Multivew matcher for SfM software. Support both deep-learning based and hand-crafted local features and matchers and export keypoints and matches directly in a COLMAP database or to Agisoft Metashape by importing the reconstruction in Bundler format. Now, it supports both OpenMVG and MicMac. Feel free to collaborate!
22
21
23
22
Check the documentation at <ahref="https://3dom-fbk.github.io/deep-image-matching/">Docs</a>.
24
23
25
-
**Please, note that `deep-image-matching` is under active development** and it is still in an experimental stage. If you find any bug, please open an issue.
24
+
While `dev` branch is more frequently updated, `master` is the default more stable branch and is updated from `dev` less frequently. If you are looking for the newest developments, please switch to `dev`. **Please, note that `deep-image-matching` is under active development** and it is still in an experimental stage. If you find any bug, please open an issue.
26
25
27
26
Key features:
28
27
29
-
-[x] Multiview
30
-
-[x] Large format images
31
-
-[x] SOTA deep-learning and hand-crafted features
32
-
-[x] Full compatibility with COLMAP
33
-
-[x] Support for image rotations
34
-
-[x] Compatibility with Agisoft Metashape (only on Linux and MacOS by using pycolmap)
35
-
-[x] Support image retrieval with deep-learning local features
28
+
- Multiview
29
+
- Large format images
30
+
- SOTA deep-learning and hand-crafted features
31
+
- Support for image rotations
32
+
- Compatibility with several SfM software
33
+
- Support image retrieval with deep-learning local features
As [pycolmap](https://github.com/colmap/pycolmap) was released on PyPi only for Linux and macOS (up to version 0.4.0), it is not installed by default with deep-image-matching.
88
-
From version 0.5.0, pycolmap can be installed on Windows too. However, it will demand some testing before being added to the dependencies of deep-image-matching, as there are some errors on Windows that are blocking deep_image_matching pipeline (while it works completely fine on Linux).
84
+
Pycolmap is optional to run reconstruction directly in DIM. If pycolmap is not available, matches will be written both in a h5 and colmap database for later processing with COLMAP GUI or API, or other processing.
89
85
90
86
For more information, check the [documentation](https://3dom-fbk.github.io/deep-image-matching/installation/).
91
87
@@ -122,7 +118,7 @@ If you face any issues, especially on Linux when using the `gpus all` setting, p
122
118
123
119
## Usage instructions
124
120
125
-
You can run deep-image-matching from the command line or from the GUI.
121
+
<!-- This is a comment You can run deep-image-matching from the command line or from the GUI.-->
126
122
127
123
Use the following command to see all the available options from the CLI:
For all the usage instructions and configurations, refer to the documenation at [https://3dom-fbk.github.io/deep-image-matching/](https://3dom-fbk.github.io/deep-image-matching/getting_started) or check the example notebooks.
140
136
141
-
To run the GUI, you can use the following command:
137
+
<!--To run the GUI, you can use the following command:
142
138
143
139
```bash
144
140
python main.py --gui
145
141
146
-
```
142
+
```-->
147
143
148
144
## Advanced usage
149
145
@@ -155,7 +151,7 @@ To run the matching with different local features and/or matchers and marging to
@@ -182,14 +178,14 @@ See the [TODO list](notes.md) for the list of features and improvements that are
182
178
If you find the repository useful for your work consider citing the papers:
183
179
184
180
```bibtex
185
-
@Article{morelli2024_deep_image_matching,
186
-
AUTHOR = {Morelli, L. and Ioli, F. and Maiwald, F. and Mazzacca, G. and Menna, F. and Remondino, F.},
187
-
TITLE = {DEEP-IMAGE-MATCHING: A TOOLBOX FOR MULTIVIEW IMAGE MATCHING OF COMPLEX SCENARIOS},
188
-
JOURNAL = {The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences},
189
-
VOLUME = {XLVIII-2/W4-2024},
190
-
YEAR = {2024},
191
-
PAGES = {309--316},
192
-
DOI = {10.5194/isprs-archives-XLVIII-2-W4-2024-309-2024}
181
+
@article{morelli2024_deep_image_matching,
182
+
AUTHOR = {Morelli, L. and Ioli, F. and Maiwald, F. and Mazzacca, G. and Menna, F. and Remondino, F.},
183
+
TITLE = {DEEP-IMAGE-MATCHING: A TOOLBOX FOR MULTIVIEW IMAGE MATCHING OF COMPLEX SCENARIOS},
184
+
JOURNAL = {The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences},
185
+
VOLUME = {XLVIII-2/W4-2024},
186
+
YEAR = {2024},
187
+
PAGES = {309--316},
188
+
DOI = {10.5194/isprs-archives-XLVIII-2-W4-2024-309-2024}
193
189
}
194
190
```
195
191
@@ -216,4 +212,10 @@ Dynamics Monitoring},
216
212
}
217
213
```
218
214
219
-
Depending on the options used, consider citing the corresponding work of [KORNIA](https://github.com/kornia/kornia), [HLOC](https://github.com/cvg/Hierarchical-Localization), and local features.
215
+
Depending on the options used, consider citing the corresponding work of:
For the COLMAP database, by default, DIM assigns camera models to images based on the options loaded from the `config/cameras.yaml` file, unless otherwise specified.
4
+
5
+
For images not assigned to specific `cam<x>` camera groups, the options specified under `general` are applied. The camera_model can be selected from `["simple-pinhole", "pinhole", "simple-radial", "opencv"]`. It's worth noting that it's easily possible to extend this to include all the classical COLMAP camera models. Cameras can either be shared among all images (`single_camera == True`), or each camera can have a different camera model (`single_camera == False`).
6
+
7
+
A subset of images can share intrinsics with `cam<x>` by specifying the `camera_model` along with the names of the images separated by commas. For instance:
8
+
9
+
```
10
+
cam0:
11
+
camera_model: "pinhole"
12
+
images: "DSC_6468.jpg,DSC_6469.jpg"
13
+
```
14
+
15
+
There's no limit to the number of `cam<x>` entries you can use, just add them following the provided format.
16
+
17
+
A comprehensive example of a `cameras.yaml` file can be found in the `config` folder:
Copy file name to clipboardExpand all lines: docs/getting_started.md
+5-1
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,8 @@
2
2
3
3
Deep-Image-Matching can be launched from the Command Line (CLI), from the GUI (note that the GUI is still under development) or use Deep_Image_Matching as a Python library.
4
4
5
+
In `assets` folder there are some projects and images for testing.
6
+
5
7
## Run Deep-Image-Matching
6
8
7
9
### Command Line Interface (CLI)
@@ -10,9 +12,11 @@ Before running the CLI, check the options with `python ./main.py --help`.
10
12
11
13
The minimal required option are:
12
14
13
-
-`--dir``-d`: it is the path of the 'project directory', i.e., the directory containing a folder names 'images', with all the image to be processed, and where the output will be saved
15
+
-`--dir``-d`: it is the path of the 'project directory', i.e., the directory containing a folder named 'images', with all the image to be processed, and where the output will be saved
14
16
-`--pipeline``-p`: the name of pipeline (i.e., the combination of local feature extractor and matcher) to use (e.g., "superpoint+lightglue"). See the [Local feature extractor and matcher](#local-feature-extractor-and-matcher) section for more details.
-`--config_file``-c`: the path to the YAML configuration file containing the custom configuration. See the [Advanced configuration](#advanced-configuration) section (default: `None`, so default configuration is used)
Multivew matcher for SfM software. Support both deep-learning based and hand-crafted local features and matchers and export keypoints and matches directly in a COLMAP database or to Agisoft Metashape by importing the reconstruction in Bundler format. It supports both CLI and GUI. Feel free to collaborate!
11
+
Multivew matcher for SfM software. Support both deep-learning based and hand-crafted local features and matchers and export keypoints and matches directly in a COLMAP database or to Agisoft Metashape by importing the reconstruction in Bundler format. Now, it supports both OpenMVG and MicMac. Feel free to collaborate!
12
+
13
+
While `dev` branch is more frequently updated, `master` is the default more stable branch and is updated from `dev` less frequently. If you are looking for the newest developments, please switch to `dev`.
12
14
13
15
**Please, note that `deep-image-matching` is under active development** and it is still in an experimental stage. If you find any bug, please open an issue.
14
16
15
17
Key features:
16
18
17
-
-[x] Multiview
18
-
-[x] Large format images
19
-
-[x] SOTA deep-learning and hand-crafted features
20
-
-[x] Full compatibility with COLMAP
21
-
-[x] Support for image rotations
22
-
-[x] Compatibility with Agisoft Metashape (only on Linux and MacOS by using pycolmap)
23
-
-[x] Support image retrieval with deep-learning local features
19
+
- Multiview
20
+
- Large format images
21
+
- SOTA deep-learning and hand-crafted features
22
+
- Support for image rotations
23
+
- Compatibility with several SfM software
24
+
- Support image retrieval with deep-learning local features
Copy file name to clipboardExpand all lines: docs/installation.md
+3-5
Original file line number
Diff line number
Diff line change
@@ -25,15 +25,13 @@ cd deep-image-matching
25
25
pip install -e .
26
26
```
27
27
28
-
Install pycolmap:
28
+
Install pycolmap (optional):
29
29
30
30
```bash
31
-
pip install pycolmap
31
+
pip install pycolmap==0.6.1
32
32
```
33
+
Pycolmap is optional to run reconstruction directly in DIM. If pycolmap is not available, matches will be written both in a h5 and colmap database for later processing with COLMAP GUI or API, or other processing.
33
34
34
-
Up to version 0.4.0, [pycolmap](https://github.com/colmap/pycolmap) was released on PyPi only for Linux and macOS.
35
-
Therefore, it was not included in the dependencies of deep-image-matching, so you need to install it manually.
36
-
From [version 0.5.0](https://github.com/colmap/pycolmap/releases/tag/v0.5.0), pycolmap can be installed on Windows too. However, it needs some testing before including in dependencies of deep-image-matching, as there are some errors on Windows that are blocking deep_image_matching pipeline (while it works completely fine on Linux).
DIM can export matches in OpenMVG-compatible format and execute a comprehensive SfM reconstruction. All intermediate and final OpenMVG data are stored in the project folder specified with the `--dir` option, within the results folder for the current pipeline, under the openmvg subfolder.
4
+
5
+
To run OpenMVG processing pass to `--openmvg` option the configuration file that containes path to the binaries and run for instance:
0 commit comments