# DBow3_BEBLID **Repository Path**: CodeAlan3/dbow3 ## Basic Information - **Project Name**: DBow3_BEBLID - **Description**: 对原始BDow3进行了一些改进: 1.增加了保存离线词袋为txt格式、bin格式 2.增加了BEBLID描述子类型的词袋词典 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2021-12-23 - **Last Updated**: 2024-10-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: slam ## README # DBow3 release_v1.0_20220401 修改自:https://github.com/itswcg/DBow/tree/DBow3 #### 介绍 对原始BDow3进行了一些改进: 1.增加了保存离线词袋为txt格式、bin格式 2.增加了BEBLID描述子类型的词袋词典 #### DBoW3与DBoW2 DBoW3是DBoW2的增强版,这是一个开源C++库,用于给图像特征排序,并将图像转化成视觉词袋表示。 DBoW3与DBoW2的主要差别: 1、DBoW3可使用二值和浮点特征描述子,无需为任何描述符重写类; 2、DBoW3可以在Linux和Windows下编译; 3、仍然和DBoW2中的yml文件兼容。 4、DBoW3依赖项只有OpenCV,DBoW2依赖项DLIB被移除; 5、重写了代码进行优化,DBoW3的接口也被简化了; 6、可使用二进制视觉词典文件,加载或者保存速度更快,而且,二进制文件还能被压缩; 同时,DoW3还生成一个图像数据库,带有顺序索引和逆序索引,可以使图像特征的检索和对比非常快。 #### 安装教程 1. git clone https://gitee.com/CodeAlan3/dbow3.git 2. cd dbow3 3. mkdir build & cd build 4. cmake .. 5. make 6. cd utils 7. ./feature_training ******************************************************************************************************************************* #### 使用说明 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: * DBoW3 only requires OpenCV. DBoW2 dependency of DLIB is been removed. * DBoW3 is able to use both binary and floating point descriptors out of the box. No need to reimplement any class for any descriptor. * DBoW3 compiles both in linux and windows. * Some pieces of code have been rewritten to optimize speed. The interface of DBoW3 has been simplified. ## ## Citing If you use this software in an academic work, please cite: @ARTICLE{GalvezTRO12, author={G\'alvez-L\'opez, Dorian and Tard\'os, J. D.}, journal={IEEE Transactions on Robotics}, title={Bags of Binary Words for Fast Place Recognition in Image Sequences}, year={2012}, month={October}, volume={28}, number={5}, pages={1188--1197}, doi={10.1109/TRO.2012.2197158}, ISSN={1552-3098} } } ## 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