1. 什么是回环检测

前面有说过累积误差的问题,前一时刻的误差会积累到后面,导致画不成圈圈,如图12-1所示,而画圈圈(全局一致性)很重要,所以需要有一个步骤来纠正当前的计算偏差。

回环检测通过判断相机是否经过同一个地方来进行纠正的,本讲介绍的方法是基于外观的,拿到两张图像后,比较两张图像的相似度,越高说明越有可能是同一个地方。在评价时更注重算法的准确率。

2.相似度计算

在计算相似度之前需要定义一个能够用来描述图像的量,这个量可以表达图像的特征或者属性,我们可以通过这个量来计算图像的相似度。在本节中采用词袋模型。

词袋模型是用向量来描述图像,比如用向量[0,1,1,0,1]来表达图像a,其中第i个元素表示图像是否拥有特征i,向量的维度也就是总的特征数量由“字典”决定(也可以看成每个特征是字典中的一个单词,字典从a到z有3000个单词,那么向量就有3000维,如果某个图像只具有100个特征,那么除了这100个元素以外,该图像其他位置的元素值都是0)。

字典生成:前面学习了提取ORB特征来描述图像,在生成字典时,通常会选用一个比较大的图像数据集,用ORB特征描述每一幅图像,然后使用聚类算法,聚成N类,生成N维的ORB字典。

当字典很大时,O(n)的查找效率会很影响使用,为了提升查找效率可以使用k叉树结构表达字典。先聚成k类,作为k个根结点,在根结点上再对属于当前根结点的所有图像聚成k类,作为第二层,依次向下,最后得到的叶子节点就是词袋模型中的每个特征(也可以说是字典中的每个单词)。

相似度计算,最简单的方法是使用TF-IDF模型,TF计算的是特征i在图像A中出现的频率(也就是单词i,在句子中出现的频率),

IDF是指某个特征在整个字典中出现的频率越低,则这个特征的区分度越高(比如一组100张的人脸图片,提取出来的特征有眼睛、鼻子、嘴巴、苹果,那么对于这100张图片来说几乎每张都有眼睛、鼻子、嘴巴的特征,这些特征出现频率很高,不能够对于这组图片进行很好的区分。然而可能只有20张图片中有苹果,所以苹果这个特征能够很好的将这20张图片区分出来)

假设当前字典中有N个单词,根据词袋模型,图片A就要用N维向量表示,每一维的元素值,是这一维特征的TFIDF值,

,再根据两张图像的向量进行距离计算,得到相似度。

3. 后续处理

两张图片的相似度数值,并不能直接说明是否同一场景,会存在同一个环境下每个地方都不一样的情况。在实际比较时取先验相似度

,表示此时与上一时刻关键帧的相似性,将其他分值根据这个值进行归一化。认为如果当前帧与之前某关键帧的相似度超过了当前帧与上一帧相似度的3倍,则可能存在回环。

参考文献

[1] 《视觉SLAM十四讲从理论到实践》 高翔,张涛

视觉slam十四讲 pdf_视觉SLAM十四讲|第12讲 回环检测相关推荐

  1. 视觉SLAM十四讲学习笔记——ch11回环检测

    文章目录 11.1 理论部分 11.2 实践部分 11.2.1 创建字典 11.2.2 利用已经创建的vocabulary.yml.gz字典,得到图片与图片之间相似性的评分 11.2.3 利用规模更大 ...

  2. 【SLAM十四讲】ch11 回环检测 词袋法实验 得出相似分数后计算PR曲线 VPR实验 编辑中

    [SLAM十四讲]ch11 回环检测 词袋法实验 得出相似分数后计算PR曲线 [SLAM十四讲]ch11 回环检测 词袋法实验 得出相似分数后计算PR曲线 DBow3库安装 ch11编译 ch11 词 ...

  3. SLAM前端中的视觉里程计和回环检测

    1. 通常的惯例是把 VSLAM 分为前端和后端.前端为视觉里程计和回环检测,相当于是对图像数据进行关联:后端是对前端输出的结果进行优化,利用滤波或非线性优化理论,得到最优的位姿估计和全局一致性地图. ...

  4. SLAM之视觉里程计和回环检测

    1. 通常的惯例是把 VSLAM 分为前端和后端.前端为视觉里程计和回环检测,相当于是对图像数据进行关联:后端是对前端输出的结果进行优化,利用滤波或非线性优化理论,得到最优的位姿估计和全局一致性地图. ...

  5. 视觉SLAM⑪----回环检测

    目录 11.0 本章目标 11.1 概述 11.1.1 回环检测的意义 11.1.2 回环检测的方法 11.1.3 准确率和召回率 11.2 词袋模型 11.3 字典 11.3.1 字典的结构 11. ...

  6. 视觉SLAM回环检测、词袋模型和视觉位置识别--论文记录和实验简析

    一.传统方法部分(词袋模型,bag of words,BoW) 1. 预先在环境中采集足够多的图像或者所有位置的图像(成千上万张图片)之后构建视觉词汇表 参考论文:2012年的TRO顶刊 Gálvez ...

  7. 视觉SLAM笔记(57) 回环检测

    视觉SLAM笔记(57) 回环检测 1. 回环检测的意义 2. 实现方法 3. 准确率和召回率 4. 词袋模型 1. 回环检测的意义 前端提供特征点的提取和轨迹.地图的初值 而后端负责对这所有的数据进 ...

  8. 高仙技术家|SLAM(二)——完善回环检测的视觉SLAM

    高仙技术家|SLAM(二)--完善回环检测的视觉SLAM 高仙是全球较早从事自主移动技术研发与应用探索的机器人公司之一.成立至今,高仙不断打磨并完善了机器人全场景移动技术,并通过全球超过50+机型.1 ...

  9. 详解 | SLAM回环检测问题

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文经知乎作者fishmarch授权转载,二次转载请联系作者 原文 ...

最新文章

  1. 海报推广神器:活码加多级加密跳转防封双重保护
  2. Blog 081018
  3. Java代码在计算机中的三个阶段与反射
  4. 某公司数据恢复报告书
  5. leetcode 599. 两个列表的最小索引总和(Minimum Index Sum of Two Lists)
  6. c语言程序设计课程设计学生信息管理系统,C语言程序设计课程设计报告----学生信息管理系统.doc...
  7. js与c语言互相调用,Objc与JS间相互调用
  8. 最大素数的c语言,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...
  9. c#通过网络链接打印PDF
  10. java累积度分布,累积分布函数
  11. w10计算机右键管理,Win10右键菜单怎么管理
  12. 3D美术14——max——fbx导入max后直接生成bip人形骨骼插件
  13. 软考高项记忆小妙招-项目章程
  14. 月均数据_三季度前20强券商私募资管月均规模下降逾7000亿元 这5家主动规模占比已超50%...
  15. 基于树莓派的微型气象台
  16. 考拉海购操作教学-API接口
  17. 运行mysql时,提示Table ‘performance_schema.session_variables’ doesn’t exis
  18. 搞笑决战水源之巅收藏六 师傅
  19. 华为OD机试真题 Java 实现【猜字谜】【2023Q1 100分】
  20. %2d、%6d(c语言)

热门文章

  1. 商用彩信服务成为企业3G应用新需求
  2. 学习SharePoint记录,微软给出的的Application Templates很有帮助呢
  3. Android service 中的stub类
  4. thinkphp5运行原理_ThinkPHP5.1~5.2全版本远程代码执行高危漏洞预警
  5. ultilize什么意思_ultilize是什么意思
  6. JavaWeb笔记05-解决线程安全问题
  7. mysql时间间隔interval_MySQL DATEDIFF函数获取两个日期的时间间隔的方法
  8. C++的迭代器Interator
  9. android mysql 数据库文件_android mysql数据库文件
  10. 设计模式之单例模式(C++代码实现)