I am also using ORB_SLAM2 in my project. Because the visual content is quite different I need to recreate the vocabulary. I managed to do this a few months back using DBoW2, however I was limited to ORB and SURF descriptors as I was unsure on how to code additional feature templates.
I am migrating to DBoW3 as it seems to seamlessly support all type of features.
ORB_SLAM2 uses a non-yaml human-readable (ASCII) vocabulary in TXT format. Although DBoW2 created a yml.gz vocabulary by default, some additional files in the ORB_SLAM2 repository provided the function saveToTextFile() which ensured compatibility.
After digging in the files I have seen that DBoW3 will store vocabularies as binaries or YAML. Although the YAML files can also be saved with txt extension, the content does not really resemble the format output by DBoW2::vocabulary::saveToTextFile().
Would you mind giving some pointers on how to get DBoW3 vocabularies to work with ORBLAM2?
Hi again Rafael,
I am also using ORB_SLAM2 in my project. Because the visual content is quite different I need to recreate the vocabulary. I managed to do this a few months back using DBoW2, however I was limited to ORB and SURF descriptors as I was unsure on how to code additional feature templates. I am migrating to DBoW3 as it seems to seamlessly support all type of features. ORB_SLAM2 uses a non-yaml human-readable (ASCII) vocabulary in TXT format. Although DBoW2 created a yml.gz vocabulary by default, some additional files in the ORB_SLAM2 repository provided the function saveToTextFile() which ensured compatibility. After digging in the files I have seen that DBoW3 will store vocabularies as binaries or YAML. Although the YAML files can also be saved with txt extension, the content does not really resemble the format output by DBoW2::vocabulary::saveToTextFile(). Would you mind giving some pointers on how to get DBoW3 vocabularies to work with ORBLAM2?