A Simple Baseline for BEV Perception Without LiDAR
本文介绍一篇简单的BEV语义分割模型,这篇文章出彩的是消融实验部分,分析了哪些因素对BEV语义分割影响比较大,此外还分析了如何更好使用Radar数据提高感知性能。
项目链接为:https://simple-bev.github.io/
文章目录
- 1. Simple-BEV Model
- 2. Experiments
- 2.1 Unified study of performance factors
- 2.2 Multi-modality fusion analysis
1. Simple-BEV Model
整个模型架构如下图所示(在作者上传到Arxiv v1版论文中提供了下图),传感器包含多个摄像头和毫米波雷达。
- 首先使用Resnet-101网络提取每个图像特征,然后定义3D空间 ( 100 m , 100 m , 10 m ) (100m,100m,10m) (100m,100m,10m),将每个子网格投影到特征图上,双线性采样特征,得到3D特征网格,大小为 ( 200 , 200 , 8 ) (200,200,8) (200,200,8)。
- 然后将毫米波雷达点云转换成图像,毫米波图像特征维度为15维;
- 毫米波图像特征与3D特征网格相结合,压缩成BEV特征图,再使用Resnet-18网络处理BEV特征图,最后是不同的任务头;
2. Experiments
2.1 Unified study of performance factors
首先比较了将图像特征投影到BEV上的不同方法的性能。从下表可以看到双线性采样是优于基于深度splatting的方法,本文方法仅落后于多尺度可变形的注意力方法。在BEV语义分割中,双线性采样就可以很轻松得到较好的结果,可以不需要进行深度估计。
下图是深度估计和双线性采样在不同距离上的IOU比较,可以看到在近距离上深度估计效果更好,远距离上双线性采样效果更好,对于图像来说,要估计远距离的深度往往是很有挑战性的。
下面测量模型的性能如何随输入分辨率而变化,使用相同的分辨率进行训练和测试。使用低于448×800的分辨率会大大降低性能。论文的最佳结果是49.3,输入分辨率为672×1200。然而,该分辨率相比448x800的分辨率要慢得多(133 ms vs 83 ms),并且需要将近两倍的训练时间,针对nuscenes数据集来说,可以考虑448x800的输入分辨率。
下图讨论了批量大小对模型性能的影响:批量大小的增加会提高模型性能。将批量大小从2增加到40模型性能可以提高近14个点。大多数以前的工作使用的批量大小小于16,许多现有方法可能会从简单的重新训练中再受益(仅改变批量大小)。
下面是不同主干网对性能的影响,可以看到网络越深,性能越高,但这些主干网也对输入分辨率有着特定要求,即上面提高的448x800。
下面是对数据增强方法的比较。
- 训练模型时,随机地将每个相机的图像大小调整到目标分辨率的[0.8,1.2]以内,并将其放置在中心的随机偏移处。表III(a)显示,能提高1.6个点。
- 当随机选择相机作为“参考”相机时,即选择不同相机作为3D网格的参考系可以提高0.6个点。随机选择参考相机有助于减少BEV模块中的过拟合,定性地观察到,如果没有这种增强,分割的车辆在某些位置的某些方向上会有轻微偏差;但是随机选择相机,这种偏差消失了。
- 之前的研究报告称,在每个训练样本中随机丢弃6个可用摄像头中的1个摄像头会带来好处。如表III(c)所示,发现相反的情况:使用所有相机表现更好。这可能是因为参考相机随机化提供了足够的正则化。
2.2 Multi-modality fusion analysis
下表比较了多模态融合的性能,在本文融合Radar之后模型性能提高了8个点左右,仅落后Camera+LiDAR性能5个点。
下表是不同毫米波雷达参数设置对多模态模型性能的影响。
- 访问与每个雷达点相关的元数据,这包括速度等信息,有助于区分移动对象和背景,反之将降低0.7点。
- 将所有雷达返回作为输入,通过禁用nuScenes内置的异常值过滤策略实现。过滤策略试图丢弃异常点(由多径干扰和其他问题产生),但也可能丢弃一些真实的返回。使用过滤数据而不是原始数据会导致性能下降2点。
- 将雷达的多次扫描聚合作为输入能提高2.6个点。