Real-Time Fully Incremental Scene Understanding on Mobile Platforms
移动平台上的实时全增量式场景理解(IROS 2018)
本文提出了一种可以在移动设备上实时运行的基于RGB-D相机的在线室内场景理解方案。首先,基于SLAM增量式地重建场景以及计算一个三维几何分割,将每个输入深度图中的场景片段融合成一个全局的三维模型。结合该几何分割和语义标注来实现语义分割,结果以语义地图形式保存。为了实现有效的语义分割,本文利用一个快速增量式的三维描述子对全局模型中的场景片段进行编码,然后利用随机森林来得到每个场景片段的标签。连续帧的预测结果将随时间被不断地融合,以得到一个可信的语义类别。本方法可以与当前最前沿的三维场景理解方法达到类似的精度,而且相比之下更加高效,并且能够在低功耗的嵌入式系统上实时运行。
主要贡献:
(1)本文提出的实时增量式三维场景理解算法与目前最前沿方案相比,其运行速度非常高效而且易于扩展,还可以兼容低功耗内存受限设备。
(2)定义一种三维点云描述子,当新数据到来时能够增量式更新,可充分用于语义分类。
(3)训练一个随机森林来对相应场景片段进行语义分类。
(4)与现有方法相比,可在常数时间内对每帧三维场景片段进行编码,且时间开销与全局地图大小无关。
算法流程:
1. 基于SLAM的重建与分割
本文利用Tango内置的视觉惯性里程计来得到相机位姿。该里程计将对鱼眼相机采集图像的特征跟踪和IMU测量值集成在一个扩展卡尔曼滤波框架中,同时还包括对相机的重定位和姿态调整来减少误差累积。而增量式分割算法首先利用深度图计算顶点和法向量,然后从每帧深度图中提取连通分量并融合进一个全局分割地图中,以此来分割重建后的三维场景。该地图由场景片段组成,而每个片段由面元构成,每个面元由位置、半径和置信度表示。本阶段结束时,全局模型的几何场景片段与深度图中的场景片段一一匹配。
2. 三维增量式描述子
增量式三维描述子是本文语义分割方法的核心,也是本文最主要的贡献。本方法增量式地将几何场景片段中的每个面元编码成一个向量。计算特征子的复杂度与面元数量线性相关。所以,增加一个三维点进当前描述子只需要一个常数时间的操作。
不同的增量式描述子可以设计成由不同的三维性质编码而成,比如几何信息、颜色和纹理。本文实现中,主要将不同的易于区分的三维特性嵌入场景几何中,比如点坐标分布和法向量分布。特别地,以下可以增量式计算的性质将被用于语义分割中的特征:质心(Centriod)、法向量分布(Normal Vector Distribution)、定界框(Bounding Box)和高度分布(Height Distribution)。
3. 语义分类
增量式描述子将被作为分类器训练和测试的输入特征。特别地,对每个场景片段计算一个三维描述子,然后利用随机森林来得到其语义类别。部分场景片段将因为当前深度图带来的新的测量信息而改变,先前得到的语义类别将被用于预测这些场景片段的语义标签。一旦所有场景片段的语义类别计算得到了,三维分割结果可以增量式的变成一个语义表示,伴随着连续的预测结果融合进来。最终结果测试每个场景片段语义类别的概率分布,而每个场景片段的语义标签将由最大概率对应的类别给出。
4. 训练过程
用ScanNet来训练随机森来,ScanNet提供位姿真值,深度图和手工标注的语义信息。这些语义标注过的点云、深度数据和相机轨迹真值将是训练过程的输入。
训练过程:第一步将处理过的深度数据输进增量式分割过程。测试过程也类似,由此每个场景片段的三维描述子将被增量式的计算得到。由于语义标注的真值已知,每个面元的语义类别可以由投射二维标签至三维模型而得到。至此可得每个场景片段的语义类别。
5. 实验结果
本文在ScanNet和NYUv2数据集上评估所提出的增量式语义分类方案。实验结果表明,本文方法与一些目前最前沿方案具有相似的精度,而且更加高效和易于扩展。特别需要说明的是,它并不需要借助GPU就可以在移动设备上实时运行。
(1)本方法在ScanNet数据集的结果示例:
(2)本方法在ScanNet测试数据上利用不同三维描述子的整体精度
(3)不同全局三维描述子VFH, CVFH, OUR-CVFH and FPFH随着点云尺寸增加的运行时间比较
(4) 在不同分辨率的输入深度图下,语义分类流程在Tango平台上的平均运行时间
(5) ScanNet测试场景下的语义体素标签预测精度