基于网络流多目标跟踪的信号灯检测方法、系统及设备

未命名 08-22 阅读:119 评论:0


1.本发明涉及图像与视频处理领域,特别是涉及一种基于网络流多目标跟踪的信号灯检测。


背景技术:

2.研究表明,在十字路口,为了等待信号灯所做的怠速与启动时的加速均会增加尾气的排放。因此,对于交通信号灯变换时刻的获取显得尤为重要。根据多辆机动车行车记录仪拍摄的交通信号灯视频,识别各个时刻信号灯的红绿状态,并根据上述信息确定信号灯的转换时刻,即信号灯灯时。结合道路时速限制等条件对机动车的行车速度进行引导,可以有效减少机动车的启停次数,降低尾气排放,提高交通路口车辆通行效率,缓解交通拥堵。
3.多目标跟踪任务是在给定视频中同时对多个感兴趣的目标进行定位,并维持它们的编号(id),记录它们的轨迹。从跟踪方式上可分为在线跟踪与离线跟踪。目标检测是指对某一特定物体进行位置与类别检测的任务,对于信号灯位置和状态的检测就属于目标检测任务中对于特定某一种类别的目标检测任务。
4.目前存在许多使用目标检测算法对信号灯进行位置识别与分类的方式。例如,传统的目标检测方法可以使用hsv色域和信号灯变化规律对图像中的红、绿区域进行标记,确定候选区域,然后使用支持向量机(svm)对候选区域的图像特征进行分类;此外,也可以使用基于深度学习的目标检测器来检测信号灯,例如,使用经典的目标检测器ssd或yolo算法解决信号灯目标检测问题,但目前很少有在离线视频中利用视频全局信息和目标跟踪融合信息来检测信号灯的研究。


技术实现要素:

5.本发明的目的是提供一种基于网络流多目标跟踪的信号灯检测方法、系统及设备,通过离线多目标跟踪的方式提高视频中信号灯的检测准确率。
6.为实现上述目的,本发明提供了如下方案:
7.一种基于网络流多目标跟踪的信号灯检测方法,包括:
8.确定yolov7目标检测神经网络和颜色检测分类网络;
9.利用yolov7目标检测神经网络对交通信号灯离线视频的每一帧图像识别辅助信号灯和辅助信号灯中的每个方向指示信号灯,获得每一帧图像的辅助信号灯检测结果和方向指示信号灯检测结果;
10.使用辅助信号灯检测结果构建踪片,并以踪片作为节点构建最小费用流网络流图;
11.采用最短路径算法求解所述最小费用流网络流图,获得多条辅助信号灯轨迹;
12.根据每一帧图像的方向指示信号灯检测结果,确定每一条辅助信号灯轨迹内辅助信号灯的形态类别;
13.根据每一条辅助信号灯轨迹所对应辅助信号灯区域图像,利用颜色检测分类网络
检测辅助信号灯中方向指示信号灯的颜色类别,并结合辅助信号灯的形态类别,确定每一条辅助信号灯轨迹的最终检测结果。
14.可选地,所述确定yolov7目标检测神经网络,具体包括:
15.获取包含辅助信号灯的视频;
16.对包含辅助信号灯的视频进行逐帧图像提取,得到包含辅助信号灯的图像,并进行标注,构成目标检测数据集;其中,标注的内容包括:辅助信号灯的位置、尺寸与形状,以及方向指示信号灯的位置、尺寸与类别;所述辅助信号灯的形状包括水平信号灯和竖直信号灯;方向指示信号灯的类别包括红色圆灯、绿色圆灯、红色左转箭头、绿色左转箭头、红色直行箭头、绿色直行箭头、红色右转箭头和绿色右转箭头;
17.利用所述目标检测数据集训练yolov7神经网络,获得yolov7目标检测神经网络。
18.可选地,确定颜色检测分类网络,具体包括:
19.从包含辅助信号灯的图像中裁剪出辅助信号灯,获得辅助信号灯区域图像;
20.从辅助信号灯区域图像中裁剪红灯图像、绿灯图像和黑色图像;所述红灯图像包括红色圆灯、红色左转箭头、红色直行箭头或红色右转箭头;所述绿灯图像包括绿色圆灯、绿色左转箭头、绿色直行箭头或绿色右转箭头;所述黑色图像为辅助信号灯中没有亮灯的区域图像;
21.将红色图像与黑色图像上下拼接作为红色类,黑色图像与绿色图像上下拼接作为绿色类,黑色图像与黑色图像上下拼接作为黑色类,构成颜色分类数据集;
22.利用所述颜色分类数据集训练图像分类网络,获得颜色检测分类网络。
23.可选地,所述使用辅助信号灯检测结果构建踪片,并以踪片作为节点构建最小费用流网络流图,之前还包括:
24.若辅助信号灯检测结果中辅助信号灯为水平信号灯,则删除高度大于宽度的辅助信号灯目标框;若辅助信号灯检测结果中辅助信号灯为竖直信号灯,则删除宽度大于高度的辅助信号灯目标框;
25.统计所有辅助信号灯检测结果中辅助信号灯的高宽比均值pm,并删除高宽比小于p
m-0.5和高宽比大于pm+0.5的辅助信号灯目标框;
26.根据交通信号灯离线视频中连续帧之间辅助信号灯的位置关系,通过逐帧映射的方法对辅助信号灯的漏检进行补充。
27.可选地,所述使用辅助信号灯检测结果构建踪片,并以踪片作为节点构建最小费用流网络流图,具体包括:
28.使用双阈值保守关联算法将高斯核相关值小于相关值阈值的相邻两帧辅助信号灯检测结果关联为同一踪片;
29.设定一个源节点s,一个汇节点t,踪片作为中间节点,建立最小费用流网络流图;
30.通过踪片之间的位置相似度与图像相似度构建中间节点之间的费用为式中,c
ij
表示节点vi与节点vj的路径费用;μ表示整体费用衰减权重;p
pos
(tj|ti)表示踪片ti与踪片tj的位置相似度,一个踪片对应一个节点,d
l
和df分别表示踪片ti的最后
一个目标检测结果位置坐标和踪片tj的第一个目标检测结果位置坐标,σ表示高斯核相关方差系数,λ表示位置相似度衰减权重;p
app
(tj|ti)表示踪片ti与踪片tj的图像相似度,p
app
(tj|ti)=s(a
l
|af)(1-exp(-λδt)),s(a
l
|af)表示使用相似度计算分类网络计算两个辅助信号灯检测结果中辅助信号灯区域的相似度;表示两踪片之间的时间约束,δt表示踪片ti与踪片tj之间的间隔帧数量,θ
t
表示最大帧数阈值,两条踪片之间距离帧数大于此值的不进行关联;
31.通过观察辅助信号灯退出交通信号灯离线视频的位置,以及首次检测到辅助信号灯时的位置,制作掩膜图像;
32.基于所述掩膜图像,构建源节点和汇节点分别与中间节点之间的费用为和式中,表示源节点s到节点vi的路径费用,表示节点vi到汇节点t的路径费用,α为缩放系数,i()为示性函数,a表示踪片中第一个辅助信号灯目标检测结果中辅助信号灯位置坐标位于掩膜图像内,b表示踪片中最后一个辅助信号灯目标检测结果中辅助信号灯位置坐标位于掩膜图像内,t为交通信号灯离线视频总帧数,t
s(i)
表示踪片ti中第一个目标检测响应所在视频中的帧序号,t
e(i)
表示踪片ti中最后一个辅助信号灯目标检测结果所在交通信号灯离线视频中的帧序号;
33.结合源节点和汇节点分别与中间节点之间的费用,以及中间节点之间的费用,构建最小费用流网络流图的优化表达式为
[0034][0035]
s.t.f
ij
,f
i(s)
,f
i(t)
∈{0,1}
[0036]
and
[0037]
式中,t表示最小费用流网络流图的优化函数,t表示踪片集合,f
i(s)
表示源节点s到节点vi的流量,f
ij
表示节点vi到节点vj的流量,f
i(t)
表示节点vi到汇节点t的流量。
[0038]
可选地,所述使用相似度计算分类网络计算两个辅助信号灯检测结果中辅助信号灯区域的相似度,具体包括:
[0039]
在包含辅助信号灯的图像中截取辅助信号灯扩展区域与背景区域;
[0040]
将辅助信号灯扩展区域命名为灯类,背景区域命名为背景类,构成图像数据集;
[0041]
利用所述图像数据集训练图像分类网络,得到相似度计算分类网络;
[0042]
以辅助信号灯检测结果中辅助信号灯区域中心点为中心,截取高为3h,宽为3d的图像,称为多辅助信号灯区域,并将两个多辅助信号灯区域分别表示为a
l
与af;所述辅助信号灯检测结果中辅助信号灯区域的高为h,宽为w,相邻辅助信号灯位置坐标之间的距离为d;
[0043]
将a
l
与af竖直均等切割成高为3w且宽为d的三个区域,表示为

[0044]
将两个辅助信号灯检测结果中多辅助信号灯区域分别输入相似度计算分类网络,获得两个多辅助信号灯区域的置信度为和
[0045]
利用公式计算两个辅助信号灯检测结果中辅助信号灯区域的相似度。
[0046]
可选地,采用最短路径算法求解所述最小费用流网络流图,获得多条辅助信号灯轨迹,具体包括:
[0047]
使用dijkstra(迪杰斯特拉)算法求解所述最小费用流网络流图的最短路径,获得辅助信号灯的多条轨迹;
[0048]
采用csr-dcf跟踪算法对属于同一条轨迹的辅助信号灯进行目标跟踪,加入丢失的辅助信号灯。
[0049]
可选地,所述根据每一帧图像的方向指示信号灯检测结果,确定每一条辅助信号灯轨迹内辅助信号灯的形态类别,具体包括:
[0050]
将8个方向指示信号灯的类别划分为四种形态类别;所述四种形态类别为圆灯类、左转箭头类、直行箭头类和右转箭头类;
[0051]
统计交通信号灯离线视频中每一条辅助信号灯轨迹所对应图像中方向指示信号灯四种形态类别的数量,将数量最多的一种形态类别判定为每一条辅助信号灯轨迹内辅助信号灯的形态类别。
[0052]
一种基于网络流多目标跟踪的信号灯检测系统,包括:
[0053]
神经网络确定模块,用于确定yolov7目标检测神经网络和颜色检测分类网络;
[0054]
图像识别模块,用于利用yolov7目标检测神经网络对交通信号灯离线视频的每一帧图像识别辅助信号灯和辅助信号灯中的每个方向指示信号灯,获得每一帧图像的辅助信号灯检测结果和方向指示信号灯检测结果;
[0055]
踪片构建模块,用于使用辅助信号灯检测结果构建踪片,并以踪片作为节点构建最小费用流网络流图;
[0056]
轨迹求解模块,用于采用最短路径算法求解所述最小费用流网络流图,获得多条辅助信号灯轨迹;
[0057]
形态类别确定模块,用于根据每一帧图像的方向指示信号灯检测结果,确定每一条辅助信号灯轨迹内辅助信号灯的形态类别;
[0058]
颜色类别确定模块,用于根据每一条辅助信号灯轨迹所对应辅助信号灯区域图像,利用颜色检测分类网络检测辅助信号灯中方向指示信号灯的颜色类别,并结合辅助信号灯的形态类别,确定每一条辅助信号灯轨迹的最终检测结果。
[0059]
一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前述的基于网络流多目标跟踪的信号灯检测方法。
[0060]
根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0061]
本发明公开一种基于网络流多目标跟踪的信号灯检测方法、系统及设备,首先将yolov7目标检测神经网络的检测结果分为辅助信号灯检测结果和方向指示信号灯检测结果,并对辅助信号灯类目标检测结果构建最小费用流网络流图,求解获得多条辅助信号灯轨迹,然后根据方向指示信号灯检测结果确定每一条辅助信号灯轨迹内辅助信号灯的形态类别,并利用颜色检测分类网络检测辅助信号灯中方向指示信号灯的颜色类别,使用了统计学与图像颜色特征对方向指示信号灯进行补充检测与分类。本发明能够利用视频的信号灯检测结果,通过多目标跟踪和补充检测的方式提升信号灯的检测准确率。
附图说明
[0062]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0063]
图1为本发明实施例提供的一种基于网络流多目标跟踪的信号灯检测方法的流程图;
[0064]
图2为本发明实施例提供的方向指示信号灯的类别示意图;
[0065]
图3为本发明实施例提供的图像截取与数据集制作流程图;
[0066]
图4为本发明实施例提供的最小费用流网络流图构建过程示意图;
[0067]
图5为本发明实施例提供的预处理过程中逐帧映射方法流程图;图5中的(a)为第一帧检测到的两个辅助信号灯示意图,图5中的(b)为第二帧只检测到的一个辅助信号灯示意图;
[0068]
图6为本发明实施例提供的相似度计算网络使用原理图;
[0069]
图7为本发明实施例提供的掩膜图像制作原理图;图7中的(a)为信号灯由左侧离开视频区域示意图,图7中的(b)为信号灯由上侧离开视频区域示意图,图7中的(c)为信号灯由右侧离开视频区域示意图,图7中的(d)为掩膜图像示意图。
具体实施方式
[0070]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0071]
本发明的目的是提供一种基于网络流多目标跟踪的信号灯检测方法、系统及设备,能够利用视频的信号灯检测结果,通过多目标跟踪和补充检测的方式提升信号灯的检测准确率。
[0072]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0073]
如图1所示,本发明实施例提供了一种基于网络流多目标跟踪的信号灯检测方法,包括:
[0074]
步骤1:确定yolov7目标检测神经网络和颜色检测分类网络。
[0075]
示例性的,yolov7目标检测神经网络的确定过程为:
[0076]
获取包含交通信号灯的视频;对视频进行逐帧图像提取,得到包含交通信号灯的图像,并进行标注;对提取出的每一张图像中的辅助信号灯和小目标信号灯(方向指示信号灯)使用矩形框标注其位置、尺寸与类别,类别如图2所示,具体包括:红色圆灯、绿色圆灯、红色左转箭头、绿色左转箭头、红色直行箭头、绿色直行箭头、红色右转箭头、绿色右转箭头;使用标注完毕的数据集训练得到yolov7目标检测网络。
[0077]
示例性的,颜色检测分类网络的确定过程为:
[0078]
步骤a:在包含信号灯的图像中截取信号灯区域与黑色未亮灯区域,制作颜色分类数据集。
[0079]
图像截取与数据集制作流程如图3所示,裁剪出图像中的辅助信号灯(a),设其高为h,宽为w;对其进行长宽比例保持不变的分辨率缩放操作,如(b)使其高变为100w/hpx,宽变为100px;分别对其上部分1/3处和下部分1/3进行裁剪,得到两个高为33w/hpx,宽为100px的图像(c);再分别对其进行60px的中心裁剪操作,得到两个高为60px,宽为60px的图像(d),最终对这两张图像进行上下拼接和零填充操作,得到高为120px,宽为120px的用于图像分类网络训练的图像(e)。
[0080]
其中亮绿灯的辅助信号灯拼接后上半部分为绿色,下半部分为黑色,作为绿色类;亮红灯的辅助信号灯拼接后上半部分为黑色,下半部分为红色,作为红色类;未亮的辅助信号灯拼接后上半部分与下半部分都为黑色,作为黑色类。由于在现实中很难采集未亮辅助信号灯图像,所以将绿色类中图像的下半部分与红色类中图像的上半部分进行随机拼接,人工制造黑色类图像。
[0081]
步骤b:使用拼接完毕的红色类、绿色类与黑色类图像数据集训练图像分类网络得到颜色检测分类网络。
[0082]
步骤2:利用yolov7目标检测神经网络对交通信号灯离线视频的每一帧图像识别辅助信号灯和辅助信号灯中的每个方向指示信号灯,获得每一帧图像的辅助信号灯检测结果和方向指示信号灯检测结果。
[0083]
利用训练好的yolov7目标检测网络获取测试视频中辅助信号灯位置、尺寸和形状,以及小目标信号灯(方向指示信号灯)的位置、尺寸和类别。
[0084]
步骤3:使用辅助信号灯检测结果构建踪片,并以踪片作为节点构建最小费用流网络流图。
[0085]
轨迹求解过程为离线多目标跟踪过程,步骤3具体流程如图4所示,具体包括:
[0086]
步骤a:辅助信号灯检测响应预处理。
[0087]
根据辅助信号灯的两种形态特点,若视频中辅助信号灯为水平信号灯,则删除辅助信号灯检测响应中高度大于宽度的目标框,反之若视频中辅助信号灯为竖直信号灯,则删除辅助信号灯检测响应中宽度大于高度的目标框。
[0088]
统计整段视频辅助信号灯检测结果尺寸的长宽比均值pm,删除长宽比小于p
m-0.5和大于pm+0.5的辅助信号灯检测响应。
[0089]
根据视频连续帧之间辅助信号灯的位置关系,通过逐帧映射的方法对辅助信号灯类检测响应的漏检进行补充预测。在连续的两帧中,若第一帧辅助信号灯不存在漏检,第二帧辅助信号灯存在漏检但未全部漏检,则令第一帧中辅助信号灯检测结果集合为n={n1,
n2,...,nn},第二帧中辅助信号灯检测结果集合为m={m1,m2,...,m
p
}。分别计算集合n与集合m中检测结果位置坐标的欧氏距离,欧氏距离最小的两个检测结果确定为两帧中同一个信号灯。因第一帧中辅助信号灯不存在漏检,将集合n中检测结果根据位置x轴坐标排序,得到从左到右排列的辅助信号灯,结合m与n中辅助信号灯对应关系,则可确定第二帧中漏检辅助信号灯的对应位置。
[0090]
以下为逐帧映射方法的一处具体实施例:如图5为存在2个辅助信号灯视频中的连续两帧目标检测响应,图5中的(a)示出第一帧检测到两个辅助信号灯,图5中的(b)示出第二帧只检测到一个辅助信号灯。在此种情况下,计算出第一帧中辅助信号灯之间的横向距离dw和纵向距离dh,分别计算第二帧中检测到的辅助信号灯位置坐标p1与第一帧中所有检测到的辅助信号灯位置坐标q1与q2的欧氏距离。q1与p1欧氏距离结果最小,确定q1对应辅助信号灯与p1对应辅助信号灯为两帧中同一个信号灯,q2对应辅助信号灯为在第二帧中漏检的辅助信号灯。通过映射的方式,使用第一帧中辅助信号灯横向距离、纵向距离与尺寸信息,可确定第二帧中缺失辅助信号灯的位置坐标为p2=((x1+x2)/2+dw,(y1+y2)/2+dy),左上角坐标与右下角坐标分别为a2=((x1+x2)/2+d
w-w2/2,(y1+y2)/2+d
y-h2/2),b2=((x1+x2)/2+dw+w2/2,(y1+y2)/2+dy+h2/2)。
[0091]
步骤b:使用辅助信号灯检测结果构建踪片。
[0092]
循环遍历视频每一帧的辅助信号灯检测响应,分别计算相邻两帧每一个辅助信号灯检测结果位置坐标的高斯核相关值,若其相关值小于0.0005,则将这两个辅助信号灯检测响应视为同一踪片。每条踪片最大长度为15。
[0093]
步骤c:以辅助信号灯踪片作为节点构建最小费用流网络流图。
[0094]
设踪片集合为每一个踪片对应一个节点vi,从源节点s到任意一个节点的路径表示为(s,vi),其路径费用表示为流量表示为f(s,vi)=f
i(s)
;从任意节点到汇节点t的路径表示为(vi,t),其路径费用表示为流量表示为f(vi,t)=f
i(t)
;对于每一对关联相似度p(tj|ti)≠0,i≠j的踪片节点,其之间的路径表示为(vi,vj),其路径费用表示为c(vi,vj)=c
ij
,流量表示为f(vi,vj)=f
ij
,则最小费用流网络优化问题可表示为如下形式:
[0095][0096]
s.t.f
ij
,f
i(s)
,f
i(t)
∈{0,1}
[0097]
and
[0098]
其中费用c建模为:
[0099][0100]cij
=-logp(tj|ti).
[0101]
步骤d:通过踪片之间的位置相似度与图像相似度构建最小费用流网络踪片节点之间的费用。
[0102]
本发明使用如下方式构建节点之间的费用:
[0103]
[0104][0105]
p
app
(tj|ti)=s(a
l
|af)(1-exp(-λδt))
[0106]
其中,d
l
和df分别表示踪片ti的最后一个目标检测结果位置坐标和踪片tj的第一个目标检测结果位置坐标;a
l
和af分别表示踪片ti的最后一个目标检测结果区域图像和踪片tj的第一个目标检测结果区域图像;p
pos
(tj|ti)表示踪片ti与踪片tj的位置相似度;σ表示高斯核相关方差系数,取值为1;p
app
(tj|ti)表示踪片ti与踪片tj的图像相似度;s(a
l
|af)表示使用相似度计算分类网络计算两个目标检测结果区域的相似度;λ和μ分别表示位置相似度衰减权重和整体费用衰减权重,取值分别为2和20;表示两踪片之间的时间约束,能够防止距离过大的两条踪片或在时间维度重叠的两条踪片节点之间建立费用连接,定义为:
[0107][0108]
δt表示踪片ti与踪片tj之间的间隔帧数量,θ
t
表示最大帧数阈值,两条踪片之间距离帧数大于此值的不进行关联。
[0109]
s(a
l
|af)使用相似度计算分类网络获得,通过以下实施例说明:如图6所示,设图像中辅助信号灯区域a高为h,宽为w,相邻辅助信号灯位置坐标之间的距离设为d。以辅助信号灯区域中心点为中心截取高为3h,宽为3d的图像,称为多辅助信号灯区域a,a
l
与af的多辅助信号灯区域分别表示为a
l
与af。分别将a
l
与af竖直均等切割成高为3w宽为d的三个区域,表示为和每个区域经过相似度计算分类网络可以得到二分类灯与背景的置信度,a
l
与af的切割区域经过相似度计算分类网络后得到的置信度表示为和集合中每一项表示每个区域得到的二分类置信度二元组。则s(a
l
|af)的计算方式为:
[0110][0111]
步骤e:构建最小费用流网络流图源节点和汇节点与踪片节点之间的费用。
[0112]
通过观察视频中车辆通过路口时信号灯退出视频的位置,以及接近路口时目标检测首次检测到辅助信号灯类时信号灯的位置,制作了掩膜图像。如图7所示,图7中的(a)至(c)为部分测试视频接近结尾的一帧,其中第一幅图车辆右转,信号灯由左侧离开视频区域,第二幅图车辆直行,信号灯由上侧离开视频区域,第三幅图车辆左转,信号灯由右侧离开视频区域,离开的区域由半透明灰色区域表示,图7中的(d)为由多个信号灯视频结尾信号灯退出视频区域位置所制作的掩膜图像。构建源节点与踪片节点之间的费用和汇节点与踪片节点之间的费用:
[0113]
[0114][0115]
其中i(x)为示性函数,x为真时其值为1;α为缩放系数,取值为25;a表示踪片中第一个辅助信号灯目标检测结果位置坐标位于掩膜图像内,b表示踪片中最后一个辅助信号灯检测响应位置坐标位于掩膜图像内;t为信号灯视频总帧数;t
s(i)
表示第i个踪片中第一个目标检测响应所在视频中的帧序号;t
e(i)
表示第i个踪片中最后一个目标检测响应所在视频中的帧序号。
[0116]
步骤4:采用最短路径算法求解所述最小费用流网络流图,获得多条辅助信号灯轨迹。
[0117]
使用dijkstra(迪杰斯特拉)算法计算网络流图的最短路径,求解k条辅助信号灯的轨迹。令构造的最小费用流网络流图为g,需要求解的轨迹数量为k,初始化f=0;令源节点s为起始节点,汇节点t为终止节点,运行dijkstra算法求解g中的最短路径节点集合为使f=f+1;在网络流图g中删除中除了s与t的节点;若f<k,则重复运行dijkstra算法,否则算法结束,输出k个节点集合,对应视频中k条辅助信号灯的轨迹。
[0118]
使用跟踪算法对属于同一条轨迹的辅助信号灯进行目标跟踪,解决某些帧辅助信号灯检测丢失的问题。
[0119]
采用csr-dcf跟踪算法对辅助信号灯进行跟踪。
[0120]
令为视频中辅助信号灯的轨迹集合,k为轨迹数量;循环遍历每一条轨迹xk中的踪片ti,令相邻两条踪片ti与tj(j=i+1)之间的帧数距离为若td>1,则使用ti中最后一个目标检测结果区域初始化相关滤波跟踪器;对两个踪片之间的t
d-1帧进行目标跟踪。若t
d-1<20,则进行完整t
d-1帧跟踪,若t
d-1≥20,则跟踪20帧后停止跟踪,将跟踪输出的坐标与尺寸关联为踪片,加入轨迹中。
[0121]
步骤5:根据每一帧图像的方向指示信号灯检测结果,确定每一条辅助信号灯轨迹内辅助信号灯的形态类别。
[0122]
首先,将8个小目标信号灯类别划分为4类:圆灯类(红色和绿色)、左转箭头类(红色和绿色)、直行箭头类(红色和绿色)和右转箭头类(红色和绿色)
[0123]
其次,统计辅助信号灯区域内的小目标信号灯四种形态类别的数量,将出现概率最高的一类判定为该辅助信号灯的形态类别。例如:一段视频中辅助信号灯数量k为2,则统计该段视频中轨迹x1与轨迹x2区域内小目标信号灯检测结果4种形态类别的数量。若轨迹x1中左转箭头类概率最高,则轨迹x1所对应的辅助信号灯的形态类别判定为左转箭头,若轨迹x2中圆灯类概率最高,则轨迹所对应的辅助信号灯的形态类别判定为圆灯。
[0124]
删除辅助信号灯检测结果区域内形态类别与此辅助信号灯轨迹形态类别不符的小目标信号灯检测结果。
[0125]
步骤6:根据每一条辅助信号灯轨迹所对应辅助信号灯区域图像,利用颜色检测分类网络检测辅助信号灯中方向指示信号灯的颜色类别,并结合辅助信号灯的形态类别,确定每一条辅助信号灯轨迹的最终检测结果。
[0126]
若辅助信号灯检测结果内部不存在小目标信号灯检测结果,则按照步骤1a对辅助
信号灯区域图像进行操作,得到高为120px,宽为120px的拼接后图像,并使用颜色检测分类网络对其进行图像分类。
[0127]
结合得到的辅助信号灯的形态类别和得到的颜色类别,可确定此辅助信号灯区域内小目标信号灯的类别,实现补充检测。
[0128]
本发明利用视频中信号灯的检测结果,通过离线多目标跟踪的方式对其结果进行串联,得到多条信号灯轨迹,结合颜色检测提高信号灯检测准确率。
[0129]
本发明首先获取待检测视频中信号灯的位置、尺寸与类别信息,然后将yolov7检测结果分为辅助信号灯类与小目标信号灯类,并对辅助信号灯类目标检测结果进行网络流图建模,对其进行多目标跟踪,利用统计学与图像颜色特征对小目标信号灯类进行补充检测与分类,解决了目前少有利用多目标跟踪检测信号灯的问题,提高了视频中信号灯的检测准确率。
[0130]
本发明实施例还提供了一种基于网络流多目标跟踪的信号灯检测系统,包括:
[0131]
神经网络确定模块,用于确定yolov7目标检测神经网络和颜色检测分类网络;
[0132]
图像识别模块,用于利用yolov7目标检测神经网络对交通信号灯离线视频的每一帧图像识别辅助信号灯和辅助信号灯中的每个方向指示信号灯,获得每一帧图像的辅助信号灯检测结果和方向指示信号灯检测结果;
[0133]
踪片构建模块,用于使用辅助信号灯检测结果构建踪片,并以踪片作为节点构建最小费用流网络流图;
[0134]
轨迹求解模块,用于采用最短路径算法求解所述最小费用流网络流图,获得多条辅助信号灯轨迹;
[0135]
形态类别确定模块,用于根据每一帧图像的方向指示信号灯检测结果,确定每一条辅助信号灯轨迹内辅助信号灯的形态类别;
[0136]
颜色类别确定模块,用于根据每一条辅助信号灯轨迹所对应辅助信号灯区域图像,利用颜色检测分类网络检测辅助信号灯中方向指示信号灯的颜色类别,并结合辅助信号灯的形态类别,确定每一条辅助信号灯轨迹的最终检测结果。
[0137]
本发明实施例提供的基于网络流多目标跟踪的信号灯检测系统与上述实施例所述的基于网络流多目标跟踪的信号灯检测方法,其工作原理和有益效果类似,故此处不再详述,具体内容可参见上述方法实施例的介绍。
[0138]
本发明还提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前述的基于网络流多目标跟踪的信号灯检测方法。
[0139]
此外,上述的存储器中的计算机程序通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
[0140]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他
实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0141]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

技术特征:
1.一种基于网络流多目标跟踪的信号灯检测方法,其特征在于,包括:确定yolov7目标检测神经网络和颜色检测分类网络;利用yolov7目标检测神经网络对交通信号灯离线视频的每一帧图像识别辅助信号灯和辅助信号灯中的每个方向指示信号灯,获得每一帧图像的辅助信号灯检测结果和方向指示信号灯检测结果;使用辅助信号灯检测结果构建踪片,并以踪片作为节点构建最小费用流网络流图;采用最短路径算法求解所述最小费用流网络流图,获得多条辅助信号灯轨迹;根据每一帧图像的方向指示信号灯检测结果,确定每一条辅助信号灯轨迹内辅助信号灯的形态类别;根据每一条辅助信号灯轨迹所对应辅助信号灯区域图像,利用颜色检测分类网络检测辅助信号灯中方向指示信号灯的颜色类别,并结合辅助信号灯的形态类别,确定每一条辅助信号灯轨迹的最终检测结果。2.根据权利要求1所述的基于网络流多目标跟踪的信号灯检测方法,其特征在于,所述确定yolov7目标检测神经网络,具体包括:获取包含辅助信号灯的视频;对包含辅助信号灯的视频进行逐帧图像提取,得到包含辅助信号灯的图像,并进行标注,构成目标检测数据集;其中,标注的内容包括:辅助信号灯的位置、尺寸与形状,以及方向指示信号灯的位置、尺寸与类别;所述辅助信号灯的形状包括水平信号灯和竖直信号灯;方向指示信号灯的类别包括红色圆灯、绿色圆灯、红色左转箭头、绿色左转箭头、红色直行箭头、绿色直行箭头、红色右转箭头和绿色右转箭头;利用所述目标检测数据集训练yolov7神经网络,获得yolov7目标检测神经网络。3.根据权利要求2所述的基于网络流多目标跟踪的信号灯检测方法,其特征在于,确定颜色检测分类网络,具体包括:从包含辅助信号灯的图像中裁剪出辅助信号灯,获得辅助信号灯区域图像;从辅助信号灯区域图像中裁剪红灯图像、绿灯图像和黑色图像;所述红灯图像包括红色圆灯、红色左转箭头、红色直行箭头或红色右转箭头;所述绿灯图像包括绿色圆灯、绿色左转箭头、绿色直行箭头或绿色右转箭头;所述黑色图像为辅助信号灯中没有亮灯的区域图像;将红色图像与黑色图像上下拼接作为红色类,黑色图像与绿色图像上下拼接作为绿色类,黑色图像与黑色图像上下拼接作为黑色类,构成颜色分类数据集;利用所述颜色分类数据集训练图像分类网络,获得颜色检测分类网络。4.根据权利要求1所述的基于网络流多目标跟踪的信号灯检测方法,其特征在于,所述使用辅助信号灯检测结果构建踪片,并以踪片作为节点构建最小费用流网络流图,之前还包括:若辅助信号灯检测结果中辅助信号灯为水平信号灯,则删除高度大于宽度的辅助信号灯目标框;若辅助信号灯检测结果中辅助信号灯为竖直信号灯,则删除宽度大于高度的辅助信号灯目标框;统计所有辅助信号灯检测结果中辅助信号灯的高宽比均值p
m
,并删除高宽比小于p
m-0.5和高宽比大于p
m
+0.5的辅助信号灯目标框;
根据交通信号灯离线视频中连续帧之间辅助信号灯的位置关系,通过逐帧映射的方法对辅助信号灯的漏检进行补充。5.根据权利要求1所述的基于网络流多目标跟踪的信号灯检测方法,其特征在于,所述使用辅助信号灯检测结果构建踪片,并以踪片作为节点构建最小费用流网络流图,具体包括:使用双阈值保守关联算法将高斯核相关值小于相关值阈值的相邻两帧辅助信号灯检测结果关联为同一踪片;设定一个源节点s,一个汇节点t,踪片作为中间节点,建立最小费用流网络流图;通过踪片之间的位置相似度与图像相似度构建中间节点之间的费用为式中,c
ij
表示节点v
i
与节点v
j
的路径费用;μ表示整体费用衰减权重;p
pos
(t
j
|t
i
)表示踪片t
i
与踪片t
j
的位置相似度,一个踪片对应一个节点,d
l
和d
f
分别表示踪片t
i
的最后一个目标检测结果位置坐标和踪片t
j
的第一个目标检测结果位置坐标,σ表示高斯核相关方差系数,λ表示位置相似度衰减权重;p
app
(t
j
|t
i
)表示踪片t
i
与踪片t
j
的图像相似度,p
app
(t
j
|t
i
)=s(a
l
|a
f
)(1-exp(-λδt)),s(a
l
|a
f
)表示使用相似度计算分类网络计算两个辅助信号灯检测结果中辅助信号灯区域的相似度;表示两踪片之间的时间约束,δt表示踪片t
i
与踪片t
j
之间的间隔帧数量,θ
t
表示最大帧数阈值,两条踪片之间距离帧数大于此值的不进行关联;通过观察辅助信号灯退出交通信号灯离线视频的位置,以及首次检测到辅助信号灯时的位置,制作掩膜图像;基于所述掩膜图像,构建源节点和汇节点分别与中间节点之间的费用为和式中,表示源节点s到节点v
i
的路径费用,表示节点v
i
到汇节点t的路径费用,α为缩放系数,i()为示性函数,a表示踪片中第一个辅助信号灯目标检测结果中辅助信号灯位置坐标位于掩膜图像内,b表示踪片中最后一个辅助信号灯目标检测结果中辅助信号灯位置坐标位于掩膜图像内,t为交通信号灯离线视频总帧数,t
s(i)
表示踪片t
i
中第一个目标检测响应所在视频中的帧序号,t
e(i)
表示踪片t
i
中最后一个辅助信号灯目标检测结果所在交通信号灯离线视频中的帧序号;结合源节点和汇节点分别与中间节点之间的费用,以及中间节点之间的费用,构建最小费用流网络流图的优化表达式为
式中,t表示最小费用流网络流图的优化函数,表示踪片集合,f
i(s)
表示源节点s到节点v
i
的流量,f
ij
表示节点v
i
到节点v
j
的流量,f
i(t)
表示节点v
i
到汇节点t的流量。6.根据权利要求5所述的基于网络流多目标跟踪的信号灯检测方法,其特征在于,所述使用相似度计算分类网络计算两个辅助信号灯检测结果中辅助信号灯区域的相似度,具体包括:在包含辅助信号灯的图像中截取辅助信号灯扩展区域与背景区域;将辅助信号灯扩展区域命名为灯类,背景区域命名为背景类,构成图像数据集;利用所述图像数据集训练图像分类网络,得到相似度计算分类网络;以辅助信号灯检测结果中辅助信号灯区域中心点为中心,截取高为3h,宽为3d的图像,称为多辅助信号灯区域,并将两个多辅助信号灯区域分别表示为a
l
与a
f
;所述辅助信号灯检测结果中辅助信号灯区域的高为h,宽为w,相邻辅助信号灯位置坐标之间的距离为d;将a
l
与a
f
竖直均等切割成高为3w且宽为d的三个区域,表示为和将两个辅助信号灯检测结果中多辅助信号灯区域分别输入相似度计算分类网络,获得两个多辅助信号灯区域的置信度为和利用公式计算两个辅助信号灯检测结果中辅助信号灯区域的相似度。7.根据权利要求1所述的基于网络流多目标跟踪的信号灯检测方法,其特征在于,采用最短路径算法求解所述最小费用流网络流图,获得多条辅助信号灯轨迹,具体包括:使用dijkstra算法求解所述最小费用流网络流图的最短路径,获得辅助信号灯的多条轨迹;采用csr-dcf跟踪算法对属于同一条轨迹的辅助信号灯进行目标跟踪,加入丢失的辅助信号灯。8.根据权利要求1所述的基于网络流多目标跟踪的信号灯检测方法,其特征在于,所述根据每一帧图像的方向指示信号灯检测结果,确定每一条辅助信号灯轨迹内辅助信号灯的形态类别,具体包括:将8个方向指示信号灯的类别划分为四种形态类别;所述四种形态类别为圆灯类、左转箭头类、直行箭头类和右转箭头类;统计交通信号灯离线视频中每一条辅助信号灯轨迹所对应图像中方向指示信号灯四种形态类别的数量,将数量最多的一种形态类别判定为每一条辅助信号灯轨迹内辅助信号灯的形态类别。9.一种基于网络流多目标跟踪的信号灯检测系统,其特征在于,包括:神经网络确定模块,用于确定yolov7目标检测神经网络和颜色检测分类网络;
图像识别模块,用于利用yolov7目标检测神经网络对交通信号灯离线视频的每一帧图像识别辅助信号灯和辅助信号灯中的每个方向指示信号灯,获得每一帧图像的辅助信号灯检测结果和方向指示信号灯检测结果;踪片构建模块,用于使用辅助信号灯检测结果构建踪片,并以踪片作为节点构建最小费用流网络流图;轨迹求解模块,用于采用最短路径算法求解所述最小费用流网络流图,获得多条辅助信号灯轨迹;形态类别确定模块,用于根据每一帧图像的方向指示信号灯检测结果,确定每一条辅助信号灯轨迹内辅助信号灯的形态类别;颜色类别确定模块,用于根据每一条辅助信号灯轨迹所对应辅助信号灯区域图像,利用颜色检测分类网络检测辅助信号灯中方向指示信号灯的颜色类别,并结合辅助信号灯的形态类别,确定每一条辅助信号灯轨迹的最终检测结果。10.一种电子设备,其特征在于,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至8中任一项所述的基于网络流多目标跟踪的信号灯检测方法。

技术总结
本发明公开一种基于网络流多目标跟踪的信号灯检测方法、系统及设备,属于图像与视频处理领域。首先将YOLOv7目标检测神经网络的检测结果分为辅助信号灯检测结果和方向指示信号灯检测结果,并对辅助信号灯类目标检测结果构建最小费用流网络流图,求解获得多条辅助信号灯轨迹,然后根据方向指示信号灯检测结果确定每一条辅助信号灯轨迹内辅助信号灯的形态类别,并利用颜色检测分类网络检测辅助信号灯中方向指示信号灯的颜色类别,使用了统计学与图像颜色特征对方向指示信号灯进行补充检测与分类。本发明能够利用视频的信号灯检测结果,通过多目标跟踪和补充检测的方式提升信号灯的检测准确率。灯的检测准确率。灯的检测准确率。


技术研发人员:陈海华 于乔烽 何明
受保护的技术使用者:南开大学
技术研发日:2023.05.11
技术公布日:2023/8/21
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐