与现有方法的异同

特征点SLAM中的数据关联

先回忆一下特征点SLAM中,我们是如何处理数据关联的。下面以ORBSLAM为例。

在初始化部分,我们通过特征描述子的相似性,建立两帧之间的特征点关联,然后通过RANSAC框架下的姿态估计算法得到初始的R和t,重建和优化三维点的位置。

在追踪部分,我们首先会关联当前帧和上一帧。通过预估的姿态和三维点的深度范围,初步确定每个三维点在当前帧上的搜索范围,并依靠特征描述子的相似性建立关联关系。由于这样建立的关联关系中存在部分误匹配,因此在姿态估计等后续算法中需要RANSAC框架。

在重定位部分,我们通过特征描述子的相似性建立当前帧和候选帧之间的特征点关联,在RANSAC框架下利用P4P尝试求解并优化相对姿态。

回环检测部分和重定位部分类似,只不过求解的是Sim3姿态。

可以看出,ORBSLAM中的数据关联是一对多的,即一个landmark对应于一组观测值,每个观测值只对应于一个landmark。特征点SLAM是先做数据关联,再求解和优化姿态。由于错误的数据关联会影响姿态估计准确性,因此上述算法中大量调用RANSAC框架。

直接法SLAM中的数据关联

直接法的数据关联方法和特征点法有明显的区别。以DSO为例,在初始化部分,直接法通过极线搜索光度误差最小的点,并计算逆度和方差。在追踪部分,数据关联和姿态优化是融合一体的。这里没有显式的对应点的概念。而是根据深度和姿态的变化,图像上的对应点一直在变化,通过最小化光度误差来求解姿态和深度。直接法暂时没有重定位和回环检测部分。

在优化时,DSO用鲁棒的核函数来降低局外点的影响,并通过一些规则去除错误的数据关联。

基于概率的数据关联

基于概率的数据关联和上述两种有区别也有联系。

对于一个landmark和一幅图像,特征点SLAM是一对一的,直接法是一对多的(一个由深度及其方差决定的区域),概率关联是多对多的。

图像中的检测出的目标物体有固定的位置,是离散的,在这方面更像特征点。但由于图像中的目标(10个左右)并不如特征点那样丰富(1000个左右),错误的匹配不方便通过RANSAC算法来排除(样本不足)。

基于概率的数据关联会充分考虑到一个物体对应于多个检测结果的情形,这点和直接法的数据关联又有点像,其关联关系并不固定。

语义SLAM的数据关联和语义定位(三)的更多相关文章

  1. 语义SLAM的数据关联和语义定位(一)

    语义SLAM和多传感器融合是自动驾驶建图和定位部分比较热门的两种技术.语义SLAM中,语义信息的数据关联相较于特征点的数据关联有所不同.我们一般用特征描述子的相似性来匹配和关联不同图像中的特征点.特征 ...

  2. 语义SLAM的数据关联和语义定位(四)多目标测量概率模型

    多目标模型 这部分想讲一下Semantic Localization Via the Matrix Permanent这篇文章的多目标测量概率模型.考虑到实际情况中,目标检测算法从单张图像中可能检测出 ...

  3. 语义SLAM的数据关联和语义定位(二)Semantic Localization Via the Matrix Permanent

    论文假设和单目标模型 这部分想讲一下Semantic Localization Via the Matrix Permanent这篇文章的一些假设. 待求解的问题可以描述为 假设从姿态\(x\)看到的 ...

  4. 语义slam用于高精地图和高精定位的一些想法

    最近一直在考虑语义slam在自动驾驶和辅助驾驶中的用法,研究了一下视觉为主的高精度地图+高精定位的模式,特别是mobileye的REM. 秉承先建图再定位的思路,在服务器端(云端)建图,在车端定位. ...

  5. 分享| 语义SLAM的未来与思考(泡泡机器人)

    相比典型的点云地图,语义地图能够很好的表示出机器人到的地方是什么,机器人“看”到的东西是什么.比如进入到一个房间,点云地图中,机器人并不能识别显示出来的一块块的点云到底是什么,但是语义地图的构建可以分 ...

  6. 从5个经典工作开始看语义SLAM

    本文试图概括Semantic SLAM的主要思路和近年工作,⻓期更新.但因水平有限,若有错漏,感谢指正. (更好的公式显示效果,可关注文章底部的公众号) Semantic SLAM 简介 至今为止,主 ...

  7. 最近一年语义SLAM有哪些代表性工作?

    点击"计算机视觉life"关注,置顶更快接收消息! 本文由作者刘骁授权发布,转载请联系原作者,个人主页http://www.liuxiao.org 目前 Semantic SLAM ...

  8. 语义SLAM研究现状总结

    博客转载自:https://blog.csdn.net/xiaoxiaowenqiang/article/details/81051010 原文标题:深度学习结合SLAM 语义slam 语义分割 端到 ...

  9. 三维重建5:场景中语义分析/语义SLAM/DCNN-大尺度SLAM

    前言: 在实时/非实时大规模三维场景重建中,引入了语义SLAM这个概念,参考三维重建:SLAM的尺度和方法论问题和三维重建:SLAM的粒度和工程化问题 .大规模三维场景重建的尺度增大,因此相对于整个重 ...

随机推荐

  1. Python Web框架 bottle flask

    Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Python的标准库外,其不依赖任何其他模块. 1 2 3 4 pip instal ...

  2. spring cloud sleuth

    新建spring boot工程trace-1,添加pom依赖 <dependency> <groupId>org.springframework.cloud</group ...

  3. Your Mac is infected with (3) Viruses!

    记一次流氓程序的清理 某天我的电脑不幸感染了这么一个病毒

  4. wordpress谷歌字体

    wordpress插件:disable google fonts wordpress插件:Remove  Open Sans font from WP core 在主题的functions.php添加 ...

  5. 选择 Python3.6 还是 Python 3.7

    转自:白月黑羽在线教程:http://www.python3.vip/doc/blog/python/home/ 选择 Python3.6 还是 Python 3.7 Python 3.7 已经发布了 ...

  6. wordpress中常用的一些php代码

    <?php the_author(); ?> 显示文章的作者 <?php the_author_description(); ?> 显示文章作者的描述(作者个人资料中的描述) ...

  7. 简单的字母全排列问题—递归法和STL法

    问题描述:求全由小写字母组成的不超过200个字符序列的全排列 如输入序列bbjd,排列结果为: bbdj bbjd bdbj bdjb bjbd bjdb dbbj dbjb djbb jbbd jb ...

  8. Oracle10g 64位 在Windows 2008 Server R2 中的安装 解决方案

    背景: 操作系统Windows 2008 Server R2 要安装Oracle10g 64位版本 安装时出现如下错误: 检查操作系统版本:必须是5.0,5.1,5.2 or 6.0.实际为6.1 未 ...

  9. 如何优雅的控制goroutine的数量

    1,为什么要控制goroutine的数量? goroutine固然好,但是数量太多了,往往会带来很多麻烦,比如耗尽系统资源导致程序崩溃,或者CPU使用率过高导致系统忙不过来.比如: ; i < ...

  10. python 常用算法学习(1)

    算法就是为了解决某一个问题而采取的具体有效的操作步骤 算法的复杂度,表示代码的运行效率,用一个大写的O加括号来表示,比如O(1),O(n) 认为算法的复杂度是渐进的,即对于一个大小为n的输入,如果他的 ...