一种用于车辆的追踪方法、装置、存储介质及电子设备与流程

文档序号:32834523发布日期:2023-01-06 17:32阅读:36来源:国知局
一种用于车辆的追踪方法、装置、存储介质及电子设备与流程

1.本公开涉及车辆控制领域,特别涉及一种用于车辆的追踪方法、装置、存储介质及电子设备。


背景技术:

2.随着现代社会的发展和人们生活水平的提高,交通拥堵问题也变得日益严重。通过对各路口中不同移动方向上的车辆进行计数,例如能够帮助交通管控中心设计更好的交通信号分配方案,从而缓解道路拥堵。但是现有技术中存在追踪算法稳定性较差,例如对于车辆的计数采用基于“撞线”的计数策略,这可能产生的漏计现象。


技术实现要素:

3.有鉴于此,本公开实施例提出了一种用于车辆的追踪方法、装置、存储介质及电子设备,以解决现有技术中存在的追踪算法稳定性差以及在车辆计数时易出现漏记等问题。
4.一方面,本公开实施例提供一种用于车辆的追踪方法,其包括以下步骤:获取第一车辆在指定帧之前的第一预定数量帧的图像中的第一位置;基于所述第一位置,在所述指定帧的图像的车辆集合中确定与所述第一车辆的匹配的第二车辆。
5.在一些实施例中,所述获取第一车辆在指定帧之前的第一预定数量帧的图像中的第一位置,包括以下步骤:确定第一车辆的特征值;基于所述第一车辆的特征值,在指定帧之前的第一预定数量帧的图像中确定所述第一车辆对应的追踪框的中心点坐标。
6.在一些实施例中,所述匹配至少包括所述第一车辆与所述第二车辆具有对应的特征值。
7.在一些实施例中,所述基于所述第一位置,在所述指定帧的图像的车辆集合中确定与所述第一车辆的匹配的第二车辆,包括以下步骤:基于所述第一位置,在所述指定帧的图像中确定第二位置;基于所述第二位置,在所述指定帧的图像的车辆集合中确定与所述第一车辆的匹配的第二车辆。
8.在一些实施例中,所述基于所述第二位置,在所述指定帧的图像的车辆集合中确定与所述第一车辆的匹配的第二车辆,包括以下步骤:确定所述车辆集合中每个待匹配车辆的第三位置与所述第二位置之间的距离;当所述待匹配车辆对应的所述距离小于预定值时,确定所述待匹配车辆为与所述第一车辆匹配的第二车辆。
9.在一些实施例中,当对应的所述距离小于预定值的所述待匹配车辆为多个时,确定所述距离最小的所述待匹配车辆为与所述第一车辆匹配的第二车辆。
10.在一些实施例中,所述基于所述第一位置,在所述指定帧的图像的车辆集合中确定与所述第一车辆的匹配的第二车辆,包括以下步骤:基于所述第一位置,获取对应于所述指定帧之前的预定数量帧的图像中的所述第一车辆的第一输出特征图;获取对应于所述指定帧的图像的车辆集合中每个待匹配车辆的第二输出特征图;基于所述第一输出特征图和所述第二输出特征图之间的相似性,确定与所述第一车辆的匹配的第二车辆。
11.在一些实施例中,还包括以下步骤:在所述指定帧的图像的车辆集合中无法确定与所述第一车辆的匹配的第二车辆的情况下,基于所述指定帧后的第二预定数量帧的图像确定所述第二车辆。
12.在一些实施例中,还包括以下步骤:在所述第二车辆与所述第一车辆匹配的情况下,判断所述第二车辆的移动方向是否与所述第一车辆的移动方向一致;在所述移动方向一致的情况下,建立所述第一车辆的移动轨迹。
13.在一些实施例中,所述判断所述第二车辆的移动方向是否与所述第一车辆的移动方向一致,包括以下步骤:基于所述第一车辆在所述指定帧的前两帧的图像中的所述第一位置,确定第一方向向量基于所述第二车辆在指定帧的图像和指定帧的后一帧的图像中的第四位置,确定第二方向向量;基于所述第一方向向量和所述第二方向向量之间的夹角,判断所述移动方向是否一致。
14.在一些实施例中,当所述第一方向向量和所述第二方向向量之间的夹角的余弦小于等于预定值,确定所述移动方向一致。
15.在一些实施例中,还包括以下步骤:基于所述移动轨迹,确定所述第一车辆的移动方向。
16.在一些实施例中,,基于所述移动轨迹,确定所述第一车辆的移动方向,包括以下步骤:计算所述移动轨迹的轨迹点与预定行驶轨迹的轨迹点之间的相似性;基于所述相似性,确定所述移动方向。
17.在一些实施例中,所述计算所述移动轨迹的轨迹点与预定行驶轨迹的轨迹点之间的相似性,包括以下步骤:基于所述移动轨迹的起始点和结束点,确定第三方向向量;基于所述预定行驶轨迹的起始点和结束点,确定第四方向向量;基于所述移动轨迹的轨迹点集合和所述预定行驶轨迹的轨迹点集合之间的距离以及所述第三方向向量和所述第四方向向量之间的夹角,确定所述相似性。
18.本公开实施例还提供一种用于车辆的追踪装置,其包括以下部分:获取模块,用于获取第一车辆在指定帧之前的第一预定数量帧的图像中的第一位置;匹配模块,用于基于所述第一位置,在所述指定帧的图像的车辆集合中确定与所述第一车辆的匹配的第二车辆。
19.本公开实施例还提供一种存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述任一项所述方法的步骤。
20.本公开实施例还提供一种电子设备,至少包括存储器、处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器在执行所述存储器上的计算机程序时实现上述任一项所述方法的步骤。
21.本公开实施例针对现有跟踪算法出现的追踪目标车辆在监控图像中丢失,或者在短暂丢失又重新找回后,但是车辆却发生变换的问题,根据目标车辆在一定时间内的移动轨迹,对车辆进行匹配,使新出现的车辆能够被校正回原来的车辆,有效提高了追踪算法的稳定性。此外,在对车辆的移动方向进行判别时,通过先建立车辆完整的移动轨迹,然后将其与预定行驶轨迹进行相似性衡量来判断方向,有效改善了原有的基于“撞线”的计数策略可能产生的漏计现象。
附图说明
22.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
23.图1为本公开一实施例的追踪方法的流程示意图;
24.图2为本公开一实施例的追踪方法的流程示意图;
25.图3为本公开一实施例的追踪方法的流程示意图;
26.图4为本公开一实施例的追踪方法的流程示意图;
27.图5为本公开一实施例的追踪方法的流程示意图;
28.图6为本公开一实施例的追踪方法的流程示意图;
29.图7为本公开一实施例的追踪方法的流程示意图;
30.图8为本公开一实施例的追踪方法的轨迹示意图;
31.图9为本公开一实施例的追踪方法的流程示意图。
具体实施方式
32.为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
33.除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
34.为了保持本公开实施例的以下说明清楚且简明,本公开省略了已知功能和已知部件的详细说明。
35.本公开的第一实施例涉及一种用于车辆的追踪方法,适用于通过道路上的监控摄像头对道路上的车辆进行监控追踪的场景,尤其适用于目标车辆在道路的监控图像出现无法准确识别的情况,例如目标车辆在之前连续的监控图像中都能得到识别,然而出于某些原因所述目标车辆在某一帧的监控图像中开始未能够得到识别,这种现象容易发生在例如车辆行驶过快导致车辆被漏检或者车辆短时间内被遮挡等情况下,使得目标车辆在监控图像中发生“丢失”的现象,通过本公开实施例的所述追踪方法能够在未能识别目标车辆的监控图像中识别到目标车辆,防止在车辆计数中出现漏记情况,如图1所示,所述追踪方法包括以下步骤:
36.s101,获取第一车辆在指定帧之前的第一预定数量帧的图像中的第一位置。
37.在道路交通管理的过程中,通过道路上的监控摄像头对道路上的车辆进行拍摄,从而获得监控图像,为了对道路上的目标车辆进行持续的监测,在本步骤中,首先需要对监控图像存在的车辆进行检测和识别,获取第一车辆在指定帧之前的第一预定数量帧的图像中的第一位置,本步骤可以采用目标检测网络的方式实现,这里的所述目标检测网络可以选用如yolov5,fastrcnn等主流检测网络。
38.具体地,在本步骤中,首先需要在之前连续的监控图像中确定需要追踪的目标车辆,也就是所述第一车辆,所述第一车辆在监控图像的指定帧之前均能得到识别,而在所述指定帧开始后未能得到识别,因此,这里的所述指定帧是指所述第一车辆未能在监控图像中得到识别的图像帧。
39.进一步地,由于所述第一车辆在所述指定帧之前的第一预定数量帧的图像中都得到识别,为此,可以基于目标检测网络获取所述第一车辆在指定帧之前的第一预定数量帧的图像中的第一位置,这里的第一预定数量帧可以指 3帧、5帧或者8帧,可以根据实际的需求确定。
40.进一步地,所述获取第一车辆在指定帧之前的第一预定数量帧的图像中的第一位置,如图2所示,包括以下步骤:
41.s201,确定第一车辆的特征值。
42.为了在不同的监控图像中针对相同的目标车辆进行识别,在本步骤中,首先确定所述第一车辆的特征值。具体地,由于在所述指定帧之前的第一预定数量帧的图像中会出现并识别出大量的车辆,为了在不同帧的图像中实现对相同的车辆的追踪和识别,并且考虑到相同的车辆在不同帧的图像中处于不同的位置,因此,为了便于对不同车辆进行追踪和管理,可以通过车辆的特征值将出现在不同图像中的作为目标车辆的第一车辆进行前后关联。这里的所述特征值可以是指车辆的id编码,当然还可以是指表征车辆的其他特征值。
43.s202,基于所述第一车辆的特征值,在指定帧之前的第一预定数量帧的图像中确定所述第一车辆对应的追踪框的中心点坐标。
44.在通过上述步骤s201的确定所述第一车辆的特征值之后,基于所述第一车辆的特征值,在指定帧之前的的第一预定数量帧的图像中确定所述第一车辆对应的追踪框的中心点坐标。具体地,任意的车辆在每个监控图像中被识别后会形成的对应的追踪框以表示其在基于固定监控摄像头拍摄的监控图像中的位置。这里需要说明的是,在本公开实施例中,针对需要追踪的目标车辆建立追踪框能够有助于基于追踪算法对每个车辆进行识别和追踪,这里的追踪算法可以采用例如sort,deep sort等基于卡尔曼滤波来对每个帧图像中的每个车辆的位置进行计算,并且根据iou等计算规则来决定是否对车辆建立所述追踪框以实现追踪。
45.为此,在采用追踪算法基于所述第一车辆的所述特征值将多个连续帧的图像中的所述第一车辆进行前后关联后,可以通过确定所述第一车辆在每帧图像中对应的追踪框的中心点坐标以作为所述第一车辆的位置。
46.s102,基于所述第一位置,在所述指定帧的图像的车辆集合中确定与所述第一车辆的匹配的第二车辆。
47.在通过上述步骤s101获取第一车辆在指定帧之前的第一预定数量帧的图像中的
第一位置之后,在本步骤中,基于所述第一位置,在所述指定帧的图像的车辆集合中确定与所述第一车辆的匹配的第二车辆,这里的所述匹配也就是将在所述指定帧之前的第一预定数量帧的图像中被识别的同一车辆在所述指定帧的图像中进行确认的过程,所述第一车辆以及经过匹配后的所述第二车辆至少具有对应的特征值,例如所述第一车辆与所述第二车辆之间具有相同的id编码值等,也可以理解为所述第一车辆即所述第二车辆。
48.现有技术在对目标车辆进行追踪时,当原有的基于目标车辆的追踪框在监控图像中丢失之后,在之后的监控图像中新建立的追踪框会发生车辆的切换,不利于准确统计某一时间段内车辆的数量。在运用例如deep sort算法时通过加入re-id模型,能够帮助解决一部分问题,但该算法的处理时间会随着图像中车辆数量的增加而上升,不利于实时的处理,也即是,当需要匹配的车辆数量较大时,会花费大量时间提取它们的特征信息,不利于车辆追踪的实时化。
49.本发明实施例提供的追踪算法为此做出改进,即由于在一个路口运行的车辆通常不会发生“逆行”的情况,当某一目标车辆的追踪框丢失之后,通过算法只需要在之后的监控图像中在新建立的追踪框中寻找能够与追踪框丢失的车辆匹配的车辆即可。其中,在以10fps或者更高的帧率拍摄监控图像的情况下,相邻帧的图像之间车辆的运动可以近似认为是匀速行驶。
50.本步骤可以通过多种方式实现,例如在一个实施方式中,所述基于所述第一位置,在所述指定帧的图像的车辆集合中确定与所述第一车辆的匹配的第二车辆,如图3所示,包括以下步骤:
51.s301,基于所述第一位置,在所述指定帧的图像中确定第二位置。
52.在本步骤中,基于所述第一车辆的所述第一位置,在所述指定帧的图像中确定第二位置,这里所述的第二位置就是预计所述第一车辆在所述指定帧的图像中可能出现的位置。在一个实施方式中,对于在所述指定帧的图像中出现“丢失”的且需要追踪的目标车辆,可以通过目标车辆在“丢失”前最后三帧图像中的追踪框的中心点坐标,分别记为(x
t-1
,y
t-1
),(x
t-2
,y
t-2
), (x
t-3
,y
t-3
),近似确定所述目标车辆在所述指定帧的图像中可能出现的位置 (以追踪框的中心点坐标表示),计算公式如下所示:
[0053][0054][0055]
s302,基于所述第二位置,在所述指定帧的图像的车辆集合中确定与所述第一车辆的匹配的第二车辆。
[0056]
在通过上述步骤s301的基于所述第一位置,在所述指定帧的图像中确定第二位置之后,在本步骤中可以基于所述第二位置,在所述指定帧的图像的车辆集合中确定与所述第一车辆匹配的第二车辆。
[0057]
具体地,考虑到相同车辆在连续的监控图像中的位置是基于一定规律的,这种规律基于路线、车辆速度等因素形成,因此,可以基于相同车辆在连续的监控图像中出现位置的连续性,从而基于所述第一车辆在所述指定帧的图像中可能出现的位置,在所述指定帧的图像的车辆集合中确定与所述第二位置最接近的车辆,即为与所述第一车辆匹配的第二
车辆。
[0058]
进一步地,所述基于所述第二位置,在所述指定帧的图像的车辆集合中确定与所述第一车辆的匹配的第二车辆,如图4所示,包括以下步骤:
[0059]
s401,确定所述车辆集合中每个待匹配车辆的第三位置与所述第二位置之间的距离。
[0060]
为了基于所述第一车辆在所述指定帧的图像中可能出现的位置确定与所述第一车辆可能匹配的第二车辆时,可以首先确定所述指定帧的图像中的车辆集合中每个待匹配车辆的第三位置,并计算获取每个所述待匹配车辆的所述第三位置与所述第二位置之间的距离,这里的距离例如可以是欧氏距离表示,并基于这个所述距离确定所述第二车辆。
[0061]
s402,当所述待匹配车辆对应的所述距离小于第一预定值时,确定所述待匹配车辆为与所述第一车辆匹配的第二车辆。
[0062]
在通过上述步骤s401确定每个所述待匹配车辆的所述第三位置与所述第二位置之间的距离之后,在本步骤中,当所述待匹配车辆对应的距离小于第一预定值时,确定所述待匹配车辆为与所述第一车辆匹配的所述第二车辆。
[0063]
具体地,在所述指定帧的图像中新建立的针对车辆的追踪框中,依次计算每个所述追踪框的中心点坐标与上述即所述目标车辆在所述指定帧的图像中可能出现的位置之间的距离,当出现两点的所述距离小于第一预定值时,例如10时,将对应的所述待匹配车辆的特征值与之前追踪的所述第一车辆的特征值进行匹配,则确定对应的所述待匹配车辆为与所述第一车辆匹配的所述第二车辆。
[0064]
进一步地,当出现两点的所述距离小于所述第一预定值的所述待匹配车辆为多个时,确定所述距离最小的对应的所述待匹配车辆为与所述第一车辆匹配的第二车辆。也就是,当所述指定帧的图像中出现多个可能实现匹配的所述追踪框时,选择中心点坐标与最接近的所述追踪框对应的车辆完成匹配。
[0065]
为了实现上述步骤s102,在另一个实施方式中,所述基于所述第一位置,在所述指定帧的图像的车辆集合中确定与所述第一车辆的匹配的第二车辆,其中,作为确定与所述第一车辆的匹配的第二车辆的另一种实施方式,可以通过比较所述第一车辆的特征图和所述第二车辆的特征图之间的相似性来判断匹配是否成立,如图5所示,具体包括以下步骤:
[0066]
s501,基于所述第一位置,获取对应于所述指定帧之前的第一预定数量帧的图像中的所述第一车辆的第一输出特征图。
[0067]
在本步骤中,基于所述第一位置,获取对应于所述指定帧之前的第一预定数量帧的图像中的所述第一车辆的第一输出特征图。由于所述第一车辆在所述指定帧之前的第一预定数量帧的图像中均得到识别,为此。可以基于这些监控图像提取对应于所述第一车辆的第一输出特征图,其中,这里的所述第一输出特征图的提取方法为:对于在给定帧的图像中通过特征值检测网络进行所述第一车辆的检测,通过所述特征值检测网络的骨干网络部分形成输出特征图,具体地,根据检测或者识别到所述第一车辆在监控图像中的相对位置,在监控图像的特征图中提取对应位置并且固定大小的像素矩阵作为所述第一车辆的第一输出特征图,这种方法可以避免利用re-id模型对车辆特征进行二次提取,有效节约了计算时间。
[0068]
s502,分别获取对应于所述指定帧的图像的车辆集合中每个待匹配车辆的第二输
出特征图。
[0069]
在本步骤中,基于上述相同的车辆的特征图提取方法,在所述指定帧的图像中分别获取对应于所述指定帧的图像的车辆集合中每个待匹配车辆的第二输出特征图。
[0070]
s503,基于所述第一输出特征图和所述第二输出特征图之间的相似性,确定与所述第一车辆的匹配的第二车辆。
[0071]
在通过上述步骤s501和s502分别获取所述第一车辆的第一输出特征图和所述指定帧的图像的车辆集合中每个所述待匹配车辆的第二输出特征图后,基于所述第一输出特征图和所述第二输出特征图之间的相似性,也就是基于输出特征图之间的比较,从而确定与所述第一车辆的匹配的第二车辆,这里的所述第一车辆的所述第一输出特征图和所述待匹配车辆的所述第二输出特征图都是采用矩阵方式表示,可以采用任意现有的方式进行两个输出特征图之间的比较,以便于确定与所述第一车辆匹配的所述第二车辆。
[0072]
本公开实施例的追踪方法还包括:
[0073]
在所述指定帧的图像的车辆集合中无法确定与所述第一车辆的匹配的第二车辆的情况下,基于所述指定帧后的第二预定数量帧的图像确定所述第二车辆。
[0074]
具体地,由于所述指定帧是目标车辆在监控图像中开始出现“丢失”的图像帧,当无法从所述指定帧的图像的车辆集合中找到能够与所述第一车辆匹配的第二车辆的情况下,也就意味着,所述第一车辆在所述指定帧的图像中依然处于“丢失”状态,这样可以利用相同的方法在所述指定帧的后一帧、后两帧等继续进行车辆匹配,也就是,基于所述指定帧后的第二预定数量帧的图像确定所述第二车辆。这里的所述第二预定数量帧可以是5帧,10帧等,例如当所述第二预定数量帧为5帧时,则如果在所述指定帧的图像的车辆集合中未能匹配成功,则继续在所述指定帧的后一帧的图像的车辆集合中进行再次匹配,直到在所述指定帧的后5帧的图像的车辆集合中内匹配成功为止。
[0075]
当然,如果在所述指定帧以及所述指定帧之后的第二预定数量帧的图像的车辆集合中都没有与所述第一车辆实现匹配的情况下,认为所述第一车辆已经从监控图像中消失,不再对其进行匹配。
[0076]
本公开实施例针对现有跟踪算法出现的追踪目标车辆在监控图像中丢失,或者在短暂丢失又重新找回后,但是车辆却发生变换的问题,根据目标车辆在一定时间内的移动位置变化或者特征图等方式对丢失的车辆进行匹配,使新出现的车辆能够被校正回原来的车辆,有效提高了追踪算法的稳定性。
[0077]
本公开的第二实施例提供一种用于车辆的追踪方法,本实施例是在上述第一实施例的基础上,除了能够在未能识别目标车辆的监控图像中匹配到目标车辆外,还能继续实现预测目标车辆的行驶轨迹,为此,所述追踪方法还包括以下步骤:
[0078]
在所述第二车辆与所述第一车辆匹配的情况下,判断所述第二车辆的移动方向是否与所述第一车辆的移动方向一致,在所述移动方向一致的情况下,建立所述第一车辆的移动轨迹。
[0079]
在通过上述步骤s102基于所述第一位置,在所述指定帧或者所述指定帧后的第二预定数量帧的图像的车辆集合中确定与所述第一车辆的匹配的第二车辆之后,还可以进一步地判断所述第二车辆或者所述第一车辆的移动方向是否一致,以确认本次匹配成功,并在所述移动方向一致的情况下,建立所述第一车辆的移动轨迹。
[0080]
具体地,当所述第一车辆在所述指定帧的监控图像中“丢失”后,并在重新得到匹配和识别后,通过获取所述第一车辆在得到识别的监控图像中的位置集合,例如所述第一车辆在所述指定帧之前的图像中的追踪框的中心点坐标集合,以及所述指定帧后并且实现匹配后的每帧图像中的所述第二车辆的位置集合后,将位置集合中的坐标基于时间进行串联则可以得到所述第一车辆在监控区域内的完整的移动轨迹。
[0081]
其中,当实现匹配的所述第二车辆与所述第一车辆例如通过特征值实现匹配之后,需要基于匹配前后的各自连续两帧的图像判断所述第一车辆和所述第二车辆的移动方向是否保持一致,其中,所述判断所述第二车辆的移动方向是否与所述第一车辆的移动方向一致,如图6所示,包括以下步骤:
[0082]
s601,基于所述第一车辆在所述指定帧的前两帧的图像中的所述第一位置,确定第一方向向量。
[0083]
s602,基于所述第二车辆在所述指定帧后得到匹配的图像和后一帧的图像中的第四位置,确定第二方向向量。
[0084]
s603,基于所述第一方向向量和所述第二方向向量之间的角度,判断所述移动方向是否一致,其中,当所述第一方向向量和所述第二方向向量之间的夹角的余弦小于等于第二预定值,确定所述移动方向一致。
[0085]
在上述步骤中,基于所述第一车辆在得到识别的所述指定帧之前的图像中的方向向量以及所述第二车辆在实现匹配的所在帧以及之后的图像中的方向向量,确定这两个方向向量之间的差别,并基于这种差别确定移动方向的一致性。在一个实施方式中,假设所述第一车辆和所述第二车辆在t+n时刻 (也就是所述指定帧后实现匹配的所在时刻)匹配成功,则确定所述第二车辆在匹配后连续两帧的图像中的追踪框的中心点坐标为(x
t+n
,y
t+n
), (x
t+n+1
,y
t+n+1
),计算这两点组成的第二方向向量与所述第一车辆在所述指定帧的前两帧的图像中,也就是“丢失”前的两帧的图像中的追踪框的中心点坐标组成的第一方向向量之间的夹角余弦,当这两个方向向量之间的夹角余弦小于第二预定值,例如30度时,认为所述第一车辆和所述第二车辆之间的移动方向一致,确认本次匹配过程,如果大于第二预定之,则认为所述第一车辆和所述第二车辆之间的移动方向相差过大,则取消本次匹配。
[0086]
本公开的第三实施例提供一种用于车辆的追踪方法,本实施例是在上述第二实施例的基础上,除了能够在未能识别目标车辆的监控图像中识别到目标车辆外,预测目标车辆的行驶轨迹,还能基于行驶轨迹判断目标车辆的行驶方向,为此,所述追踪方法还包括以下步骤:
[0087]
基于所述移动轨迹,确定所述第一车辆的移动方向。
[0088]
在通过上述步骤建立所述第一车辆的所述移动轨迹之后,在本步骤中,可以基于所述移动轨迹,确定所述第一车辆的移动方向,以便于能够准确预计所述第一车辆的行驶方向或者行驶目的,从而实现对车辆行驶方向进行预测。
[0089]
其中,所述基于所述移动轨迹,确定所述第一车辆的移动方向,如图7 所示,包括以下步骤:
[0090]
s701,确定所述移动轨迹的轨迹点与预定行驶轨迹的轨迹点之间的相似性。
[0091]
由于道路上的路线有多种选择,在确定所述第一车辆的移动轨迹后,需要将所述移动轨迹与所述道路上的多个不同路线的轨迹进行比较,以判断并确定所述第一车辆的具
体行驶的路线,从而确定所述第一车辆的移动方向。
[0092]
由于一般车辆在每个方向上总是沿固定路线行驶,在本步骤中,首先可以根据道路的实际路线标定出不同的预定方向上车辆的可能行驶轨迹也就是预定行驶轨迹,如下图8所示,则针对每个路线的预定行驶轨迹的轨迹点的集合记为s1,所述第一车辆的实际的移动轨迹点集合记为s2,在本步骤,计算并确定所述移动轨迹的轨迹点与预定行驶轨迹的轨迹点之间的相似性。
[0093]
所述确定所述移动轨迹的轨迹点与预定行驶轨迹的轨迹点之间的相似性,如图9所示,包括以下步骤:
[0094]
s801,基于所述移动轨迹的起始点和结束点,确定第三方向向量。
[0095]
s802,基于所述预定行驶轨迹的起始点和结束点,确定第四方向向量。
[0096]
在上述步骤中,分别基于所述移动轨迹的起始点和结束点,以及基于所述预定行驶轨迹的起始点和结束点,分别确定第三方向向量和第四方向向量。其中,所述预定行驶轨迹的数量可以是多个。
[0097]
s803,基于所述移动轨迹的轨迹点集合和所述预定行驶轨迹的轨迹点集合之间的距离以及所述第三方向向量和所述第四方向向量之间的夹角,确定所述相似性。
[0098]
在本步骤中,具体地,由于集合s1为每个路线的预定行驶轨迹的轨迹点的集合,集合s2为所述第一车辆的移动轨迹点的集合,可以通过算法计算 s1和s2这两个集合之间的hausdorff距离以及基于步骤s801和s802确定的所述第三方向向量和所述第四方向向量之间的夹角,来对所述移动轨迹的轨迹点与预定行驶轨迹的轨迹点之间的相似性进行计算和判断。
[0099]
s702,基于所述相似性,确定所述移动方向。
[0100]
在通过上述步骤s701确定所述移动轨迹的轨迹点与预定行驶轨迹的轨迹点之间的相似性后,基于所述相似性,确定所述移动方向。具体地,例如可以设定以下规则:基于所述移动轨迹的轨迹点集合和所述预定行驶轨迹的轨迹点集合之间的距离小于第三预定值,同时所述第一方向向量和所述第二方向向量之间的夹角小于第四预定值时,将车辆的行驶方向确定为所述移动方向。
[0101]
本公开实施例针对现有跟踪算法出现的追踪目标车辆在监控图像中丢失,或者在短暂丢失又重新找回后,但是车辆却发生变换的问题,根据目标车辆在一定时间内的移动轨迹,对车辆进行匹配,使新出现的车辆能够被校正回原来的车辆,有效提高了追踪算法的稳定性。此外,在对车辆的移动方向进行判别时,通过先建立车辆完整的移动轨迹,然后将其与预定行驶轨迹进行相似性衡量来判断方向,有效改善了原有的基于“撞线”的计数策略可能产生的漏计现象。
[0102]
本公开的第四实施例涉及一种用于车辆的追踪装置,适用于通过道路上的监控摄像头对道路上的车辆进行监控追踪的场景,尤其适用于目标车辆在道路的监控图像出现无法准确识别的情况,例如目标车辆在之前连续的监控图像中都能得到识别,然而出于某些原因所述目标车辆在某一帧的监控图像中开始未能够得到识别,这种现象容易发生在例如车辆行驶过快导致车辆被漏检或者车辆短时间内被遮挡等情况下,使得目标车辆在监控图像中发生“丢失”的现象,通过本公开实施例的所述追踪方法能够在未能识别目标车辆的监控图像中识别到目标车辆,所述追踪装置包括获取模块和匹配模块,所述获取模块和所述
匹配模块相互耦合,其中:
[0103]
所述获取模块,用于获取第一车辆在指定帧之前的第一预定数量帧的图像中的第一位置。
[0104]
所述获取模块包括特征值确定单元以及坐标确定单元,其中:
[0105]
所述特征值确定单元,用于确定第一车辆的特征值。
[0106]
所述坐标确定的单元,用于基于所述第一车辆的特征值,在指定帧之前的第一预定数量帧的图像中确定所述第一车辆对应的追踪框的中心点坐标。
[0107]
所述匹配模块,用于基于所述第一位置,在所述指定帧的图像的车辆集合中确定与所述第一车辆的匹配的第二车辆。
[0108]
在一个实施方式中,所述匹配模块包括第一确定单元和第二确定单元,其中,
[0109]
所述第一确定单元,用于基于所述第一位置,在所述指定帧的图像中确定第二位置。
[0110]
所述第二确定单元,用于基于所述第二位置,在所述指定帧的图像的车辆集合中确定与所述第一车辆的匹配的第二车辆。
[0111]
进一步地,所述第二确定单元包括第一确定子单元和第二确定子单元,其中:
[0112]
第一确定子单元,用于确定所述车辆集合中每个待匹配车辆的第三位置与所述第二位置之间的距离。
[0113]
第二确定子单元,用于当所述待匹配车辆对应的所述距离小于第一预定值时,确定所述待匹配车辆为与所述第一车辆匹配的第二车辆。
[0114]
在另一个实施方式中,所述匹配模块包括第一获取单元、第二获取单元以及第三确定单元,其中:
[0115]
第一获取单元,用于基于所述第一位置,获取对应于所述指定帧之前的第一预定数量帧的图像中的所述第一车辆的第一输出特征图。
[0116]
第二获取单元,用于分别获取对应于所述指定帧的图像的车辆集合中每个待匹配车辆的第二输出特征图。
[0117]
第三确定单单元,基于所述第一输出特征图和所述第二输出特征图之间的相似性,确定与所述第一车辆的匹配的第二车辆。
[0118]
此外,本公开实施例的追踪装置中的匹配模块还用于在所述指定帧的图像的车辆集合中无法确定与所述第一车辆的匹配的第二车辆的情况下,基于所述指定帧后的第二预定数量帧的图像确定所述第二车辆。
[0119]
本公开实施例针对现有跟踪算法出现的追踪目标车辆在监控图像中丢失,或者在短暂丢失又重新找回后,但是车辆却发生变换的问题,根据目标车辆在一定时间内的移动位置变化或者特征图等方式对丢失的车辆进行匹配,使新出现的车辆能够被校正回原来的车辆,有效提高了追踪算法的稳定性。
[0120]
本公开的第五实施例提供一种用于车辆的追踪装置,本实施例是在上述第四实施例的基础上,除了能够在未能识别目标车辆的监控图像中匹配到目标车辆外,还能继续实现预测目标车辆的行驶轨迹,为此,所述追踪装置还包括建立模块,其用于在所述第二车辆与所述第一车辆匹配的情况下,判断所述第二车辆的移动方向是否与所述第一车辆的移动方向一致,在所述移动方向一致的情况下,建立所述第一车辆的移动轨迹。
[0121]
所述建立模块包括第一方向向量确定单元、第二方向向量确定单元以及移动方向确定单元,其中:
[0122]
第一方向向量确定单元,用于基于所述第一车辆在所述指定帧的前两帧的图像中的所述第一位置,确定第一方向向量。
[0123]
第二方向向量确定单元,用于基于所述第二车辆在所述指定帧后得到匹配的图像和后一帧的图像中的第四位置,确定第二方向向量。
[0124]
方向确定单元,用于基于所述第一方向向量和所述第二方向向量之间的角度,判断所述移动方向是否一致,其中,当所述第一方向向量和所述第二方向向量之间的夹角的余弦小于等于第二预定值,确定所述移动方向一致。
[0125]
本公开的第六实施例提供一种用于车辆的追踪装置,本实施例是在上述第五实施例的基础上,除了能够在未能识别目标车辆的监控图像中识别到目标车辆外,预测目标车辆的行驶轨迹,还能基于行驶轨迹判断目标车辆的行驶方向,为此,所述追踪装置还包括移动方向确定模块,用于基于所述移动轨迹,确定所述第一车辆的移动方向。
[0126]
其中,所述移动方向确定模块包括相似性确定单元以及移动方向确定单元,其中:
[0127]
相似性确定单元,用于确定所述移动轨迹的轨迹点与预定行驶轨迹的轨迹点之间的相似性。
[0128]
所述相似性确定单元包括:
[0129]
第三方向向量确定子单元,用于基于所述移动轨迹的起始点和结束点,确定第三方向向量。
[0130]
第四方向向量确定子单元,用于基于所述预定行驶轨迹的起始点和结束点,确定第四方向向量。
[0131]
相似性确定子单元,用于基于所述移动轨迹的轨迹点集合和所述预定行驶轨迹的轨迹点集合之间的距离以及所述第三方向向量和所述第四方向向量之间的夹角,确定所述相似性。
[0132]
移动方向确定单元,用于基于所述相似性,确定所述移动方向。
[0133]
本公开实施例针对现有跟踪算法出现的追踪目标车辆在监控图像中丢失,或者在短暂丢失又重新找回后,但是车辆却发生变换的问题,根据目标车辆在一定时间内的移动轨迹,对车辆进行匹配,使新出现的车辆能够被校正回原来的车辆,有效提高了追踪算法的稳定性。此外,在对车辆的移动方向进行判别时,通过先建立车辆完整的移动轨迹,然后将其与预定行驶轨迹进行相似性衡量来判断方向,有效改善了原有的基于“撞线”的计数策略可能产生的漏计现象。
[0134]
本公开的第七实施例提供了一种存储介质,该存储介质为计算机可读介质,存储有计算机程序,该计算机程序被处理器执行时实现本公开第一实施例和第三实施例提供的方法,包括如下步骤s11至s12:
[0135]
s11,获取第一车辆在指定帧之前的第一预定数量帧的图像中的第一位置;
[0136]
s12,基于所述第一位置,在所述指定帧的图像的车辆集合中确定与所述第一车辆的匹配的第二车辆。
[0137]
进一步地,该计算机程序被处理器执行时实现本公开第一实施例至第三实施例提供的其他方法
[0138]
本公开实施例针对现有跟踪算法出现的追踪目标车辆在监控图像中丢失,或者在短暂丢失又重新找回后,但是车辆却发生变换的问题,根据目标车辆在一定时间内的移动轨迹,对车辆进行匹配,使新出现的车辆能够被校正回原来的车辆,有效提高了追踪算法的稳定性。此外,在对车辆的移动方向进行判别时,通过先建立车辆完整的移动轨迹,然后将其与预定行驶轨迹进行相似性衡量来判断方向,有效改善了原有的基于“撞线”的计数策略可能产生的漏计现象。
[0139]
本公开的第八实施例提供了一种电子设备,该电子设备至少包括存储器和处理器,存储器上存储有计算机程序,处理器在执行存储器上的计算机程序时实现本公开任意实施例提供的方法。示例性的,电子设备计算机程序步骤如下s21至s22:
[0140]
s21,获取第一车辆在指定帧之前的第一预定数量帧的图像中的第一位置;
[0141]
s22,基于所述第一位置,在所述指定帧的图像的车辆集合中确定与所述第一车辆的匹配的第二车辆。
[0142]
进一步地,处理器还执行上述第一实施例至第三实施例中的计算机程序
[0143]
本公开实施例针对现有跟踪算法出现的追踪目标车辆在监控图像中丢失,或者在短暂丢失又重新找回后,但是车辆却发生变换的问题,根据目标车辆在一定时间内的移动轨迹,对车辆进行匹配,使新出现的车辆能够被校正回原来的车辆,有效提高了追踪算法的稳定性。此外,在对车辆的移动方向进行判别时,通过先建立车辆完整的移动轨迹,然后将其与预定行驶轨迹进行相似性衡量来判断方向,有效改善了原有的基于“撞线”的计数策略可能产生的漏计现象。
[0144]
上述存储介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0145]
上述存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取至少两个网际协议地址;向节点评价设备发送包括至少两个网际协议地址的节点评价请求,其中,节点评价设备从至少两个网际协议地址中,选取网际协议地址并返回;接收节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
[0146]
或者,上述存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
[0147]
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在乘客计算机上执行、部分地在乘客计算机上执行、作为一个独立的软件包执行、部分在乘客计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到乘客计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0148]
需要说明的是,本公开上述的存储介质可以是计算机可读信号介质或者计算机可
读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何存储介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
[0149]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0150]
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
[0151]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
[0152]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0153]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术
方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
[0154]
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
[0155]
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
[0156]
以上对本公开多个实施例进行了详细说明,但本公开不限于这些具体的实施例,本领域技术人员在本公开构思的基础上,能够做出多种变型和修改实施例,这些变型和修改都应落入本公开所要求保护的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1