{"id":19341423,"url":"https://github.com/a1302z/hierarchical_visual_localisation","last_synced_at":"2025-04-23T03:31:56.922Z","repository":{"id":51613465,"uuid":"190352238","full_name":"a1302z/hierarchical_visual_localisation","owner":"a1302z","description":"Hierarchical visual localization","archived":false,"fork":false,"pushed_at":"2019-12-19T13:23:50.000Z","size":65443,"stargazers_count":16,"open_issues_count":0,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-30T10:54:54.804Z","etag":null,"topics":["computer-vision","deep-learning","sift","visual-localization"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/a1302z.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-06-05T08:02:45.000Z","updated_at":"2023-11-03T05:05:09.000Z","dependencies_parsed_at":"2022-08-22T14:11:26.157Z","dependency_job_id":null,"html_url":"https://github.com/a1302z/hierarchical_visual_localisation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a1302z%2Fhierarchical_visual_localisation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a1302z%2Fhierarchical_visual_localisation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a1302z%2Fhierarchical_visual_localisation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a1302z%2Fhierarchical_visual_localisation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/a1302z","download_url":"https://codeload.github.com/a1302z/hierarchical_visual_localisation/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223909859,"owners_count":17223576,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computer-vision","deep-learning","sift","visual-localization"],"created_at":"2024-11-10T03:30:38.668Z","updated_at":"2024-11-10T03:31:45.919Z","avatar_url":"https://github.com/a1302z.png","language":"Jupyter Notebook","readme":"# Hierarchical visual localization pipeline\nThis work was done during my [master's thesis](https://syncandshare.lrz.de/dl/fiQXZ8DuirBgMeM9iJJaKFQ3/?inline) under [Prof. Leal-Taixe](https://dvl.in.tum.de/team/lealtaixe/) and [Qunjie Zhou](https://dvl.in.tum.de/team/zhouq/). \n\nVisual localization pipeline using following steps\n1) Find similar database images (neighbors) by using global descriptors\n![Neighbor images](figures/neighbors.png)\n2) Extract local descriptors from neighboring database and query image\n3) Match local descriptors\n![Matching](figures/matching.png)\n4) Calculate 6-DoF pose using RANSAC scheme\n\n| ![Overall concept](figures/concept.png) |\n|:--:|\n|Overall concept|\n\n\n## Current performance\n### Results\nEvaluation via [online evaluation system](https://www.visuallocalization.net) with [benchmark results](https://www.visuallocalization.net/benchmark/) available.\n\n\n\n| GeM / Superpoint    | Day  | Night |\n|---------------------|------|-------|\n| High precision      | 71.0 | 31.6  |\n| Medium precision    | 79.5 | 46.9  |\n| Coarse precision    | 90.0 | 65.3  |\n\n``` python evaluate.py --ratio_thresh 0.8 --reproj_error 14.0 --n_neighbors 20 --global_method Cirtorch --local_method Superpoint ```\n\n\n| GeM / SIFT       | Day  | Night |\n|------------------|------|-------|\n|  High precision  | 76.3 | 19.4  |\n| Medium precision | 83.7 | 28.6  |\n| Coarse precision | 87.7 | 36.7  |\n\nCommand to reproduce result:  \n``` python evaluate.py --ratio_thresh 0.75 --n_neighbors 20 --global_method Cirtorch ```\n\nTo use artificial night images mentioned in thesis you can download them [here](https://syncandshare.lrz.de/dl/fiDymBjT43QSsJTqueiLo1S2)\n\n### Speed\nEvaluated using following hardware:\n - Intel(R) Xeon(R) CPU E5520  @ 2.27GHz\n - GeForce GTX TITAN X\n \n |                   | Colmap     | Superpoint |\n | ----------------- | ---------- | ---------- |\n | Setup time        | 50 seconds | 45 seconds |\n | Mean time / img   | \u003c1 seconds | 3 seconds  |\n | Median time / img | \u003c1 seconds | 3 seconds  |\n | Max time / img    | 2 seconds  | 14 seconds |\n \n## Get started\nPrerequisites: \n - Install [conda](https://docs.anaconda.com/anaconda/install/)\n - Download [AachenDayNight dataset](https://drive.google.com/drive/folders/1a4qf-ZVsuGF96xsG8_GEgo-ifcAtZMPE)\n - (Optional) Install [Colmap](https://demuc.de/colmap/)\n \nExample for start on Linux\n```\ngit clone https://github.com/a1302z/hierarchical_visual_localisation.git\ncd hierarchical_visual_localisation\nconda env create -f requirements.yml\nmkdir data\ncd data\nwget https://syncandshare.lrz.de/dl/fiQXCXZ9ibmrm7rwUJzAvNL4\ncd ..\nmv \u003cpath to AachenDayNight dataset\u003e data/\n```\n\n## Credits\nThe concept of hierarchical localisation was introduced in this [paper](https://arxiv.org/abs/1809.01019).\n\nWe used code from the following repositories.\n- [HF-Net](https://www.github.com/ethz-asl/hfnet)\n- [Pytorch NetVLAD](http://www.robots.ox.ac.uk/~albanie/pytorch-models.html)\n- [CNN Image Retrieval (GeM)](https://github.com/filipradenovic/cnnimageretrieval-pytorch)\n- [Superpoint](https://github.com/MagicLeapResearch/SuperPointPretrainedNetwork)\n- [D2-Net](https://github.com/mihaidusmanu/d2-net)\n- [PyTorch geometric](https://github.com/rusty1s/pytorch_geometric)\n\nIf we missed any credits please let us know.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa1302z%2Fhierarchical_visual_localisation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fa1302z%2Fhierarchical_visual_localisation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa1302z%2Fhierarchical_visual_localisation/lists"}