PointAugmenting: Cross-Modal Augmentation for 3D Object Detection总结
说明
- 会议:CVPR2021
- 标题:PointAugmenting:用于 3D 对象检测的跨模态增强
- 代码:https://github.com/VISION-SJTU/PointAugmenting
摘要总结
背景
- 现状:相机和 LiDAR 是两个互补的传感器,用于自动驾驶环境中的 3D 物体检测。摄像头提供丰富的纹理和颜色提示,而激光雷达则专注于相对距离感应。
- 问题: 3D 目标检测的挑战在于有效融合 2D 相机图像与 3D LiDAR 点。
方法
- 总括:在本文中,我们提出了一种名为 PointAugmenting 的新型跨模态 3D 目标检测算法。
- 具体说明:
- 一方面,PointAugmenting 用预训练的 2D 检测模型提取的相应逐点 CNN 特征装饰点云,然后对装饰后的点云执行 3D 目标检测。
- 与装饰点云的highly abstract semantic segmentation scores相比,来自检测网络的 CNN 特征适应对象外观变化,实现了显着的改进效果。
- 另一方面,PointAugmenting 受益于一种新颖的跨模态数据增强算法,该算法在网络训练期间始终将虚拟对象粘贴到图像和点云中。
- 一方面,PointAugmenting 用预训练的 2D 检测模型提取的相应逐点 CNN 特征装饰点云,然后对装饰后的点云执行 3D 目标检测。
结果
- 在大规模 nuScenes 和 Waymo 数据集上进行的大量实验证明了我们的 PointAugmenting 的有效性和效率。
- 值得注意的是,PointAugmenting 比 LiDAR-only 基线检测器的性能高出 +6.5% mAP;
- 在 nuScenes 排行榜上取得了迄今为止最先进的新结果。
引入
LiDAR 以稀疏点云的形式获取深度信息,而相机以具有丰富颜色和纹理的密集强度阵列形式捕获图像。 3D 对象检测的挑战在于图像和点云之间的未对齐。在这项工作中,我们的目标是通过有效的跨模态数据融合和增强来推进 3D 对象检测。
先前的技术探索了多种跨模态融合方案,分为三类:结果级融合、提议级融合和点级融合。
- 结果级融合方法 [13、21] 采用现成的 2D 对象检测器,因此它们的性能受到 2D 检测器上限的限制。
- 提议级级别的融合方法,如 MV3D [3] 和 AVOD [8],在区域提议级级别执行融合,导致计算量大。
- 点级融合,最近的方法 试图通过将点云投影到图像平面上来获取逐点图像特征。 [11,10,29] 在与 LiDAR BEV 特征融合之前构建鸟瞰图(BEV)相机特征以减轻视点不一致。然而,跨视图变换很容易导致特征模糊。相反,MVX-Net [16]、EPNet [7] 和 PointPainting [19] 直接利用逐点对应来使用 CNN 特征或来自图像分割的分割分数来增强每个 LiDAR 点。
具体方法
具体架构描述
PointAugmenting
采用CenterPoint作为仅限LiDAR的baseline,并通过跨模式融合机制和有效的数据增强方案对其进行扩展。整体思路大概是把每个点云数据透过相机内外参数投影到图像坐标中,在将图像中的CNN特征加到该点上,然后进行体素化(应该是指的体素分区),然后再将体素化的再转为BEV,进行常规的3d目标检测。
跨模态融合
point-wise特征提取
作者用CNN图像特征来装饰LiDAR点。为了提取图像的point-wise特征,我们使用现成的网络进行二维目标检测,而不是语义分割。原因是因为作者认为二维和三维目标检测是互为补充的任务,它们关注的是不同粒度的目标,它们相互受益。其次,2D检测标签很容易从3D投影中获得,而分割标签是昂贵的,并且通常是不可用的。作者这里用的centernet的DLA34输出激活作为图像特征,为了提取相应的point-wise图像特征,我们通过齐次变换将LiDAR点投影到图像平面上以建立对应关系。然后,利用提取的逐点图像特征附加LiDAR点作为网络输入进行检测。
3D检测
融合的LiDAR点可以用(x,y,z,r,(t),fi)表示。其中x,y,z是位置坐标,r表示反射率,t是相对时间戳,fi为64维度的图像特征。考虑到多模态之间的差异还有激光雷达和摄像机之间不同的数据特性,不同于PointPainting所使用的point-wise concatenation,我们采用了一种跨通道的后期融合机制。在体素特征编码之后,我们使用两个独立的3D稀疏卷积分支来处理LiDAR和相机特征。然后,我们将两个下采样的3D特征体展平为2DBev图,每个图的通道数为256。然后这2个BEV图按照通道concatenate,被送到四个二维卷积块中进行特征聚合。最后在聚集的特征与先前的camera和LiDAR的Bev特征之间添加跳层连接,最后被送到RPN中。
跨模态数据增强
GT-Paste会导致3D和2D间的不一致性,那么如何缓解这种不一致性呢?最简单的思路就是,对2D和3D同时做增广,那么作者也确实是这么做的。
- Augmentation for LiDAR Points
我们将LI-DAR点(x,y,z)变换为LiDAR球坐标系为(r,θ,φ)。也就是说如果随机添加点云数据,可能其在2D图像上是被遮挡的,也因此会导致mismatching problem。做法也很直接,其实就是去除遮挡的点就可以了。去除的原则总结起来只有一条,就是"留近去远",保留近处points,去除远处occluded points。 - Augmentation for Camera Images
为了匹配LiDAR和摄像机之间的一致性,对于粘贴到LiDAR场景中的每个虚拟对象,我们将其在2D边界框内的对应patch附加到图像上。二维包围盒是从三维地面真实投影中获得的,为了确定粘贴位置,我们注意到虽然虚拟patch被粘贴在LiDAR场景中的原始位置,但由于摄像机外部参数的变动,虚拟patch贴到这个图像上时并不位于它原始图像平面的位置。我们需要通过当前的摄像机外定标重新计算二维包围盒的位置,然后对原始patch进行平移和缩放变换。才能保证LIDAR和image的位置相对应。