rmsalinas / DBow3

Improved version of DBow2
Other
501 stars 237 forks source link

DBoW3

For an improved version of this project, please see FBOW https://github.com/rmsalinas/fbow.

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:

Citing

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} 
 } 

Installation notes

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.

How to use

Check utils/demo_general.cpp

Classes

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

Load/Store Vocabulary

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