UZ-SLAMLab / ORB_SLAM3

ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM
GNU General Public License v3.0
6.41k stars 2.52k forks source link

What does the vocabulary mean? #345

Closed oliver0922 closed 2 years ago

oliver0922 commented 3 years ago

Hi I'm using stereo-inertial Camera with IMU.

I want use my own datasets. Therefore I record the dataset using rosbag.

I change the EuRoC.yaml file according to my Camera and IMU specifications. And then,run the code below.

rosrun ORB_SLAM3 Stereo_Inertial Vocabulary/ORBvoc.txt Examples/Stereo-Inertial/EuRoC.yaml true

Do I have to need my own ORBvoc.txt file for customizing? What does the vocaulary mean?

Ador2 commented 3 years ago

The provided Vocabulary file is trained from a huge dataset, it is somehow generic and should work very well with your setup. so no need to make your own Vocabulary file. It is meant to be used for place recognition and reloclizing, which is faster than other methods.

catproof commented 3 years ago

the vocabulary is used for DBoW2. it's what allows the algorithm to better recognize places it has already seen, from what I understand. the details are in the paper's they wrote for Orb Slam.

catproof commented 3 years ago

DBoW2 also has a paper with details.

jdtardos commented 2 years ago

Dorian Gálvez-López and Juan D. Tardós. Bags of Binary Words for Fast Place Recognition in Image Sequences. IEEE Transactions on Robotics, vol. 28, no. 5, pp. 1188-1197, 2012.