DLoopDetector回环检测算法
词袋模型是一种文本表征方法,它应用到计算机视觉领域就称之为BoF(bag of features),通过BoF可以把一张图片表示成一个向量。DBoW2是一个视觉词袋库,它提供了生成和使用词典的接口,但它并不等同于slam中的回环检测。
回环检测属于slam前端,也是vslam三大模块(视觉里程计,回环,优化)之一。回环检测的主要目的是确认当前位置是否曾经到达过。它接收一段图片序列,然后绘制拓扑地图,故又称之为拓扑制图。基于BoF的回环检测是目前比较流行的回环解决方案,诸如IAB-MAP,FAB-MAP,RTAB-MAP等都使用这种解决方案。一个典型的基于BoF的回环方案主要由3个部分组成:BoF模块+回环检测算法模块+验证模块。从方案处理的数据的不同上又可以分为基于关键帧的和基于连续序列的。例如DLoopDetector就是基于连续序列的BoF回环方案,而RTAB-MAP是基于关键帧的BoF回环方案。
DLoopDetector基于DBoW2构建和使用视觉词典,并且添加了回环检测算法模块和验证模块,所以它是一个完整的回环检测/拓扑制图系统。本篇关注其LC算法部分,LC算法主要有bayes方法和相似性方法两种,DLoopDetector采用的就是相似性方法。除了采用DBoW2库中的基本的向量相似度度量,DLoopDetector作者针对连续序列回环检测问题设计了两种相似性度量:
(1) 帧与帧之间的回环相似性度量
(2) 帧与一段帧序列之间的回环相似性度量
算法会通过找寻最优匹配帧序列的方式找到最优匹配帧。由于闭环往往存在时间上的连续性,所以如果当前闭环成立,还会用同样的方法处理邻近k帧。
参考文献:
1, Galvez-López, D, Tardos, J.D. Bags of Binary Words for Fast Place Recognition in Image Sequences[J]. Robotics IEEE Transactions on, 2012, 28(5):1188-1197.
2, Gálvez-López D, Tardós J D. Real-time loop detection with bags of binary words[C]// IEEE/RSJ International Conference on Intelligent Robots & Systems. 2011:51-58.
3, 中译文:董海霞, 曾连荪. 视觉SLAM中闭环检测算法的研究[J]. 微型机与应用, 2016, 35(5):1-3.
DLoopDetector回环检测算法的更多相关文章
- segMatch:基于3D点云分割的回环检测
该论文的地址是:https://arxiv.org/pdf/1609.07720.pdf segmatch是一个提供车辆的回环检测的技术,使用提取和匹配分割的三维激光点云技术.分割的例子可以在下面的图 ...
- 综述 | SLAM回环检测方法
本文作者任旭倩,公众号:计算机视觉life成员,由于格式原因,公式显示可能出问题,建议阅读原文链接:综述 | SLAM回环检测方法 在视觉SLAM问题中,位姿的估计往往是一个递推的过程,即由上一帧位姿 ...
- ORB-SLAM(六)回环检测
上一篇提到,无论在单目.双目还是RGBD中,追踪得到的位姿都是有误差的.随着路径的不断延伸,前面帧的误差会一直传递到后面去,导致最后一帧的位姿在世界坐标系里的误差有可能非常大.除了利用优化方法在局部和 ...
- 【C++】链表回环检测
//链表回环检测问题 #include<iostream> #include<cstdlib> using namespace std; ; struct node { int ...
- Code Reading: ORB-SLAM回环检测源码阅读+注释
之前研究过一些回环检测的内容,首先要看的自然是用词袋回环的鼻祖和正当继承人(没有冒犯VINS和LDSO的意思)ORB-SLAM.下面是我的代码注释.因为代码都是自己手打的,不是在源码上注释的,所以一些 ...
- 浅谈SLAM的回环检测技术
什么是回环检测? 在讲解回环检测前,我们先来了解下回环的概念.在视觉SLAM问题中,位姿的估计往往是一个递推的过程,即由上一帧位姿解算当前帧位姿,因此其中的误差便这样一帧一帧的传递下去,也就是我们所说 ...
- VINS 回环检测与全局优化
回环检测 VINS回环检测与全局优化都在pose_graph.cpp内处理.首先在pose_graph_node加载vocabulary文件给BriefDatabase用,如果要加载地图,会loadP ...
- 一个基于深度学习回环检测模块的简单双目 SLAM 系统
转载请注明出处,谢谢 原创作者:Mingrui 原创链接:https://www.cnblogs.com/MingruiYu/p/12634631.html 写在前面 最近在搞本科毕设,关于基于深度学 ...
- VINS 检测回环辅助激光建图
最近接到一个任务,在激光检测回环失败时,比如黑色物体多,场景大等,可否利用视觉进行回环检测.如果只是检测回环,现有的许多框架都可以使用.ORB-SLAM本身就有单目模式,且效果不错.但是发现ORB在检 ...
随机推荐
- Chapter 1 Securing Your Server and Network(1):选择SQL Server业务经理
原版的:http://blog.csdn.net/dba_huangzj/article/details/37924127 ,专题文件夹:http://blog.csdn.net/dba_huang ...
- Asterisk 未来之路3.0_0003
原文:Asterisk 未来之路3.0_0003 Asterisk: The Hacker's PBX 如果电信公司忽视了asterisk,那么正在处于危险中.asterisk 良好的扩展性,能够创建 ...
- leetcode第14题--Longest Common Prefix
Problems:Write a function to find the longest common prefix string amongst an array of strings. 就是返回 ...
- CSS边框阴影效果
ul { margin:5px 0 0 0; padding:0; list-style:none; width:300px; background:#f1f1f1; }li { border-lef ...
- [原] 细说 NUMA
详说 NUMA 标签(空格分隔): Cloud2.0 测试条件 两台机器: CPU: Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz X 24 Intel(R) X ...
- 解决Shockwave flash在chrome该浏览器崩溃
越来越多的人开始使用chrome浏览器,很多用户都遇到过flash崩溃.有时重启chrome为了解决,有时不可能使用chrome无论打开什么网站是什么flash.这个问题是非常小的Firefox或IE ...
- CF:Problem 427C - Checkposts良好的沟通 Tarjan算法
tarjan算法的第一个问题 喷我的脸....手写叠式开成BOOL,我一直在找错了... #include<cstdio> #include<cstring> #include ...
- asp.net页面生命周期回顾
---根据一讲师所讲做了一下笔记,仅供参考 会存在些错误 页面声明周期: 1.HttpApplication在第11和第12个事件之间开始了页面声明周期,调用了第8个事件创建实例的pr(Process ...
- beanutils中Lazy
public class LazyBean { // public static void main(String[] args) {// DynaBean dynaBean=ne ...
- Day4:T1小技巧(类似于指针操作)T2搜索+小细节
Day4:其中有很多小技巧get T1 一直没有听到过像这样的小技巧的略专业名词,有点类似于指针操作,之前有碰到过很多这样的题目 每次都是以不同的形式出现,但是感觉思想还是有点接近的吧(就比如某天有一 ...