Simple-BEV: What Really Matters for Multi-Sensor BEV Perception? 论文笔记

该论文是A Simple Baseline for BEV Perception Without LiDAR的最新版本,针对的任务为图像(+雷达)的BEV分割。

原文链接:https://arxiv.org/abs/2206.07959

I.引言

        目前,基于图像的3D目标检测中,图像特征“提升”到BEV平面的方案主要包括使用单应性直接变换、使用深度估计变换、使用MLP变换、以及使用几何感知的transformer或跨时空的可变形卷积变换。在所有可能影响模型性能的因素中,本文发现:受关注的特征提升方法 不如 batch size和输入分辨率 对性能的影响大。此外,本文引入雷达数据与图像融合进行3D目标检测,能够获得性能提升。

II.相关工作

        本文认为 无参数反投影(假设深度均匀分布)与 基于深度估计的反投影方法 性能相当的原因是,后者在完美的深度估计下会导致仅在物体可视表面有特征,而非整个物体所占空间均有特征。

III.Simple-BEV模型

A.设置与概述

        本文以前视相机为中心建立体积网格。X轴沿左右方向,Y轴沿上下方向,Z轴沿前后方向。

        本文的方法如下右图所示。使用ResNet提取图像特征后,使用无参数反投影方法提升到3D空间(即将每个体积网格中心投影到图像平面,使用双线性采样图像特征作为体积网格的特征),压缩高度维度后再使用ResNet处理得到最终的BEV表达。

Simple-BEV: What Really Matters for Multi-Sensor BEV Perception? 论文笔记_第1张图片

        若有点云数据,则将其栅格化为BEV网格后,在高度压缩前与3D体积网格特征拼接。

 B.结构设计

        上述特征提升方法分别针对每个相机进行,然后将各相机得到的3D体积网格根据有效性进行加权平均(如果一个网格位于图像视锥内则“有效”)。然后将C\times Z\times Y\times X的张量直接变形为(C\cdot Y)\times Z \times X

        若存在雷达点云,则将雷达点云在BEV下栅格化,得到R\times Z\times X的张量(其中R为除x,y,z以外的非几何特征数量,即通道数);若存在激光雷达点云,则将其在3D空间栅格化,得到Y\times Z\times X的张量。

        然后将各模态的特征张量沿通道维度拼接,通过3\times3卷积压缩通道,得到C\times Z\times X的张量。使用BEV ResNet进行处理,将各层输出双线性上采样到原始分辨率与输入相加,然后用卷积层进行BEV分割。

        类似FIERY的方法,本文还同时预测中心性和偏移量以正则化模型。偏移量预测头会生成一个向量场,在每个物体掩膜内,每个向量均指向该物体的中心。

中心性与偏移量的更直观说明见该文章的上一个版本A Simple Baseline for BEV Perception Without LiDAR。

        训练时,分割任务使用交叉熵损失,而中心性和偏移量的预测使用L1损失。使用基于不确定性的可学习加权来平衡这三个损失。

C.关键因素研究

        提升策略:本文的方法能保证在图像视锥内的每一个体素均能采样到图像特征;而LSS的splat方法(见图一左半部分)可能会使远处的某些体素无对应特征(即便位于视锥内部)。

        输入分辨率:早期方法会将下采样后的图像输入网络,但近期的方法下采样的比例越来越小。本文也对不同分辨率的图像输入进行实验。

        Batch size:图像分类的相关文献表明大的batch size能带来更好的性能,而许多BEV分割方法使用了很小的batch size,这可能是因为这些模型有着很高的内存需求。本文通过累加多个步骤和多个GPU的梯度,以每个梯度步骤的“挂钟时间”为代价来获得相对较大的batch size,但总的训练时间仍与小batch size时相近。

挂钟时间为术语,可理解为实际消耗的时间。

        数据增广:前人的工作使用图像丢弃(dropout)以及基于图像的数据增广方法。本文实验了在训练时使用下列数据增广方式:

  1. 图像的随机缩放和裁剪(相应修改内参矩阵);
  2. 随机选择参考相机建立体积网格(相应地栅格化BEV分割任务的标注信息);
  3. 随机丢弃一个视图的图像。

        测试时固定选择前视相机作为参考相机,且不进行图像裁剪。

        雷达的使用细节:可以有下列三种设置:

  1. 使用雷达点的属性作为BEV的额外通道,或是仅使用二值占用网格附加于图像BEV特征;
  2. 使用原始点云,或是使用离群点过滤后的点云;
  3. 使用多帧累积的雷达点云,或是仅使用当前帧的点云。

IV.实验

        数据集:使用nuScenes数据集,将“车辆”边界框内的点视为正标签,而其余点视为负标签;使用IoU指标评估。

A.性能因素的统一研究

        提升策略:可变形卷积和本文的双线性采样方法有相似的性能,而类似LSS的splat方法(无权重的splat/基于深度的splat)则性能较差;多尺度可变形卷积的性能最优,但复杂度很高。实验表明splat方法在近距离表现更好,而本文的采样方法在远距离表现更好。

        输入分辨率:随着输入分辨率的增加,性能显著增加,但进一步增加分辨率会导致性能下降,可能是物体的尺度不再与主干网络的预训练一致,导致了无效的迁移学习。

        Batch size:增大batch size能显著增加性能,但增加的比例随batch size增大而逐渐下降。

        主干网络:在固定的输入分辨率下,越大的主干网络能得到更好的性能。

        数据增广:使用图像的随机缩放和裁剪、随机选择参考相机均能提高性能,且可视化表明后者可以修正某些位置上某些朝向估计的微小偏差;而训练时随机丢弃相机会导致性能下降,这可能是随机选择参考相机已经提供了足够的正则化。本文也实验了光度变换数据增广,但发现没有帮助。

B.多模态融合分析

        实验表明,雷达数据的引入的确能大幅提高性能;虽然融合激光雷达则能有更大的提升,但差距并没有期望的那么大。

        此外,使用(1)雷达点的属性作为BEV的额外通道、(2)使用原始点云以及(3)使用多帧累积的雷达点云均能带来性能提升。其中(1)是因为雷达点的属性如速度是对前景背景分割重要的信息,(2)是因为nuScenes提供的离群点过滤策略可能同样过滤掉了有效的点,(3)的可能原因是单帧的雷达点云过于稀疏。

C.与SotA比较

        本文基于图像的方法略微超过所有其余的(单帧/多帧)方法,且图像+雷达的方法大幅超越其余现有方法。本文模型的参数比BEVFormer更少,且主要集中在主干网络部分,速度也比BEVFormer快很多。

你可能感兴趣的:(#,雷达与图像融合,论文阅读,深度学习,自动驾驶,计算机视觉,目标检测)