基于传感器融合的一种多目标车辆识别跟踪方法

2021-07-28 02:27罗国荣
北京工业职业技术学院学报 2021年3期
关键词:无人驾驶关联摄像头

罗国荣

(广州科技职业技术大学,广州 510550)

0 引言

在科技通信、人工智能和汽车技术的快速发展下,无人驾驶汽车能有效降低人们因看手机、疲劳和饮酒等引起交通事故的发生率,因此无人驾驶汽车技术便成为汽车研究的关键技术。无人驾驶可分为传感与认知、决策、规划和自动控制4个过程,其中,传感与认知是无人驾驶汽车的前提和基础,其负责对车身周围环境的检测与认知,包括道路环境的识别、移动目标的识别、汽车自身状态和位置的识别等。对于道路移动目标的识别与跟踪,刘创[1]提出了一种基于注意力构架的汽车运动轨迹预测算法,在跟踪系统上增添了多个容错改进模块,使得其鲁棒性得到有效提高,但对目标被部分遮挡或完全遮挡下的跟踪较为困难;高燕[2]提出了一种基于计算机视觉的学习目标表观特征的网络框架,用相似性矩阵来描述目标的高阶特征,通过分层数据关联和匈牙利算法求得目标之间的最佳匹配关系,从而达到目标的识别及跟踪;李兴玮等[3]提出一种在线多目标自动跟踪器,其基于目标间的相对运动信息和数据关联策略,运用事件匹配算法改进当前帧的检测响应,能有效跟踪目标;马健博[4]采用了可见光与红外线相结合的方式对目标进行识别与跟踪,将马尔可夫的预测模型嵌入到TLD检测器中,对目标的跟踪具有较好的鲁棒性;游思思[5]提出了一种计算机视觉的目标表观字典和背景字典协同结构稀疏重构优化的目标跟踪方法,获得了较好的跟踪效果。但上述基于计算机视频的移动目标识别与跟踪,因摄像头的局限,在光线较暗或雨雾天气中,摄像头拍摄的图像或视频分辨率较低,给后续的处理计算带来较大的干扰。为使无人驾驶汽车在公路环境中有效实现安全避障和行驶,笔者提出一种基于雷达和视觉传感器融合的多目标车辆识别跟踪的方法,该方法在无人驾驶汽车上部署了6个高分辨率雷达传感器和2个视觉传感器,利用联合概率数据关联算法将目标与雷达回波点迹进行关联,利用YOLOV2深度神经网络对视频序列中的图像进行对象识别和定位,并综合2种传感器,在时间和空间上进行标定,从而识别车道上的汽车,然后利用扩展卡尔曼滤波算法跟踪被识别的车辆,最后应用MATLAB软件建模仿真。仿真结果验证:该方法能使无人驾驶汽车有效地识别和跟踪公路上静止和移动的汽车目标,为无人驾驶汽车后续的决策规划控制提供了感知层信号。

1 雷达回波点迹数据关联模型

笔者采用的毫米波雷达是通过检测目标反射的回波来确定目标,一般无人驾驶汽车在车辆前后部署远程雷达传感器,在车辆两侧部署短程雷达传感器,属于多传感器多目标检测的方式。由于雷达传感器采用高分辨率雷达,所以对某个目标检测将会得到多个回波点迹,而检测多个目标将得到更多个点迹,此外雷达传感器监测覆盖区域有一定重叠,会产生大量重复点迹,还有因干扰等因素产生的假点迹,因此为了准确地识别目标对象,需要将这些点迹聚类并关联到某个目标,关联过程如图1所示。

图1 数据关联过程

图1中,首先根据车辆尺寸范围设置关联门,并对检测出来的点迹进行门限过滤,抑制及排除由噪声、干扰或杂波剩余产生的假点迹,从而提高正确关联概率、关联质量和减小运算量,利用相似性度量方法衡量2个点迹的相似程度来确定关联矩阵,最后用关联判定准则把相应的点分配给目标跟踪器。

笔者采用椭圆关联门,其公式为

D2=ATS-1A

(1)

式(1)中,D为经空间、时间校准后的2个点迹的归一化统计距离,A为检测误差矩阵;S为误差协方差矩阵。

假定点迹总数M=2时,检测误差矩阵为

(2)

式(2)中,(X1,Y1)为点迹1的二维坐标;(X2,Y2)为点迹2的二维坐标。

(3)

则S矩阵的逆矩阵为

(4)

将式(2)~式(4)代入式(1)后,得

(5)

利用椭圆关联门过滤掉一部分点迹后,通过加权欧氏距离相似度量方法确定关联矩阵,其公式为

dij=eij(n)S(n)-1eij(n)T

(6)

式(6)中,dij为加权欧式距离,即是判断最近邻点的相似度量标准;S(n)为eij(n)的协方差矩阵;eij(n)为滤波器残差,即检测点迹j和航迹i的差矢量,其公式为

(7)

确定关联门矩阵后,通过联合概率数据关联算法,将目标与检测点进行关联,其算法公式为

(8)

(1-PtD)1-δt

(9)

式(9)中,λ为错误检测点密度;Φ为杂波点数量;c'为归一化因子;mk为检测点数量;Zj(k)为有效检测点集合;Ntj为Zj(k)的均值;τj为二进制量,表示检测点迹是否分配给某个目标对象;T为轨迹点数量;PtD为检测点目标概率;δt为二进制量。

2 YOLOV2深度神经网络模型

毫米波雷达虽然有穿透能力强,传输距离远,性能稳定,不受目标物体形状、颜色干扰等优点,但也存在一定的局限性,例如检测噪声严重,即容易识别出假目标从而产生误检测,因此配合摄像头识别技术,能提高目标识别的准确度。摄像头识别技术首先采集视频序列,分析视频序列中的每一帧图像,通过YOLOV2深度神经网络进行对象识别和定位,YOLOV2深度神经网络是由卷积神经主干网络和检测子网络组成,卷积神经主干网络对输入每一帧图像进行特征提取,并将得到的特征图输入到检测子网络,检测子网络再根据输入特征图像确定对象类别和位置。

YOLOV2共分25层,其中包括1个图像输入层、7个卷积层、6个批量归一化层、6个Relu层、3个最大池化层、1个变换层和1个输出层。YOLOV2网络结构如表1所示。

表1 YOLOV2网络结构

表1(续)

图像输入层是YOLOV2网络的图像输入,图像输入的像素尺寸(长×宽×通道)为448×448×3。

卷积层的主要作用是对图像进行特征提取,具有大小和深度2个属性的卷积核,通过迭代优化权重参数可得到多个特征图输出。卷积层计算公式为

(10)

输出特征张量尺寸计算公式为

(11)

式(11)中,Os为输出特征张量的尺寸;Is为输入图像的大小;Df为卷积核的大小;P为膨胀因子;Fs为扩充数量;S为滑动步长。

批量归一化层可使深层神经网络更容易收敛,而且能降低模型过拟合的风险,加快网络训练速度,从而提高模型训练精度。该层将卷积层输出的数据进行归一化处理,即将所有数据强制在统一的数据分布下,使数值更稳定,以便激活层使用。批量归一化层的操作分为归一化处理和变换重构处理2个步骤。归一化处理公式为

(12)

第k维的平均值公式及标准差公式分别为

(13)

(14)

式(13)和式(14)中,N为样本数;xj为该批训练数据中的第j个神经元。

归一化处理后即进行变换重构,变换重构是为了解决归一化后的数据被限制在正态分布下,而使网络的表达能力下降这一问题,变换重构公式为

(15)

式(15)中,γk为拉伸(scale)学习参数;βk为偏移(shift)学习参数。

激活层的作用是通过函数将上一层神经元的特征留存并映射出来,引入非线性因素,使得神经网络能有更好的模型表达能力。激活层采用Relu函数,Relu函数公式为

(16)

式(16)中,x为函数输入值;f(x)为函数输出值。

池化层主要用来对输入特征图进行压缩,去除多余信息、精简网络复杂度、提高计算速度,若采用最大池化和2×2的池化,则池化层的计算公式为

(17)

式(17)中,fpool为池化的输出结果;(m,n)为特征图上第m行和第n列上的元素。

变换层是通过提取最后1个卷积层的特征来提高网络的稳定性,以保证输出层的稳定输出。

检测子网络包含变换层和输出层,这2层的作用是将输入特征图像划分为S×S个网格,每个网格负责计算边界框及其属于某一对象概率,其中每个边界框包含网络单元的偏移量(x,y)、边界框的宽高(w,h)和边界框置信度(IoU)5个属性,然后预测整幅图像的边界框,再应用k-means算法对边界框进行聚类,得出边界框属于某一对象的概率,通过非最大抑制算法选择最终的边界框,从而确定对象类别和位置。

3 扩展卡尔曼滤波模型

上述雷达与摄像头得出的识别结果是在各自坐标系下进行的,还需要在时间和空间上进行标定。时间上只需要校准两者的时间即可,空间上通过转换矩阵分别将雷达坐标系和摄像头坐标系映射到汽车坐标系,标定后即可对汽车目标进行状态跟踪。描述汽车的状态量为xk=[XYφvxvyω],状态量xk包含汽车的位置(X,Y)、偏航角φ、纵向速度vx、横向速度vy和横摆角速度ω。则汽车的状态方程为

(18)

式(18)中,xk表示汽车的当前状态;xk-1表示汽车当前状态的前一状态;uk为控制量;wk为过程噪声;t为时间;vk为当前检测噪声值;zk为系统的当前检测值;f(xk-1,uk,t)表示汽车的状态函数;h(xk,t)表示传感器函数。

汽车的预测方程为

(19)

汽车的更新方程为

(20)

式(20)中,Gk为汽车当前状态的增益;R为传感器测量噪声;Hk为汽车传感器函数h的雅各比行列式,I单位矩阵。

4 试验仿真及分析

应用MATLAB软件构建汽车传感器检测与跟踪传真模型,该模型包括汽车场景与传感器模块、聚类与目标关联模块和传感器融合与跟踪模块,如图2所示。

图2 汽车传感器检测与跟踪传真模型

无人驾驶汽车驾驶场景模拟及传感器部署如图3所示。从图3(a)中可以看到,在1条双车道高速公路上,共有1辆无人驾驶汽车和3辆汽车;在右侧车道上,1号汽车在无人驾驶汽车的前面,2号汽车在无人驾驶汽车的后面;在左侧车道上,3号汽车快速行驶并准备超过无人驾驶汽车。

从图3(b)中可以看到,无人驾驶汽车部署了6个高分辨率雷达传感器和2个视觉传感器,基本覆盖车身周围360°的视野。并在车辆的前部和后部分别配备2个远程雷达传感器和2个视觉传感器,而车辆的两侧各配备2个短程雷达传感器。

(a)驾驶场景 (b)无人驾驶汽车传感器部署图3 驾驶场景及传感器部署

图3中,视觉传感器的覆盖范围包含远程雷达覆盖的范围,汽车两侧的短程雷达覆盖范围有部分重叠。聚类与目标关联模块、传感器融合与跟踪模块分别根据上述雷达点迹数据关联模型和扩展卡尔曼滤波模型构建。

目标识别的仿真结果如图4所示。

(a)全局最邻近算法的仿真结果

(b)联合概率算法的仿真结果图4 2种关联算法的仿真结果

从图4可以看出,随着时间的推移,联合概率数据关联算法能有效识别出目标车辆,在0~1 s期间,由于3号汽车距离无人驾驶汽车较远,无人驾驶汽车只识别出前后2辆汽车;在1~5.5 s期间,无人驾驶汽车能识别出3辆汽车;在5.5~6.5 s期间,3号汽车进入雷达的扫描间隙,此时无人驾驶汽车识别出2辆汽车;在6.5~14 s期间,无人驾驶汽车能稳定地识别出3辆汽车。在整个仿真期间,没有检测出重复目标车辆,但在5.5~14 s期间,检测出1辆假目标车辆。从有效目标车辆、因干扰造成的假目标车辆和因检测点迹交叉造成的重复目标车辆3种评价指标,可以看出,比较全局最邻近数据关联算法,联合概率数据关联算法能稳定有效地识别公路上的车辆目标,而全局最邻近算法检测的有效车辆却存在波动;联合概率算法只识别出1辆假目标车辆,这个结果是不希望看到的,但比较全局最邻近算法识别出的2辆假目标车辆,也有一定的进步;联合概率算法没有识别出重复目标车辆,全局最邻近算法却识别出了2辆重复目标车辆,联合概率算法符合预期。从上述分析可知,联合概率算法识别出来的结果接近驾驶场景。

综合雷达与摄像头目标识别与跟踪的仿真结果如图5所示。

(a)超车前 (b)超车中 (c)超车后图5 基于雷达与摄像头的仿真结果

图5截取了无人驾驶汽车后方的3号汽车超车(用方框标出)的3个时间点,图中用圆圈标出的点为摄像头的识别结果,其余点为雷达的识别结果。图5(a)所示,无人驾驶汽车前方的1号汽车和后方的2号汽车相对于无人驾驶汽车是静止的状态,而无人驾驶汽车后方的3号汽车相对于无人驾驶汽车是快速运动的状态。无人驾驶汽车在行进过程中,雷达能有效识别出3辆汽车,同时也识别出了多余的假目标;摄像头也能识别汽车,但由于只在无人驾驶汽车前后部署了摄像头,无人驾驶汽车后方的3号汽车超车时,无人驾驶汽车因摄像头的视野范围无法识别两侧的汽车。综合2种传感器的优点,应用上述的传感器融合方法,在时间和空间上进行标定和跟踪,能稳定有效地识别并跟踪无人驾驶汽车周围的移动和静止目标。

5 结论

笔者利用部署在无人驾驶汽车的高分辨率雷达,扫描车辆周围360°范围,得到相应的回波点迹,应用联合概率数据关联算法聚类相关的点迹并与多目标关联,再结合摄像头采集视频序列,应用YOLOV2卷积神经网络模型识别多个目标,然后将雷达和摄像头2种传感器进行时间和空间上的标定,综合目标识别结果,再建立扩展卡尔曼滤波算法模型对多个车辆目标进行跟踪。通过在MATLAB仿真平台试验,结果表明:该方法能使无人驾驶汽车有效地识别和跟踪公路上的静止和移动的汽车目标,为无人驾驶汽车的局部路径规划和控制决策提供了感知层信号。

猜你喜欢
无人驾驶关联摄像头
浙江首试公路非现场执法新型摄像头
摄像头连接器可提供360°视角图像
“一带一路”递进,关联民生更紧
专用车企业首次主导 无人驾驶环卫车上路
奇趣搭配
北京第一条无人驾驶地铁试运行!你敢坐吗?
智趣
试论棋例裁决难点——无关联①
无人驾驶飞机
无法开启摄像头的解决方案