ORBLoopDetector 基于ORB特征提取的DLoopDetector

这个假期为了完成毕设,一直在研究回环检测的算法,之前一直在研究ORBSLAM2,希望从中寻找到一部分回环检测算法的研究思路。但事实上并不尽如人意,其回环检测虽然严谨,但实在太过于复杂,不仅运用常见的词袋模型,还运用了其他一些共视点(MapPoint)等等这些内容。于是我重新在网络上进行了搜索,试图寻找基于词袋模型的回环检测算法,于是乎,找到了DBoW2的作者Galvez-López D写的一篇论文 Bags of Binary Words for Fast Place Recognition in Image Sequences , 这篇文章介绍了关于利用词袋模型进行回环检测的很多思路。尤其是利用归一化得分进行计算,解决了我一直以来对于大批量图片如何进行相似度匹配的疑惑。

除此之外,我还阅读了 Bags of Binary Words for Fast Place Recognition in Image Sequences------阅读笔记 和 基于词袋模型DBoW2的回环检测实现DLoopDetector (c++) 的两篇博客文章,都让我对整体回环检测的代码有了很多的理解。于是,我下载并编译了一下DLoopDetector,但事实上随着深入的研究我发现DLoopDetector提供的demo并不是我原来想象当中的利用ORB算子进行特征提取,而是利用BRIEF算子进行的一次提取,而且这当中的BRIEF与ORB中的BRIEF描述子又存在很大很大的差别,一个是使用vector进行存储,而另一个则是使用cv::Mat数据类型进行存储,也就是说如果想单纯的只改特征提取部分是不可能也不现实的,于是,我从头到尾把DLoopDetector的源代码重新读了一遍,并编写了注释,以便日后查看。(如果各位不想花太多时间在理解代码上面,可以扫描文章后面的赞赏码对我进行微信打赏,并添加我的微信号,我将把源码注释分享给您)

这里我也忍不住想吐槽一下关于DLoopDetector的作者,他应该也发现了cv::Mat往vector转换的一些问题,但他并没有在原始的DBoW2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值