2021CVPR 3D目标检测论文——HVPR
0 基本信息
论文来源:2021 CVPR
1 Abstract
Voxel-based方法可以有效地提取目标特征,但不能保存目标细粒度的3D结构;Point-based特征可以更准确地表示3D结构,但计算量大。因此,本文提出新的single-stage的3D目标检测框架,同时包括Voxel-based和Point-based的优点。HVPR,可以有效的将二者特征集成到单一3D表示。具体而言,先通过memory模块来增强Point-based特征,以降低计算成本;然后,聚合memory中的特征,在语义上类似于每个Voxel-based的特征,以获得伪图像形式的混合3D表示。考虑到点云的稀疏和不规则性,还提出了一个注意力多尺度特征模块(AMFM),以提取尺度感知特征。最终在KITTI数据上性能和速度表现良好。
2 Introduction
本文提出了single-stage 3D检测框架,有效地集成了Voxel-based和Point-based的特征,以获得有区别的3D表示。为此,我们提出HVPR,它由一个Voxel-based和Point-based特征的双流编码器和一个memory模块组成。用memory模块增强Point-based特征的编码器,即在训练过程中更新和存储Point-based特征,从编码器到memory模块,且在测试时不使用编码器,避免了大量的计算。具体而言,聚合memory模块中的point-wise特征,语义上类似于每个Voxel-based的特征,以获得伪图像表示,从而有效地利用混合3D表示,Voxel-based特征和Point-based特征互补,有助于从稀疏点云中检测小目标或者遮挡目标。此外,还提出了一个注意力多尺度特征模块(AMFM),针对混合伪图像,提取多尺度特征,AMFM使用3D尺度表示进行refine,获得尺度感知特征。
具体贡献如下:
- 提出一个新的使用混合3D表示的single-stage 3D目标检测框架,利用memory模块增强point-based的特征,减少计算;
- 提出AMFM模块,以获得尺度感知的特征;
- 在KITTI数据集上性能和速度表现良好,速度达36.1FPS。
3 Related Work
- 基于多传感器融合:MV3D、AVOD、EPNet、3D-CVF等;
- 基于LIDAR点云:associate-3Ddet、pointpillars、HVNet、PointNet等
- Memory networks;
4 Approach
模型主要包括3个模块:HVPR网络、带AMFM模块的backbone以及检测头。
- 对于HVPR网络:输入点云,输出为伪图像形式的混合voxel-point表示。因此,设计了一个双流编码器来分别提取voxel-based和point-based的特征。对于每个voxel-based特征,根据其相似性聚合point-based的特征,并得到混合voxel-point表示。然而,提取point-base特征计算量巨大,因此我们使用memory模块增强point-base特征,具体而言:在内存项目中存储各种point-base特征的原型,并聚合内存中的原型特征以获得voxel-memory表示。通过鼓励聚合原型和point-base特征相似来更新内存项,且只在测试时使用voxel-memory表示,而不是直接使用point-base表示,实现了快速目标检测。
- 对于backbone:输入是以伪图像形式的voxel-memory表示,并提取多尺度特征图。AMFM使用3D尺度表示来refine特征图,并提供尺度感知的特征。
- 检测头:使用尺度感知特征预测目标3D Bbox和类别。
4.1 HVPR Network
Voxel-based feature:与PointPillars类似,在x-y平面将点云体素化,再用一个微型PointNet作为编码器提取voxel-based特征,再使用max-pooling函数聚合特征,得到C*N的特征图
Point-based feature:基于PointNet++提取point-based的特征。
4.1.1 Voxel-point representation
集成point-based和voxel-based的特征获得混合voxel-point表示。因此,对所有point-based和voxel-based的特征进行点乘,得到相关性映射。
对于每个voxel-based的特征,根据相关分数选择最近的K个point-based特征。然后,计算point-based和voxel-based特征间的匹配概率(matching probabilities):
最后,聚合最近的K个point-based特征与相应的匹配概率:
它在语义上类似于相应的voxel-based的对象,但包含了更准确的目标的3D结构信息,因此可以将具有细粒度的3D表示加给voxel-based的特征。
(即:该特征既包括了体素的特征,又包括了该体素周围最近K个点的特征,信息更丰富,检测结果肯定也更好)
4.1.2 Voxel-memory representation
如上表所示,基于PointNet++提取point-based特征会花费大量时间(加入point-based特征后,耗时由39.5HZ增加到6.8HZ)。为解决这个问题,本文使用一个memory模块来增强point-based特征,其中每个内存项存储这些特性的各种原型,以获得voxel-memory表示。
具体而言,本文将内存视为一组point-based特征的原型。使用voxel-based特征进行查询,以读取内存项。然后,计算voxel-based特征和内存项之间的匹配概率,并聚合每个voxel-based特征的相应概率的前K项,这类似于上文中聚合的point-based特征。再将voxel-based特征与聚合项连接,并将连接的特征分散到原始的voxel位置,形成一个voxel-memory的伪图像。
以下列要求更新内存项:
4.2 backbone with AMFM
输入为voxel-memory形式伪图像;输出为多尺度特征图。AMFM利用空间注意力映射refine特征图,得到尺度感知的特征图。
AMFM:AMFM利用3D尺度信息提供尺度感知特征,即:利用空间注意力映射显式的利用3D尺度特征,抑制无用信息,通过将多尺度特征与注意力映射进行element-wise相乘refine原特征图,再利用skip-connection连接原特征图和refine后的特征图。
我们观察到3D点云是稀疏的,其密度随LIDAR传感器距离变化而变化。即,点云的稀疏和不规则性以及它们与传感器的距离反映了3D物体的尺度信息。基于此,我们用一个体素内的点云的数量以及每个体素上平均点云的绝对位置及其与传感器的距离来表示每个体素。然后利用PointNet作为编码器获取voxel-based的特征,再将voxel-wise特征散回原始位置,以获得与voxel-memory伪图像大小相同的3D尺度特征图。
对于空间注意力映射,沿着通道维度运用max-pooling和average-pooling,以强调特征中有用信息。
4.3 检测头和损失
利用SSD完成最终检测。损失函数包括4个部分:回归损失(位置和方向)、分类损失以及memory更新项。
5 Experiment
实验部分表明:本文提出的方法在速度和精度上取得了较好的结果。
消融实验表明:memory模块在很大程度上减少了point-based特征的计算时间;且本文提出的模块均有效的提升了检测精度。