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
- **[BREAKING]** improved structure of the SfM folders (triangulation and reconstruction), see [#76](#76)
- Support for image retrieval (NetVLAD, DIR) and more local features (SIFT, R2D2)
- Support for more datasets: Aachen v1.1, Extended CMU Seasons, RobotCar Seasons, 4Seasons, Cambridge Landmarks, 7-Scenes
- Simplified pipeline and API
- Spatial matcher
- Support for arbitrary paths of features and matches
- Support for matching multiple feature files together
Copy file name to clipboardexpand all lines: README.md
+38-9
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# hloc - the hierarchical localization toolbox
2
2
3
-
This is `hloc`, a modular toolbox for state-of-the-art 6-DoF visual localization. It implements [Hierarchical Localization](https://arxiv.org/abs/1812.03506), leveraging image retrieval and feature matching, and is fast, accurate, and scalable. This codebase won the indoor/outdoor [localization challenge at CVPR 2020](https://sites.google.com/view/vislocslamcvpr2020/home), in combination with [SuperGlue](https://psarlin.com/superglue/), our graph neural network for feature matching.
3
+
This is `hloc`, a modular toolbox for state-of-the-art 6-DoF visual localization. It implements [Hierarchical Localization](https://arxiv.org/abs/1812.03506), leveraging image retrieval and feature matching, and is fast, accurate, and scalable. This codebase won the indoor/outdoor localization challenges at [CVPR 2020](https://sites.google.com/view/vislocslamcvpr2020/home) and [ECCV 2020](https://sites.google.com/view/ltvl2020/), in combination with [SuperGlue](https://psarlin.com/superglue/), our graph neural network for feature matching.
4
4
5
5
With `hloc`, you can:
6
6
@@ -34,8 +34,6 @@ docker run -it --rm -p 8888:8888 hloc:latest # for GPU support, add `--runtime=
The toolbox is composed of scripts, which roughly perform the following steps:
@@ -57,6 +55,7 @@ Strcture of the toolbox:
57
55
-`hloc/*.py` : top-level scripts
58
56
-`hloc/extractors/` : interfaces for feature extractors
59
57
-`hloc/matchers/` : interfaces for feature matchers
58
+
-`hloc/pipelines/` : entire pipelines for multiple datasets
60
59
61
60
## Tasks
62
61
@@ -84,7 +83,11 @@ We show in [`pipeline_SfM.ipynb`](https://nbviewer.jupyter.org/github/cvg/Hierar
84
83
85
84
## Results
86
85
87
-
`hloc` currently supports [SuperPoint](https://arxiv.org/abs/1712.07629) and [D2-Net](https://arxiv.org/abs/1905.03561) local feature extractors; and [SuperGlue](https://arxiv.org/abs/1911.11763) and Nearest Neighbor matchers. Using [NetVLAD](https://arxiv.org/abs/1511.07247) for retrieval, we obtain the following best results:
86
+
- Supported local feature extractors: [SuperPoint](https://arxiv.org/abs/1712.07629), [D2-Net](https://arxiv.org/abs/1905.03561), [SIFT](https://www.cs.ubc.ca/~lowe/papers/ijcv04.pdf), and [R2D2](https://arxiv.org/abs/1906.06195).
87
+
- Supported feature matchers: [SuperGlue](https://arxiv.org/abs/1911.11763) and the Nearest Neighbor matcher with ratio test and/or mutual check.
88
+
- Supported image retrieval: [NetVLAD](https://arxiv.org/abs/1511.07247) and [AP-GeM/DIR](https://github.com/naver/deep-image-retrieval).
89
+
90
+
Using [NetVLAD](https://arxiv.org/abs/1511.07247) for retrieval, we obtain the following best results:
88
91
89
92
| Methods | Aachen day | Aachen night | Retrieval |
@@ -101,6 +104,10 @@ We show in [`pipeline_SfM.ipynb`](https://nbviewer.jupyter.org/github/cvg/Hierar
101
104
102
105
Check out [visuallocalization.net/benchmark](https://www.visuallocalization.net/benchmark) for more details and additional baselines.
103
106
107
+
## Supported datasets
108
+
109
+
We provide in [`hloc/pipelines/`](./hloc/pipelines) scripts to run the reconstruction and the localization on the following datasets: Aachen Day-Night (v1.0 and v1.1), InLoc, Extended CMU Seasons, RobotCar Seasons, 4Seasons, Cambridge Landmarks, and 7-Scenes.
110
+
104
111
## BibTex Citation
105
112
106
113
If you report any of the above results in a publication, or use any of the tools provided here, please consider citing both [Hierarchical Localization](https://arxiv.org/abs/1812.03506) and [SuperGlue](https://arxiv.org/abs/1911.11763) papers:
@@ -162,17 +169,39 @@ In a match file, each key corresponds to the string `path0.replace('/', '-')+'_'
162
169
<details>
163
170
<summary>[Click to expand]</summary>
164
171
165
-
For now `hloc` does not have an interface for image retrieval. You will need to export the global descriptors into an HDF5 file, in which each key corresponds to the relative path of an image w.r.t. the dataset root, and contains a dataset `global_descriptor` with size D. You can then export the images pairs with [`hloc/pairs_from_retrieval.py`](hloc/pairs_from_retrieval.py).
172
+
`hloc` also provides an interface for image retrieval via `hloc/extract_features.py`. As previously, simply add a new interface to [`hloc/extractors/`](hloc/extractors/). Alternatively, you will need to export the global descriptors into an HDF5 file, in which each key corresponds to the relative path of an image w.r.t. the dataset root, and contains a dataset `global_descriptor` with size D. You can then export the images pairs with [`hloc/pairs_from_retrieval.py`](hloc/pairs_from_retrieval.py).
173
+
</details>
174
+
175
+
## Versions
176
+
177
+
<details>
178
+
<summary>dev branch</summary>
179
+
180
+
Continuously adds new features.
181
+
</details>
182
+
183
+
<details>
184
+
<summary>v1.1 (July 2021)</summary>
185
+
186
+
-**Breaking**: improved structure of the SfM folders (triangulation and reconstruction), see [#76](https://github.com/cvg/Hierarchical-Localization/pull/76)
187
+
- Support for image retrieval (NetVLAD, DIR) and more local features (SIFT, R2D2)
188
+
- Support for more datasets: Aachen v1.1, Extended CMU Seasons, RobotCar Seasons, Cambridge Landmarks, 7-Scenes
189
+
- Simplified pipeline and API
190
+
- Spatial matcher
191
+
</details>
192
+
193
+
<details>
194
+
<summary>v1.0 (July 2020)</summary>
195
+
196
+
Initial public version.
166
197
</details>
167
198
168
199
## Contributions welcome!
169
200
170
201
External contributions are very much welcome. This is a non-exaustive list of features that might be valuable additions:
0 commit comments