raulmur / ORB_SLAM2

Real-Time SLAM for Monocular, Stereo and RGB-D Cameras, with Loop Detection and Relocalization Capabilities
Other
9.39k stars 4.69k forks source link

What is Vocabulary/ORBvoc.txt for? #139

Open jiapei100 opened 8 years ago

jiapei100 commented 8 years ago

Sorry for my entry-level question, but what is Vocabulary/ORBvoc.txt for? Can I just ignore this parameter during testing my own camera?

Cheers

chwimmer commented 8 years ago

Very basic question. But your answers is in here: Bags of Binary Words for Fast Recognition in Image Sequences

So no you cant ignore it.

jiapei100 commented 8 years ago

@chwimmer Thank you chwimmer, for your very prompt reply. So, Vocabularly/ORBvoc.txt cannot be ignored. But, when I use my own camera or captured images to start a fresh testing, should I use the same Vocabulary/ORBvoc.txt? Or, should I use my own Vocabulary/ORBvoc.txt?

Thanks...

chwimmer commented 8 years ago

Just use the same Vocabulary because its taken from a huge sets of data and works pretty good. I recommend to use this pull request because the Vocabulary is loaded faster but it also works with the ORBvoc.txt

jiapei100 commented 8 years ago

@chwimmer Ok, make sense.... Current Vocabulary/ORBvoc.txt is trained out from a huge database, which is more or less a kind of generic ... I wonder how I can train my own Vocabulary/ORBvoc.txt? Any tutorial?

Cheers

rikpires commented 8 years ago

Yes you could train your own data set. Please refer to https://github.com/dorian3d/DBoW2. Make sure to collect enough sample data.

qianwenjun0801 commented 8 years ago

@jiapei100 you should save lots of msg as voc.txt/bin saved when you load the camera and run ORB_SLAM2, and then train these msg.., the program is not very difficult, just follow the algorithm which can been seen in "DBoW2/TemplatedVocabulary.h "

Fatmoham commented 7 years ago

@raulmur ,@chwimmer, @rikpires, @qianwenjun0801 As mentioned in this paper "Fast Relocalisation and Loop Closing in Keyframe-Based SLAM" you created vocabulary using the data-set Bovisa 2008-09-01. This Vocabulary is taken from a huge sets of data and works pretty good for indoor and outdoor SLAM. If I want to use the same program ORBSLAM2 in completely different environment rather than indoor and outdoor environment, are the ORBvoc.text still good to use? Or I need to generate my own Vocabulary for the data-sets I collected from that environment?

arifle commented 6 years ago

@Fatmoham Have you already fixed it? I am asking myself the same question but have no answer and I come to search and find this. I don't exactly understand what the meaning of the 'large dataset' is. Does it mean that database is somehow common to most of the natural scene or it mean the database is a large one (or large enough) wrt all the experimental datasets used by ORBSLAM?

katey24 commented 3 years ago

Thank you for this forum.. it help me to test my samples in ORBSLAM research.

akshaygulabrao commented 2 years ago

Thank you for this question.