{"id":13528755,"url":"https://github.com/KinglittleQ/SuperPoint_SLAM","last_synced_at":"2025-04-01T14:33:03.265Z","repository":{"id":37612273,"uuid":"195619465","full_name":"KinglittleQ/SuperPoint_SLAM","owner":"KinglittleQ","description":"SuperPoint + ORB_SLAM2","archived":false,"fork":false,"pushed_at":"2021-04-11T05:38:30.000Z","size":6127,"stargazers_count":569,"open_issues_count":14,"forks_count":123,"subscribers_count":17,"default_branch":"master","last_synced_at":"2024-11-02T15:36:17.652Z","etag":null,"topics":["orb-slam2","slam"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KinglittleQ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-07-07T06:47:48.000Z","updated_at":"2024-11-01T13:03:00.000Z","dependencies_parsed_at":"2022-07-12T16:33:39.014Z","dependency_job_id":null,"html_url":"https://github.com/KinglittleQ/SuperPoint_SLAM","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/KinglittleQ%2FSuperPoint_SLAM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KinglittleQ%2FSuperPoint_SLAM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KinglittleQ%2FSuperPoint_SLAM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KinglittleQ%2FSuperPoint_SLAM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KinglittleQ","download_url":"https://codeload.github.com/KinglittleQ/SuperPoint_SLAM/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246655246,"owners_count":20812606,"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":["orb-slam2","slam"],"created_at":"2024-08-01T07:00:23.928Z","updated_at":"2025-04-01T14:32:58.253Z","avatar_url":"https://github.com/KinglittleQ.png","language":"C++","funding_links":[],"categories":["5. Learning based SLAM"],"sub_categories":["5.2 Others"],"readme":"# SuperPoint-SLAM\n\n**UPDATE: This repo is no longer maintained now. Please refer to https://github.com/jiexiong2016/GCNv2_SLAM if you are intereseted in SLAM with deep learning image descriptors.**\n\n**NOTE: SuperPoint-SLAM is not guaranteed to outperform ORB-SLAM. It's just a trial combination of SuperPoint and ORB-SLAM. I release the code for people who wish to do some research about neural feature based SLAM.**\n\nThis repository was forked from ORB-SLAM2 https://github.com/raulmur/ORB_SLAM2.  SuperPoint-SLAM is a modified version of ORB-SLAM2 which use SuperPoint as its feature detector and descriptor. The pre-trained model of SuperPoint  come from https://github.com/MagicLeapResearch/SuperPointPretrainedNetwork.\n\n![overview](pic/overview.png)\n\n![traj](pic/traj.png)\n\n## 1. License (inherited from ORB-SLAM2)\n\nSee LICENSE file.\n\n## 2. Prerequisites\nWe have tested the library in **Ubuntu 12.04**, **14.04** and **16.04**, but it should be easy to compile in other platforms. A powerful computer (e.g. i7) will ensure real-time performance and provide more stable and accurate results.\n\n### C++11 or C++0x Compiler\nWe use the new thread and chrono functionalities of C++11.\n\n### Pangolin\nWe use [Pangolin](https://github.com/stevenlovegrove/Pangolin) for visualization and user interface. Dowload and install instructions can be found at: https://github.com/stevenlovegrove/Pangolin.\n\n### OpenCV\nWe use [OpenCV](http://opencv.org) to manipulate images and features. Dowload and install instructions can be found at: http://opencv.org. **Required at leat 2.4.3. Tested with OpenCV 2.4.11 and OpenCV 3.2**.\n\n### Eigen3\nRequired by g2o (see below). Download and install instructions can be found at: http://eigen.tuxfamily.org. **Required at least 3.1.0**.\n\n### DBoW3 and g2o (Included in Thirdparty folder)\nWe use modified versions of [DBoW3](https://github.com/rmsalinas/DBow3) (instead of DBoW2) library to perform place recognition and [g2o](https://github.com/RainerKuemmerle/g2o) library to perform non-linear optimizations. Both modified libraries (which are BSD) are included in the *Thirdparty* folder.\n\n### Libtorch\n\nWe use Pytorch C++ API to implement SuperPoint model. It can be built as follows:\n\n``` shell\ngit clone --recursive -b v1.0.1 https://github.com/pytorch/pytorch\ncd pytorch \u0026\u0026 mkdir build \u0026\u0026 cd build\npython ../tools/build_libtorch.py\n```\n\nIt may take quite a long time to download and build. Please wait with patience.\n\n**NOTE**: Do not use the pre-built package in the official website, it would cause some errors.\n\n## 3. Building SuperPoint-SLAM library and examples\n\nClone the repository:\n```\ngit clone https://github.com/KinglittleQ/SuperPoint_SLAM.git SuperPoint_SLAM\n```\n\nWe provide a script `build.sh` to build the *Thirdparty* libraries and *SuperPoint_SLAM*. Please make sure you have **installed all required dependencies** (see section 2). Execute:\n```\ncd SuperPoint_SLAM\nchmod +x build.sh\n./build.sh\n```\n\nThis will create **libSuerPoint_SLAM.so**  at *lib* folder and the executables **mono_tum**, **mono_kitti**, **mono_euroc** in *Examples* folder.\n\n**TIPS:**\n\nIf cmake cannot find some package such as OpenCV or EIgen3, try to set XX_DIR which contain XXConfig.cmake manually. Add the following statement into `CMakeLists.txt`  before `find_package(XX)`:\n\n``` cmake\nset(XX_DIR \"your_path\")\n# set(OpenCV_DIR \"usr/share/OpenCV\")\n# set(Eigen3_DIR \"usr/share/Eigen3\")\n```\n\n## 4. Download Vocabulary\n\nYou can download the vocabulary from [google drive](https://drive.google.com/file/d/1p1QEXTDYsbpid5ELp3IApQ8PGgm_vguC/view?usp=sharing) or [BaiduYun](https://pan.baidu.com/s/1fygQil78GpoPm0zoi6BMng) (code: de3g). And then put it into `Vocabulary` directory. The vocabulary was trained on [Bovisa_2008-09-01](http://www.rawseeds.org/rs/datasets/view//7) using DBoW3 library. Branching factor k and depth levels L are set to 5 and 10 respectively.\n\n## 5. Monocular Examples\n\n### KITTI Dataset  \n\n1. Download the dataset (grayscale images) from http://www.cvlibs.net/datasets/kitti/eval_odometry.php \n\n2. Execute the following command. Change `KITTIX.yaml`by KITTI00-02.yaml, KITTI03.yaml or KITTI04-12.yaml for sequence 0 to 2, 3, and 4 to 12 respectively. Change `PATH_TO_DATASET_FOLDER` to the uncompressed dataset folder. Change `SEQUENCE_NUMBER` to 00, 01, 02,.., 11. \n```\n./Examples/Monocular/mono_kitti Vocabulary/ORBvoc.txt Examples/Monocular/KITTIX.yaml PATH_TO_DATASET_FOLDER/dataset/sequences/SEQUENCE_NUMBER\n```\n\n## 6. Evaluation Results on KITTI\n\nHere are the evaluation results of monocular benchmark on KITTI using RMSE(m) as metric.\n\n| Seq. |  Dimension  |    ORB    | SuperPoint |\n| :--: | :---------: | :-------: | :--------: |\n|  00  |  564 x 496  | **5.33**  |     X      |\n|  01  | 1157 × 1827 |     X     |     X      |\n|  02  |  599 × 946  | **21.28** |     X      |\n|  03  |  471 × 199  |   1.51    |  **1.04**  |\n|  04  |  0.5 × 394  |   1.62    |  **0.35**  |\n|  05  |  479 × 426  |   4.85    |  **3.73**  |\n|  06  |  23 × 457   | **12.34** |   14.27    |\n|  07  |  191 × 209  | **2.26**  |    3.02    |\n|  08  |  808 × 391  |   46.68   | **39.63**  |\n|  09  |  465 × 568  | **6.62**  |     X      |\n|  10  |  671 × 177  |   8.80    |  **5.31**  |\n\n## Citation\n\nIf you find this useful, please cite our paper.\n```\n@inproceedings{deng2019comparative,\n  title={Comparative Study of Deep Learning Based Features in SLAM},\n  author={Deng, Chengqi and Qiu, Kaitao and Xiong, Rong and Zhou, Chunlin},\n  booktitle={2019 4th Asia-Pacific Conference on Intelligent Robot Systems (ACIRS)},\n  pages={250--254},\n  year={2019},\n  organization={IEEE}\n}\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKinglittleQ%2FSuperPoint_SLAM","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FKinglittleQ%2FSuperPoint_SLAM","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKinglittleQ%2FSuperPoint_SLAM/lists"}