See LICENSE file. This repo is build on top of https://github.com/KinglittleQ/SuperPoint_SLAM with support for latest pytorch and c++14
We use the new thread and chrono functionalities of C++14.
We use Pangolin for visualization and user interface. Dowload and install instructions can be found at: https://github.com/stevenlovegrove/Pangolin.
We use OpenCV to manipulate images and features. Dowload and install instructions can be found at: http://opencv.org. Required at least OpenCV 3.
Required by g2o (see below). Download and install instructions can be found at: http://eigen.tuxfamily.org. Required at least 3.1.0.
We use modified versions of DBoW3 (instead of DBoW2) library to perform place recognition and g2o library to perform non-linear optimizations. Both modified libraries (which are BSD) are included in the Thirdparty folder.
Use G++-8 as default to build pytorch
We use Pytorch C++ API to implement SuperPoint model. It can be built with latest pytorch:
git clone --recursive https://github.com/pytorch/pytorch
cd pytorch && mkdir build && cd build
python ../tools/build_libtorch.py
It may take quite a long time to download and build. Please wait with patience.
NOTE: Do not use the pre-built package in the official website, it would cause some errors.
chmod +x build.sh
./build.sh
sh run.sh
You can download the vocabulary from google drive or BaiduYun (code: de3g). And then put it into Vocabulary
directory. The vocabulary was trained on Bovisa_2008-09-01 using DBoW3 library. Branching factor k and depth levels L are set to 5 and 10 respectively.