时间:2024-05-04
严伟政, 王道斌, 严运兵
(武汉科技大学汽车与交通工程学院, 武汉 430065)
交通拥堵已经成为众多城市发展中所面临的一个不可忽视的热点问题[1]。 准确有效的城市道路交通信息检测方法对于交通拥堵的成因分析具有决定性作用,对于开展智能车辆和智能交通相关领域的研究也有着重要意义[2]。
现有的城市道路交通信息采集技术一般分为2类:固定式交通信息检测方式和移动式交通信息检测方式[3]。 其中,固定式交通信息检测方法通常是在某个固定的位置布设传感器,如环形线圈、微波雷达、监控视频等。 这些设备成本高昂、维护困难、受环境影响较大,因此有关部门仅在关键路段或者交叉口安装这些设备。 为避免检测盲区往往需要提高传感器的布设密度,进而导致成本增加。 移动式交通信息检测方法通常是在某个移动平台布设传感器,如浮动车、无人机(UAV)、车载相机等。 与固定式交通信息检测方法相比,移动式交通检测方法经济高效,并且能有效弥补固定式交通信息检测方法中的部分盲区。
在固定式交通信息检测方法中,环形线圈因其检测结果准确、工作性能稳定、制作成本低等优点,广泛应用于交通信息检测领域。 环形线圈通过感知电磁场的变化来判断是否有车辆通过,叶青等学者[4]运用自适应共振神经网络提供的自聚类能力,将环形线圈采集的各种车辆波形聚类成不同类别模式,进而实现对城市道路车辆类型的识别分类。Cheol 等学者[5]利用感应线圈收集到的信号估计跟驰情况下的安全停车距离,并提出一个量化指标衡量追尾的风险。 不同于环形线圈,微波雷达通过计算发射波与反射波之间的时间间隔获取目标与传感器之间的距离。 曹林等学者[6]利用微波雷达回波信号构建数据集,并采用改进的LeNet-5 卷积神经网络实现对城市道路大小车型的分类识别。 监控相机在固定式交通信息检测领域中应用也比较广泛。李永上等学者提出一种改进YOLOv5 结合Deep-SORT 的车辆检测跟踪方法,实现了监控视角下的交通流量统计。 Li 等学者[7]通过提高YOLOv3 对密集场景下小目标的检测能力,进而实现监控视角下的城市道路速度、密度和流量等参数的提取。 但是固定式交通信息检测方法中传感器通常布设在固定位置,只能获取特定路段或者交叉口的交通信息,检测范围较窄、不够灵活,容易受到外界环境的干扰。
在移动式交通信息检测方法中,浮动车法应用较广。 浮动车数据主要来源于车载GPS 设备的导航系统和手机地图APP。 袁向红[8]借助GPS 浮动车数据,建立交通流量预测模型,并在VISSIM 平台进行仿真验证,结果表明所提模型具有良好的预测效果。 针对社会车辆轨迹难以获取的问题,Kong 等学者[9]提出一种基于浮动车数据和车载社交网络的社会车辆轨迹生成方法,实验表明其轨迹与北京市交管局发布的实时交通状况基本吻合。 但是浮动车法极大程度依赖浮动车的数量和通信质量,当道路浮动车占比不足或者处于信号较弱地段时,检测结果的准确性会大打折扣。 深度学习的兴起,使得从视频中提取特征信息变得更为方便,因此利用相机进行移动式交通信息检测也得到了越来越多的关注。 UAV 成本低且具有较高的灵活性,Shan 等学者[10]利用YOLOv3 算法从UAV 采集视频中检测车辆信息,提取相关交通流参数,但由于禁飞区的存在,使得UAV 无法充分发挥其灵活性,同时高空较快的风速也容易造成UAV 的漂移和抖动。 车载相机检测范围广、机动性高,关闯等学者[11]利用车道线消隐点的坐标计算出车载相机的外参,再利用相机的光学特性进而获得与前车之间的距离。 另一些学者则侧重于视频信息的避障以及交通场景的理解,如Godha[12]利用车载相机检测道路障碍物以达到辅助驾驶的功能。 车载相机不仅能够获取每一帧图像上的直接信息,还能够获取目标的相对速度和相对位置等信息。 但是,如果要获取目标的绝对速度和绝对位置,还需要其它传感器提供一些额外信息。
因此本文结合车载相机检测范围广、灵活性高的特点,以及浮动车具有自身定位能力的优点提出一种移动式交通信息检测方法。 该方法主要包括2 个部分。 第一部分为城市道路目标车辆的检测与跟踪,主要包括YOLOv5(you-only-look-once)[13]算法的目标车辆检测,以及Deep-SORT[14]算法的目标车辆跟踪。第二部分为城市道路交通信息参数提取,主要包括目标车辆纵向间距、纵向速度的计算,以及城市道路通行速度、交通流密度和交通流量的获取。
考虑到移动式交通信息检测对检测精度和速度的需求,本文采用最新一代YOLOv5 算法进行城市道路目标车辆的检测。 该方法在保证检测精度的同时还能极大提高检测效率,其主要结构包括Input层、Backbone 层、Neck 层和Prediction 层,网络结构示意图如图1 所示。
图1 YOLOv5 模型结构图Fig. 1 YOLOv5 model structure
由图1 可看到,Input 输入层主要用于输入数据的预处理,包含Mosaic 数据增强、自适应图像填充和自适应锚框计算。 Mosaic 数据增强用于丰富背景,增加小目标数量,提高GPU 利用效率,自适应填充降低信息冗余以提高计算速度,自适应锚框能在更换数据集时,自动计算初始锚框大小。 Backbone层主要通过卷积操作,从不同层次提取图像中的特征参数。 Backbone 层由Focus、CSP (Cross Stage Partial Network)以及SPP(Spatial Pyramid Pooling)三个部分构成。 Focus 主要对输入图片进行切片操作以降低计算量。 CSP 在加强骨干网络的学习能力的同时还能提高网络的推理速度。 SPP 则用于扩大感知视野,分离上下文特征。 Neck 层包括FPN( Feature Pyramid Networks ) 和 PAN ( Path Aggregation Network)两个部分,FPN 向下传递强语义特征,PAN 向上传递强定位特征,将Backbone 层提取的特征从不同层面进行融合,进一步提升检测能力。 Prediction 层分别从大、中、小三个尺度检测车辆,并通过NMS(non maximum suppression)非极大值抑制去除重复和多余的框,最终输出目标车辆的类型、坐标和置信度等检测结果。
为防止检测算法的误检与漏检,提高检测算法的稳定性,利用Deep-SORT 算法对测得目标做进一步的预测跟踪,流程如图2 所示。
图2 Deep-SORT 流程图Fig. 2 Flow chart of Deep-SORT
Deep-SORT 算法利用线性卡尔曼滤波器对目标进行预测,使用八维状态向量(x,y,r,h,vx,vy,vr,vh) 来表示目标的位置以及运动状态,其中x,y为检测框中心点坐标,r为检测框的宽高比,h为检测框的高度,余下4 个变量分别表示对应变量的图像坐标系中的增量。 已知t- 1 时刻跟踪目标的具体状态,则t时刻预测状态为:
其中,Xt-1|t-1为跟踪目标在t-1 时刻的最优估计;F为状态转移矩阵;Xt|t-1为t- 1 时刻对t时刻的状态预测值,状态转移矩阵见式(2):
协方差矩阵根据式(3)进行计算:
其中,Pt-1|t-1为跟踪目标在t-1 时刻最优估计值;Pt|t-1为t- 1 对t时刻协方差矩阵的预测值;Q为系统噪声。
进而根据t-1 时刻的状态预测值来更新t时刻的最优估计值,同时更新卡尔曼增益,具体过程如式(4)和(5)所示:
其中,Xt|t为t时刻的最优估计;Zt为t时刻的观测值,由传感器获得;H为观测矩阵;R为系统的观测噪声。
最后,根据式(6)更新t时刻的协方差矩阵:
Deep-SORT 利用匈牙利算法对已有的检测框和预测框进行分配。 使用马氏距离来表征对象的运动信息,具体公式如下:
其中,dj和yi分别表示第j个检测结果和第i个预测结果的状态向量,Si表示检测结果和平均结果之间的协方差矩阵。
当物体被遮挡或者镜头抖动时,马氏距离不再适合作为两者关联的标准,因此引入最小余弦距离表示物体的外观特征信息,公式如下:
其中,rj为检测框dj所对应的外观特征描述信息,且=1,Ri为特征仓库,用于保存每一个跟踪轨迹k最近100 条成功关联的特征描述符。 式(8)表示第i个跟踪框和第j个检测框的最小余弦距离。
最后,将运动特征和外观特征进行加权融合,得到最终的度量指标:
Deep-SORT 的特征提取网络在设计时主要用于提取行人的外观特征,为提高神经网络对车辆的外观提取能力,在大规模的车辆ReID 数据集上重新进行训练,数据集包含576 辆车、共12 347 张从不同角度拍摄的图片,将图片裁剪至126*135 大小后放入网络进行训练。 训练效果如图3 所示。
图3 特征提取网络训练效果Fig. 3 Training effect of feature extraction network
当训练次数达到200 轮后,损失函数基本趋向于平衡,训练完成后该网络即可用于提取车辆外观特征。
利用单目相机光学特性进行前方车辆距离检测,首先需要获取相机的内参矩阵,内参矩阵如下所示:
其中,(fx,fy) 表示相机的焦距长度, (u0,v0) 表示相机光轴投影到成像平面的坐标,由于厂商工艺等因素,(u0,v0) 往往不在成像平面的中心点。
单目相机成像过程是将三维空间中的场景投影到二维平面上,这一过程可以用小孔成像来描述,如图4 所示。
图4 小孔成像示意图Fig. 4 Schematic diagram of small hole imaging
利用小孔成像原理,根据式(11)估算试验车与前车的纵向间距:
其中,d0表示相机到目标车辆的纵向间距;fy表示相机y轴方向的焦距,由标定获得;w0表示目标车辆的真实宽度,小汽车为1.8 m,货车为2.6 m;wi为车辆成像后的像素宽度。
前车相对于试验车的速度可以根据式(12)进行计算:
其中,d0(t) 和d0(t- 1) 分别为相邻两帧图像中目标车辆与试验车之间的纵向间距,Δt为两帧图像之间的时间间隔。 当vrela <0 时,说明目标车辆的速度相对于试验车较慢;当vrela >0 时,说明目标车辆的速度相对于试验车较快;当vrela=0 时,说明目标车辆与试验车速度相同。
根据GPS 信息获取试验车的实时通行速度,并将试验车的通行速度视作基准车速vbas, 则目标车辆通行速度可以根据式(13)进行计算:
路侧停靠车辆如图5 所示,这类车辆通常具有以下2 个特征:
图5 路侧停靠车辆Fig. 5 Parked vehicles on the side of the road
(1)位于图像右侧边缘。
(2)绝对速度为0 km/h。
因此,根据这2 个特征可以对路侧停靠车辆进行识别。 如果目标车辆位于图像右侧边缘,且其通行速度小于设定的阈值α(α大于但接近于0 km/h),则将该目标车辆视作路侧停靠车辆。 综合考虑GPS 和车载相机的数据精度,本文将α的值定为5。
剔除路侧停靠车辆,对视野内同向移动车辆保持检测和跟踪,以获得每帧图像中的有效车辆。 假定每辆有效车辆相对于试验车的纵向车间距检测值为do,进而根据式(14)计算每帧图像中单位长度内的车辆数目,即交通流密度:
其中,i为有效车辆的编号;N为有效车辆的个数。
假定第j帧图像获取的实时交通流密度为ρ(j),则路段的交通流密度ρseg可根据式(15)进行估算:
其中,Nseg为路段拍摄视频的总帧数。
假定图像中每台有效车辆的绝对速度检测值为vabs,进而根据式(16)计算道路的平均通行速度vave:
其中,i为有效车辆的编号;N为有效车辆的数目。
与交通流密度检测类似,假定第j帧图像获取的实时通行速度为vave(j), 则待测路段的通行速度vseg可根据式(17)进行估计:
获得每帧图像的交通流密度ρ以及道路平均通行速度后,进而根据式(18)估计当前位置单位时间内通过车辆的个数,即交通流量:
与交通流密度检测类似,假定第j帧图像获取的实时交通流量为vol(j) ,则待测路段的交通流量volseg可根据式(19)进行估计:
车载相机检测视野较宽,往往会采集到对向车道的车辆信息,进而影响检测结果的准确性,因此需排除对向车道车辆对检测结果的影响。 同时常规的目标检测算法会将整辆车框检出,不利于车辆纵向间距的测量。 为区分目标车辆,进一步提高距离检测精度,本文搭建道路车辆分类数据集,将车载视频采集到的10 段视频分解成8 244 张图片,同时将图片中的车辆归为car_front、car_side、car_back、truck_front、truck_side、truck_back 六个类别,具体分类标准如图6 所示。
图6 道路车辆分类Fig. 6 Classification of road vehicles
由图6(b)可见,在视野内若能观察到前方车辆头部或尾部,则将该车辆归类为car_front 或car_back,否则定义为car_side,参见图6(a),货车分类同样以此类推。 特别地,为了保证测距精度,car_back 这一类别仅标记车辆尾部区域。
准确的纵向车间距检测是道路交通参数提取的前提,本次实验采用分辨率为1 920×1 200 像素的CMOS 相机,相机内部参数的标定结果见表1。
表1 相机标定结果Tab. 1 Camera calibration result
由于实验条件限制,本文未进行跟车行驶条件下的动态测量,仅在静止环境中完成了纵向间距的测量。 共分为5、10、15、20、25、30、40、50 m 八组实验,每组实验分别在前车后方偏左1 m、前车正后方、前车后方偏右1 m 处拍摄10 张图片,取均值作为每组实验的检测值,同真实值进行对比,实验结果见表2。
表2 纵向距离检测结果Tab. 2 Longitudinal distance detection results
由表2 中的数据可知,检测值与真实值之间最大误差为6.2%,最小误差为0.1%,具备了较高的检测精度,能够满足道路信息检测的需求。 图7 表示在不同横向距离检测结果图。 图7 中,横坐标表示真实距离,纵坐标为检测距离,从图7 中可看出检测距离越远,测量结果越离散。
图7 测距散点图Fig. 7 Scatter plot of ranging
通过实车实验一共收集了2 个路段的道路视频作为实验对象。 路段A为三环线青菱立交起至北太子湖共11 km 长度,于2022 年3 月29 号16:06 采集。 路段B选取黄家湖大道叶家墩起南至何家湖小区2 期共4.5 km 长度,于2022 年3 月29 号15:25 采集。 GPS 数据由安装在试验车上的智能手机提供,用于同步收集试验车的自身速度、位置等信息。
实验结果如图8 所示。 图8 中,检测框所标记的信息主要包括:类别、id、 纵向间距以及纵向速度,同时显示当前时刻的平均通行速度、交通流密度和交通流量等参数。
图8 实验图Fig. 8 Experimental figure
图8(b)中,部分车辆被检测出来但并未参与计算,其原因在于前车距离过远时,检测框的抖动会使得检测结果出现较大偏差。 为保证结果的稳定性和可靠性,经过多次实验,本文将检测的最远距离设定在80 m。
实验路段道路交通信息检测结果如图9 所示。图9 中,横坐标为时间,纵坐标分别表示根据当前时间对应帧计算的平均通行速度、交通流密度和交通流量,利用式(15)、(17)、(19)最终得到实验路段的通行速度、交通流密度和交通流量,计算结果见表3。 表3 中,数据按照2.5 的换算系数将货车换算成标准车辆。
表3 检测结果Tab. 3 Detection results
图9 道路检测结果Fig. 9 Road inspection results
图9 (a)为城市快速路路段检测结果,在220 s和280 s 处,道路通行速度显著下降,并伴随交通流密度和交通流量的上升,这是由于该路段拥堵使得车辆行驶缓慢,进而造成交通流密度和交通流量的增大,在结尾处密度和流量的跌落则是由于试验车驶离快速路段造成。 图9(b)为城市主干路段检测结果,该路段平均通行速度在实验过程中出现了明显的波动,是因为试验车在24 s、150 s、220 s 时在交叉口处遇到红灯所导致。 当试验车跟随车流于交叉口制动以及启动时,由于视线的遮挡,会导致检测的车辆纵向间距较低,进而造成该时刻路段交通流密度的上升,因此在24 s 和150 s 处均出现了密度上升的现象。 但在220 s 处却并未出现上述状况,是因为试验车驶至该交叉口时,检测视野比较开阔,对车辆的纵向间距的检测影响较小,因此此刻交通流密度不会出现明显上升趋势。 后期交通流密度的波动则是由于部分目标车辆出现或者离开检测范围造成的。
实验结果表明,实验路段A的平均通行速度为52.55 km/h,略低于城市快速路段60 km/h 的设计通行速度,较快的通行速度和较高的密度使得该路段具有较大的流量。 试验车在收集路段B的道路交通信息时,车流连续遭遇3 次红灯,导致路段通行速度始终维持在较低水平,仅有30.04 km/h 的通行速度。
为验证所提城市道路交通流量检测框架,利用PreScan 仿真软件搭建测试场景,建立一条长1 km、平均通行速度72 km/h、三车道城市快速道路,随机生成道路车辆,计算获取路段交通流密度和交通流量,实验路段和实验过程图如图10、图11 所示。
图11 实验过程图Fig. 11 Experimental process diagram
检测结果见表4。
表4 检测结果对比Tab. 4 Comparison of detection results
由表4 可知,在稳定交通流条件下,通行速度、交通流密度和交通流量误差分别在10.6%、7.8%以及7.4%,均具有较高的检测精度。 受到实验条件的限制,本文并未获得实验路段的真实交通流量数据,但是通过交通信息检测结果对比与分析可知,本文所提方法的检测结果能较好地反映城市道路交通运行状况。
本文提出了一种基于车载相机和GPS 信息融合的城市道路交通检测方法,通过对目标车辆的检测跟踪,计算城市道路车辆的纵向间距和纵向速度,再结合GPS 信息获得目标车辆的绝对速度,最终获取待测路段的通行速度、交通流密度和交通流量参数。 实验结果与分析表明,本文所提的移动式交通信息检测方法能为智能车辆或智能交通系统提供可靠的数据支撑。 由于城市道路交通运行环境比较复杂,实验中发现车辆遮挡问题会对检测结果造成一定的影响,未来研究将重点关注车辆遮挡问题对城市道路交通信息检测结果的影响。 此外,本文假设试验车在采集数据过程中,路段的交通流特性没有变化,试验车以一条扫描线的形式对实验道路进行检测。 因此,本文所述方法比较适用于交通流特性比较稳定的路段,如果路段的交通流特性出现较大波动,检测误差可能会相应增大。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!