论文笔记 | 使用CNN处理稀疏与密集数据:深度补全与语义分割

时间:2018
机构:INRIA
原题目:Sparse and Dense Data with CNNs: Depth Completion and Semantic Segmentation

主要成果

可以通过CNN对非常稀疏(低至0.8%)的深度图进行补全,并可通过替换网络最后一层实现语义分割;输入为稀疏深度图,RGB图像(可选),输出为填充后的密集深度图或语义分割结果;
使用激光雷达采集的深度数据时典型的稀疏数据,Velodyne 64 layers Lidar只能覆盖kitti数据集5.9%的像素,除了深度补全,对稀疏信息的处理是为了使得稀疏与密集数据可以被融合,对各种视觉问题都会起到帮助。简单地将CNN应用于稀疏数据并不能起效,因为CNN对于缺失的信息是很敏感的,一般认为,学习所有的缺失数据的组合是几乎不可能的,所以出现了稀疏卷积(Sparse Convolution)使用了validity mask input 来减少缺失值对于特征提取的影响。作者提出,虽然这样的处理方式提高了处理效果,但该mask是有些冗余的,因此作者采用了一般的CNN结构。
该工作主要探讨了密度变化的深度数据对于深度补全任务的作用,使用稀疏深度与RGB融合对于视觉任务的作用,结果即使用可变密度的深度数据进行训练的模型,对于不同传感器捕获的深度图像有更好的鲁棒性,使用RGB图像参与训练的模型的补全效果也得到明显的提升,而且在语义分割任务上也有类似的效果。

详述

作者提出了一个模型可以用于解决稀疏深度数据的补全问题,同时该模型经过一些小的改动可实现图像分割,特别之处在于该模型可以适应不同稀疏程度下的补全问题。尝试使用稀疏数据与稠密数据输入相结合的做法也大大提高了运行效果。模型主要在NASNet的基础上进行改进,并去掉validity mask来实现更轻量化和更好的表现。在训练时针对稀疏输入进行设计,在使用多输入结构时引入一个融合模式(Fusion Scheme)。

网络结构

作者在比较语义分割常用的两种基网络结构,也就是编码-解码模型与膨胀卷积之后选择使用编码解码模型,认为膨胀卷积方式的卷积核容易错过有效数据值。编码部分采用了NASNet的mobile版本,并做了一些改动,去掉了第一个strided 卷积层之后的BN层,因为稀疏矩阵中大量的0值会导致batchnorm层在计算均值时出现问题。解码器部分,采用一般的反卷积层,在与编码器相同尺寸的特征图间使用skip connection。

Validity Mask 分析

Validity Mask是与输入图像相同尺寸的二值矩阵,1表示此处的深度值有效,0则无效。在Sparse Invariant CNNs中被引入,在传入网络后,使用Maxpooling的方式,与特征图保持相同的尺寸,用于指示特征图中的有效值的分布情况,对于补全效果有很好的提升。但作者在测试后认为该掩码在经过少量层后即达到饱和状态,因此有些冗余,并导致输出的结果不够清晰(?),所以考虑在新的模型中不使用该掩码。

训练过程

稀疏数据

作者发现先前的研究都只使用了固定稠密度的数据来训练,因此在训练中使用稠密度处于[0,1]的数据进行训练,发现对于不同稠密程度的数据可以达到较好的效果。作者对输入的图上的像素进行随机的选取,设置失效,以获得不同稠密程度的深度图。

稀疏数据+RGB数据

论文笔记 | 使用CNN处理稀疏与密集数据:深度补全与语义分割_第1张图片

作者认为,在记录场景时通常是RGB相机与深度相机同时使用的,因此将两者结合也许可以提升预测的质量,因此考虑使用RGB图像与稀疏深度数据进行融合。
融合普遍有两种方式,一种是前期融合(early fusion),即将深度图作为图像的一个通道与RGB数据进行Concatenate,另一种是后期融合(late fusion),即将两种输入经网络映射至特征空间再进行融合,通常采用对应元素相加,但是作者在此使用的是后期融合,两个特征图在通道层面进行concatenate,后接一卷积层。作者提出,通过实验,在使用RGB图像进行融合时,要格外注意网络结构和融合策略的选择,才能保证融合实际上可以奏效。作者的选择经测试是正确的。

损失函数

作者在计算损失时只使用未观测到的像素,经证实,使用全图或对已观察到和未观察到的部分使用权重效果不佳,依据先前的研究,作者认为对于深度补全任务,使用L1损失相对于L2损失在效果上有轻微的提升。具体的,使用逆深度值和inverse mean average error,实际深度值的获取即对回归值取倒数,对于0值点,也就是未激活部分取图中最大深度。
论文笔记 | 使用CNN处理稀疏与密集数据:深度补全与语义分割_第2张图片

测试

作者使用的数据集有人工合成的数据集Synthia,现实场景Kitti和CityScape,作者分别采用固定稀疏度与可变稀疏度的数据进行训练和测试,在只有2%的稀疏度的情况下,该模型也可以很好的对深度进行补充,并且使用深度与RGB融合的方式对于深度补全的效果有较好的提升。其中使用后期融合的方式相对于前期融合的提升幅度更大。
在可变稀疏度的数据上,作者与Sparsity Invariant CNNs进行比较,在都采用0.1的固定稀疏度进行训练时,本模型在与0.1接近的区间内相对于后者有更好的表现,但在远离0.1的数据上误差则很大,而Sparsity Invariant CNNs对于其他的稀疏度的数据则表现稳定。而在采用稀疏度变化的数据训练后,模型表现出了很好的鲁棒性,其补全效果优于Sparsity Invariant CNNs。作者的融合输入模型在Kitti Benchmark上也取得同期最佳表现。总体上证明了RGB数据融合对于深度补全任务是有一定优化效果的。
论文笔记 | 使用CNN处理稀疏与密集数据:深度补全与语义分割_第3张图片

分割

作者尝试使用该模型进行图像分割,当然在输出部分进行了一些改动,主要的目的是研究稀疏深度值与RGB图像融合对于语义分割的影响。主要是与单独使用RGB图像作为输入的方法进行对比。作者将网络的输出层修改为输出每个分类的概率值,使用交叉熵损失进行训练。并在Synthia和Kitti数据集上分别进行评估。评估的指标为平均IoU。在这两个数据集上,该模型有相似的表现,单独使用稀疏深度作为输入的分割效果不如作为对比的使用RGB数据的分割模型,使用深度与RGB数据前期融合的效果与对比模型效果相近,采用后期融合的模型明显优于对比模型。

论文笔记 | 使用CNN处理稀疏与密集数据:深度补全与语义分割_第4张图片

你可能感兴趣的:(论文BJ)