[论文笔记] SemanticFusion: Dense 3D Semantic Mapping with Convolutional Neural Networks
一、 主要内容
最近开始看语义SLAM的内容(叹。
主要贡献
- 整合前沿技术SLAM系统的ElasticFusion框架中运用CNN实现图像分割,并结合条件随机场优化分割精度进而构建基于概率密度的空间映射模型。
- 配备的是基于RGB-D技术的摄像头其帧率达到了25Hz确保运行流畅性。
- 开发了一种在语义地图中更新各点类别概率的方法。
额外收获
- 利用视频连续帧间的大量数据来提升CNN在单张图片分割上的效果。
- 通过同步运行闭环检测来保持语义信息的一致性。
- 提出了一种方法将基于RGB图像训练得到的分割模型迁移应用到RGB-D输入上。
存在的不足
在大多数基于语义的SLAM系统中都存在这一问题。虽然CNN的预测并非实时完成,但本文采用了每隔10帧进行一次预测的方法,在实验结果中并未见到明显改进的情况下可进一步研究(如已有文献采用几何方法对边缘进行精细优化)。仅实现了语义映射功能,在跟踪过程中未引入语义信息作为辅助依据。所采用的语义分割模型源于Noh等人提出的基于FCN的学习反卷积网络框架,在现有技术基础上建议进一步优化以构建高精度或高效率版本(包括深度学习中的deeplab系列、 shuffleNet系列以及结合物体识别能力的Mask R-CNN系列模型)?
相关资料
视频流:基于卷积神经网络的深度三维语义地图构建
- 代码
full codes
二、实现方法
整体流程分为三部分:
- 模块功能描述:
- 能够实时计算各帧之间的位姿关系。
- 并构建基于
surfels表示的全局地图。
- 模块功能描述:
- 接收RGBD图像数据。
- 并对图像中的每个像素进行分类概率预测。
- 基于贝叶斯更新方案:
- 结合SLAM算法提供的2D-3D点对应关系。
- 更新全局地图中每个surfel的具体类别概率。
- 使用CRF算法:
- 通过全局地图中的几何信息约束语义分割结果的空间一致性。
在整体工作流程中,在 RGBD 相机接收输入后(t_0时刻),基于视觉的 SLAM 技术负责生成三维地图模型(M)。随后,在每经过预定帧数后(如 f_1, f_2, \dots), convolutional neural network (CNN) 被激活以更新地图中的语义信息;接着,在另一个预设的时间间隔内(如 c_1, c_2, \dots), Conditional Random Fields (CRFs) 被执行以优化语义分割结果并获得更为平滑一致的边界估计值;与此同时,在持续的过程中(从 t_0 到 t_f),闭环检测模块实时监控周围环境的变化情况;一旦检测到存在闭环轨迹(即路径闭合于某个位置附近),则会触发 SLAM 系统重新生成新的三维地图模型以补充现有数据集,并保持语义信息的一致性与完整性。
1. SLAM Mapping
ElasticFusion 主要完成了:
通过ICP算法实现位姿估计获得T_{WC}的同时对RGB图像进行帧间配准处理
2. CNN Architecture
该网络基于caffe框架构建,并采用主干网络架构为VGG-16设计。原始设计针对RGB三通道输入设计。为了适应RGBD输入形式(即深度图与彩色图分辨率不匹配),作者采取了相应的预处理策略:首先通过双线性插值将彩色图像缩放到224x224像素尺寸;其次利用最近邻插值方法获取深度信息对应点坐标,并结合深度图信息进行后续处理。值得注意的是,在现有研究中较为缺乏高质量深度图像数据集的情况下(尤其是深度视频数据集方面),作者采用了自定义的数据增强策略:即对第四个颜色通道参数采用前三通道参数平均值作为初始值,并将灰度范围[0,255]映射至深度范围[0,8]以辅助收敛训练过程(具体细节需参考相关代码实现)。此外,在模型训练阶段还引入了一种特殊的优化策略:即分别对第四颜色通道参数以及整个网络分类器进行微调优化(这部分工作基于NYUv2深度视频数据集完成)。最终实验表明,在此新框架下所获得的概率预测结果具有较高的置信度(准确率达到93.7%)。
3. Incremental Semantic Label Fusion
此步骤旨在更新地图中surfels的类别概率分布。初始设定为均匀分布。类别的数量明确确定,并假设无任何先验信息。通过SLAM算法得到的姿态信息T_{WC}能够建立二维图像中的点与三维地图中的surfel之间的对应关系。进而利用贝叶斯定理更新地图上每个surfel所属类别的概率:具体而言,则是将前k-1帧的概率乘以后续第K帧在像素位置上属于类别的可能性进行归一化后的结果。
4. Map Regularisation
通过条件随机场提升分割结果的效果,在作者推测下进行优化调整。基于已有的地图几何信息进行动态地更新概率分布(与贝叶斯推断的过程具有相似性),从而最小化Gibbs能量E(x)。
