DBoW3 is an improved version of the DBow2 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. DBoW3 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 DBow2 library are:
If you use this software in an academic work, please cite:
title = {{DBoW3} DBoW3},
year = 2017,
url = {https://github.com/rmsalinas/DBow3},
urldate = {2017-02-17}
}
DBoW3 requires OpenCV only.
For compiling the utils/demo_general.cpp you must compile against OpenCV 3. If you have installed the contrib_modules, use cmake option -DUSE_CONTRIB=ON to enable SURF.
Check utils/demo_general.cpp
DBoW3 has two main classes: Vocabulary
and Database
. These implement the visual vocabulary to convert images into bag-of-words vectors and the database to index images.
See utils/demo_general.cpp for an example
The file orbvoc.dbow3 is the ORB vocabulary in ORBSLAM2 but in binary format of DBoW3: https://github.com/raulmur/ORB_SLAM2/tree/master/Vocabulary