一、传统方法部分(词袋模型,bag of words,BoW)
1. 预先在环境中采集足够多的图像或者所有位置的图像(成千上万张图片)之后构建视觉词汇表
参考论文:2012年的TRO顶刊
Gálvez-López D, Tardos J D. Bags of binary words for fast place recognition in image sequences[J]. IEEE Transactions on Robotics, 2012, 28(5): 1188-1197.
J. Sivic and A. Zisserman, “Video Google: A text retrieval approach to object matching in videos,” in Proc. IEEE Int. Conf. Comput. Vis.
, Oct. 2003, vol. 2, pp. 1470–1477
Nister D, Stewenius H. Scalable recognition with a vocabulary tree[C]//2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'06). Ieee, 2006, 2: 2161-2168.
Calonder M, Lepetit V, Strecha C, et al. Brief: Binary robust independent elementary features[C]//European conference on computer vision. Springer, Berlin, Heidelberg, 2010: 778-792.
2. 在线构建视觉词汇表 visual vocabulary
参考论文: 2012年的顶刊
Nicosevici T, Garcia R. Automatic visual bag-of-words for online robot navigation and mapping[J]. IEEE Transactions on Robotics, 2012, 28(4): 886-898.
3. 实践部分
网址:DBoW3的代码GitHub - rmsalinas/DBow3: Improved version of DBow2Improved version of DBow2. Contribute to rmsalinas/DBow3 development by creating an account on GitHub.https://github.com/rmsalinas/DBow3
3.1 代码下载和安装
github上下载
命令行模式:
git clone https://github.com/rmsalinas/DBow3.git
之后cd到DBow3目录分别执行以下命令
mkdir build
cd build
cmake ..
make
sudo make install
3.2 安装编译好之后如何使用?
按照3.1编译好之后,在DBow3/build/utils目录下有三个可执行文件。
首先从其他目录 cd到DBoW目录,之后执行以下命令
./build/utils/demo_general orb ./images/image0.png images/image1.png images/image2.png
注释:如果图片的目录报错,则自己在DBow目录下新建一个目录名为images 然后把几张图片放进去。
之后会看到结果,结果的解析参考以下两篇博客
深入理解DBOW3算法(一)_sanduan168的博客-CSDN博客_dbow3 github
深入理解DBOW3算法(二)_sanduan168的博客-CSDN博客
3.3 修改代码
若想修改代码,则在DBow3/utils/demo_general.cpp文件中修改, 之后切换到build目录下,make一下,就可以运行了。 深入的代码改动自行研究。
肺炎期间的科研实验之--0301 词袋模型DBoW3跳坑!!!!_hongyunzhi92的博客-CSDN博客https://blog.csdn.net/hongyunzhi92/article/details/104717151?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1.pc_relevant_paycolumn_v3&utm_relevant_index=2
3.4 K-means聚类方法案例
k-means算法的实现(算法思想+流程图+代码+散点图+结果输出)-python_木阿南二三记的博客-CSDN博客_kmeans算法流程图k-means算法思想:第一步,从文件中读取数据,点用元组表示,点集用列表表示。第二步,初始化聚类中心。首先获取数据的长度,然后在range(0,length)这个区间上随机产生k个不同的值,以此为下标提取出数据点,将它们作为聚类初始中心,产生列表center。第三步,分配数据点。将数据点分配到距离(欧式距离)最短的聚类中心中,产生列表assigment,并计算平均误差。第四步,如果首...https://blog.csdn.net/qq_43109561/article/details/86430361?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-5.pc_relevant_antiscan_v2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-5.pc_relevant_antiscan_v2&utm_relevant_index=10
4. 网友解析细节
开源词袋模型DBow3原理&源码(一)整体结构 - tszs_song - 博客园Bow3源码与原理https://www.cnblogs.com/zhengmeisong/p/8446687.html回环检测 - 简书一、回环检测的意义 SLAM系统有了前端的视觉里程计,有了后端优化,似乎已经比较好用了。但事情还是没有我们想象的那么简单,由于上一篇文章我们刚刚把后端优化做了一次精简,在提高...https://www.jianshu.com/p/023e5006499d
浅谈回环检测中的词袋模型(bag of words)_辜鸿铭的博客-CSDN博客_词袋模型论文浅谈回环检测中的词袋模型(bag of words)将会从以下四个方面进行展开关于词袋模型的基本理解算法简介开源代码库DBoW2库的简单介绍关于DBoW的一些总结https://blog.csdn.net/qq_24893115/article/details/52629248
【泡泡机器人原创专栏】DBoW3 视觉词袋模型、视觉字典和图像数据库分析图像数据库、视觉字典和视觉词袋向量是SLAM、计算机视觉、3D物体识别和卷积神经网络图像处理的重要基础工具。本文将对开源DBoW3源码进行深入剖析。https://mp.weixin.qq.com/s?__biz=MzI5MTM1MTQwMw==&mid=2247487947&idx=1&sn=a161d5ba005adabbfef23ee823c3f34b&chksm=ec10afcfdb6726d9460e3992357b93a50fb622a805c785a9322d7cafb6f8d7d0b02494206fbd&mpshare=1&scene=25&srcid=0120tujPrzQBRJvOMRlHZuAr&pass_ticket=DyCv5iDYNGzqu%2FG5eHjGG4I5gZSFV%2B4a6kb08nDUOcc%3D#wechat_redirect
二、基于视觉特征的地图构建和定位或导航框架(概率等方法)
参考论文:
M. Cummins and P. Newman, “
Probabilistic appearance based navigation and loop closing
,” in Proc. IEEE Int. Conf. Robot. Autom.
, Rome, Italy, Apr. 2007, pp. 2042–2048.
M. Cummins and P. Newman, “FAB-MAP: Probabilistic localization and mapping in the space of appearance,” Int. J. Robot. Res.
, vol. 27, no. 6, pp. 647–665, 2008.
M. Cummins and P. Newman, “Highly scalable appearance-only slam fab-map 2.0,” in Proc. Robot. Sci. Syst.
, 2009, pp. 1–8.
R. Paul and P. Newman, “FAB-MAP 3D: Topological mapping with spatial and visual appearance,” in Proc. IEEE Int. Conf. Robot. Autom.
, 2010, pp. 2649–2656.
A. Glover, W. Maddern, M. Milford, and G. Wyeth, “FAB-MAP + RatSLAM: Appearance-based SLAM for multiple times of day,” in Proc. I
EEE Int. Conf. Robot. Autom.
, 2011, pp. 3507–3512.
三、Bag of objects (BoO)扩展阅读
用环境中的物体作为视觉词汇,有个问题是环境中特别是很多室内环境或者路段,没有明显的物体怎么办?
参考论文:Wang X, Hu Z, Tao Q, et al. Bayesian place recognition based on bag of objects for intelligent vehicle localisation[J]. IET Intelligent Transport Systems, 2019, 13(11): 1736-1744.
四、深度学习部分(待续)
论文打包下载链接: