简介
DBoW2 is an improved version of the DBow library, an open source C++ library for indexing and converting images into a bag-of-word representation. It implements a hierarchical tree for approximating nearest neighbours in the image feature space and creating a visual vocabulary. DBoW2 also implements an image database with inverted and direct files to index images and enabling quick queries and feature comparisons. The main differences with the previous DBow library are:
- DBoW2 classes are templated, so it can work with any type of descriptor.
- DBoW2 is shipped with classes to directly work with ORB or BRIEF descriptors.
- DBoW2 adds a direct file to the image database to do fast feature comparison. This is used by DLoopDetector.
- DBoW2 does not use a binary format any longer. On the other hand, it uses the OpenCV storage system to save vocabularies and databases. This means that these files can be stored as plain text in YAML format, making compatibility easier, or compressed in gunzip format (.gz) to reduce disk usage.
- Some pieces of code have been rewritten to optimize speed. The interface of DBoW2 has been simplified.
- For performance reasons, DBoW2 does not support stop words.
DBoW2 requires OpenCV and the Boost::dynamic_bitset
class in order to use the BRIEF version.
DBoW2, along with DLoopDetector, has been tested on several real datasets, yielding an execution time of 3 ms to convert the BRIEF features of an image into a bag-of-words vector and 5 ms to look for image matches in a database with more than 19000 images.
安装
git clone https://github.com/dorian3d/DBoW2.git
cd DBoW2
mkdir build
cd build
cmake ..
make -j4
sudo make install