点击“计算机视觉life”关注,置顶更快接收消息! 本文由做者刘骁受权发布,转载请联系原做者,我的主页http://www.liuxiao.org网络
目前 Semantic SLAM (注意不是 Semantic Mapping)工做还比较初步,可能不少思路尚未打开,但能够预见将来几年工做会愈来愈多。语义 SLAM 的难点在于怎样设计偏差函数,将 Deep Learning 的检测或者分割结果做为一个观测,融入 SLAM 的优化问题中一块儿联合优化,同时还要尽量作到至少 GPU 实时。app
下面是一些有表明性的文章,提供下载和简单思路的理解,但我的精力、能力有限也欢迎你们随时提供更多更好的文章。框架
语义 SLAM 中的几率数据融合,感受应该算开山鼻祖的一篇了。这篇也得到了 ICRA 2017 年的 Best Paper,可见工做是比较早有创新性的。文章中引入了 EM 估计来把语义 SLAM 转换成几率问题,优化目标仍然是熟悉的重投影偏差。这篇文章只用了 DPM 这种传统方法作检测没有用流行的深度学习的检测网络依然取得了必定的效果。固然其文章中有不少比较强的假设,好比物体的三维中心投影过来应该是接近检测网络的中心,这一假设实际中并不容易知足。不过依然不能掩盖其在数学上开创性的思想。dom
文章下载:probabilistic-data-association-for-semantic-slam函数
既然检测能够融合,把分割结果融合固然是再天然不过的想法,并且直观看来分割有更加细粒度的对物体的划分对于 SLAM 这种须要精确几何约束的问题是更加合适的。ETH 的这篇文章紧随其后投到了今年的 ECCV 2018。这篇文章依然使用 EM 估计,在上一篇的基础上使用距离变换将分割结果的边缘做为约束,同时依然利用投影偏差构造约束条件。在 ORB SLAM2 和 PhotoBundle 上作了验证取得了必定效果。这篇文章引入距离变换的思路比较直观,不少人可能都能想到,不过可以作 work 以及作了不少细节上的尝试,依然是很是不容易的。但仍然存在一个问题是,分割的边缘并不表明是物体几何上的边缘,不一样的视角这一分割边缘也是不停变化的,所以这一假设也不是很是合理。学习
文章下载:vso-visual-semantic-odometry优化
港科大沈邵劼老师团队的最新文章,他们的 VINS 在 VIO 领域具备很不错的开创性成果。如今他们切入自动驾驶领域作了这篇双目语义3D物体跟踪的工做,效果仍是很不错的。在沈老师看来,SLAM 是一个多传感器融合的框架,RGB、激光、语义、IMU、码盘等等都是不一样的观测,因此只要是解决关于定位的问题,SLAM 的框架都是同样适用的。在这篇文章中,他们将不一样物体当作不一样的 Map,一边重建一边跟踪。使用的跟踪方法仍然是传统的 Local Feature,而 VIO 做为世界坐标系的运动估计。语义融合方面,他们构造了4个优化项:spa
最终取得了很好的效果。设计
演示地址:https://www.youtube.com/watch?v=5_tXtanePdQ 文章下载:stereo-vision-based-semantic-3d-object-and-ego-motion-tracking-for-autonomous-driving3d
这篇论文讲得比较有意思,它不是一个完整的SLAM系统,不能解决Mapping的问题。它解决的问题是,当我已经有了一个很好的3D地图后,我用这个地图怎么来定位。在传统方法中,咱们的定位也是基于特征匹配的,要么匹配 Local Feature 要么匹配线、边等等几何特征。而咱们看人在定位时的思惟,其实人看不到这么细节的特征的,一般人是从物体级别去定位,好比个人位置东边是某某大楼,西边有个学校,前边有个公交车,我本身在公交站牌的旁边这种方式。当你把你的位置这样描述出来的时候,若是我本身知道你说的这些东西在地图上的位置,我就能够基本肯定你在什么地方了。这篇文章就有一点这种意思在里边,不过它用的观测结果是分割,用的定位方法是粒子滤波。它的地图是三维点云和点云上每一个点的物体分类。利用这样语义级别的约束,它仍然达到了很好的定位效果。可想而知这样的方法有必定的优势,好比语义比局部特征稳定等;固然也有缺点,你的观测中的语义信息要比较丰富,若是场景中你只能偶尔分割出一两个物体,那是没有办法work的。
演示地址:https://www.youtube.com/watch?v=M55qTuoUPw0 文章下载:long-term-visual-localization-using-semantically-segmented-images
从零开始一块儿学习SLAM | 为何要学SLAM? 从零开始一块儿学习SLAM | 学习SLAM到底须要学什么? 从零开始一块儿学习SLAM | SLAM有什么用? 从零开始一块儿学习SLAM | C++新特性要不要学? 从零开始一块儿学习SLAM | 为何要用齐次坐标? 从零开始一块儿学习SLAM | 三维空间刚体的旋转 从零开始一块儿学习SLAM | 为啥须要李群与李代数? 从零开始一块儿学习SLAM | 相机成像模型 从零开始一块儿学习SLAM | 不推公式,如何真正理解对极约束? 从零开始一块儿学习SLAM | 神奇的单应矩阵 从零开始一块儿学习SLAM | 你好,点云 从零开始一块儿学习SLAM | 给点云加个滤网 从零开始一块儿学习SLAM | 点云平滑法线估计 零基础小白,如何入门计算机视觉? SLAM领域牛人、牛实验室、牛研究成果梳理 我用MATLAB撸了一个2D LiDAR SLAM 可视化理解四元数,愿你再也不掉头发https://mp.weixin.qq.com/s?__biz=MzIxOTczOTM4NA==&mid=2247485009&idx=2&sn=3709bcff8efb4a3d1ff78fbb60d4f245&chksm=97d7e3c6a0a06ad07bfcebd0e17a9d58c821ddfc2016dc4b8914bc0c921d65b59243ed5efcc9&scene=21#wechat_redirect)
"欢迎关注公众号:计算机视觉life,一块儿探索计算机视觉新世界~"