语义SLAM近5年主要技术进展及研究趋势
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
本文有以下结构:
简介
发展方向
方向一:Semantic Mapping
方向二:Real Semantic SLAM
SLAM 帮助语义。
语义帮助 SLAM。
方向一:Semantic Mapping
将2D图像的语义分割结果,即带标签的像素,映射到3D点云中。
LSD-SLAM + DeepLab-v2 (语义分割) 流程:输入 -> 选关键帧并 refine(非关键帧用于增强深度估计)-> 2D语义分割 -> 语义优化+3D重建 ① 为保证速度,仅对关键帧来进行语义分割, ② 其他帧用 small-baseline stereo comparisons[7] 对关键帧做深度估计的优化 ③ 使用 Recursive Bayes 增强语义分割 ④ 3D重建的优化使用条件随机场(CRF),同 SemanticFusion
第二种 Mapping 方式则以 Object 为单位构建地图[8][9]。相比于一堆标记了类别的 voxel,包含一个个物体的语义地图,将更有价值。
使用 RGB-D 和 ORB-SLAM2 可构建一个 dense 的点云。 对于关键帧,SSD 检测出多个 Object,应用无监督的3D分割方法[11] 为每一个 Object 分配点云序列,并存储起来。 数据关联:得到一组分割结果(Object, 对应点云)后,据点云重心的欧式距离,在找出最接近的一组候选 Object,如果超过 50% 的点对的距离小于一个阈值(文中 2cm),就认为是匹配到的 Object,否则认为是新 Object,存储下来。 匹配为同一 Object 的两个点云,直接累加分类概率(置信度)。这和上文提到的 Recursive Bayes 方法很像,即利用 SLAM 提供的物体多角度信息,增强分割结果。 (注:本文的 Related Work 写得很好)
思路一:同个 3D 点重投影之后,应保持语义一致。
如上图所示,(a) 为语义分割图,(b) 为类别 “Car” 的区域,在(c) (d) 中,根据与 Car 区域的距离,概率值从1 (红) 变为 0 (蓝)。其他类别如Tree,也会产生此概率分布图。 其中 距离 到 概率 的转化,利用了下方的高斯分布,(c) (d) 的不同是方差 导致的。这是在为量化重投影误差做准备。对于一个空间点P(拥有坐标 )来说,重投影之后计算得到一个概率: 其中 计算了重投影的结果 与类别 c 区域的最近距离,最后得到的 用于计算重投影误差: 权重 的存在是为了解决数据关联,即空间点P应该以哪一个类别的区域为目标,。其由多个相机下的 值累乘,即多个角度观测投票决定。 会加到普通的 BA 优化公式中,使用 EM 算法进行优化,E 步更新权重 ,而 M 步优化三维点P坐标和相机位姿(普通的 BA 过程)。 个人理解,之所以使用高斯分布,是因为其函数有“骤降”之处,那么方差 可以起到决定阈值的作用,让距离超过阈值的类别区域更快得到一个小权重 ,多个相机的投票下,数据关联很快就能稳定下来,可以加速优化。 (为简化说明,上述公式已被简化,去除了对于多个相机、空间点的索引,详见原文)
思路二:从语义信息可以推断出动态区域。
利用语义分割,将一些类别()区域定义为背景(绿色),其他类别()区域定义为可移动物体。 接下来使用运动判定,以区分可移动物体当前是静止(蓝色)还是运动(红色)的。 运动判定的规则如下:对于某一语义区域内,过往估计的特征点的 3D 位置,投影到当前的新图像上,重投影位置若和对应特征点的欧式距离大于一定阈值,则定义为移动点,如果该区域移动点的比例大于一定阈值则判定为移动区域。
思路三:语义信息提供的物体级别的描述,拥有季节(光线)不变性。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
评论