1、智能技术552023.6基于深度学习的智能汽车目标检测研究李尚明 曹景胜 董翼宁 孙飞宇(辽宁工业大学汽车与交通工程学院 辽宁 锦州 121001)摘要:自动驾驶技术近几年广受关注,智能汽车需要准确感知周围的环境才能正常运行。3D 目标检测作为一种重要的智能汽车行驶环境感知技术,随着深度学习技术的快速发展而取得了重大突破。该文提出一种在2D 目标检测中增加注意力机制并融合单目相机图像实现智能汽车 3D 目标检测的方案。该方案在 KITTI 数据集和自建数据集上进行试验,相比于主流的单目图像 3D 检测方法,其试验结果的准确性有所提升。关键词:智能汽车;深度学习;3D 目标检测作者简介:李尚明,
2、辽宁工业大学汽车与交通工程学院硕士研究生,研究方向为智能汽车关键技术;曹景胜,辽宁工业大学汽车与交通工程学院副教授,研究方向为智能汽车关键技术研究和开发;董翼宁,辽宁工业大学汽车与交通工程学院硕士研究生,研究方向为智能汽车关键技术;孙飞宇,辽宁工业大学汽车与交通工程学院硕士研究生,研究方向为智能汽车关键技术。智能汽车的外部环境感知功能是保证安全行驶的前提。在智能汽车中,深度学习技术的发展和应用使得 2D 目标检测准确度显著提高,但无法满足智能汽车的需求,其需要更准确的目标信息,因此 3D 目标检测成为研究热点。1 3D目标检测概述基于成本低且安装便捷的单目摄像头,单目图像的 3D 目标检测受到
3、广泛关注。由于单目摄像头缺乏深度感知能力,所以其检测算法与其他传感器的算法性能存在较大差距。本文采用基于深度学习的 3D 目标检测技术,结合 2D目标检测算法和注意力机制,通过融合单目相机图像估计车辆尺寸、航向角和位置信息,并在国际著名自动驾驶数据集 KITTI 上进行了试验,取得了较好的结果,为智能汽车的目标跟踪、路径规划等后续研究奠定了基础。同时,采用YOLO v5 算法进行 2D 目标检测,并利用类别结果、2D 框和基于 VGG16 的特征提取器训练 CNN。通过 CNN 得到局部偏转角、偏差尺寸及目标在相机坐标系下的尺寸D。利用已知的相机内参K和 2D 框与 3D 框之间的几何约束关系
4、,可以得到目标的 3D 中心点坐标T。最后,通过局部偏转角,可以计算出全局偏转角,从而确定唯一的 3D 框。该方案流程如图 1 所示。2 数据集选择和处理本文采用 KITTI 数据集和自建数据集。该数据集包含不同场景的真实数据,能够满足人们对单目相机图像数据的需求。为了减轻系统设计的负担并提高系统性能,只保留了 KITTI 数据集中的汽车、行人和骑行者 3 个类别。3 二维检测器分析3.1网络结构为了提升基于深度学习的道路目标检测模型的性能,本文采用 YOLO v5 融合注意力机制的道路目标检测模型。YOLO v5 网络结构复杂度更小、更灵活,图像推断速度更快,更符合实际需求。然而,实际道路环
5、境较为复杂,主要存在 3 方面问题:一是有物体遮挡;二是远处目标较小;三是背景复杂,增加了特征提取难度。这些因素会在一定程度上影响检测准确性。YOLO v5 网络结构在高流量或堵车时存在边界框定位不准、难区分重叠对象的局限。对此,本文采用了融合注意力机制,有效地提高了检测的性能和鲁棒性。图 1 3D 目标检测流程智能技术56汽车测试报告3.2损失函数包围框损失Lbox、类别损失Lcls与置信度损失Lobj为网络的损失函数,总损失函数L的表达式:L=LboxLclsLobj (1)包围框损失Lbox使用 CIoU 损失1。CIoU 是预测框与真实框的交集面积与并集面积之比,是一种衡量预测框和真实
6、框之间匹配程度的指标。此外,CIoU 损失还考虑了预测框中心点与真实框中心点之间的欧几里得距离,表达式:式(2)中:c 为覆盖预测框和真实框的最小包围框的对角线长度;是一个权衡参数,用于度量真实框和预测框之间纵横比的一致性;wgt和 hgt为真实框的宽度和高度,wp和 hp为预测框的相应值;wn为每个类别的损失权重,yn为目标值,xn为模型的输出值,为 Sigmoid 函数。3.3网络搭建及训练在 Ubuntu 系统中,用 Python 语言和 PyTorch 框架搭建二维检测卷积神经网络,对 KITTI 数据集做预处理。将二维检测框(xmin,ymin,xmax,ymax)的表现形式转变为检
7、测框的中心点归一化后的坐标 x、y,归一化后检测框的宽,归一化后检测框的高,width与 height 代表输入图像的宽与高。二者之间的对应关系如式(3)所示。4 单目相机 3D 目标检测4.13D box 参数预测对于任意坐标系下的3D框,可以用中心点T=x,y,z、长 宽 高D=L,W,H 及 旋 转 角R=,9 个参数来描述。针对路面上的目标,可以近似将俯仰角和横滚角视为 0,因此只需预测全局偏转角,并获取 3D 框的中心点坐标T和尺寸D,即可确定目标的 3D 包围框。针对数据集选取了 3 类目标,同一类别目标的尺寸分布方差很小,与转角和图像位置等因素无关。在 KITTI 数据集中,它们
8、的尺寸分布方差仅为几厘米。可以得到这 3 种类别目标的平均尺寸,并通过神经网络预测偏差来修正目标尺寸D的预测值:=+D D (4)根据统计已知三维框尺寸分别在长、宽、高 3个方向的数值和,求得平均尺寸=+D D,数据如表 1 所示。可以通过回归 3D 中心和粗略实例深度来估计粗略的 3D 位置。首先,使用 2D 目标框内的图像特征来估计目标的大小和朝向。通过 2D/3D 的几何约束来求解中心点的 3D 位置,该约束是基于 3D 目标框在图像上被 2D 目标框紧密包围的特性。其次,通过预测的大小和朝向及相机的标定参数K,可以计算出中心点的 3D 包围框中心坐标。这里的 2D 和 3D目标框之间的
9、几何约束2:设预测的 2D box 的表示为(X2D,Y2D,W2D,H2D)。其 中,X2D、Y2D为 2D box中心点坐标,W2D为 2D box 宽,H2D为 2D box 高,可以得到 2D 框上下边界的中点坐标,分别表示为Mt2d(X2D,222DDYH)和Md2d(X2D,222DDYH+)。设相机的内参矩阵为K,3D 框的高度为H,目标在相机 z 轴方向上的深度为 d,3D 框顶面和底面中心的归一化坐标为tC(,1ttX Y,)和dC(,1ddXY,),根据 2D 框与 3D 框的几何关系和相机坐标变换,可以得到公式:根据式(5),已知 3D 框的高度H和相机的内参矩阵K,可以
10、通过计算得到 3D 框两个底面中心在相机坐标系下的真实坐标Ct和Cd。3D 框的中心点T(X,Y,Z)可以用公式计算:minmaxminmaxmaxminmaxmin2 width2 heightwidthheightxxxyyyxxwyyh+=+=表 1 目标类别的平均尺寸 单位:m目标类别平均尺寸 H,W,LCar1.52159147,1.64443089,3.85813679Pedestrain1.75554637,0.66860882,0.87623049Cyclist1.73532436,058028152,1.77413709()()()()()22221 CIoU1IoUclog
11、1log 10IoU0.5IoU0.51 IoU4arctanarctanboxnnnnngtpgtpLLyxyxwwhh=+=+=,nw()()()()()22221 CIoU1IoUclog1log 10IoU0.5IoU0.51 IoU4arctanarctanboxnnnnngtpgtpLLyxyxwwhh=+=+=,nw=-12d-12dttddttddtdCK MCK MCdCCdCHdY-Y,1212ddttddttddtdCK MCK MCdCCdCHdYY=,智能技术572023.6 相机的内参矩阵K可以从 KITTI 数据集的 calib文件中获取,全局偏转角与局部偏转角的
12、几何关系式:4.2网络结构网络结构方面,采用卷积神经网络模型VGG16 进行特征提取。通过该卷积神经网络,获得了3类输出:目标的局部偏转角、目标物体的尺寸偏差维度和与偏转角对应的可信度。4.3损失函数损失函数方面,总损失函数L由尺寸损失Ld、偏角损失La和置信度损失Lc组成,计算公式:对于偏角损失,可利用余弦函数求解,因为当预测的偏转角与真实偏转角最接近时,余弦值最大。因此,最小化偏角误差等于最大化余弦值。偏角损失的表达式:式(9)中,、D、ic为标注的真实数值,、i、ic为网络的预测值,n为包含真实偏角的BIN=2 的数量,mi为第 i 个包含真实偏角的 BIN=2的中线位置,表示各类损失的
13、权值系数,代表的是各类损失在总损失中的重要性,可将d、a、c分别设为 4、8、1。4.4网络搭建及训练使用 TensorFlow 框架,在 Ubuntu 系统中使用Python 语言搭建了一个卷积神经网络。同时,通过输入 CNN 的数据,利用二维目标检测网络得到目标2D 框,在 RGB 图像上找到目标位置,并裁剪出包含目标的区域作为输入。由于加载了预训练的 VGG模型,所以将网络学习率设置为 0.000 1,并对整个数据集进行 50 次训练。5 试验结果与分析KITTI 数据集根据目标的检测难度将其分为 3 个级别:容易、正常、困难。同时,在 KITTI 数据集上对设计的 2D 目标检测网络进
14、行测试,得到的检测结果如表 2 所示。通过 3D 目标检测后测试结果如表 3 所示。KITTI 数据集中汽车的样本量多于行人和骑行者,因此将汽车类的阈值调到 0.7,其他类调为 0.5,汽车类的 AP 值高于其他二类。将汽车类网络与其他单目检测算法进行对比,结果如表 4 所示。对检测结果进行定性分析,相较于其他几种主流的单目检测算法,3D 目标检测方法在精度和速度上表现稍微好一些。最后,自建一些数据集,通过验证可以得到 2D 检测结果和 3D 检测效果图。6 结束语研究一种基于深度学习的 3D 目标检测方法,结合二维目标检测和注意力机制,通过融合单目相机图像估计车辆尺寸、航向角和位置信息,实现
15、智能汽车对路面环境的感知。同时,基于 YOLO v5 算法,并通过引入注意力机制和改进损失函数来提高二维目标检测网络的定位精度。在 KITTI 数据集上的测试结果显示,该网络在精度和速度方面均表现出色,适用于后续的 3D 目标检测研究。参考文献:1 曹景伟.复杂场景下的智能汽车目标检测与跟踪算法研究 D .长春:吉林大学,2 0 2 2.2 尹竹莹.基于深度学习的路面障碍目标 3 D 检测 D .哈尔滨:哈尔滨工业大学,2 0 2 0.(),2tdCCT X Y Z+=dacLLLL=+表 2 2D 目标检测结果 目标类别A P5 0(e a s y)A P5 0(n o r ma l)A P
16、5 0(h a r d)T i me/sCar0.940.900.810.011Pedestrain0.870.720.67Cyclist0.850.670.50表 3 3D 目标检测结果 目标类别A P7 0(e a s y)A P5 0(n o r ma l)A P5 0(h a r d)T i me/sCar5.89%4.32%3.92%0.018Pedestrain4.87%3.89%2.98%Cyclist2.67%2.32%2.13%表 4 主流的单目检测算法在 KITTI 数据集上的对比结果 算法A P7 0(e a s y)A P5 0(n o r ma l)A P5 0(h a r d)T i me/sMono3D2.53%2.31%2.31%0.022Deep3D5.85%4.10%3.84%0.019Ours5.38%3.87%2.83%0.025=+arctan2x()()()()()211coslog1log 1ddnaaiiiBcciiiiiLDDLmLcccc=+