Searching Efficient 3D Architectures with Sparse Point-Voxel Convolution
(一)动机 Motivation
- 基于点的方法最多将90%的运行时浪费在构造不规则数据上,而不是在实际特征提取。
- 基于体素的方法通常会遭受严重的信息丢失:即,密集体素的分辨率受到内存的严格限制;稀疏体素需要进行积极的下采样才能获得更大的接收场,从而导致更深层的分辨率较低。在低分辨率下(参见图1),多个点甚至多个小物体可能会合并为一个网格,并且变得难以区分。在这种情况下,与大物体(例如汽车)相比,小实例(例如,行人和骑自行车的人)处于劣势。因此,当硬件资源有限且分辨率低时,以前的3D模块的有效性会降低。
(二)创新 Innovation
- 提出了稀疏点体素卷积(SPVConv),这是一个轻量级的3D模块,它为普通的稀疏卷积配备了高分辨率的基于点的分支。模块可以提高小物体上的性能,这在有限的硬件资源下曾经是一个挑战。
- 引入了第一个用于3D场景理解的AutoML框架3DNAS,该框架在特定资源限制下提供了最佳的3D模型。
- 实验结果验证了生成的SPVNAS模型的快速性和准确性:它比最先进的MinkowskiNet高出3.3%,在SemanticKITTI排行榜上排名第一。该算法比MinkowskiNet减少了8倍的计算量,提高了3倍测量速度。
- 将我们的方法应用到3D目标检测,它在KITTI上实现了对一阶段检测基线的改进。
(三)SPVConv: Designing Effective 3D Modules
首先分析Point-Voxel卷积和稀疏卷积,并分析它们的瓶颈。
缺陷: 当内存受限制时,它们都会出现信息丢失现象(由粗体素化或过度的下采样引起)。
因此,论文引入了稀疏点体素卷积(SPVConv),以有效处理大型3D场景(图2所示)。
3.1 Point-Voxel Convolution: Coarse Voxelization
- PVCNN(基于Point-Voxel卷积)在单个GPU(具有12 GB内存)的基于体素的分支中最多可以提供1283个体素。
- 在室外场景较大(大小为100m×100m×10m)的情况下,每个体素网格将对应一个较大的区域(大小为0.8m×0.8m×0.1m)。
- 在这种情况下,小实例(例如,行人)将仅占据几个体素网格(请参见图1)。
- 从这几点出发,PVCNN几乎无法从基于体素的分支中学习任何有用的信息,从而导致性能相对较低(请参见表1)。
- 或者,可以逐块处理大型3D场景,以使每个滑动窗口的比例都较小。为了保留细粒度的信息(即体素大小小于0.05m),必须对244个滑动窗口中的每一个运行PVCNN。处理单个场景需要35秒,这对于大多数实时应用程序(例如,自动驾驶)来说是无法承受的。
3.2 Sparse Convolution: Aggressive Downsampling
体积卷积一直被认为效率低下,无法扩大规模。最近,研究人员提出了稀疏卷积,它跳过了未激活的区域以显着减少内存消耗。
- 首先找到输入点和输出点之间的所有活动突触&