Skip to content

Commit c8e252a

Browse files
authored
Update the doc for v1.1
1 parent c9eb9fb commit c8e252a

1 file changed

Lines changed: 38 additions & 9 deletions

File tree

README.md

Lines changed: 38 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# hloc - the hierarchical localization toolbox
22

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.
44

55
With `hloc`, you can:
66

@@ -34,8 +34,6 @@ docker run -it --rm -p 8888:8888 hloc:latest # for GPU support, add `--runtime=
3434
jupyter notebook --ip 0.0.0.0 --port 8888 --no-browser --allow-root
3535
```
3636

37-
38-
3937
## General pipeline
4038

4139
The toolbox is composed of scripts, which roughly perform the following steps:
@@ -57,6 +55,7 @@ Strcture of the toolbox:
5755
- `hloc/*.py` : top-level scripts
5856
- `hloc/extractors/` : interfaces for feature extractors
5957
- `hloc/matchers/` : interfaces for feature matchers
58+
- `hloc/pipelines/` : entire pipelines for multiple datasets
6059

6160
## Tasks
6261

@@ -84,7 +83,11 @@ We show in [`pipeline_SfM.ipynb`](https://nbviewer.jupyter.org/github/cvg/Hierar
8483

8584
## Results
8685

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:
8891

8992
| Methods | Aachen day | Aachen night | Retrieval |
9093
| ------------------------------------------------------------ | ------------------ | ------------------ | -------------- |
@@ -101,6 +104,10 @@ We show in [`pipeline_SfM.ipynb`](https://nbviewer.jupyter.org/github/cvg/Hierar
101104

102105
Check out [visuallocalization.net/benchmark](https://www.visuallocalization.net/benchmark) for more details and additional baselines.
103106

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+
104111
## BibTex Citation
105112

106113
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('/', '-')+'_'
162169
<details>
163170
<summary>[Click to expand]</summary>
164171

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.
166197
</details>
167198

168199
## Contributions welcome!
169200

170201
External contributions are very much welcome. This is a non-exaustive list of features that might be valuable additions:
171202

172-
- [ ] more localization datasets (RobotCar Seasons, CMU Seasons, Aachen v1.1, Cambridge Landmarks, 7Scenes)
173203
- [ ] covisibility clustering for InLoc
174204
- [ ] visualization of the raw predictions (features and matches)
175-
- [ ] interfaces for image retrieval (e.g. [DIR](https://github.com/almazan/deep-image-retrieval), [NetVLAD](https://github.com/uzh-rpg/netvlad_tf_open))
176-
- [ ] other local features
205+
- [ ] other local features or image retrieval
177206

178-
Created and maintained by [Paul-Edouard Sarlin](https://psarlin.com/).
207+
Created and maintained by [Paul-Edouard Sarlin](https://psarlin.com/) with the help of many.

0 commit comments

Comments
 (0)