基于网络流跟踪的信号灯检测方法

2024-03-05 01:51武悦陈海华于乔烽
计算机应用研究 2024年2期

武悦 陈海华 于乔烽

收稿日期:2023-07-11;修回日期:2023-08-24  基金項目:国家自然科学基金资助项目(61973173)

作者简介:武悦(2000—),男,吉林白城人,硕士研究生,CCF会员,主要研究方向为图像处理;陈海华(1978—),女(通信作者),浙江温州人,副教授,硕导,博士,主要研究方向为图像处理、通信信号处理、阵列信号处理(hhchen@nankai.edu.cn);于乔烽(1997—),男,新疆伊犁人,硕士,主要研究方向为图像处理.

摘  要:

结合信号灯信息对机动车行进速度进行引导,减少机动车启停次数,可有效减少废气排放,缓解其造成的污染问题。针对信号灯转换时刻的获取问题,提出了一种基于网络流跟踪的信号灯检测方法。首先,该方法在数据集中引入辅助信号灯类别进行训练,将视频序列中该类目标检测结果关联为踪片,并通过踪片建模多目标跟踪任务。其次,该方法将多目标跟踪任务转换为最小费用流优化任务,以踪片作为节点建立最小费用流网络,提出了适合于信号灯的费用构建方式,通过最短路径算法求解,得到视频序列中辅助信号灯的多条轨迹。最后,基于求解的轨迹结果和图像分类技术,实现信号灯检测性能的提升。该方法的跟踪性能相较于对比算法有大幅提升,并将小目标信号灯检测响应的mAP提升至94.35%。实验结果表明,基于网络流的建模方式能极大地提升信号灯的跟踪准确率,结合跟踪轨迹还能大幅提高视频序列中小目标信号灯的检测准确率,并可有效确定信号灯状态的转换时刻。

关键词:信号灯检测;帧间信息联合;多目标跟踪;费用流网络

中图分类号:TP751.1    文献标志码:A    文章编号:1001-3695(2024)02-044-0609-07doi: 10.19734/j.issn.1001-3695.2023.07.0301

Detection of traffic lights for off-line videos based on network flow tracking

Wu Yue1, Chen Haihua1, 2, Yu Qiaofeng3

(1.College of Electronic Information & Optical Engineering, Nankai University, Tianjin 300350, China; 2.Tianjin Key Laboratory of Optoelectronic Sensor & Sensing Network Technology, Tianjin 300350, China; 3.Beijing Branch of China Telecom Cybersecurity Tech Co., Ltd., Beijing 100000, China)

Abstract:

Combining the traffic light information to guide the speed of vehicles and reducing the number of starts and stops of vehicles can effectively reduce exhaust emissions and alleviate pollution problems caused by them. Aiming at the acquisition of traffic light transition time, this paper proposed a traffic light detection method based on network flow tracking. It introduced auxiliary traffic light class in the dataset for training, and correlated the detection results of this class in the video sequence as a tracklet, then modeled the multi-object tracking task by the tracklet. Specifically, this method converted the multi-target tracking task into the minimum cost flow optimization task. This method established the minimum cost flow network with the tracklet as the node, and proposed a cost construction method suitable for traffic lights, then obtained multiple traces of the auxiliary traffic light in the video sequence by solving the shortest path algorithm. Based on the solved trajectory results and image classification technology, it finally improved the performance of traffic light detection. Compared with the comparison algorithms, the proposed method greatly improves the tracking performance, and increases the mAP of the small target traffic light detection response to 94.35%. Experimental results show that the network flow modeling method can greatly improve the tracking effect of the auxiliary traffic light. Combined with the tracking results, it greatly improves the detection accuracy of the small target traffic light in the video sequence and effectively determines the transition time of traffic light status. Key words:traffic light detection; inter-frame information association; multi-target tracking; cost flow network

0  引言

目前人们的出行机动化需求日益增多,机动车尾气排放成为城市空气污染的主要来源之一。研究表明,在交通路口区域,机动车起步阶段的废气排放尤为严重[1]。因此,对于交通信号灯变换时刻的获取显得非常重要。将信号灯时转换时刻与道路时速限制等条件结合,对机动车的行车速度进行引导,可有效减少机动车的启停次数,降低废气排放。对机动车行进速度的正确引导还可以提高交通路口车辆通行速度,缓解交通拥堵。基于上述目标,本文结合基于深度学习的目标检测算法[2]、基于检测的多目标跟踪算法[3]和感兴趣区域的图像特征,对交通信号灯视频中的信号灯状态进行识别。根据行车记录仪拍摄的交通信号灯视频,可以检测到信号灯目标,并通过捕捉其在连续帧之间的运动和变化进行关联和跟踪。在获取全部跟踪轨迹后,结合图像分类技术可有效識别各个时刻信号灯的红绿状态,并根据上述信息确定信号灯的转换时刻。

国内外的许多学者从传统人工设计的图像特征、基于机器学习的分类方法以及基于深度学习的目标检测三个方面开展了交通信号灯检测与识别研究。2019年,Li等人[4]提出了一种夜间信号灯识别算法,该算法首先对采集到的夜间红绿灯图像进行预处理,然后将图像由RGB转换到HIS空间,通过形态学运算去除噪声并筛选候选区域,最后实现基于模板匹配和区域像素信息的夜间红灯识别。2020年,余泽东[5]利用Otsu算法和Hu不变矩,对源图像进行形态学预处理后应用Otsu算法将源图像二值化,通过Hu不变矩筛选信号灯区域,并根据HSV空间中的H分量判断信号灯类型。2022年,刘珂琪等人[6]提出了一种基于图像增强的交通信号灯识别方法,在HSV 空间中,通过增强V通道来均衡化不均匀的光照,并筛选出信号灯候选区域,有效提高了光照、复杂环境干扰下的识别准确率。

基于机器学习的特征分类方法为交通信号灯检测开辟了另一条路径。2020年,Yoneda等人[7]提出了一种基于数字地图的空间先验信息的信号灯检测方法,该方法以坐标转换的方式由车辆和地图信息选取信号灯并为每个信号灯确定感兴趣区域,在HSV空间上得到高亮图像并提取候选信号灯,最后计算各候选区域中信号灯存在的概率,应用提前训练的AdaBoost分类器至感兴趣区域,实现对信号灯目标的识别。2022年,Tsai等人[8]提出了基于视觉和学习的夜间交通信号灯检测方法以及箭头信号识别方法。首先从高照度编码和色调映射图像的融合中检测交通信号灯,然后使用支持向量机基于绿光图像的对数极坐标变换对箭头信号进行分类,由于没有专门针对夜景的公共交通灯数据集,该文献收集了夜间信号灯图像数据用于网络训练和测试。

自2016年以来,目标检测进入深度学习时代,信号灯的识别与检测也开始采用基于卷积神经网络的目标检测器进行研究[9]。2019 年,潘卫国等人[10]基于Faster R-CNN目标检测算法[11],利用自建的信号灯数据集进行训练,并在不同特征提取网络下对其性能进行了对比,最后在智能驾驶实验平台上利用真实交通场景对所提方法进行了有效性验证。2021年,Abraham等人[12]提出了一种基于改进YOLO算法的交通信号灯和交通标志检测系统,该系统处理由相机传感器捕获的图像,并检测图像中包含的交通信号灯和交通标志,使用的卷积神经网络架构是经过改进的YOLOv4算法[13],优化了其网络结构。2022年, Wangsiripitak等人[14]使用 YOLOv4目标检测算法训练自建数据集,在信号灯与人行横道类别上得到了比COCO数据集训练更好的效果。同年,Bali等人[15]针对信号灯这种小目标对 YOLOv2[16]进行了改进,将其特征提取网络由DarkNet19替换为SqueezeNet,并将K-means聚类算法应用于LaRA交通信号灯数据集的子集来优化先验框的大小,以检测绿色和红色交通灯。

离线视频中信号灯的检测和跟踪在科研领域和实际应用中具有重要的意义和价值。与在线场景相比,离线视频的特点是可以进行反复多次的分析和处理,不受实时性的限制。在交通管理领域,通过离线信号灯检测和跟踪,交通管理部门可以进行交通流量统计和分析,获取信号灯状态与灯时变换时刻信息,从而优化交通信号灯的调度,减少交通拥堵和事故发生率,并提升城市中车辆通行的效率和安全性。在智慧城市和绿色交通中,通过准确检测和跟踪离线视频中的信号灯目标,可智能化和自适应地调整信号灯的绿灯时间,减少不必要的等待时间和能源消耗,从而提高交通效率和环境友好性。此外,在自动驾驶技术领域,离线信号灯跟踪和检测还可以提供大量的数据样本,提升智能驾驶系统对信号灯的识别和判断能力,进一步提高安全性和可靠性,推动自动驾驶的发展。

值得注意的是,传统的图像特征设计方式和计算方式在信号灯的检测中缺乏鲁棒性;基于机器学习分类的方式依赖于手工特征的设计和分类器的训练,且需要大量数据;基于深度学习的目标检测方法准确率较高,然而应用该方法的研究大多针对在线信号灯实时检测的场景,少有针对离线视频中信号灯跟踪与检测结合的研究。同时,跟踪领域少有专门针对信号灯跟踪与检测结合的研究,并且对信号灯目标本身具有的形状特征应用不足。因此,为提升信号灯位置及类别检测的准确率,实现结合时间信息的离线视频目标检测,本文研究的重点在于结合交通信号灯自身特殊的形状与信息,利用基于深度学习的目标检测结果,改进多目标跟踪方法,实现信号灯的有效跟踪与检测。

1  基于网络流跟踪的信号灯检测方法

1.1  信号灯特征

1.1.1  辅助信号灯

考虑到交通信号灯具有比较固定的特征,本文引入竖直信号灯和水平信号灯两种中等大小目标类别作为辅助,其形态如图1所示,在下文中统称这两种类别为辅助信号灯。可以注意到,完整的信号灯目标由若干个辅助信号灯目标组成,因此可以将信号灯跟踪问题作为一个多目标跟踪问题。本文使用网络流方法将该问题转换为最小费用流求解问题,实现对辅助信号灯的多目标跟踪,最终基于辅助信号灯轨迹结果与图像分类技术对小目标信号灯检测响应进行错检删除与漏检补充,提高其检测性能。

1.1.2  小目标信号灯分类

如图2所示,本文使用YOLOv7目标检测算法获取视频中的辅助信号灯类与其他八类小目标信号灯,其中八类小目标信号灯包括红色圆灯(R)、绿色圆灯(G)、红色左转箭头(RL)、绿色左转箭头(GL)、红色直行箭头(RF)、绿色直行箭头(GF)、红色右转箭头(RR)和绿色右转箭头(GR)(参见电子版)。

1.2  基于网络流的多目标跟踪

信号灯距离过远导致的分辨率低或汽车行进导致的运动模糊,会使目标检测过程中出现某些帧中某类目标漏检,或者部分目标位置或类别错检的情况。在接近交通路口时,非直行路口的信号灯也可能作为辅助信号灯在目标检测中被检测出,成为干扰项。针对上述问题,本文结合辅助信号灯的形态特點,提出一种基于网络流的信号灯多目标跟踪方法,实现对真实辅助信号灯检测响应的跟踪串联。

1.2.1  检测响应预处理

在使用辅助信号灯检测响应建立网络流节点之前,需要对其进行预处理,删除尺寸错误的辅助信号灯检测结果,使用信号灯之间的位置关系与前后帧之间的关联信息对其进行漏检补充。

辅助信号灯的一个重要特征是其横纵比例在视频过程中不会发生过大变化,因此根据辅助信号灯的两种形态特点,可通过辅助信号灯类的全局检测结果来删除个别帧尺寸错误的目标检测响应。统计整段视频辅助信号灯检测响应的长宽比均值Pm,删除长宽比小于Pm-0.5和大于Pm+0.5的辅助信号灯检测响应。

本文还根据视频连续帧之间信号灯的位置关系,通过逐帧映射的方法,初步对辅助信号灯类检测响应的漏检进行补充预测,步骤如下:

a)在连续两帧中,若第一帧辅助信号灯不存在漏检,第二帧辅助信号灯存在漏检但未全部漏检,则令第一帧中辅助信号灯检测响应集合Euclid Math OneNAp={Nl|l=1,…,La},第二帧中辅助信号灯检测响应集合Euclid Math OneMAp={Ml|l=1,…,Lb},漏检辅助信号灯响应集合Euclid Math OneLAp={Ll|l=1,…,Lc},其中La和Lb分别为第一与二帧辅助信号灯检测响应的数量,则Lb+Lc=La。

b)分别计算集合Euclid Math OneNAp与Euclid Math OneMAp中检测响应中心点坐标的欧氏距离,欧氏距离最小的两个检测响应确定为两帧中同一个信号灯。

c)因第一帧中辅助信号灯不存在漏检,将集合Euclid Math OneNAp中检测响应根据中心点横坐标排序,得到从左到右排列的辅助信号灯,结合Euclid Math OneMAp与Euclid Math OneNAp中辅助信号灯对应关系,则可确定集合Euclid Math OneLAp中的漏检辅助信号灯的对应位置。

d)通过Euclid Math OneNAp中辅助信号灯之间的距离与辅助信号灯的尺寸,等比例映射出Euclid Math OneLAp中漏检辅助信号灯。

图3为存在两个辅助信号灯的视频中的连续两帧目标检测响应的示意图。第一帧检测到两个辅助信号灯,第二帧只检测到一个辅助信号灯,在这种情况下,计算出第一帧中辅助信号灯中心点之间的横向距离dw和纵向距离dh。分别计算第二帧中检测到的辅助信号灯中心点坐标p1与第一帧中所有检测到的辅助信号灯中心点坐标q1与q2的欧氏距离,可知q1与p1欧氏距离结果最小,故确定p1对应的辅助信号灯与p1对应的辅助信号灯为两帧中同一个信号灯,q2对应辅助信号灯为在第二帧中漏检的辅助信号灯。

设第二帧中检测到的辅助信号灯左上角坐标为a1=(x1,y1),右下角坐标为b2=(x2,y2)。通过映射的方式,使用第一帧中辅助信号灯横向距离、纵向距离与尺寸信息,可确定第二帧中漏检辅助信号灯的中心点坐标为p2=((x1+x2)/2+dw,(y1+y2)/2+dh)、左上角坐标为a2=((x1+x2)/2+dw-w2/2,(y1+y2)/2+dh-h2/2)、右下角坐标为b2=((x1+x2)/2+dw+w2/2,(y1+y2)/2+dh+h2/2),其位置在图3(b)中为虚线所示区域。

1.2.2  网络流模型

本文网络流模型采用基于踪片(tracklet)[17]关联的多目标跟踪。经过目标检测提取到整个信号灯视频中辅助信号灯类的检测信息后,进一步将检测结果进行关联生成踪片。该过程需要牺牲连接片段的长度来生成置信度较高的踪片,确保已关联的片段准确。针对视频中信号灯的特征,本文仅使用位置特征计算踪片中目标检测响应关联的相似性,可表示为

Plink(x(t+1)j|x(t)i)=Ppos(x(t+1)j|x(t)i)=

exp(-‖x(t+1)j-x(t)i‖22σ2)(1)

其中:x(t)i表示第t帧中第i个辅助信号灯目标检测响应;x(t+1)j表示第t+1帧中第j个辅助信号灯目标检测响应;Ppos为两个目标检测响应之间的位置相似性;x(t+1)j和x(t)i分别表示目标检测响应x(t)i和x(t+1)j的位置坐标;σ为高斯核函数方差,设置为1。

本文采用双阈值保守关联算法[18],根据上述相似性生成踪片。若视频中第t帧有m个目标检测响应,第t+1帧有n个目标检测响应,则可通过公式计算得到m×n大小的相似度矩阵P。若Plink(x(t+1)j|x(t)i)大于阈值θ1=0.000 5且与P矩阵第i行和第j列其他值的差均大于阈值θ2=0.000 1,则认为目标检测响应属于同一物体,将其关联为一条踪片。设定每条踪片的最大长度为θm= 15。通过上述双阈值法关联得到由检测响应构成的踪片集合Euclid Math OneXAp′={Xi|i=1,…,N}。

根据文献[19],本文将多目标跟踪问题建模为MAP估计问题,然后将数据关联表示为隐形马尔可夫模型(hidden Mar-kov model)并转换为最小费用流问题,从而求解出最终轨迹。设所有踪片集合为Euclid Math OneXAp={Xi|i=1,…,N},需要求解轨迹的集合为Euclid Math OneTAp={Tk|k=1,…,K},其中Tk为一组踪片的集合,代表一条轨迹。每一个踪片建模为一个节点vi,从源节点s到任意一个节点的路径表示为(s,vi),其路径费用表示为c(s,vi)=c(s)i,流量表示为f(s,vi)=f(s)i,从任意节点到汇节点r的路径表示为(vi,r),其路径费用表示为c(vi,r)=c(r)i,流量表示为f(vi,r)=f(r)i,对于每一对关联相似度P(Xj|Xi)≠0,i≠j的踪片节点,它们之间的路径表示为(vi,vj),其路径费用表示为c(vi,vj)=cij,流量表示为f(vi,vj)=fij,则最小费用流网络优化问题可表示为

Euclid Math OneTAp=argminEuclid Math OneTAp(∑ic(s)if(s)i+∑ijcijfij+∑ic(r)if(r)i)(2)

s.t.  fij,f(s)i,f(r)i∈{0,1}

and  f(s)i+∑jfji=f(r)i+∑jfij(3)

式(2)中,费用c建模为

c(s)i=-lg Ps(Xi)

c(r)i=-lg Pr(Xi)

cij=-lg P(Xj|Xi)(4)

1.2.3  费用构建

对于多目标跟踪任务,踪片之间的关联费用设置十分关键,不合理的费用设置可能会导致最小费用流求解的轨迹存在大量的目标ID切换。本文利用信号灯在视频中的图像、位置特征的特殊性,构建踪片之间的相似度,可表示为

P(Xj|Xi)=(Ppos(Xj|Xi)+Papp(Xj|Xi))exp(-μΔt)φ(Δt)(5)

其中:Δt表示踪片Xj与Xi之间的间隔帧数量;μ=20表示总相似度衰减系数,用来对总相似度惩罚踪片之间的间隔帧数量,若两个踪片之间的间隔帧数量越大,则最终得到的相似度越小;φ(Δt)表示两条踪片之间的时间约束,防止帧数距离过大的两条踪片或在时间维度重叠的两条踪片节点之间建立费用连接,定义为

φ(Δt)=1  0<Δt<θ(b)t  and  Xi∩Xj≠0  others (6)

其中:θ(b)t=120表示最大帧数阈值,若两条踪片之间距离帧数大于此值则不进行关联;Ppos(Xj|Xi)表示踪片Xj与Xi之间的位置相似度,其计算方式为

Ppos(Xj|Xi)=exp(-‖xe-xs‖22σ2)exp(-λΔt)(7)

其中:xe與xs分别表示踪片Xi中的末尾目标检测响应的位置和踪片Xj中首个目标检测响应的位置;λ=2表示位置相似度衰减参数,用来对位置相似度惩罚踪片之间的间隔帧数量,两个踪片之间的间隔帧数量越大,得到的位置相似度越小;Papp(Xj|Xi)表示踪片Xj与Xi之间的图像相似度,其计算方式为

Papp(Xj|Xi)=S(ae|as)(1-exp(-λΔt))(8)

其中:ae与as分别表示踪片Xi中的末尾目标检测响应的外观和踪片Xj中的首个目标检测响应的外观;S(ae|as)表示使用图像分类的方式计算两个目标检测响应外观之间的相似度。

本文使用信号灯类和背景类图像区域训练二分类图像分类网络fs,之后应用fs计算S(ae|as)。如图4所示,设图像中辅助信号灯区域为a,该区域高为h,宽为w,相邻辅助信号灯中心点之间的距离为d。以辅助信号灯区域中心点为中心截取高为3h,宽为3d的图像,称为多辅助信号灯区域A,即图中绿色虚线所示区域。ae与as的多辅助信号灯区域分别表示为Ae与As。分别将Ae与As竖直均等切割成高为3h、宽为d的三个区域,即图中蓝色虚线所示,表示为Ae={Ael,Aem,Aer}和As={Asl,Asm,Asr}(参见电子版)。每个区域经过图像分类网络,可以得到二分类灯与背景的置信度,Ae与As的切割区域经过分类网络fs后得到的置信度表示为Oe={oel,oem,oer}和Os={osl,osm,osr},集合中每一项表示每个区域得到的二分类置信度二元组,则S(ae|as)的计算方式为

S(ae|as)=min(1-‖oel-osl‖2,1-‖oem-osm‖2,1-‖oer-osr‖2)

(9)

费用构建方式对于踪迹节点作为源或汇的位置同样重要,因为这将会决定最终求解的轨迹是否能够从正确的节点开始或者结束。本文参考文献[20],使用了掩膜图像构建节点与源汇节点的方式,通过观察视频中车辆通过路口时信号灯退出视频的位置,以及目标检测在接近路口时首次检测到辅助信号灯的位置,构建了适合于信号灯跟踪的掩膜图像,如图5所示。

图5(a)展示了部分测试视频在接近结尾时的一帧。其中第一幅图显示车辆右转,信号灯由左侧离开视频区域;第二幅图显示车辆直行,信号灯由上方离开视频区域;第三幅图显示车辆左转,信号灯由右侧离开视频区域,这些离开的区域由半透明红色区域表示。图5(b)黑色区域为本文构建的掩膜图像M。利用掩膜图像,可以计算踪片节点Xi与源节点s相连的概率Ps(Xi),以及踪片节点Xi与汇节点r相连的概率Pr(Xi),可表示为

Ps(Xi)=exp(-αts)φen(ts)(10)

Pr(Xi)=exp(-α(t-te))φex(pe)(11)

其中:α=25为缩放系数;t为视频的总时间长度;ts表示踪片Xi首个目标检测响应所在帧在视频中的时间;te表示踪片Xi末尾目标检测响应所在帧在视频中的时间;pe表示踪片Xi末尾目标检测响应的位置;φen(ts)为踪片节点Xi到源节点s费用的约束,具体为

φen(ts)=1  ts<θ(s)t0  ts≥θ(s)t (12)

其中:θ(s)t=90表示起始连接帧数阈值,当踪片首个目标检测响应所在帧在视频中的帧序号小于此阈值时,其值为1,则建立此节点Xi到源节点s的连接,否则约束为0,不建立连接。φex(pe)为踪片节点Xi到汇节点r费用的约束,具体为

φex(pe)=1  I(pe)=10  I(pe)=0 (13)

其中:I(x)为示性函数,当踪片Xi末尾目标检测响应的位置pe位于掩膜图像M黑色区域中时,I(pe)=1,建立此节点Xi到汇节点r的连接,否则I(pe)=0,不建立连接。

1.2.4  求解方式

文献[21]证明了使用最短路径算法求解最小费用流问题可得到近似解,并显著降低计算复杂度;文献[22]证明了在一个有向网络中,所有边容量下界为0,容量上界为1,并令图中源节点s到汇节点r的流量为1,则此时最小费用流问题就转换为了最短路径问题。本文选择Bellman-Ford 最短路径算法来求解构建的最小费用流网络,求解算法的具体形式如下:

算法1  Bellman-Ford 最短路径求解最小费用流算法

输入:最小费用流网络流图G;轨迹数量K。

输出:辅助信号灯踪片的轨迹集合T ′。

k←0

Euclid Math OneTAp′←

while k

Tk←BellmanFord(G)

Euclid Math OneTAp′ ←Euclid Math OneTAp′∪{Euclid Math OneTApk′}

k ← k+1

for X∈T′k do

if X≠s and X≠r then

G←G-X

end

end

end

首先令構造的网络流图为G,需要求解的轨迹数量为K,需要求解的轨迹集合为Euclid Math OneTAp′,初始化k=0。运行Bellman-Fold算法求解G中由s到r的最短路径,路径中节点对应的踪片集合为T′k,将该集合加入轨迹集合Euclid Math OneTAp′中,Euclid Math OneTAp′=Euclid Math OneTAp′∪{T′k} ,并将k递增,k=k+1。在网络流图G中删除T′k中除了源节点s与汇节点r的节点。若k

1.3  漏检帧填补

在1.1节中使用了基于网络流的方法求得了视频中多条辅助信号灯的轨迹,并分别为其分配了ID。本节则对跟踪完成并获得了轨迹ID的辅助信号灯检测响应进行后处理,对其每一条轨迹中的漏检进行补充。基于补充完成并获得了轨迹ID的辅助信号灯,对其区域内部的小目标信号灯进行错检删除与漏检补充的后处理。

1.3.1  相关滤波跟踪

本文采用具有信道和空间可靠性的判别相关滤波器(CSR-DCF)[23]分别对每一条出现漏检的辅助信号灯轨迹进行跟踪,具体跟踪流程如下:

a)令Euclid Math OneTAp′={ T′k|k=1,…,K}为视频中辅助信号灯的轨迹集合,K为轨迹数量。

b)对每一条轨迹T′k中的踪片Xki∈T′k进行循环,令相邻两条踪片Xi与Xj(j=i+1)之间的间隔帧数量为td,若td>1,则使用踪片Xi末尾目标检测响应外观初始化跟踪滤波器。

c)对属于轨迹T′k的两个踪片Xi与Xj之间的td-1个帧进行目标跟踪,令K0为跟踪最大阈值,若td-1K0,则跟踪K0帧后停止跟踪。将跟踪得到的检测响应作为一条踪片加入轨迹T′k中。

1.3.2  线性插值法

对于短暂的检测响应缺失,使用CSR-DCF进行跟踪能够比线性插值方法更加精确地找到目标的位置。考虑到上述跟踪方法在面对长时间维度的跟踪时无法进行尺度自适应,本文设置跟踪阈值K0=20,超出阈值的部分使用线性插值方法进行填充,流程如下:

a)令Euclid Math OneTAp={T′k|k=1,…,K} 为视频中辅助信号灯的轨迹集合,K为轨迹数量。

b)对每一条轨迹T′k中的踪片Xki∈T′k进行循环,设相邻两条踪片Xi与Xj(j=i+1)之间的帧数距离为td,若td>1,则启动线性插值。

c)设踪片Xi的最后一个目标检测响应对应的视频帧序号为M,其左上角与右下角坐标分别为uM=(xM,yM),rM=(αM,βM);踪片Xj的第一个目标检测响应对应的视频帧序号为N,其左上角与右下角坐标分别为uN=(xN,yN),rN=(αN,βN)。两踪片之间第n帧(n=M+1,M+2,…,N-1)中属于此轨迹的辅助信号灯左上角与右下角坐标可分别表示为

un=uM+n×(uN-uMN-M+1)

rn=rM+n×(rN-rMN-M+1)    n=M+1,M+2,…,N-1

(14)

d)将上述线性插值计算得到的td-1个目标数据作为踪片加入轨迹T′k中。

1.4  信号灯分类补充检测

在1.3节中,得到了信号灯视频中准确且连续的多个辅助信号灯轨迹。下面本文将利用图像分类技术和辅助信号灯轨迹信息,对小目标信号灯进行补充检测。

1.4.1  小目标检测预处理

仅考虑信号灯形状,将小目标信号灯检测响应分为左转箭头L(RL 和 GL)、直行箭头F(RF 和 GF)、右转箭头R(RR 和 GR)和圆灯O(R 和 G)四类。

利用信号灯视频时间越靠后,则信号灯越清晰的特点,分别统计每一条轨迹T′k后半段中,辅助信号灯区域内小目标信号灯置信度高于0.5的检测响应形状类别的数量ST′k=(sl,sr,ss,so)。其中,sl、sr、ss、so分别表示轨迹T′k中辅助信号灯区域内左转箭头的数量、直行箭头的数量、右转箭头的数量和圆灯的数量。数量最大的值所对应的形状类别ST′k=arg max(ST′k)确定为轨迹T′k所对应信号灯的形状类别。根据此形状类别,可以删除每一条轨迹区域内不符合此轨迹信号灯形状类别的小目标信号灯检测响应。

1.4.2  图像分类补充检测

本文还利用轨迹的形状类别结合图像分类,对轨迹中的小目标信号灯进行补充检测。由于辅助信号灯区域像素较少时,红灯或绿灯区域的颜色信息严重缺失,形态接近于一个白色光点,所以采用辅助信号灯整体区域图像来训练分类网络。为了避免出现黄灯或三个灯都不亮的情况下的错误分类结果,本文采用拼接方式制作训练数据集,颜色检测分类数据集部分样本如图6所示。将红灯区域与灭灯区域上下拼接作为红色类,灭灯区域与绿灯区域上下拼接作为绿色类,将两个灭灯区域上下拼接作为黑色类。使用这种方法可以避免信号灯中部的黄灯所造成的干扰,同时还可以对水平信号灯和竖直信号灯进行统一的类别训练。

使用上述数据集训练得到分类网络fc。对每一条轨迹T′k中的輔助信号灯区域ak,进行与数据集相同的裁剪与拼接,得到待分类图像akc。使用分类网络fc对akc进行分类,得到该辅助信号灯区域内小目标信号灯的类别与置信度。结合该轨迹T′k的形状类别ST′k,可以确定该灯类别。

对于红色分类类别,将辅助信号灯ak的上或左1/3区域作为小目标信号灯检测响应;对于绿色分类类别,则将辅助信号灯ak的下或右1/3区域作为小目标信号灯检测响应。具体选择上、下区域还是左、右区域,需要根据辅助信号灯为竖直还是水平而定。此外,本文将分类置信度作为此检测响应的置信度。对于黑色分类类别,将跳过此帧。

2  实验与分析

为了验证本文方法的有效性,采用实地以及网络采集的多段行车记录仪拍摄的视频作为测试数据进行实验。实验部分使用的硬件平台如下:CPU采用Intel i5-9300H,GPU采用NVIDIA GTX 1660 Ti,操作系统为Windows 10。

2.1  实验指标

本文基于网络流跟踪的信号灯检测方法分别对辅助信号灯类与小目标信号灯类应用两种不同的评测指标,辅助信号灯类使用多目标跟踪领域指标进行评测,小目标信号灯类使用目标检测领域指标进行评测。

目标检测常用的度量标准有平均精度均值(mean average precision,mAP)、精确率(precision)、召回率(recall)和准确率(accuracy),可表示为

precision=TPTP+FP(15)

recall=TPTP+FN(16)

accuracy=TPTP+FP+FN(17)

其中: TP(true positive)表示真值被正确检测到的数量;FP(false positive)表示检测到的区域不是真值的检测数量;FN(false negative)表示真值没有被检测到的数量。

以召回率为横坐标,精确率为纵坐标,通过调整置信度阈值,可以得到每一个类别的P-R(precision-recall)曲线,曲线与横坐标和纵坐标围成的面积称为该类的AP(average precision),mAP则表示所有类别AP的平均值。若类别数量为N,则AP与mAP可表示为

AP=∫10P(r)dr(18)

mAP=∑APN(19)

不同于目标检测主要评估物体的位置准确性,目标跟踪更加注重物体轨迹的连贯性。IDSW(ID switch)指标表示整个视频中跟踪ID发生切换的次数;MOTA指标将FN、FP和IDSW计算为一个数值,表示整体跟踪性能;MOTP指标表示跟踪的位置误差,更注重检测质量,可以表示为

MOTA=1-FN+FP+IDSWGT(20)

MOTP=∑i,tdi,t∑tct(21)

其中:GT表示整个视频中所有真值目标框的数量;t表示第t帧;ct表示第t帧中预测轨迹和真值轨迹成功匹配上的数目;di,t表示t帧中第i个匹配对之间的距离。由于存在IDSW,其值可能为无限大,所以MOTA为(-∞,1]。

IDF1指标是指正确识别的检测与平均真实数和计算检测数之比,可表示为

IDF1=2IDTP2IDTP+IDFP+IDFN(22)

其中:IDTP表示整个视频中检测目标被正确分配轨迹ID的数量;IDFN表示整个视频中检测目标被漏分配轨迹ID的数量;IDFP表示整个视频中检测目标被错误分配轨迹ID的数量。

MT(mostly tracked)指标表示在跟踪过程中,各个目标至少有80%的视频帧都能被正确跟踪的跟踪轨迹数量;ML(mostly lost)指标表示在跟踪过程中,各个目标至多有20%的视频帧能被正确跟踪的跟踪轨迹数量;PT(partially tracked)指标则是在跟踪过程中,各个目标有20%~80%的视频帧能被正确跟踪的跟踪轨迹数量;FM(fragmentations)指标表示跟踪的轨迹与真值相比,被中断的次数。

2.2  目标检测算法训练

本文选择目标检测算法YOLOv7[24]作为目标检测数据集训练的基线算法,YOLOv7-w6为文献[24]提出的4尺度检测算法版本。本文使用注意力机制改进其网络结构,改进后的目标检测算法称为YOLOv7-w6-CA。由于信号灯目标尺寸过小,分别对YOLOv7-w6和YOLOv7-w6-CA的网络深度、网络宽度与训练参数进行调整,使其适合信号灯数据集训练。修改后的算法分别称为YOLOv7-w6-n和YOLOv7-w6-n-CA。YOLOv7-w6-n和YOLOv7-w6-n-CA的训练参数设置如表1所示,其中width表示网络宽度倍率,depth表示网络深度倍率,image-size表示训练图像分辨率,hsv、flip、mosaic、translate和scale分别表示不同数据增强方法应用的比例。

图7为各目标检测算法在验证集上的P-R曲线与mAP。从训练结果可以看出,YOLOv7-w6-n-CA目标检测算法相较于YOLOv7-w6-n目标检测算法,在总类别mAP上提升了0.048,且对标签量较少的红色右转箭头类别(RR)的mAP提升较大。

2.3  网络流算法对比实验

本文方法将目标检测结果分为了辅助信号灯和小目标信号灯分别进行处理。为了说明辅助信号灯多目标跟踪的有效性,设计了如表2所示的实验。

实验中使用本文网络流费用构建方式和文献[20]中的网络流费用构建方式,分别对辅助信号灯检测响应进行多目标跟踪,对比两种网络流费用构建方式最终对于辅助信号灯的跟踪指标。其中,性能指标后的(↑)表示该指标越高越好,(↓)表示该指标越低越好。从表2可以看出,本文算法在ID性能上相比于对比算法有明显提升,IDSW由953个减少到15个,IDF1由0.594提升到0.927,轨迹中断次数FM由264次降低为62次。除此之外,在跟踪综合性能上也有所提升,MOTA由0.818提升为0.856,MOTP由0.060提升为0.065。

图8为一段存在三个辅助信号灯的视频跟踪结果。其中,算法求得的辅助信号灯轨迹由不同颜色的曲线表示,x、y轴表示图像平面的x、y坐标,z轴表示帧序号。图8(a)为本文方法结果,图8(b)为文献[20]提出的网络流多目标跟踪算法结果。对比两幅图可以看出,本文网络流算法跟踪结果中,只在视频开始阶段发生了蓝色与绿色轨迹(轨迹3与轨迹2)的ID切换,且轨迹跟踪连贯(参见电子版)。而对比算法的跟踪结果中,三条轨迹ID切换频繁,且轨迹中断现象较为严重。

结果表明,相较于传统的跟踪算法,本文结合信号灯形状和位置特点提出的网络流跟踪算法费用构建方式,在信号灯的跟踪任务上具有更加良好的性能。

2.4  消融实验

本文设计了如表3所示的实验,说明本文方法对于小目标信号灯检测的有效性的提升。表中:PT(pretreatment)指检测响应预处理操作;PS(position similarity)指踪片之间费用构建使用位置相似度;IS(image similarity)指踪片之间费用构建使用图像相似度;APP(auxiliary-traffic-light post-processing)指辅助信号灯类检测响应后处理操作;SPP(small-traffic-light post-processing)指小目标信号灯类检测响应后处理操作。

由表3可知,使用位置相似度与图像相似度结合的方式构建辅助信号灯网络流费用,较单独使用一种相似度构建费用而言,能够得到更好的辅助信号灯跟踪效果,根据其跟踪结果可大幅提升小目标信号灯检测响应的mAP。并且,预处理操作、辅助信号灯轨迹后处理和小目标信号灯后处理分别能对小目标信号灯检测响应的mAP作进一步提升,最终达到94.35%的mAP。

2.5  转换时刻获取

通过本文方法获取到信号灯的检测结果后,根据检测结果的类别与视频时间信息,联合足够多个视频,可获取该视频(路口)各信号灯转换时刻,进而实现对机动车行进速度的引导。

图9(a)为一段测试视频中信号灯的检测类别结果。其中,x轴表示视频帧序号,y轴表示信号灯类别,y=0 表示未检测到信号灯类别,y=1表示信号灯为红色,y=2表示信号灯为绿色。由图可知,本文方法获取的信號灯类别结果仍然存在极少数的错检,如x在0~250和1 000~1 250处的突变。

为避免错检影响信号灯转换时刻的判断,本文采用滑动窗口的方法对结果进行处理。令窗口宽度W=15,使用该窗口依次对检测结果进行平均处理,得到如图9(b)所示的结果。选取y值由1过渡到2或由2过渡到1的线性部分作为信号灯的切换时刻帧序号,切换时刻帧序号计算方式为

C=xt2」+W2」(23)

其中: 」表示向下取整;xt表示y值由1过渡到2或由2过渡到1的线性部分在y=1.5时x的值。由该测试视频可得出,信号灯切换时的帧序号C为1 410。设第0帧为相对时刻0 s,帧间隔为tf s,则信号灯转换相对时刻为1 410tf s,因此结合视频时间,可以得到该信号灯的转换时刻。

获得信号灯的转换时刻后,联合该路口其他视频,就可以检测出该路口的所有信号灯转换时刻,即信号灯相位。利用信号灯相位信息,可以对机动车的速度进行有效引导,从而达到节能减排、降低污染,并提高交通效率和出行安全性、舒适性的目的。

3  结束语

本文提出了一种基于网络流多目标跟踪的信号灯检测方法。为充分利用交通信号灯的形状和特征,在目标检测阶段引入了辅助信号灯类别目标,与小目标信号灯类别共同训练基于CNN的目标检测器。本文采用YOLOv7作为检测响应获取算法,利用辅助信号灯的形状特征和位置关系进行检测响应的预处理,通过双阈值关联方法,将辅助信号灯检测响应关联为踪片,以踪片作为节点建立最小费用流网络流图,并使用Bellman-Ford算法求解,获取辅助信号灯轨迹。最终,基于辅助信号灯轨迹结果与图像分类技术,对小目标信号灯检测响应进行错检删除与漏检补充,提高其检测精确率与召回率。在获取视频信号灯检测结果的类别和视频时间信息之后,结合其他视频的信息,可以计算得出该视频(路口)各信号灯的转换时刻。

实验结果表明,与其他文献网络流跟踪方法相比,本文结合交通信号灯自身特征提出的网络流模型费用构建方式对辅助信号灯的跟踪性能有明显的提升。并且,结合跟踪轨迹结果对检测响应进行处理后,能够有效改进小目标识别的效果,大幅提高视频中小目标信号灯的检测准确率,并且可以有效确定信号灯状态的转换时刻。

但是,本文方法仍存在视频较长时,求解过于庞大的网络流图复杂度过高的问题。下一步的研究方向主要是对网络流建模方式进行优化,分批进行求解与关联。

参考文献:

[1]林可春. 汽车排放性能影响因素及对策研究[J]. 木工机床,2021(2): 18-20. (Lin Kechun. Influencing factors and countermeasures of vehicle emission performance [J]. Woodworking Machinery,2021(2): 18-20.)

[2]Zou Zhengxia,Chen Keyan,Shi Zhenwei,et al. Object detection in 20 years: a survey[J]. Proceedings of the IEEE,2023,111(3): 257-276.

[3]Sun Zhihong,Chen Jun,Chao Liang,et al. A survey of multiple pedestrian tracking based on tracking-by-detection framework[J]. IEEE Trans on Circuits and Systems for Video Technology,2020,31(5): 1819-1833.

[4]Li Jia,Dong Yi. A new night traffic light recognition method[J]. Journal of Physics: Conference Series,2019,1176(4): 62-66.

[5]余泽东. 基于Otsu算法和Hu不变矩的交通信号灯识别 [J]. 武汉大学学报: 工学版,2020,53(4): 371-376. (Yu Zedong. Traffic lights recognition with Otsu algorithm and Hu invariant moments[J]. Engineering Journal of Wuhan University,2020,53(4): 371-376.)

[6]刘珂琪,董绵绵,王鹏,等. 一种基于图像增强的交通信号灯识别方法[J]. 电子测量技术,2022,45(7): 137-145. (Liu Keqi,Dong Mianmian,Wang Peng,et al. A traffic light recognition method based on image enhancement[J]. Electronic Measurement Technology,2022,45(7): 137-145.)

[7]Yoneda K,Kuramoto A,Suganuma N,et al. Robust traffic light and arrow detection using digital map with spatial prior information for automated driving[J]. Sensors,2020,20(4): 1181.

[8]Tsai M Y,Lin H Y. Nighttime traffic light detection with arrow signal recognition using a vision and learning based approach[C]// Proc of the 31st International Symposium on Industrial Electronics. Piscata-way,NJ: IEEE Press,2022: 594-599.

[9]李旭冬,葉茂,李涛. 基于卷积神经网络的目标检测研究综述[J]. 计算机应用研究,2017,34(10): 2881-2886,2891. (Li Xu-dong,Ye Mao,Li Tao. Review of object detection based on convolutional neural networks[J]. Application Research of Computers,2017,34(10): 2881-2886,2891.)

[10]潘卫国,陈英昊,刘博,等. 基于Faster R-CNN的交通信号灯检测与识别[J]. 传感器与微系统,2019,38(9): 147-149,160. (Pan Weiguo,Chen Yinghao,Liu Bo,et al. Traffic light detection and recognition based on Faster R-CNN[J]. Transducer and Microsystem Technologies,2019,38(9): 147-149,160.)

[11]Ren Shaoqing,He Kaiming,Girshick R,et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Trans on Pattern Analysis and Machine Intelligence,2017,39(6): 1137-1149.

[12]Abraham A,Purwanto D,Kusuma H. Traffic lights and traffic signs detection system using modified you only look once[C]// Proc of International Seminar on Intelligent Technology and Its Applications. Piscataway,NJ: IEEE Press,2021: 141-146.

[13]Bochkovskiy A,Wang C Y,Liao H Y M. YOLOv4: optimal speed and accuracy of object detection[EB/OL]. (2020-04-23). https://ar-xiv. org/abs/2004. 10934.

[14]Wangsiripitak S,Hano K,Kuchii S. Traffic light and crosswalk detection and localization using vehicular camera[C]// Proc of the 14th International Conference on Knowledge and Smart Technology. Pis-cataway,NJ: IEEE Press,2022: 108-113.

[15]Bali S,Kumar T,Tyagi S S. Lightweight deep learning model for traffic light detection[C]// Proc of the 2nd International Conference on Technological Advancements in Computational Sciences. Piscataway,NJ: IEEE Press,2022: 689-694.

[16]Redmon J,Farhadi A. YOLO9000: better,faster,stronger[C]// Proc of IEEE Conference on Computer Vision and Pattern Recognition. Piscataway,NJ: IEEE Press,2017: 6517-6525.

[17]刘雅婷,王坤峰,王飞跃. 基于踪片Tracklet关联的视觉目标跟踪: 现状与展望[J]. 自动化学报,2017,43(11): 1869-1885. (Liu Yating,Wang Kunfeng,Wang Feiyue. Tracklet association-based visual object tracking: the state of the art and beyond[J]. Acta Automatica Sinica,2017,43(11): 1869-1885.)

[18]Perera A G A,Srinivas C,Hoogs A,et al. Multi-object tracking through simultaneous long occlusions and split-merge conditions[C]// Proc of IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Piscataway,NJ: IEEE Press,2006: 666-673.

[19]Zhang Li,Li Yuan,Nevatia R. Global data association for multi-object tracking using network flows[C]// Proc of IEEE Conference on Computer Vision and Pattern Recognition. Piscataway,NJ: IEEE Press,2008: 1-8.

[20]He Zhenyu,Cui Yuxin,Wang Hongpeng,et al. One global optimization method in network flow model for multiple object tracking[J]. Knowledge-Based Systems,2015,86: 21-32.

[21]Pirsiavash H,Ramanan D,Fowlkes C C. Globally-optimal greedy algorithms for tracking a variable number of objects[C]// Proc of IEEE Conference on Computer Vision and Pattern Recognition. Piscataway,NJ: IEEE Press,2011: 1201-1208.

[22]謝金星,邢文训,王振波. 网络优化[M]. 2版. 北京: 清华大学出版社,2009. (Xie Jinxing,Xing Wenxun,Wang Zhenbo. Network optimization[M].2nd ed.Beijing:Tsinghua University Press,2009.)

[23]Lukezic A,Vojir T,Zajc L C,et al. Discriminative correlation filter with channel and spatial reliability[C]// Proc of IEEE Conference on Computer Vision and Pattern Recognition. Piscataway,NJ: IEEE Press,2017: 4847-4856.

[24]Wang C Y,Bochkovskiy A,Liao H Y M. YOLOv7: trainable bag-of-freebies sets new state-of-the-art for real-time object detectors [C]// Proc of IEEE/CVF Conference on Computer Vision and Pattern Re-cognition. Piscataway,NJ: IEEE Press,2023: 7464-7475.