1. 引言
自动驾驶作为一种革命性交通技术,不仅有望大幅提升出行安全性和效率,同时也为未来智慧交通系统奠定了基础。基于鸟瞰图(Bird’s Eye View, BEV) 3D目标检测在无人驾驶环境感知中能够准确识别和定位周围物体,为决策和规划提供可靠数据支持。当前,基于视觉的鸟瞰图目标检测方法主要分为基于网络的方法和基于几何的方法[1]。基于网络的方法通过数据驱动的方式实现从二维图像向鸟瞰图视图的转换,利用神经网络学习视角转换过程中透视图(Perspective View, PV)与BEV之间的映射关系。此类方法引入了不同粒度的查询策略,主要包括稀疏查询、密集查询和混合查询。稀疏查询方法如DETR3D [2]、PETR [3]和Graph-DETR3D [4],主要聚焦于物体检测任务,通过直接生成稀疏的感知结果来减少图像特征的密集转换,从而降低计算量,但因缺乏全局场景的细粒度感知,其在密集任务(如图像分割)中的应用受限;密集查询方法则通过在3D或BEV空间中为每个查询预先分配固定位置,依赖空间分辨率生成大量查询,以实现更为详尽的场景理解,代表方法包括BEVSegFormer [5]、PersFormer [6]和BEVFormer [7],但其高查询数量也带来了显著的计算负担。为了兼顾两者优势,混合查询方法如PETRv2方法[8]通过融合稀疏物体查询和密集分割查询。然而,尽管基于Transformer的方法[9]在多任务中展现了优异性能,其计算复杂度高、依赖大规模训练数据、训练过程繁琐等问题依然制约了其在实时场景下的应用。基于几何的方法由于其计算复杂度较低,广泛应用于实时场景下。其主要应用的是基于体素的技术,如LSS方法[10],该方法通过预测深度类别分布和上下文特征向量,定义透视射线上各点的特征面积,从而将多视图图像特征融合为统一的场景表示,并增强了对相机校准误差的鲁棒性。不过,伪点云在远距离区域往往较为稀疏且分布不均,检测模型难以完整捕捉目标特征,因此在生成过程中会出现细节信息丢失而导致小目标和远距离目标检测性能不足。此外,常使用ResNet神经网络[11]作为特征提取网络,会出现重复学习现象。因此本文提出了一种基于视觉的双分支结构的3D目标检测方案。
2. 传统基于视觉的鸟瞰图下3D目标检测算法分析
BEVDet方法[12]是基于视觉的鸟瞰图环境感知的代表,提出了一个多视图图像的三维检测网络,包含图像编码器、视图转换器、BEV编码器和检测头。尽管此方法能够整合场景中的空间几何信息,利用多视图间互补的细节特征,实现了三维目标定位和识别。然而,这类方法也存在一些局限性。
2.1. 残差网络模块
ResNet是BEVDet模型进行图像特征提取的网络。其通过卷积层提取特征,然后进行批量归一化以稳定训练过程,使用非线性激活函数ReLU对特征进行非线性变换[13]。最后,通过残差连接将经过这些操作的输出与输入直接相加,形成残差结构,如图1。尽管ResNet具有较强的特征提取能力,但深层结构和较宽的通道设计使得冗余信息存在。
Figure 1. ResNet architecture diagram
图1. ResNet结构图
其数学模型如式1所示:
(1)
是从输入
到目标
的映射函数。尽管通过引入残差连接能够缓解深层网络中间的梯度消失问题,但是这种架构设计会使第
层将梯度传递给所有(
,
,
,1)层,并使用它来更新权重,这将导致重复学习,出现冗余信息,如式2所示。
(2)
其中,
是从输入到目标的映射函数,
是ResNet第
层的运算函数。在无人驾驶的应用中,由于网络处理大量无效或重复的特征所产生的冗余信息,会导致推理时间变长,影响系统对动态场景的快速响应。因此,除了保证检测精度,提升模型的运行效率、减少冗余信息。
2.2. 伪点云生成模块
该方法分为三个阶段,即提升、投影和输出。在提升阶段,每个相机的图像被显式估计其下采样特征点的深度分布,从而生成视锥点云数据,表征图像特征的三维分布。在投影阶段,利用相机的内外参信息将所有相机的视锥点云投影到统一的BEV网格中,并通过sum-pooling方法[14]对每个网格的特征进行汇总,最终形成完整的BEV特征图,如图2。在输出阶段,任务头对生成的BEV特征图进行处理,输出目标检测[15]、语义分割[16]等感知结果。
Figure 2. Lift-splat schematic diagram
图2. 提升–投影示意图
由于单目相机无法直接获取像素的精确深度信息,因此必须通过深度估计来弥补这一不足。LSS方法对图像中每个像素点沿其对应射线以固定间隔(例如每隔1米,共采样41个点)的方式进行采样,从而将每个二维像素映射为一组视锥内的三维候选点,形成伪点云。随后,通过提取深度特征并将其离散化为深度概率分布,最终对所有深度候选值进行加权求和来估计像素的深度。然而,对于尺度较小或处于远距离的目标,其在图像中本就只占据极少数像素,经过采样和离散化过程后,原始特征信息容易被平均和稀释,进而导致检测性能显著下降。
3. 基于视觉的双分支结构鸟瞰图下3D目标检测
双分支结构视觉检测算法通过接收来自六路摄像头的同步图像,生成完整的360度环视视图,使车辆能够在自身坐标系下构建环境信息,精准确定目标的三维空间位置、姿态以及类别,为自动驾驶车辆提供实时、可靠的环境感知能力。网络结构设计包含三个关键模块:首先是特征提取模块,该模块采用多尺度特征提取,能够有效捕获目标的外观信息以及场景的全局上下文关系,不仅增强了对不同尺寸和形状目标的识别能力,还为后续的检测任务提供了高质量的特征表示。其次是辅助特征提取模块,该模块专门针对BEV空间下的目标检测进行了优化,通过直接从2D图像特征进行特征提取,充分利用了图像中的丰富信息并通过加权的方式进行不同层次特征的融合,提升模型对不同目标类型的识别能力。最后,特征融合模块将辅助特征提取模块所提取的特征进行整合优化,从而提升目标较小或者远距离目标的检测精度,如图3所示。
3.1. 跨阶段局部特征提取
跨阶段局部网络(Cross-Stage Partial Network, CSPNeXt)是构建主干网络的一种方法,通过建立跨阶段层次结构实现卷积运算的梯度流在不同的神经网络路径进行传播,减少梯度信息的大量重复的应用,降低了运算的参数量并且保留了更多的原始信息[17],如图4所示。
Figure 3. Dual-branch structure visual detection algorithm network diagram
图3. 双分支结构视觉检测算法网络图
Figure 4. Cross-stage partial network
图4. 跨阶段局部网络
CSPNeXt将输入特征
划分为两部分
和
,并通过特征提取层对
进行处理。部分输出通过跳过某些层以实现高效连接,如式3所示。
(3)
接着进行特征提取,如式4、式5所示。
(4)
(5)
然后将
与
进行拼接,如式6所示。
(6)
根据上述可以推出CSPNeXt的参数量,假设将输入特征
划分为两部分
和
,并且只对
进行卷积处理,然后再将
直接连接。这样在参数计算上可以如式7所示。
(7)
表示从
到
的卷积层参数数量,其中
是卷积核的大小。
是对输入的部分进行卷积处理。
是对得到的特征进行再次卷积。因此
CSPNeXt的参数量如公式8所示。
(8)
而以ResNet的基本残差块为例,假设某一层的输入特征通道数为
,输出特征通道数为
,则ResNet的参数量(假设使用卷积层)可以如公式9所示。
(9)
通过上述推导,可以证明CSPNeXt的参数量小于ResNet,并且通过部分连接的设计有效减少了冗余信息,提升了特征提取的效率。
CSPNeXt作为特征提取网络,其跨阶段部分连接的设计有效减少了梯度信息的冗余传递,降低参数量和计算复杂度的同时保留了输入特征的多样性,进一步增强了对不同大小目标(如行人、自行车和车辆)的检测能力,在效率与性能之间实现了良好的平衡,为无人驾驶场景中的目标检测任务提供了强大的支持。
3.2. 辅助特征提取模块
LSS框架通过投影和体素化将多视角图像转换为伪点云,但在伪点云生成过程中可能丢失部分精细图像特征,导致目标较小或者远距离目标的检测性能受限于分辨率降低和特征稀疏化。
为了满足上述需求,本文在FPN方法[18]的基础上提出辅助特征提取网络,旨在增强小目标的特征提取能力,从而缓解伪点云场景中特征稀疏、小目标难以检测的问题,网络架构如图5所示。
Figure 5. Auxiliary feature extraction module
图5. 辅助特征提取模块
在网络结构设计中,FPN通过构建多尺度特征金字塔生成不同分辨率的特征图:底层特征图具有较高的分辨率,适合捕捉小目标的细节;高层特征图则具有较低的分辨率,更擅长捕捉大目标的上下文信息。在辅助特征提取网络中,各层特征图分别进行独立目标检测,并通过设计加权机制对每层检测结果赋予不同权重,反映特征层次间的重要性,最终对检测结果进行加权融合,如式10所示。
(10)
其中
表示第
层特征图的检测结果,
为对应的权重系数,
为特征层的总数。通过对检测结果进行加权融合,不仅能够显著提升目标检测模型的精度和鲁棒性,还能够有效解决传统目标检测方法在多尺度和复杂场景中面临的一些挑战。加权融合能够结合不同层次特征图的互补性,从而提升模型对不同目标类型的识别能力。
低层特征图由于其较高的分辨率,能够捕捉到更多细节信息,这使得它在小目标或者远距离目标检测中尤其重要。这些目标往往具有较小的像素占比,容易在高层特征图中被模糊或忽略。而底层特征图能更细致地刻画这些目标的边缘、形状和纹理等细节,从而提供更丰富的局部信息。因此,通过加权融合机制,底层特征图的贡献得以在最终检测结果中得到充分保留,增强了模型对这些目标的敏感度。
相对地,高层特征图通常包含更多的上下文信息,由于其较低的分辨率,它们能够有效捕捉到大目标的全局结构和空间关系。高层特征图在大目标的检测中表现突出,因为大目标通常占据较大的视野区域,能够通过高层的上下文信息进行更准确地识别和定位。加权融合确保了高层特征图能够提供更多的背景信息,使得大目标检测更加精确,且能够减少因背景噪声或遮挡而导致的误检。
通过加权机制,网络能够自动调整不同层特征图的贡献,更好地适应场景中的目标分布和尺寸差异。例如,在小目标密集的场景中,低层特征图的重要性被显著增强,从而提高了小目标的检测精度。而在大目标占主导的场景中,高层特征图的上下文信息则能够得到更多的关注,确保模型能够精准地识别大目标。
3.3. 特征相加模块
为了进一步增强BEV特征图的表征能力,本文还引入了辅助特征提取模块的特征信息,将二维图像信息融合到BEV特征中。由于在三维空间中,一个点可以映射到多个二维像素;而从三维到二维的特征转换则是可解释且有规律的。因此,本文采用自上而下的特征提取方式,在BEV空间中进行逐步的特征融合和重建。在这一过程中,假设BEV视野的高度范围为1到3米,即目标物体的高度被限制在1米至3米之间。通过利用摄像头的内参和外参,将BEV中的体素坐标映射回原始图像平面,进而完成特征的反向投影。
在此范围内,通过摄像头的内参和外参参数,将BEV空间中的体素坐标映射回原始图像平面,以完成特征的反向投影。对于每个体素,其在BEV空间中的特征值是通过对采样点周围的均值进行计算得到的。这些采样点是通过将体素坐标投影到二维特征图中所生成的。如果在二维特征图中存在相关的特征值,则将这些特征值进行相加后平均,并与BEV空间中对应位置的特征值相加。如果在二维特征图对应的中没有相关的特征值,则将该体素的特征值设置为0,然后与BEV空间中的特征值相加。这一操作过程可以用以下公式11与12表示:
(11)
(12)
其中,
表示BEV空间中体素的特征值,
表示二维特征图中采样点的特征值,
是采样点的数量。
通过将BEV空间中的体素坐标映射回原始二维图像平面,可以充分利用二维特征图中的丰富信息,实现三维特征与二维细节的有效融合。这种方式不仅提升了BEV特征图的表达能力,还保留了原始图像中的纹理细节和局部特征,使感知系统对目标的空间布局和细节信息有更全面地理解。同时,反向投影中的加权平均操作能够处理投影点周围的特征值,从而减少噪声干扰并提高特征提取的鲁棒性。即使某些体素的特征值在二维图像中对应的信息不完整,也能通过加权计算充分利用周围的有效信息,增强检测的可靠性,提高模型对稀疏点云和复杂环境的适应能力,并降低误检和漏检的可能性。此外,反向投影设计具有高度的灵活性和通用性,可适应多种感知任务。在无人驾驶场景中,这种操作能够为模型提供精准的环境表示和目标定位能力。
4. 实验结果与分析
4.1. 数据集和验证指标
鸟瞰图视角下的目标检测任务是自动驾驶和智能交通领域的重要研究方向。与传统前视图或侧视图相比,鸟瞰图通过俯视方式能够更全面地捕捉车辆、行人、自行车等目标,减少遮挡问题,并提供丰富的空间上下文信息。因此,满足该任务的数据集必须包含高质量的三维数据,以精确定位物体及其深度信息;同时,还需融合高分辨率二维图像与三维点云数据,实现多维数据的有效整合。此外,数据集应涵盖城市道路、高速公路、停车场等复杂动态场景,确保模型在各种环境中表现鲁棒,并提供准确、详细的标注信息,包括2D与3D边界框及物体类别,以支持高精度目标检测。nuScenes数据集具备了上述关键特性,集成了来自6个环绕摄像头的图像、激光雷达点云数据以及雷达传感器数据,通过多模态数据融合,为鸟瞰图视角下的目标检测任务提供更加全面和精确的信息。nuScenes数据集覆盖了50种不同的城市环境,共包含1000个场景,每个场景数据时长为20秒,涵盖了复杂的城市交通、行驶环境和动态物体,这种环境多样性为训练能够应对复杂场景目标检测任务的模型提供了广泛而宝贵的训练与测试数据[19],如图6所示。
Figure 6. Image examples of different scenes in the nuScenes dataset
图6. nuScenes数据集不同场景下的图像示例
在3D目标检测中,使用了官方预定义的多个评价指标来评估模型性能,如图7所示。
Figure 7. Evaluation metrics for object detection
图7. 目标检测的评价指标
各个评价指标的具体公式实现如下:
(13)
其中
是类别的数量,
是第
类别的平均精度。
(14)
其中,
是检测到的目标数量,
是目标的真实位置,
是预测位置。
(15)
其中,
是目标的真实尺度,
是预测尺度。
(16)
其中,
是目标的真实方向,
是预测方向。
(17)
其中,
是目标的真实速度,
是预测速度。
(18)
其中,
是目标的真实属性,
是预测属性。
4.2. 训练参数设置
在实验中,本文使用了特定的硬件和软件环境来完成所有实验内容。表1详细列出了实验所使用的硬件配置和软件版本。训练过程中,模型的学习率初始化为2e−4,优化器采用AdamW优化器。权重衰减因子设为1e−7。训练过程中使用BEV视角的数据增强策略,包括随机旋转(−22.5˚至22.5˚)、尺度缩放(0.95至1.05倍)以及翻转变换,以提升模型的泛化能力。
模型的输入数据配置包括6视角摄像头(前、前左、前右、后、后左、后右),每张图像的输入尺寸设为(256, 704),原始分辨率为(900, 1600)。数据增强过程中允许随机尺度缩放(−6%至11%)、旋转(±5.4˚)和水平翻转。此外,为保证模型的检测精度,仅保留位于[−51.2, 51.2]米范围内的目标,检测预定义的10类目标。
Table 1. Experimental Platform
表1. 实验平台
Environment |
Configuration |
CPU |
Intel(R) Xeon(R) Gold 5218R CPU @ 2.10GHz |
GPU |
Tesla V100-SXM2-32GB GPU |
CUDA |
11.6 |
Python |
Python 3.8.0 |
Pytorch |
Pytorch 1.8 |
4.3. 对比试验
为了验证本文提出模型的有效性,将本文提出的模型与其他具有代表性的方法进行比较,包括MonoDIS [20]、CenterNet [21]、FCOS3D [22]、PGD以及BEVDet。表2所示,展示了不同视觉方法在RTX4080D上的性能对比。
Table 2. Comparative analysis of models
表2. 模型对比
model |
mAP |
mATE |
mASE |
mAOE |
mAVE |
mAAE |
NDS |
MonoDIS |
0.304 |
0.738 |
0.263 |
0.546 |
1.553 |
0.134 |
38.4 |
CenterNet |
0.338 |
0.658 |
0.255 |
0.629 |
1.629 |
0.142 |
40.3 |
FCOS3D |
0.348 |
0.690 |
0.249 |
0.452 |
1.434 |
0.124 |
42.8 |
PGD |
0.352 |
0.626 |
0.245 |
0.451 |
1.509 |
0.127 |
44.8 |
BEVDet |
0.357 |
0.529 |
0.236 |
0.395 |
0.984 |
0.252 |
46.2 |
Our |
0.375 |
0.492 |
0.225 |
0.370 |
0.935 |
0.238 |
49.2 |
表2的实验结果显示,本文提出的模型在多个关键指标上均表现出显著优势。本文模型在mAP相较于第二名BEVDet的0.357提升约2%;在NDS上达到了49.2,比BEVDet的46.2%提升6.5%。此外,在误差指标方面,本文模型在mATE上从BEVDet的0.529降低到0.492,在mAOE上从0.984降低到0.935,表明其在定位精度和方向估计上的优势。总体而言,本文提出的模型在综合性能和误差控制上均优于其他方法,证明了其在视觉任务中的有效性和优越性。
为了验证本方法对不同物体的检测能力,实验还设计了针对不同目标尺度的识别研究与BEVDet进行对比,如图8所示。实验分别分析了大目标(Car、Truck、Bus)和小目标(Pedestrian、Motorcycle、Bicycle、TrafficCone、Barrier)的检测性能。
Figure 8. Comparison of BEVDet model and our method in different accuracy metrics
图8. BEVDet模型与本文对方法在不同类型精度对比
实验结果表明,所提方法在大目标和小目标检测任务上均实现了显著的性能提升。其中,在大目标类别(Car、Truck、Bus)上,检测精度分别提升了14.6%、74.1%和71.1%,证明了该方法在增强大目标特征表达能力方面的有效性。在小目标类别中,Barrier提升91.7%、Motorcycle提升63%、TrafficCone提升14.3%,均展现出较大幅度的提升。
Figure 9. Visualization of different vision models on straight roads
图9. 不同视觉模型在直行道路下的可视化展示
4.4. 可视化结果对比
在图9的对比中,可以明显看出改进后的算法在远距离目标检测方面的优势。传统的基于视觉的BEVDet算法在远距离目标检测时存在漏检现象,如图9(a)所示,蓝色圈标记的区域中存在未能识别出的车辆,而红色圈则表示在鸟瞰视角下未能检测到的目标。这表明传统算法在处理远距离目标时,由于特征信息不足或目标尺寸较小,导致检测精度下降。相较之下,图9(b)展示了改进后的算法的检测结果,其中白色圆圈标注出了在图9(a)中未能正确识别的车辆。从可视化结果可以看出,本算法成功检测到了部分原本被漏检的远距离车辆,说明其在远距离目标检测上具有更好的鲁棒性和准确性。这一改进得益于增强的特征提取能力和更有效的多视角信息融合,从而提高了检测率。
5. 结论
针对基于视觉的目标检测方法存在伪点云生成过程中可能丢失部分精细图像特征,导致目标较小或者远距离目标的检测性能相对较弱的问题。本文提出了基于视觉的双分支网络。本模型在nuScenes数据集上的平均精度相较于BEVDet算法提升了2%,检测得分相较于BEVDet算法提升了6.5%。在大目标检测中,以Car类别为例,分别带来了约5.4%和6.9%的提升;而在小目标检测中,以Pedestrian、Motorcycle和Bicycle类别为例分别提升了约6.4%、1.47%和1.53%。下一步,要从光照适应性和数据增强的角度进行优化,可以探索自适应光照增强方法,通过动态调整图像亮度、对比度和色彩分布,以增强模型在极端光照条件下对白色物体的检测性能。