语义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的粒度和工程化问题 .大规模三维场景重建的尺度增大,因此相对于整个重 ...
随机推荐
- POJ 2853
#include<iostream> #include<stdio.h> #include<vector> #include<math.h> #incl ...
- POJ 2405
#include <iostream> #include <cmath> #include <iomanip> #define pi 3.1415926536 us ...
- vue教程1-02 data里面存储数据
vue教程1-02 data里面存储数据 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- This Gradle plugin requires Studio 3.0 minimum
从github上下载的项目遇到一个问题:Error:This Gradle plugin requires Studio 3.0 minimum 意思就是说studio版本不高,导入的项目的版本是3. ...
- Maven install [WARNING] The artifact aspectj:aspectjrt:jar:1.5.4 has been relocated to org.aspectj:aspectjrt:jar:1.5.4
一.背景 最近在给项目打包的时候,在控制台老是出现一行警告:[WARNING] The artifact aspectj:aspectjrt:jar:1.5.4 has been relocated ...
- 解决tomcat使用时catalina.out过大的问题
在项目上线之前需要做很多事情,其中最容易忘记的就是禁用不必要的日志和调整必要的参数. 调整参数这里主要指的是最大连接数,最小等待时间,虚拟机内存等. 而这里重点要提出的是,你需要禁用tomcat中不必 ...
- docker cgroup技术之cpu和cpuset
在centos7的/sys/fs/cgroup下面可以看到与cpu相关的有cpu,cpuacct和cpuset 3个subsystem.cpu用于对cpu使用率的划分:cpuset用于设置cpu的亲和 ...
- Flutter踩坑日记:Tab导航栏保持子页面状态
最近应邀票圈小伙伴躺坑Flutter,项目初步雏形完结.以原来的工具链版本为基础做了Flutter版本,不过后面还是需要优化下项目接入Redux,以及扩展一些Native方法. 这里记录一下在开发过程 ...
- 我眼中的优秀技术leader
在这家公司工作的四年时间里,我一共接触过两个在技术团队里有很大影响力的leader.本文将基于我在工作中对他们的观察,总结一下他们身上所具有的特质,以作为自己学习的榜样.标题中的“我眼中的”,不仅表示 ...
- python的Web框架,Django模板标签及模板的继承
模板标签 在传递数据的时候,会有大量的数据展示在浏览器上,而数据会是动态变化的,在html的编写中,数据也是需要动态的,而不能是写死的,如果动态展示呢. 给定的例子数据 views传递数据给html ...