3D稀疏卷积
论文地址:https://arxiv.org/pdf/1711.10275.pdf
论文 3D Semantic Segmentation with Submanifold Sparse Convolutional Networks
摘要
卷积网络是分析图像、视频和三维形状等时空数据的重要基础。虽然其中一些数据自然密集(例如照片),但许多其他数据源本质上是稀疏的。示例包括使用激光雷达扫描仪或RGB-D相机获得的3D点云。卷积网络的标准“密集”实现在应用于此类稀疏数据时效率非常低。我们引入了新的稀疏卷积运算,旨在更有效地处理空间稀疏数据,并使用它们开发空间稀疏卷积网络。我们展示了所得到的子流形稀疏卷积网络(SSCNs)模型在涉及3D点云语义分割的两项任务上的强大性能。特别是,我们的模型在最近一次语义切分竞赛的测试集上的表现优于所有现有的最新技术。
简介
卷积网络(ConvNet)是一种最先进的方法,适用于涉及空间和/或时间结构数据分析的各种任务,如照片、视频或三维表面模型。虽然此类数据通常包含人口密集的(2D或3D)网格,但其他数据集自然稀疏。例如,笔迹是由二维空间中的一维线条组成的,RGB-D相机拍摄的图片是三维点云,多边形网格模型在三维空间中形成二维曲面。 维度灾难尤其适用于生活在具有三个或更多维度的网格上的数据:网格上的点数随维度呈指数增长。在这种情况下,尽可能利用数据稀疏性以减少数据处理所需的计算资源变得越来越重要。实际上,在分析人烟稀少的4D结构的RGB-D视频时,利用稀疏性是至关重要的。 传统的卷积网络实现针对密集网格上的数据进行了优化,无法有效处理稀疏数据。最近,已经提出了一些卷积网络实现,这些实现是为有效处理稀疏数据而定制的[4,18,3]。从数学上讲,其中一些实现与常规卷积网络相同,但它们在触发器和/或内存方面需要更少的计算资源[4,3]。之前的工作使用了im2col操作的稀疏版本,该操作将计算和存储限制在“活动”站点[4],或者使用[22]中的投票算法将不必要的乘法减为零[3]。八元网络[18]修改卷积算子,在感兴趣区域之外的网格部分产生“平均”隐藏状态。
传统的卷积网络实现针对密集网格上的数据进行了优化,无法有效处理稀疏数据。最近,已经提出了一些卷积网络实现,这些实现是为有效处理稀疏数据而定制的[4,18,3]。从数学上讲,其中一些实现与常规卷积网络相同,但它们在触发器和/或内存方面需要更少的计算资源[4,3]。之前的工作使用了im2col操作的稀疏版本,该操作将计算和存储限制在“活动”站点[4],或者使用[22]中的投票算法将不必要的乘法减为零[3]。八元网络[18]修改卷积算子,在感兴趣区域之外的网格部分产生“平均”隐藏状态。 卷积网络之前的稀疏实现的缺点之一是,它们通过应用“完整”卷积来“扩展”每一层中的稀疏数据。在这项工作中,我们展示了创建在整个网络中保持相同稀疏度的卷积网络是可能的。为此,我们开发了一种用于执行稀疏卷积(SCs)的新实现,并引入了一种称为子流形稀疏卷积(SSC)的新卷积算子。1我们使用这些算子作为子流形稀疏卷积网络(SSCN)的基础,这些网络针对3D点云的有效语义分割进行了优化,例如图1所示的示例。在表1中,我们展示了SSCN在最近一次基于零件的细分竞赛[23]的测试集上的性能,并将其与竞赛中一些表现最好的项目进行了比较:SSCN的表现优于所有这些项目。我们的源代码在网上公开。
ConvNets的空间稀疏性
我们将d维卷积网络定义为以(d+1)维张量作为输入的网络:输入张量包含d个时空维度(如长度、宽度、高度、时间等)和一个额外的特征空间维度(如RGB颜色通道或表面法向量)。输入对应于一个多维的站点网格,每个站点都与一个特征向量相关联。如果特征向量中的任何元素不处于基态,例如,如果它是非零的,我们将输入中的一个站点定义为活动的。在许多问题中,阈值可以用来消除特征向量与基态之间距离很小的输入点。请注意,即使输入张量是(d+1)维的,活动也是一种d维现象:沿特征维的整条线要么是活动的,要么是不活动的。
类似地,d维卷积网络的隐藏层由特征空间向量的d维网格表示。当通过网络传播输入数据时,如果作为输入的层中的任何站点处于活动状态,则隐藏层中的站点处于活动状态。(请注意,当使用大小为3的卷积时,每个站点都连接到下面隐藏层中的3d站点。)因此,隐藏层中的活动遵循归纳定义,其中每一层确定下一层中的活动状态集。在每个隐藏层中,非活动站点都具有相同的特征向量:对应于基态的特征向量。在训练时,每次向前传球只需计算一次基态值,在测试时,所有向前传球只需计算一次基态值。这就大大节省了计算和内存需求;具体的节省取决于数据稀疏性和网络深度。然而,我们认为,上述框架限制过度,特别是因为卷积运算没有被修改以适应输入数据的稀疏性。如果输入数据包含单个活动站点,则在应用3d卷积后,将存在3d活动站点。应用同样大小的第二次卷积将产生5d活性位点,以此类推。在实施包含数十个甚至数百个卷积层的现代卷积网络体系结构时,活动站点数量的快速增长前景不佳,例如VGG网络、Resnet或DenseNets[8、9、20]。
当然,卷积网络通常不适用于仅具有单个活性位点的输入,但当输入数据包括二维或多维空间中的一维曲线,或三维或多维空间中的二维曲面时,上述膨胀问题同样存在问题。我们将这个问题称为“子流形扩张问题”,如图2所示。该图表明,即使我们在这个网格上应用小的3×3卷积,网格的稀疏性也会迅速消失。
|