一种红绿灯跟踪方法、装置、及无人驾驶汽车与流程

文档序号:31354919发布日期:2022-08-31 13:27阅读:61来源:国知局
一种红绿灯跟踪方法、装置、及无人驾驶汽车与流程

1.本发明涉及人工智能技术领域,特别涉及一种红绿灯跟踪方法、装置及无人驾驶汽车。


背景技术:

2.随着人工智能技术领域的不断发展,无人驾驶汽车也被广泛的使用,但在无人驾驶汽车运动的过程中,如何对当前道路中的红绿灯进行跟踪是是一大难题,而优秀的跟踪算法需要对前方的红绿灯有较好的检测和跟踪效果,准确判断其状态,从而提高无人驾驶的安全性。
3.在现有技术中,对于当前道路中的红绿灯,仅仅是通过感知来识别是否存在红绿灯,而通过该方法检测红绿灯,不仅效果一般、适应性差,还容易产生误检、漏检,从而降低了无人驾驶汽车的安全性。


技术实现要素:

4.本发明实施例主要提供一种一种红绿灯跟踪方法、装置及无人驾驶汽车,主要解决现有技术中红绿灯跟踪适应性差、容易误检、漏检的技术问题。
5.为解决上述技术问题,本发明实施方式采用的一个技术方案是:提供一种红绿灯跟踪方法,应用于无人驾驶汽车,所述方法包括:
6.获取当前帧图像;
7.将所述当前帧图像输入目标检测算法,以获取当前帧图像中红绿灯的检测框,其中,所述检测框包括所述红绿灯在当前帧图像中的置信度、类别和位置;
8.获取前n帧图像中红绿灯映射至当前帧图像的预测框,其中,所述预测框包括红绿灯在当前帧图像中的置信度、类别和位置;
9.根据所述检测框中红绿灯的置信度,将所述检测框划分为高分框和低分框;
10.根据所述当前帧图像中高分框和预测框的类别,将类别相同的高分框和预测框进行匹配,以获取第一跟踪结果;
11.根据所述当前帧图像中低分框和预测框的类别,将类别相同的低分框和未与所述高分框匹配上的预测框进行匹配,以获取第二跟踪结果;
12.获取未与所述预测框匹配上的检测框,并将所述检测框与未与所述低分框匹配上的预测框进行匹配,以获取第三跟踪结果;
13.将所述第一跟踪结果、第二跟踪结果和第三跟踪结果进行整合,从而得到当前帧中红绿灯跟踪结果。
14.可选的,在获取到所述当前帧图像中红绿灯的检测框后,所述方法还包括:
15.获取所述当前帧图像中所有的检测框;
16.将所述检测框进行重合度计算,以确定当前帧图像中是否存在重合的检测框;
17.当所述当前帧图像中存在重合的检测框时,基于所述检测框的置信度,保留所述
重合的检测框中置信度高的检测框。
18.可选的,所述根据所述当前帧图像中高分框和预测框的类别,将类别相同的高分框和预测框进行匹配,以获取第一跟踪结果,包括:
19.基于所述检测框的类别,获取相同类别的高分框和预测框;
20.获取所述相同类别的高分框和预测框分别在当前帧图像中的第一位置和第二位置;
21.根据所述第一位置和第二位置,获取重合度大于第一预设阈值的高分框和预测框,并获取重合度等于第二预设阈值的高分框和预测框;
22.对重合度大于所述第一预设阈值的高分框和预测框进行匹配,若所述高分框与所述预测框匹配成功,则确认所述高分框的状态为被跟踪;
23.计算重合度等于所述第二预设阈值的高分框和预测框的欧式距离,并在所述欧式距离大于预设距离时,确认所述高分框为的状态为被跟踪。
24.可选的,所述根据所述当前帧图像中低分框和预测框的类别,将类别相同的低分框和未与所述高分框匹配上的预测框进行匹配,以获取第二跟踪结果,包括:
25.获取未与所述高分框匹配上的预测框,并获取与所述预测框类别相同的低分框;
26.获取所述类别相同的低分框与未匹配上的预测框在当前帧图像中的第三位置和第四位置;
27.对所述第三位置和所述第四位置进行重合度计算,并获取重合度大于第三预设阈值的低分框和未匹配上的预测框,以及重合度等于所述第二预设阈值的低分框和未匹配上的预测框;
28.对重合度大于所述第三预设阈值的低分框和未匹配上的预测框进行匹配,若所述低分框与所述未匹配上的预测框匹配成功,则确认所述低分框的状态为被跟踪;
29.计算重合度等于所述第二预设阈值的低分框和未匹配上的预测框的欧式距离,并在所述欧式距离大于所述预设距离时,确认所述低分框的状态为被跟踪。
30.可选的,所述获取未与所述预测框匹配上的检测框,并将所述检测框与未与所述低分框匹配上的预测框进行匹配,以获取第三跟踪结果包括:
31.获取未与所述预测框匹配上的所述检测框,并获取所述未匹配上的检测框在当前帧图像中的第五位置,其中,所述检测框包括未匹配上的高分框和未匹配上的低分框;
32.获取未与所述低分框匹配上的预测框,以及所述预测框在当前帧图像中的第六位置;
33.对所述第五位置和第六位置进行重合度计算,并获取重合度大于第四预设阈值的预测框和检测框,以及重合度等于所述第二预设阈值时的预测框和检测框;
34.对重合度大于所述第四预设阈值的检测框和预测框进行匹配,若所述检测框与所述预测框匹配成功,则确认所述检测框的状态为被跟踪;
35.计算重合度等于所述第二预设阈值的检测框和预测框的欧式距离,并在所述欧式距离大于所述预设距离时,确认所述检测框的状态为被跟踪。
36.可选的,所述方法还包括:
37.将状态为被跟踪的检测框作为所述当前帧图像的下一帧图像中红绿灯的预测框,并根据所述预测框对所述下一帧图像中的红绿灯进行跟踪,其中,所述状态为被跟踪的检
测框包括的状态为被跟踪的高分框和低分框。
38.为解决上述技术问题,本发明实施方式采用的另一个技术方案是:提供一种红绿灯跟踪装置,应用于无人驾驶汽车,包括:
39.第一获取模块,用于获取当前帧图像;
40.第二获取模块,用于将所述当前帧图像输入目标检测算法,以获取当前帧图像中红绿灯的检测框,其中,所述检测框包括所述红绿灯在当前帧图像中的置信度、类别和位置;
41.第三获取模块,用于获取前n帧图像中红绿灯映射至当前帧图像的预测框,其中,所述预测框包括红绿灯在当前帧图像中的置信度、类别和位置;
42.分类模块,用于根据所述检测框中红绿灯的置信度,将所述检测框划分为高分框和低分框;
43.第一匹配模块,用于根据所述当前帧图像中高分框和预测框的类别,将类别相同的高分框和预测框进行匹配,以获取第一跟踪结果;
44.第二匹配模块,用于根据所述当前帧图像中低分框和预测框的类别,将类别相同的低分框和未与所述高分框匹配上的预测框进行匹配,以获取第二跟踪结果;
45.第三匹配模块,用于获取未与所述预测框匹配上的检测框,并将所述检测框与未与所述低分框匹配上的预测框进行匹配,以获取第三跟踪结果;
46.跟踪结果模块,用于将所述第一跟踪结果、第二跟踪结果和第三跟踪结果进行整合,从而得到当前帧中红绿灯跟踪结果。
47.为解决上述技术问题,本发明实施方式采用的又一个技术方案是:提供一种无人驾驶汽车,包括:
48.至少一个处理器;以及,
49.与所述至少一个处理器通信连接的存储器;其中,
50.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的红绿灯跟踪方法。
51.为解决上述技术问题,本发明实施方式采用的又一个技术方案是:提供一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被处理器执行时,使所述处理器执行如上所述的红绿灯跟踪方法。
52.为解决上述技术问题,本发明实施方式采用的又一个技术方案是:提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被处理器执行时,使所述处理器执行如上所述的红绿灯跟踪方法。
53.区别于相关技术的情况,本发明实施例提供一种红绿灯跟踪方法、装置及无人驾驶汽车,主要通过获取当前帧图像,然后将所述当前帧图像输入目标检测算法,以获取当前帧图像中红绿灯的检测框,其中,所述检测框包括所述红绿灯在当前帧图像中的置信度、类别和位置,并获取前n帧图像中红绿灯映射至当前帧图像的预测框,其中,所述预测框包括红绿灯在当前帧图像中的置信度、类别和位置。接着根据所述检测框中红绿灯的置信度将所述检测框划分为高分框和低分框,并根据所述当前帧图像中高分框和预测框的类别,将
类别相同的高分框和预测框进行匹配,以获取第一跟踪结果,以及根据所述当前帧图像中低分框和预测框的类别,将类别相同的低分框和未与所述高分框匹配上的预测框进行匹配,以获取第二跟踪结果,然后获取未与所述预测框匹配上的检测框,并将所述检测框与未与所述低分框匹配上的预测框进行匹配,以获取第三跟踪结果。最后将所述第一跟踪结果、第二跟踪结果和第三跟踪结果进行整合,从而得到当前帧中红绿灯跟踪结果。通过上述方法,能够在无人驾驶汽车行驶的过程中,准确并高效的识别出当前帧图像中的红绿灯,进而提高了无人驾驶汽车的安全性。
附图说明
54.一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
55.图1是本发明实施例提供的一种红绿灯跟踪方法的方法流程图;
56.图2是本发明实施例提供的一种红绿灯跟踪方法的示意图;
57.图3是本发明实施例提供的一种红绿灯跟踪装置的结构框图;
58.图4是本发明实施例提供的一种无人驾驶汽车的结构图。
具体实施方式
59.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
60.需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互组合,均在本发明的保护范围之内。另外,虽然在装置示意图中进行了功能模块的划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置示意图中的模块划分,或流程图中的顺序执行所示出或描述的步骤。
61.除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本发明。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
62.请参阅图1,图1是本发明实施例提供的一种红绿灯跟踪方法的方法流程图,所述红绿灯跟踪方法应用于无人驾驶汽车,如图1所示,所述方法包括:
63.s11、获取当前帧图像。
64.具体的,所述无人驾驶汽车包括摄像头,在所述无人驾驶汽车行进的过程中,通过所述摄像头实时拍摄当前路段的图像,从而得到当前路段的当前帧图像,其中,所述当前路段中存在红绿灯。
65.s12、将所述当前帧图像输入目标检测算法,以获取当前帧图像中红绿灯的检测框,其中,所述检测框包括所述红绿灯在当前帧图像中的置信度、类别和位置。
66.将所述当前帧图像输入至目标检测算法中,从而得到当前帧图像中红绿灯的检测框。进一步的,所述检测框包括对应红绿灯的位置、类别和置信度。其中,所述位置指的是所
述红绿灯在所述帧图像中的坐标、高度和宽度,所述置信度指的是所述检测框在所述帧图像中的重要程度,所述类别指的是所述红绿灯的颜色。
67.其中,所述目标检测算法可以分为one-stage(单阶段)与two-stage(两阶段)。其中,所述two-stage算法包括r-cnn(region-cnn)系列,所述r-cnn是基于卷积神经网络(cnn),线性回归等算法实现目标检测的技术,主要将输入的图像经过一个网络处理,然后生成检测框,所述检测框包括位置与类别信息。所述one-stage算法包括yolo(you only look once)系列,所述yolo是基于单个神经网络的目标检测系统,主要是将输入的图像经过候选框生成网络,从而生成候选框,再将所述图像经过分类网络进行处理,从而对所述候选框的内容进行分类。优选的,本实施例采用yolov5网络对所述当前帧图像进行处理,从而得到所述当前帧图像中红绿灯的检测框。
68.在获取所述当前帧图像中红绿灯的检测框后,还需对所述检测框进行转换,以获取所述红绿灯对应的检测框在所述帧图像中的具体位置、类别以及得分。其中,根据所述检测框在所述帧图像中的坐标、高度和宽度,从而得到所述检测框在所述帧图像中的具体位置(x1,y1,x2,y2),并根据所述置信度获取所述检测框的得分,所述得分的范围可以在0-1之间。所述检测框的具体位置、类别及得分可以存储于预设的数据结构中,比如构建strack(堆栈)来存储所述检测框的具体位置、类别及得分,所述堆栈指的是一个特定的寄存器,按序排列的数据结构,只能在一端对数据项进行插入和删除,严格按照“先进后出”的原则存取,用于暂时存放数据和地址。
69.在一些实施例中,还可以在所述目标检测算法中构建tensorrt,所述tensorrt指的是可以在各种gpu(graphics processing unit,图形处理器)硬件平台下运行的一个推理框架。通过利用框架训练好的模型,转化为tensorrt的格式,然后利用tensorrt推理引擎运行该模型,从而提升该模型在gpu上运行的速度,因此,通过构建所述tensorrt,可以提高所述目标检测算法对所述帧图像的检测速度,从而实现对所述帧图像进行实时检测且不漏帧的目的。
70.在一些实施例中,在获取到所述当前帧图像中红绿灯的检测框后,还可以获取所述当前帧图像中所有的检测框,然后将所述检测框进行重合度计算,以确定当前帧图像中是否存在重合的检测框,并当所述当前帧图像中存在重合的检测框时,基于所述检测框的置信度,保留所述重合的检测框中置信度高的检测框。从而避免因检测误差所导致的同一个红绿灯存在两个检测框,进而提高红绿灯检测的准确性。
71.s13、获取前n帧图像中红绿灯映射至当前帧图像的预测框,其中,所述预测框包括红绿灯在当前帧图像中的置信度、类别和位置。
72.所述预测框可以通过卡尔曼滤波器进行获取。具体的,获取前一帧或前n帧图像中红绿灯的检测框,并将所述检测框输入至所述卡尔曼滤波器中,然后得到所述红绿灯在所述当前帧图像中的预估位置,从而得到当前帧图像中的预测框。其中,所述预测框包括位置、类别和置信度,所述位置为所述预估位置,所述类别和所述置信度延用前一帧图像中所述红绿灯所对应的检测框的类别及置信度。所述卡尔曼滤波器是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。
73.其中,可以通过所述检测框的状态确定所述检测框对应的红绿灯在所述当前帧的状态,在通过所述预测框对当前帧图像中的检测框匹配完成后,即可得到所述当前帧图像
中检测框的状态。所述检测框的状态包括被跟踪的状态、新增状态、丢失状态和移除状态。所述新增状态指的是在当前帧图像中新出现的检测框;所述被跟踪的状态指的是所述红绿灯至少出现在两帧图像中;所述丢失状态指的是在当前帧图像匹配时,该预测框未被匹配上,所述移除状态指的是在预设帧数内,所述丢失状态的检测框都没有被匹配到。也即,在所述检测框与所述预测框匹配的过程中,若所述检测框与所述预测框匹配成功,则所述检测框的状态为被跟踪状态;若所述检测框未与所述预测框匹配成功,则所述检测框的状态为新增状态,所述预测框的状态为丢失状态;若在预设帧数内,所述丢失状态的预测框还未被匹配上,则所述预测框的状态为移除状态。优选的,所述预设帧数可以是30帧,当所述丢失状态的预测框超过30帧还未被匹配上,则将所述丢失状态的预测框更新为移除状态的预测框。
74.s14、根据所述检测框中红绿灯的置信度,将所述检测框划分为高分框和低分框。
75.根据所述检测框的得分,设置检测阈值,然后将所述堆栈中所述检测框的得分与所述检测阈值进行比较,最后将所述得分大于或等于所述检测阈值的所述检测框确定为高分框,将得分小于所述检测阈值的所述检测框确定为低分框。其中,所述检测阈值是在经过多次实验后获取的最优值,通过设置所述检测阈值,从而在当前帧图像的目标检测中,确保与被跟踪的红绿灯相像物体的优先级,进而提高匹配的精确性。优选的,所述检测阈值可以为0.7。
76.s15、根据所述当前帧图像中高分框和预测框的类别,将类别相同的高分框和预测框进行匹配,以获取第一跟踪结果。
77.分别获取所述当前帧图像中的检测框和预测框的类别,然后根据所述类别,获取类别相同的高分框和预测框进行匹配,从而得到跟踪结果。例如,所述检测框的类别为红灯,所述预测框中包括红灯和绿灯,在进行匹配时,选取红灯检测框与红灯预测框进行比较,从而得到跟踪结果。
78.具体的,根据前一帧图像或前n帧图像获得所述预测框后,获取与所述高分框类别相同的预测框,然后将类别相同的高分框与预测框进行轨迹匹配,所述轨迹匹配指的是基于重合度匹配(intersection over union,iou)来获取所述检测框与所述预测框的匹配值。在所述匹配值大于第一预设阈值时,将所述当前帧图像中所述高分框在与所述预测框进行匈牙利匹配算法,从而得到第一跟踪结果,其中,所述第一跟踪结果指的是所述高分框与所述预测框匹配成功。所述匈牙利匹配算法是一种在多项式时间内求解任务分配问题的组合优化算法。所述第一预设阈值是根据多次实验获取的最优值,通过所述第一预设阈值,在提高所述高分框被跟踪的准确性的同时,避免了因取值过高而导致的检测误差。优选的,所述第一预设阈值可以为0.8。
79.在一些实施例中,由于在所述无人驾驶汽车运动时,所述摄像机也随之运动,故所述红绿灯跟踪是通过动态的相机来跟踪静态的红绿灯。在跟踪所述红绿灯时,相机的每一次移动,都会使所述红绿灯在图像中产生较大的像素位移,故在所述高分框和所述预测框进行重合度匹配时,若所述高分框与所述预测框的匹配值为第二预设阈值时,可以通过计算所述高分框与所述预测框的欧氏距离,并将所述欧式距离与预设距离进行比较,当所述欧式距离小于所述预设距离时,确定所述高分框的状态为被跟踪的状态。并且,将所述高分框与所述预测框的重合度修改为第三预设阈值,从而避免由于数值设置的原因,使得状态
为被跟踪的高分框被滤除掉,进而提高了红绿灯跟踪的精确性。其中,所述第三预设阈值小于所述第一预设阈值,所述第二预设阈值和所述第三预设阈值是根据多次实验获取的最优值。其中,由于所述欧式距离是计算当前帧图像中的高分框与预测框之间的距离,故所述欧式距离的单位为像素。而所述预设距离是根据当前无人驾驶汽车的车速进行设置的,优选的,所述第二预设阈值为0,所述第三预设阈值为0.5,当所述无人驾驶汽车的车速为30-40千米每小时时,所述预设距离为50像素。
80.具体的,获取所述高分框在所述当前帧图像中的第一位置,以及所述预测框在所述连续帧图像中对应的第二位置,然后根据所述第一位置和所述第二位置,将相同类别的高分框和预测框进行重合度计算,以获取所述高分框与所述预测框的匹配值。若所述匹配值小于所述第一预设阈值,则获取匹配值为所述第二预设阈值的高分框和预测框,并计算所述高分框和所述预测框的欧式距离,并在所述欧式距离小于所述预设距离时,确认所述高分框为被跟踪的轨迹。在所述匹配值大于所述第一预设阈值,将所述高分框和所述预测框进行匈牙利匹配算法,若所述高分框与所述预测框匹配成功,则确定所述检测框所对应的红绿灯为被跟踪的红绿灯。
81.s16、根据所述当前帧图像中低分框和预测框的类别,将类别相同的低分框和未与所述高分框匹配上的预测框进行匹配,以获取第二跟踪结果。
82.在所述预测框中,获取未与所述高分框建立匹配关系的预测框,并基于所述检测框和所述预测框的类别,获取类别相同的所述低分框和所述未与所述高分框匹配上的预测框在所述当前帧图像中的第三位置及第四位置,根据所述第三位置和所述第四位置分别计算所述低分框与所述未与所述高分框匹配上的预测框的重合度,并获取重合度大于第三预设阈值的低分框和未与所述高分框匹配上的预测框,以及重合度等于所述第二预设阈值的低分框和未与所述高分框匹配上的预测框。将所述重合度大于所述第三预设阈值的所述低分框和所述未与所述高分框匹配上预测框进行匈牙利匹配,若所述低分框与未与所述高分框匹配上的预测框匹配成功,则确定所述低分框为被跟踪状态。接着计算重合度等于所述第二预设阈值的所述低分框和所述未与所述高分框匹配上预测框的欧式距离,并在所述欧式距离小于所述预设距离时,确认所述低分框为被跟踪的状态。
83.s17、获取未与所述预测框匹配上的检测框,并将所述检测框与未与所述低分框匹配上的预测框进行匹配,以获取第三跟踪结果。
84.由于所述检测框与所述预测框是依据类型进行匹配的,若在前一帧图像中,被跟踪的检测框的类别为红色,通过所述卡尔曼滤波器后,映射至当前帧的预测框的类别也为红色。此时,若当前帧图像中的检测框类别由红色转为绿色,则在所述匹配时,有可能存在同一个红绿灯,在不同帧中存在不同的类别,进而在高分框和低分框匹配时未匹配成功,因此,需要将所述检测框与所述预测框再进行一次匹配,从而避免因类别的变化导致红绿灯的跟踪误差,进而提高红绿灯跟踪的准确性。
85.具体的,在所述低分框与所述未与所述高分框匹配成功的预测框匹配完成后,获取未与所述预测框匹配成功的检测框,其中,所述检测框包括未匹配成功的高分框和低分框。并获取未与所述检测框匹配上的预测框。获取所述未匹配上的检测框和所述为匹配上的预测框在当前帧图像中的第五位置和第六位置,基于所述第五位置和所述第六位置进行重合度计算,以获取重合度大于第四预设阈值的未匹配上的检测框和未匹配上的预测框,
以及重合度等于所述第二预设阈值的未匹配上的检测框和未匹配上的预测框。对重合度大于所述第四预设阈值的所述未匹配上的检测框和未匹配上的预测框进行匈牙利匹配,若所述检测框与所述预测框匹配成功,则确认所述检测框为被跟踪的状态。最后计算重合度等于所述第二预设阈值的检测框和预测框的欧式距离,并在所述欧式距离小于所述预设距离时,确认所述检测框为被跟踪的状态。优选的,所述第四预设阈值可以为0.7。
86.s18、将所述第一跟踪结果、第二跟踪结果和第三跟踪结果进行整合,从而得到当前帧中红绿灯跟踪结果。
87.在三次匹配完成后,获取与所述预测框匹配成功的检测框,并确认所述匹配成功的检测框所对应的红绿灯跟踪成功。
88.在一些实施例中,当无人驾驶汽车在行驶一段路程后又回到了当前路段时,由于在行驶的路线发生了变化,使得当前帧图像中的红绿灯处于丢失的状态,但当汽车回到当前路段时,会检测出一个新状态的红绿灯,但所述新状态的红绿灯与丢失状态的红绿灯属于同一个红绿灯。此时,需要将两种状态的红绿灯进行融合,以提高红绿灯跟踪的精确性的同时,保留关于该红绿灯更多的跟踪信息。具体的,获取前一帧中状态的红绿灯和当前帧中红绿灯的跟踪结果,由于在预测框与高分框匹配的过程中,是将丢失状态的红绿灯和被跟踪状态的红绿灯一起与所述预测框进行匹配,故在前一帧中丢失状态的红绿灯中去除状态被更新为被跟踪状态的红绿灯。另外,由于在跟踪的过程中,存在丢失状态的红绿灯已经连续预设帧数范围内都没有被跟踪到,故在前一帧中丢失状态的红绿灯中去除丢失预设帧数的红绿灯。然后将剩下的丢失状态的红绿灯和所述红绿灯跟踪结果进行重合度匹配,并在所述丢失状态的红绿灯和所述红绿灯跟踪结果的重合度小于第五预设阈值时,判断所述丢失状态的红绿灯与所述红绿灯跟踪轨迹为同一个轨迹,其中,所述第五预设阈值是根据多次实验获取的。此时,保留跟踪帧数长的红绿灯,从而得到关于该红绿灯更多的跟踪信息。优选的,所述第五预设阈值可以为0.15。
89.在一些实施例中,在所述目标跟踪匹配完成后,还可以将状态为被跟踪的检测框作为所述当前帧图像的下一帧图像中红绿灯的预测框,并根据所述预测框对所述下一帧图像中的红绿灯进行跟踪,其中,所述状态为被跟踪的检测框包括的状态为被跟踪的高分框和低分框。
90.在一些实施例中,请参阅图2,图2是一种红绿灯跟踪匹配的结果示意图。如图2所示,通过所述红绿灯跟踪方法,从而跟踪当前道路中汽车。具体的,首先将当前帧图像输入至所述yolov5网络中,然后通过tensorrt加速处理,快速的得到当前帧图像中红绿灯的位置、置信度和类别。然后将所述位置、置信度以及类别进行转换,从而根据所述位置得到所述红绿灯的检测框,然后根据所述置信度对当前帧图像中的红绿灯设置得分,根据所述得分,将所述当前帧图像中的得分低于0.7的设置为低分框,高于或等于0.7的设置为高分框。并基于上一帧的跟踪结果和卡尔曼滤波器,得到当前帧的预测框,其中,该预测框可以体现在上一帧图像中的红绿灯在当前帧所处的位置范围。然后获取类别相同的高分框和预测框,并将所述预测框与所述高分框进行重合度匹配,将重合度大于或等于0.8的高分框与预测框进行匈牙利匹配,当所述高分框与所述预测框匹配成功时,确定该高分框的状态为被跟踪状态。进一步的,获取重合度为0的高分框与预测框,并计算该高分框与预测框之间的欧式距离,若在无人驾驶汽车的车速在30-40千米每小时时,所述欧氏距离小于50像素,则
确认所述高分框的状态为被跟踪的状态。接着,获取类别相同的低分框和未与所述高分框匹配成功的预测框,并将未与所述高分框匹配上预测框与所述低分框进行重合度匹配,当重合度大于或等于0.5时,将所述低分框与所述未匹配上的预测框进行匈牙利匹配,当所述低分框与所述预测框匹配上时,确定该低分框的状态为被跟踪状态。进一步的,获取重合度为0的低分框与预测框,并计算该低分框与预测框之间的欧式距离,若所述欧氏距离小于50像素,则确定该低分框的状态为被跟踪状态。接着获取未匹配成功的预测框和检测框,并计算所述预测框和所述检测框的重合度,若重合度大于或等于0.7,则将所述预测框和所述检测框进行匈牙利匹配,并在匹配成功后,确定所述检测框的状态为被跟踪状态。进一步的,获取重合度等于0的检测框和预测框,并计算该检测框与预测框的欧氏距离,若所述欧氏距离小于50像素,则确认所述检测框的状态为被跟踪状态。其中,未与所述检测框匹配上的预测框为丢失状态,未与所述预测框匹配成功的检测框为新状态。在经过30帧图像后,所述丢失状态依旧没有匹配上,则将所述丢失状态进行移除。接着获取上一帧丢失状态的红绿灯,并将上一帧丢失状态的红绿灯中去除在当前帧中被跟踪状态的红绿灯和移除状态的红绿灯,然后将剩下的丢失状态的红绿灯与被跟踪的红绿灯进行重合度匹配,当重合度小于0.15时,确认所述丢失状态的红绿灯与所述被跟踪的红绿灯属于同一个红绿灯,此时,保留跟踪帧数较长的红绿灯。最后,整合所有的被跟踪的红绿灯进行输出,从而得到当前帧图像的红绿灯跟踪结果。另外,还可以将当前帧的红绿灯跟踪结果作为下一帧预测框的输入。
91.本发明实施例提供一种红绿灯跟踪方法、装置及无人驾驶汽车,主要通过获取当前帧图像,然后将所述当前帧图像输入目标检测算法,以获取当前帧图像中红绿灯的检测框,其中,所述检测框包括所述红绿灯在当前帧图像中的置信度、类别和位置,并获取前n帧图像中红绿灯映射至当前帧图像的预测框,其中,所述预测框包括红绿灯在当前帧图像中的置信度、类别和位置。接着根据所述检测框中红绿灯的置信度将所述检测框划分为高分框和低分框,并根据所述当前帧图像中高分框和预测框的类别,将类别相同的高分框和预测框进行匹配,以获取第一跟踪结果,以及根据所述当前帧图像中低分框和预测框的类别,将类别相同的低分框和未与所述高分框匹配上的预测框进行匹配,以获取第二跟踪结果,然后获取未与所述预测框匹配上的检测框,并将所述检测框与未与所述低分框匹配上的预测框进行匹配,以获取第三跟踪结果。最后将所述第一跟踪结果、第二跟踪结果和第三跟踪结果进行整合,从而得到当前帧中红绿灯跟踪结果。通过上述方法,能够在无人驾驶汽车行驶的过程中,准确并高效的识别出当前帧图像中的红绿灯,进而提高了无人驾驶汽车的安全性。
92.请参阅图3,图3是本发明实施例提供的一种红绿灯跟踪装置的结构框图,如图3所示,所述红绿灯跟踪装置400包括第一获取模块41、第二获取模块42、第三获取模块43、分类模块44、第一匹配模块45、第二匹配模块46、第三匹配模块47和跟踪结果模块48。
93.所述第一获取模块41用于获取当前帧图像。
94.所述第二获取模块42用于将所述当前帧图像输入目标检测算法,以获取当前帧图像中红绿灯的检测框,其中,所述检测框包括所述红绿灯在当前帧图像中的置信度、类别和位置。
95.所述第三获取模块43用于获取前n帧图像中红绿灯映射至当前帧图像的预测框,其中,所述预测框包括红绿灯在当前帧图像中的置信度、类别和位置。
96.所述分类模块44用于根据所述检测框中红绿灯的置信度,将所述检测框划分为高分框和低分框。
97.所述第一匹配模块45用于根据所述当前帧图像中高分框和预测框的类别,将类别相同的高分框和预测框进行匹配,以获取第一跟踪结果。
98.所述第二匹配模块46用于根据所述当前帧图像中低分框和预测框的类别,将类别相同的低分框和未与所述高分框匹配上的预测框进行匹配,以获取第二跟踪结果。
99.所述第三匹配模块47用于获取未与所述预测框匹配上的检测框,并将所述检测框与未与所述低分框匹配上的预测框进行匹配,以获取第三跟踪结果。
100.所述跟踪结果模块48用于将所述第一跟踪结果、第二跟踪结果和第三跟踪结果进行整合,从而得到当前帧中红绿灯跟踪结果。
101.需要说明的是,上述红绿灯跟踪装置可执行本发明实施例所提供的红绿灯跟踪方法,具备执行方法相应的功能模块和有益效果。未在红绿灯跟踪装置实施例中详尽描述的技术细节,可参见本发明实施例所提供的红绿灯跟踪方法。
102.请参阅图4,本发明实施例提供了一种无人驾驶汽车30,所述无人驾驶汽车30包括:至少一个处理器31,图4中以一个处理器31为例;所述至少一个处理器31通信连接的存储器32,图4中以通过总线连接为例。
103.其中,所述存储器存32储有可被所述至少一个处理器31执行的指令,所述指令被所述至少一个处理器31执行,以使所述至少一个处理器31能够执行上述红绿灯跟踪方法。
104.存储器32作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的红绿灯跟踪方法对应的程序指令/模块。处理器31通过运行存储在存储器32中的非易失性软件程序、指令以及模块,从而执行无人驾驶汽车30的各种功能应用以及数据处理,即实现上述方法实施例中红绿灯跟踪方法。
105.存储器32可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,包括至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器32可选包括相对于处理器31远程设置的存储器。
106.所述一个或者多个模块存储在所述存储器32中,当被所述一个或者多个处理器31执行时,执行上述任意方法实施例中的红绿灯跟踪方法,例如,执行以上描述的图1中的方法步骤。
107.上述无人驾驶汽车可执行本发明实施例所提供的方法,具备执行方法相应的功能模块。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
108.本发明实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行以上描述的图1的方法步骤,实现图3中的各模块的功能。
109.本发明实施例提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时时,使所述计算机执行上述方法实施例中的红绿灯跟踪方法。
110.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可
以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
111.通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
112.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1