语义SLAM的数据关联和语义定位(一)
语义SLAM和多传感器融合是自动驾驶建图和定位部分比较热门的两种技术。语义SLAM中,语义信息的数据关联相较于特征点的数据关联有所不同。我们一般用特征描述子的相似性来匹配和关联不同图像中的特征点。特征点的描述子会受到光照、视角和传感器的影响,不太适用于大尺度长周期的任务,比如自动驾驶的高精度地图。得益于深度学习的快速发展,这些影响因素对于目标识别、语义分割来说已经不是最本质的困难,因此语义信息在高精度地图中越来越受重视。
语义SLAM数据关联的基本考虑
在SLAM中,语义信息的数据关仍然是一个值得研究的问题。这个问题的关键在于,一幅图像中可能检测出数个相同类别的目标物体,如何能够正确地将其对应于地图数据中已有的该类别的3D物体。
在语义SLAM中,虽然语义目标同样可以产生某种描述子(比如深度网络中的某些层),但对于相同类别且距离较近的目标,我们可能无法确定合理的对应关系。考虑到图像中的目标(10个左右)并不如特征点那样丰富(1000个左右),错误的匹配并不方便通过RANSAC算法来排除(样本不足)。
下面列出几种有用的因素。
- 较为准确的先验估计(姿态),比如通过IMU、GPS、里程计等。
- 能够得到VO和目标的准确位置,比如双目、深度摄像头、结合激光等。
- 地图中有很多(局部)唯一确定的路标物体。
- 考虑所有可能的数据关联。
利用第一点,我们能够使用一些简单的方法建立数据关联,但此时仍需考虑错误关联的影响。
利用第二点,我们能够准确地重建出语义目标的几何特性(空间位置、朝向等)。X-View: Graph-Based Semantic Multi-View Localization这篇文章将多帧的语义目标位置组合成图,利用图匹配算法求解相机在全局地图中的位置(只定位不建图)。
利用第三点,我们能够方便地确定关联关系。比如,行车道上的交通指示牌结合文字OCR识别,能够唯一确定该路牌的位置,相当于一个全局观测。比如,考虑到交通指示牌相互之间的间距很大,在局部唯一,因此结合GPS和指示牌即可唯一确定该指示牌的位置。根据Mobileye的REM的专利描述,它们可能利用了该类信息。
第四点即是本文想讲解的一种方法。
文章的出发点和创新点
本文主要想介绍一篇基于概率模型的语义定位方法。文章名字是Semantic Localization Via the Matrix Permanent,是 University of Pennsylvania 的GRASP实验室。还有一篇类似的文章,名字是Localization from semantic observations via the matrix permanent。他们组后续一篇文章Probabilistic Data Association for Semantic SLAM得了ICRA2018最佳论文奖。
本篇文章的出发点是用概率模型建模数据关联过程,通过求解后验概率\(p(Z|Y,X)\),利用粒子滤波的框架求解姿态\(X\)。其中,\(Z\)是观测,\(Y\)是地图中的路标点(landmark),\(X\)是姿态(pose)。这里假设地图已经建立,其中路标点的位置、类别等信息已经包含在地图中。文章的模型基于很少的先验假设,只需要语义信息和一些识别算法的先验概率,因此有很广的适用范围。
这篇文章的创新点个人总结有以下几点。
- 尝试去建立路标点和观测之间的所有可能的概率关联,而不是一对一的数据关联。这样的好处是避免一对一关联中错误关联的影响。因为在语义SLAM中,语义信息的数量相比于特征点而言是稀少的,因此不当的数据关联的个数应当尽可能的少,否则可能导致姿态估计很快出现漂移。
- 考虑了目标识别中的错误率和漏检率。
- 优化了后验概率的计算方法。建立整个概率分布是一个\(N!\)复杂度的问题,作者将其转化为一个多项式复杂度的问题。
作者在文章中只用了语义信息,还没有应用传统SLAM和多传感器融合的方法。如果要应用到实际中,可能可以融合一些其它的想法。另外,这篇文章并没有开源代码能够参考,运行速度上肯定也需要优化。
先写这些吧,下次再介绍一些具体的内容。
语义SLAM的数据关联和语义定位(一)的更多相关文章
- 语义SLAM的数据关联和语义定位(三)
与现有方法的异同 特征点SLAM中的数据关联 先回忆一下特征点SLAM中,我们是如何处理数据关联的.下面以ORBSLAM为例. 在初始化部分,我们通过特征描述子的相似性,建立两帧之间的特征点关联,然后 ...
- 语义SLAM的数据关联和语义定位(四)多目标测量概率模型
多目标模型 这部分想讲一下Semantic Localization Via the Matrix Permanent这篇文章的多目标测量概率模型.考虑到实际情况中,目标检测算法从单张图像中可能检测出 ...
- 语义SLAM的数据关联和语义定位(二)Semantic Localization Via the Matrix Permanent
论文假设和单目标模型 这部分想讲一下Semantic Localization Via the Matrix Permanent这篇文章的一些假设. 待求解的问题可以描述为 假设从姿态\(x\)看到的 ...
- 语义slam用于高精地图和高精定位的一些想法
最近一直在考虑语义slam在自动驾驶和辅助驾驶中的用法,研究了一下视觉为主的高精度地图+高精定位的模式,特别是mobileye的REM. 秉承先建图再定位的思路,在服务器端(云端)建图,在车端定位. ...
- 分享| 语义SLAM的未来与思考(泡泡机器人)
相比典型的点云地图,语义地图能够很好的表示出机器人到的地方是什么,机器人“看”到的东西是什么.比如进入到一个房间,点云地图中,机器人并不能识别显示出来的一块块的点云到底是什么,但是语义地图的构建可以分 ...
- 从5个经典工作开始看语义SLAM
本文试图概括Semantic SLAM的主要思路和近年工作,⻓期更新.但因水平有限,若有错漏,感谢指正. (更好的公式显示效果,可关注文章底部的公众号) Semantic SLAM 简介 至今为止,主 ...
- 最近一年语义SLAM有哪些代表性工作?
点击"计算机视觉life"关注,置顶更快接收消息! 本文由作者刘骁授权发布,转载请联系原作者,个人主页http://www.liuxiao.org 目前 Semantic SLAM ...
- 语义SLAM研究现状总结
博客转载自:https://blog.csdn.net/xiaoxiaowenqiang/article/details/81051010 原文标题:深度学习结合SLAM 语义slam 语义分割 端到 ...
- 三维重建5:场景中语义分析/语义SLAM/DCNN-大尺度SLAM
前言: 在实时/非实时大规模三维场景重建中,引入了语义SLAM这个概念,参考三维重建:SLAM的尺度和方法论问题和三维重建:SLAM的粒度和工程化问题 .大规模三维场景重建的尺度增大,因此相对于整个重 ...
随机推荐
- (转)csv — 逗号分隔值文件格式
原文:https://pythoncaff.com/docs/pymotw/csv-comma-separated-value-files/125 csv 模块主要用于处理从电子数据表格或数据库中导入 ...
- Git for Windows之日志查看与版本切换
1.查看本地版本库的修改日志 (1).通过log指令查看完整日志 (2).通过 log --pretty=oneline查看简易版日志 2.版本切换 (1).切换到本地版本库最新的版本,通过reset ...
- ecshop 安装出错gd_version
678: static function gd_version()
- 深入理解.sync修饰符
原文地址:http://www.geeee.top/2019/04/17/vue-sync/ 转载请注明出处 .sync修饰符 一个组件上只能定义一个v-model,如果其他prop也要实现双向绑定的 ...
- java命令行指定log4j2
java -Dlog4j.configurationFile=directory/file.xml
- java遍历http请求request的所有参数实现方法
方法一: 通过程序遍历http请求的所有参数放到hashmap中,用的时候方便了. 如果参数值有中文,那么需要在程序中添加filter转码,或者在下面程序里,对paramValue转码 Map map ...
- elasticsearch安装ansj分词器
1.概述 elasticsearch用于搜索引擎,需要设置一些分词器来优化索引.常用的有ik_max_word: 会将文本做最细粒度的拆分.ik_smart: 会做最粗粒度的拆分.ansj等. ...
- vue中使用js动画与velocity.js
一:vue中使用js动画 根据上一篇安装animate.css之后 vue中有动画的钩子函数,@before-enter是内容由无到有的时候自动监听触发的函数,函数会接收到参数el,这样可以动态设置样 ...
- 小程序获取地址授权的修改 wx.openSetting需点击
开发者可以通过 wx.openSetting 接口来打开小程序设置界面并返回用户的设置结果.在原来的 wx.openSetting 接口中,我们允许开发者直接调用此接口,但目前我们发现有不少开发者滥用 ...
- zoj 2744 Palindromes(计算回文子串个数的优化策略)
题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2744 题目描述: A regular palindrome i ...