对象跟踪方法、装置电子设备及存储介质与流程

文档序号:28631810发布日期:2022-01-26 15:27阅读:74来源:国知局
对象跟踪方法、装置电子设备及存储介质与流程

1.本公开涉及计算机技术领域,具体而言,涉及一种对象跟踪方法、装置电子设备及存储介质。


背景技术:

2.对象跟踪是一种根据多帧图像确定图像中对象的运动轨迹、运动状态的技术,可以应用于智能行驶装置(如自动驾驶车辆、装有辅助驾驶系统的车辆、机器人等)的自动驾驶场景。随着技术水平的提高,智能行驶装置得到广泛应用,而高精度的对象跟踪是车辆智能化、自动化的重要部分,是智能行驶装置感知、控制、路径规划等模块的基础。通常,智能行驶装置可以装载有激光雷达等图像采集装置对其周围的对象进行定位,并对识别到的对象进行位置跟踪,将时序上连续的检测结果进行关联,利用对象跟踪结果确定对象的运动轨迹,对检测到的对象进行运动状态估计,进而控制智能行驶装置的行驶计划。
3.然而,在如密集人群等特殊场景下,检测到的对象之间存在复杂的遮挡关系,在进行对象跟踪时容易将不同帧内检测到的对象错误关联,导致对象跟踪的结果错误,使行驶存在一定风险。


技术实现要素:

4.本公开实施例至少提供一种对象跟踪方法、装置电子设备及存储介质。
5.第一方面,本公开实施例提供了一种对象跟踪方法,包括:
6.获取在当前帧图像中检测到的当前对象的位置信息,以及在当前帧图像之前的历史帧图像中检测到的历史对象的位置信息;其中,所述历史帧图像与所述当前帧图像的采集的时间间隔小于或等于预设阈值;
7.基于所述历史对象的位置信息,生成所述历史对象在当前帧图像中的预测位置信息;
8.基于所述当前对象的位置信息确定所述当前对象中至少一个第一对象的邻居拓扑图,以及基于所述历史对象的预测位置信息确定所述历史对象中至少一个第二对象的邻居拓扑图;其中,所述邻居拓扑图包含表示对应的对象的位置特征的第一节点、表示对应的对象的邻居对象的位置特征的第二节点以及第一节点与第二节点之间的连接边;
9.基于所述第一对象的邻居拓扑图与所述第二对象的邻居拓扑图,更新对象跟踪结果。
10.该方面,利用当前对象及历史对象的位置信息确定第一对象及第二对象的邻居拓扑图,实现了利用第一对象的邻居拓扑图及第二对象的邻居拓扑图进行对象跟踪,提高对象跟踪精确度。
11.在一种可能的实施方式中,所述基于所述历史对象的位置信息,生成所述历史对象在当前帧图像中的预测位置信息,包括:
12.基于图像采集装置采集当前帧图像时的位置信息,以及所述图像采集装置采集历
史帧图像时的位置信息,确定所述图像采集装置从采集所述历史帧图像到采集所述当前帧图像的时间产生的位置偏移向量;
13.基于所述位置偏移向量,对所述历史对象的位置进行偏移,得到所述历史对象在当前帧图像中的预测位置信息。
14.该实施方式,通过利用图像采集装置的位置偏移向量对历史对象的位置进行偏移,得到历史对象在当前帧图像中的预测位置信息,提高了历史对象与当前对象的跟踪精度。
15.在一种可能的实施方式中,基于所述当前对象的位置信息,确定所述当前对象中一个第一对象的邻居拓扑图,包括:
16.基于所述当前对象的位置信息,确定所述第一对象的邻居对象;
17.基于所述当前对象的位置信息,确定所述当前对象中各个对象的位置特征;
18.基于所述第一对象的位置特征,生成所述第一对象的第一节点;
19.基于所述第一对象的邻居对象的位置特征,生成所述第一对象的邻居对象的第二节点;
20.生成连接所述第一节点与所述第二节点的连接边,得到所述第一对象的邻居拓扑图。
21.该实施方式,使得邻居拓扑图能够体现当前对象及其邻居对象的位置特征,实现了利用当前对象及邻居对象的位置特征确定对象跟踪结果,提高了对象跟踪的精度。
22.在一种可能的实施方式中,所述基于所述第一对象的邻居拓扑图与所述第二对象的邻居拓扑图,更新所述对象跟踪结果,包括:
23.针对各个第一对象,确定所述第一对象的邻居拓扑图与各个所述第二对象的邻居拓扑图之间的相似度;
24.基于确定的相似度更新所述对象跟踪结果。
25.该实施方式,通过确定邻居拓扑图的相似度确定对象跟踪结果,通过图与图之间的相似性来替代对象之间的相似性,使得到的跟踪结果更加精确。
26.在一种可能的实施方式中,确定第一对象的邻居拓扑图与第二对象的邻居拓扑图之间的相似度,包括:
27.在所述第一对象与所述第二对象之间的欧式距离小于或等于预设阈值的情况下,基于所述第一对象的邻居拓扑图,以及所述第二对象的邻居拓扑图,确定所述当第一对象的节点与所述第二对象的节点的第一相似度;
28.基于所述第一对象的邻居拓扑图,以及所述第二对象的邻居拓扑图,确定所述第一对象的邻居对象的节点与所述第二对象的邻居对象的节点的第二相似度;
29.基于所述第一相似度及所述第二相似度,确定所述第一对象的邻居拓扑图与所述第二对象的邻居拓扑图之间的相似度。
30.该实施方式,通过确定第一对象的节点与第二对象的节点之间的第一相似度,以及第一对象的邻居对象的节点与第二对象的的邻居对象的节点的第二相似度,使基于第一相似度及第二相似度确定的邻居拓扑图之间的相似度更加可靠,进而提高对象跟踪的精度。
31.在一种可能的实施方式中,确定第一对象的邻居拓扑图与第二对象的邻居拓扑图
之间的相似度,包括:
32.在所述第一对象与所述第二对象之间的欧式距离大于预设阈值的情况下,确定所述第一对象的邻居拓扑图与所述第二对象的邻居拓扑图之间的相似度为0。
33.该实施方式,将欧氏距离大于预设阈值的第一对象和第二对象的邻居拓扑图之间的相似度设置为0,降低了计算相似度所需的计算量,提高对象跟踪的效率。
34.在一种可能的实施方式中,所述基于所述第一对象的邻居拓扑图,以及所述第二对象的邻居拓扑图,确定所述第一对象的节点与所述第二对象的节点的第一相似度,包括:
35.基于所述第一对象的位置特征对应的特征向量与所述第二对象的位置特征对应的特征向量之间的差值,确定所述第一相似度。
36.该实施方式,通过计算位置特征对应的特征向量之间的差值确定第一相似度,使得第一相似度能够反映当前对象的节点与历史对象的节点之间的差异,提高第一相似度的准确度。
37.在一种可能的实施方式中,所述基于所述第一对象的邻居拓扑图,以及所述第二对象的邻居拓扑图,确定所述第一对象的邻居对象的节点与所述第二对象的邻居对象的节点的第二相似度,包括:
38.针对一个第一邻居对象,基于所述第一对象的邻居拓扑图,以及所述第二对象的邻居拓扑图,确定所述第一邻居对象与所述第二对象的各个邻居对象之间的第三相似度;所述第一邻居对象为所述第一对象的邻居对象中的任一个;
39.基于确定的第三相似度,从所述第二对象的各个邻居对象中筛选与所述第一邻居对象相匹配的目标邻居对象;
40.基于每个第一邻居对象以及与其相匹配的目标邻居对象之间的第三相似度,确定所述第一对象的邻居对象的节点与所述第二对象的邻居对象的节点的第二相似度。
41.该实施方式,通过确定的第三相似度确定第二对象的邻居对象中与第一邻居对象匹配的目标邻居对象,再根据每个第一邻居对象以及与其匹配的目标邻居对象之间的第三相似度确定第二相似度,进而提高第二相似度的精度。
42.在一种可能的实施方式中,所述基于确定的所述相似度,更新所述对象跟踪结果,包括:
43.针对一个第一对象,基于确定的所述相似度,确定该第一对象与各个所述第二对象的匹配结果;
44.在所述第一对象匹配到第二对象的情况下,利用该第一对象的位置信息更新匹配到的第二对象对应的对象跟踪结果。
45.该实施方式,根据相似度进行第一对象与第二对象的匹配,在第一对象匹配到第二对象的情况下利用第一对象的位置信息更新匹配到的第二对象对应的对象跟踪结果,实现根据对象之间相似度的对象跟踪。
46.在一种可能的实施方式中,所述方法还包括:
47.在该第一对象未匹配到第二对象的情况下,利用该第一对象的位置信息建立与该第一对象的对应的对象跟踪结果。
48.该实施方式,通过建立第一对象的对象跟踪结果,实现了对新检测到的对象的跟踪。
49.在一种可能的实施方式中,所述方法还包括:
50.响应于存在一个未匹配到第一对象的第二对象,基于最后检测到该第二对象的时间及当前时间,确定保留或清除该第二对象的对象跟踪结果。
51.该实施方式,通过最后检测到该第二对象的时间及当前时间,判断是否保留或清除第二对象的对象跟踪结果,节约了计算资源。
52.在一种可能的实施方式中,所述方法还包括:
53.基于更新后的所述对象跟踪结果,控制装载有采集所述当前帧图像以及所述历史帧图像的图像采集装置的智能行驶装置。
54.该实施方式,通过上述确定的对象跟踪结果控制装载有上述图像采集装置的智能行驶装置,能够提高行驶计划的安全性。
55.第二方面,本公开实施例还提供一种对象跟踪装置,包括:
56.获取模块,用于获取在当前帧图像中检测到的当前对象的位置信息,以及在当前帧图像之前的历史帧图像中检测到的历史对象的位置信息;其中,所述历史帧图像与所述当前帧图像的采集的时间间隔小于或等于预设阈值;
57.生成模块,用于基于所述历史对象的位置信息,生成所述历史对象在当前帧图像中的预测位置信息;
58.确定模块,用于基于所述当前对象的位置信息确定所述当前对象中至少一个第一对象的邻居拓扑图,以及基于所述历史对象的预测位置信息确定所述历史对象中至少一个第二对象的邻居拓扑图;其中,所述邻居拓扑图包含表示对应的对象的位置特征的第一节点、表示对应的对象的邻居对象的位置特征的第二节点以及第一节点与第二节点之间的连接边;
59.更新模块,用于基于所述第一对象的邻居拓扑图与所述第二对象的邻居拓扑图,更新对象跟踪结果。
60.第三方面,本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
61.第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
62.关于上述对象跟踪装置、电子设备、及计算机可读存储介质的效果描述参见对象跟踪方法的说明,这里不再赘述。
63.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
64.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图
仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
65.图1示出了本公开实施例所提供的一种对象跟踪方法的流程图;
66.图2示出了本公开实施例所提供的生成邻居拓扑图的流程图;
67.图3示出了本公开实施例所提供的一种对象跟踪装置的示意图;
68.图4示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
69.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
70.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
71.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
72.针对现有技术中,密集场景下对象跟踪精确度低的缺陷,本公开实施例提供了一种对象跟踪方法、装置、电子设备及计算机可读存储介质,本公开实施例首先获取在当前帧图像中检测到的当前对象的位置信息,以及在当前帧图像之前的历史帧图像中检测到的历史对象的位置信息;其中,所述历史帧图像与所述当前帧图像的采集的时间间隔小于或等于预设阈值,之后,基于所述历史对象的位置信息,生成所述历史对象在当前帧图像中的预测位置信息,然后,基于所述当前对象的位置信息确定所述当前对象中至少一个第一对象的邻居拓扑图,以及基于所述历史对象的预测位置信息确定所述历史对象中至少一个第二对象的邻居拓扑图;其中,所述邻居拓扑图包含表示对应的对象的位置特征的第一节点、表示对应的对象的邻居对象的位置特征的第二节点以及第一节点与第二节点之间的连接边,最后,基于所述第一对象的邻居拓扑图与所述第二对象的邻居拓扑图,更新对象跟踪结果。本公开利用当前对象及历史对象的位置信息确定第一对象及第二对象的邻居拓扑图,实现了利用第一对象的邻居拓扑图及第二对象的邻居拓扑图进行对象跟踪,提高对象跟踪精确度。
73.下面通过具体的实施例,对本公开公开的对象跟踪方法、装置、电子设备及计算机可读存储介质进行说明。
74.如图1所示,本公开实施例公开了一种对象跟踪方法,该方法可以应用于具有计算能力的电子设备上,例如服务器等。具体地,该对象跟踪方法可以包括如下步骤:
75.s110、获取在当前帧图像中检测到的当前对象的位置信息,以及在当前帧图像之
前的历史帧图像中检测到的历史对象的位置信息;其中,所述历史帧图像与所述当前帧图像的采集的时间间隔小于或等于预设阈值。
76.上述当前帧图像可以为图像采集装置采集得到的,图像采集装置可以为单目摄像机、多目摄像机、激光雷达、声波雷达等装置,采集到的图像可以为点云数据、深度图像、普通图像等。上述图像采集装置可以部署在智能行驶装置上,智能行驶装置可以为自动驾驶车辆、装有辅助驾驶系统的车辆或者机器人等,本实施例的图像采集装置以激光雷达为例,激光雷达能够获取到周围物体的点云数据,并根据点云数据确定检测到的各个对象的位置信息,除了对象在预设坐标系下的坐标外,位置信息还可以包括对象的姿态信息,如对象的长、宽、高,以及对象的偏转角等。
77.上述当前帧图像与历史帧图像可以是连续的两帧图像,也即,历史帧图像为当前帧图像的前一帧图像,上述当前对象为当前帧点云数据的检测结果中出现的对象,上述历史对象则为历史帧点云数据的检测结果中出现的对象。历史帧图像与当前帧图像也可以是非连续的两帧图像,二者采集的时间间隔小于或等于预设阈值,以保证两帧图像能够用于对象跟踪。
78.在激光雷达的检测结果中,可以出现至少一个对象,当前帧图像和历史帧图像中可能同时检测到同一个对象,比如,在历史帧图像中检测到60个对象,在当前帧图像中检测到了70个对象,其中,可能存在40个对象同时在历史帧图像和当前帧图像中被检测到,历史帧图像中有20个对象没有在当前帧图像中被检测到,当前帧图像中有30个对象没有在历史帧图像中检测到,对于在历史帧图像和当前帧图像中同时被检测到的对象,即可根据其在历史帧图像和当前帧图像的位置信息确定其运动路径,对该对象进行跟踪。
79.为实现对象跟踪,需要先确定历史帧与当前帧中各个对象之间是否能够匹配,即是否为同一对象。
80.s120、基于所述历史对象的位置信息,生成所述历史对象在当前帧图像中的预测位置信息。
81.上述历史对象的位置信息是基于采集历史帧图像时的图像采集装置所在的位置测量的,并不能表示历史对象在当前帧图像中的位置信息,因此,可以利用历史对象的位置信息对历史对象在当前帧图像中的位置信息进行预测,得到预测位置信息。
82.上述预测位置信息为历史对象在当前帧图像中的预测结果,可以利用历史对象在历史帧图像中的运动状态信息,和/或图像采集装置的运动状态信息确定。
83.示例性的,可以通过以下步骤生成上述历史对象在当前帧图像中的预测位置信息:
84.基于图像采集装置采集当前帧图像时的位置信息,以及所述图像采集装置采集历史帧图像时的位置信息,确定所述图像采集装置从采集所述历史帧图像到采集所述当前帧图像的时间产生的位置偏移向量;
85.基于所述位置偏移向量,对所述历史对象的位置进行偏移,得到所述历史对象在当前帧图像中的预测位置信息。
86.通常,激光雷达检测结果采用的坐标系是以自身为原点的,由于智能行驶装置通常处于运动状态中,因此,智能行驶装置上的图像采集装置也处于运动状态中,这导致历史帧图像的检测结果与当前帧图像的检测结果的坐标系并不一致。但是可以通过图像采集装
置采集当前帧图像时的位置信息,以及在采集历史帧图像时的位置信息,确定位置偏移向量,从而确定两帧的过程中坐标系原点的偏移量,利用位置偏移向量将历史对象的位置进行偏移,得到历史对象在当前帧图像中的预测位置信息。
87.这样,通过利用目标车辆的位置偏移向量对历史对象的位置信息进行偏移,得到历史对象在当前帧图像中的预测位置信息,提高了历史对象与当前对象的跟踪精度。
88.s130、基于所述当前对象的位置信息确定所述当前对象中至少一个第一对象的邻居拓扑图,以及基于所述历史对象的预测位置信息确定所述历史对象中至少一个第二对象的邻居拓扑图;其中,所述邻居拓扑图包含表示对应的对象的位置特征的第一节点、表示对应的对象的邻居对象的位置特征的第二节点以及第一节点与第二节点之间的连接边。
89.上述当前对象可以为当前帧图像中检测到的对象,其数量可以为多个,可以基于各个当前对象的位置信息,确定当前对象中至少一个第一对象的邻居拓扑图。其中,第一对象可以为当前对象中的任一对象。
90.上述邻居拓扑图可以由节点与连接边组成,当前对象中每个对象都可以有其对应的邻居拓扑图,其中,邻居拓扑图中存在第一节点,用于表示第一对象或第二对象的位置特征,该第一节点对应的多个第二节点,用于表示该第一节点对应的邻居节点的位置特征,节点的邻居节点即为该节点对应的对象的邻居对象,这里,位置特征可以根据节点对应的位置信息确定。
91.一种可能的实施方式中,可以利用以下步骤确定当前对象中一个第一对象的邻居拓扑图:
92.基于所述当前对象的位置信息,确定所述第一对象的邻居对象;基于所述当前对象的位置信息,确定所述当前对象中各个对象的位置特征;基于所述第一对象的位置特征,生成所述第一对象的第一节点;基于所述第一对象的邻居对象的位置特征,生成所述第一对象的邻居对象的第二节点;生成连接所述第一节点与所述第二节点的连接边,得到所述第一对象的邻居拓扑图。
93.该实施方式中,可以根据当前对象的位置信息,确定第一对象的邻居对象,示例性的,可以确定第一对象与当前对象中其他对象之间的欧氏距离,若确定的欧式距离小于或等于预设阈值,则可以将该其他对象作为上述第一对象的邻居对象。
94.同时,还可以基于当前对象的位置信息,确定当前对象中各个第一对象的位置特征,具体的,可以提取位置信息中各个维度的数据,得到各个第一对象的位置特征,之后,可以将其组合为一个n维的特征向量,得到位置特征对应的特征向量。示例性的,若位置信息包含坐标信息、尺寸信息及偏转角,则位置特征可以包括坐标系的x轴特征、y轴特征、z轴特征,以及尺寸信息的长度特征length、宽度特征width、高度特征height,以及偏转角特征yaw。
95.之后,可以基于确定的各个当前对象的位置特征,生成第一对象对应的节点,再基于第一对象的邻居对象的位置特征,生成其对应的节点。在邻居拓扑图中,各个节点的位置信息与其对应的位置特征匹配。
96.在生成邻居拓扑图中的节点后,可以生成连接各个节点的连接边,连接边分别将第一节点与其对应的第二节点连接,第二节点之间不存在连接边,示例性的,连接边可以为从第一节点指向第二节点的有向边,若一第一节点存在k个第二节点,则其对应的邻居拓扑
图则包含k+1个节点以及k条连接边。
97.该实施方式,使得邻居拓扑图能够体现第一对象及第一对象的邻居对象的位置特征,实现了利用第一对象及第一对象的邻居对象的位置特征确定对象跟踪结果,提高了对象跟踪的精度。
98.示例性的,可以令表示第t帧的检测结果,其中,i
t
为检测到的对象的数目,为第i个对象的位置信息,记作其中可以为检测结果对应的原始点云数据。
99.可以令位置特征为表示第i个对象的中心点坐标,长,宽高和朝向角;
100.利用表示对象和其邻居对象的位置特征的集合,其中为对象的位置特征,是检测结果的对象的第k个邻居对象的位置特征,为了简化记号,我们将对象记作其自身的第0个邻居对象的位置特征,则上述集合可以记为
101.将集合中第0个邻居对象及其邻居对象之间的拓扑关系用有向图来表示,得到邻居拓扑图,将其记作其有k+1个顶点和k条有向边,其中所有边均为从第0个邻居节点指向其他节点的有向边,因为总节点数目为k+1,所以边数目为k。其中为节点集合,表示第ik个顶点的特征,这里的特征即位置特征,可以用(x,y,z,l,w,h,yaw)表示,也可以用神经网络从原始点云数据中提取得到,也可以是上述两种特征的组合。这里为了方便,可以以(x,y,z,l,w,h,yaw)为例描述。
102.边的集合定义为其中f
diff
(...)为根据节点计算的有向边的函数。由于节点一般为n维向量,示例性的,可以直接取两个向量做减法,得到连接边的向量f
diff
(

)。
103.相似的,可以利用类似的方式确定历史对象的邻居拓扑图。
104.如图2所示,为本公开实施例提供的生成邻居拓扑图的流程图,可以先根据各个对象的位置特征,生成各个节点,并分别确定各个对象的邻居对象,根据邻居对象的位置特征及当前对象的位置特征计算连接边,将生成的节点与连接边拼接得到邻居拓扑图。
105.s140、基于所述第一对象的邻居拓扑图与所述第二对象的邻居拓扑图,更新对象跟踪结果。
106.基于上述邻居拓扑图可以进行第一对象与第二对象的匹配,确定第一对象与第二对象之间的对应关系,示例性的,对应关系可以包括匹配、新增和消失,其中,若一第一对象与一第二对象为同一对象,则该第一对象与该第二对象之间的关系可以为匹配;若一第一对象与各个第二对象都不为同一对象,则该第一对象为新增对象,其与第二对象的对应关系可以为新增;若一第二对象与各个第一对象都不为同一对象,则该第二对象的与第一对
象的对应关系可以为消失。
107.在确定第一对象与第二对象之间的对应关系后,即可根据确定的对应关系确定各个对象的跟踪结果,并更新对象跟踪结果。
108.具体的,可以确定第一对象的邻居拓扑图与第二对象的邻居拓扑图之间的相似度;然后基于确定的相似度更新对象跟踪结果。
109.该实施例中,可以根据第一对象与第二对象的邻居拓扑图之间的相似度确定第一对象与第二对象的对应关系,再根据确定的对应关系更新对象跟踪结果。
110.一种可能的实施方式中,可以利用以下步骤确定第一对象的邻居拓扑图与第二对象的邻居拓扑图之间的相似度:
111.在所述第一对象与所述第二对象之间的欧式距离小于或等于预设阈值的情况下,基于所述第一对象的邻居拓扑图,以及所述第二对象的邻居拓扑图,确定所述当第一对象的节点与所述第二对象的节点的第一相似度;
112.基于所述第一对象的邻居拓扑图,以及所述第二对象的邻居拓扑图,确定所述第一对象的邻居对象的节点与所述第二对象的邻居对象的节点的第二相似度;
113.基于所述第一相似度及所述第二相似度,确定所述第一对象的邻居拓扑图与所述第二对象的邻居拓扑图之间的相似度。
114.由于当前帧图像与历史帧图像之间的时间间隔较短,若一第一对象与一第二对象为同一对象,其邻居拓扑图之间的相似度应当较高,且之间的欧氏距离较近,若其欧式距离大于预设阈值,则认为其不为同一对象,将相似度设置为0,若其欧式距离小于或等于预设阈值,则可以认为该第一对象与该第二对象可能为匹配关系,此时可以基于该第一对象及该第二对象的邻居拓扑图确定该第一对象的节点与该第二对象的节点的第一相似度,示例性的,可以计算第一对象的位置特征和第二对象的位置特征的特征向量差,对确定的差值取模处理,再乘以-1,得到第一相似度
115.同时,可以根据第一对象的邻居拓扑图及第二对象的邻居拓扑图,确定该第一对象的邻居对象的节点与第二对象的邻居对象的节点之间的第二相似度。示例性的,对于第一对象的邻居拓扑图和第二对象的邻居拓扑图仅考虑其中的邻居对象(即不考虑和),可以假设有x个邻居,有y个邻居,两组邻居对象构成一个二分图。
116.利用计算第一相似度的方式,确定相似性矩阵得到一个x*y的邻居相似性矩阵neighbour_matrix,邻居相似性矩阵中各个元素为其对应的第一对象的邻居对象与第二对象的邻居对象的节点之间的第三相似度,利用匈牙利匹配算法或其他匹配算法求解该邻居相似性矩阵,得到一组最优的匹配关系neighbour_match,示例性的,可以取第三相似度最高的一对邻居节点作为neighbour_match,neighbour_match中包括第一对象的邻居对象及与其匹配的第二对象的邻居对象,即确定第一对象的邻居对象与第二对象的邻居对象是否为同一对象,在得到neighbour_match之后,可以确定neighbour_match之间的第三相似度后可以得到的各个相似度相加,得到第二相似度。
117.在得到各个第一相似度和各个第二相似度后,可以将得到的第一相似度及第二相似度相加,得到第i个第一对象与第j个第二对象的邻居拓扑图之间的相似度similarity_matrix(i,j)。
118.上述相似度可以组成相似度矩阵similarity_matrix,通过对相似性矩阵求解,可以得到各个第一对象与第二对象之间的对应关系,之后,即可根据确定的对应关系更新对象跟踪结果。
119.可以利用贪心最近邻、匈牙利匹配等算法对得到的相似度矩阵similarity_matrix进行求解,从而得到当前对象与历史对象之间的对应关系,其具体方法可以与确定neighbour_match的方式相同。
120.最后,在确定第一对象与第二对象之间的对应关系后,可以将得到的对应关系作为第一对象与第二对象的匹配结果,针对不同的匹配结果,可以采用不同的方式更新对象跟踪结果。
121.具体的,针对到匹配到第二对象的第一对象(即对应关系为匹配),可以利用第一对象的位置信息更新与匹配到的第二对象对应的对象跟踪结果;针对未匹配到第二对象的第一对象(即对应关系为新增),可以新建针对该第一对象的对象跟踪,利用该第一对象的位置信息作为其对应的对象跟踪结果;若检测到未匹配到第一对象的第二对象(即对应结果为消失),可以基于最后检测到该第二对象的时间及当前时间,判断是否未检测到该第二对象的时长达到预设的时间阈值,从而确定保留或清除该第二对象的对象跟踪结果。
122.在得到更新后的对象跟踪结果后,即可基于更新后的对象跟踪结果对装载有采集上述当前帧图像和历史帧图像的图像采集装置的智能行驶装置进行控制,比如,在预计行驶路线上存在检测到的对象时调整行驶路线、行驶速度等。
123.这样,利用第一对象的位置信息及第二对象的位置信息确定第一对象的邻居拓扑图及第二对象的邻居拓扑图,实现了利用第一对象的邻居拓扑图及第二对象的邻居拓扑图进行对象跟踪,提高对象跟踪精确度。
124.对应于上述对象跟踪方法,本公开还公开了一种对象跟踪装置,该装置中的各个模块能够实现上述各个实施例的对象跟踪方法中的每个步骤,并且能够取得相同的有益效果,因此,对于相同的部分这里不再进行赘述。具体地,如图3所示,对象跟踪装置包括:
125.获取模块310,用于获取在当前帧图像中检测到的当前对象的位置信息,以及在当前帧图像之前的历史帧图像中检测到的历史对象的位置信息;其中,所述历史帧图像与所述当前帧图像的采集的时间间隔小于或等于预设阈值;
126.生成模块320,用于基于所述历史对象的位置信息,生成所述历史对象在当前帧图像中的预测位置信息;
127.确定模块330,用于基于所述当前对象的位置信息确定所述当前对象中至少一个第一对象的邻居拓扑图,以及基于所述历史对象的预测位置信息确定所述历史对象中至少一个第二对象的邻居拓扑图;其中,所述邻居拓扑图包含表示对应的对象的位置特征的第一节点、表示对应的对象的邻居对象的位置特征的第二节点以及第一节点与第二节点之间的连接边;
128.更新模块340,用于基于所述第一对象的邻居拓扑图与所述第二对象的邻居拓扑图,更新对象跟踪结果。
129.在一种可能的实施方式中,所述生成模块320具体用于:
130.基于图像采集装置采集当前帧图像时的位置信息,以及所述图像采集装置采集历史帧图像时的位置信息,确定所述图像采集装置从采集所述历史帧图像到采集所述当前帧
图像的时间产生的位置偏移向量;
131.基于所述位置偏移向量,对所述历史对象的位置进行偏移,得到所述历史对象在当前帧图像中的预测位置信息。
132.在一种可能的实施方式中,所述确定模块330在基于所述当前对象的位置信息,确定所述当前对象中一个第一对象的邻居拓扑图时,用于:
133.基于所述当前对象的位置信息,确定所述第一对象的邻居对象;
134.基于所述当前对象的位置信息,确定所述当前对象中各个对象的位置特征;
135.基于所述第一对象的位置特征,生成所述第一对象的第一节点;
136.基于所述第一对象的邻居对象的位置特征,生成所述第一对象的邻居对象的第二节点;
137.生成连接所述第一节点与所述第二节点的连接边,得到所述第一对象的邻居拓扑图。
138.在一种可能的实施方式中,所述更新模块340具体用于:
139.针对各个第一对象,确定所述第一对象的邻居拓扑图与各个所述第二对象的邻居拓扑图之间的相似度;
140.基于确定的相似度更新所述对象跟踪结果。
141.在一种可能的实施方式中,所述更新模块340在确定第一对象的邻居拓扑图与第二对象的邻居拓扑图之间的相似度时,用于:
142.在所述第一对象与所述第二对象之间的欧式距离小于或等于预设阈值的情况下,基于所述第一对象的邻居拓扑图,以及所述第二对象的邻居拓扑图,确定所述当第一对象的节点与所述第二对象的节点的第一相似度;
143.基于所述第一对象的邻居拓扑图,以及所述第二对象的邻居拓扑图,确定所述第一对象的邻居对象的节点与所述第二对象的邻居对象的节点的第二相似度;
144.基于所述第一相似度及所述第二相似度,确定所述第一对象的邻居拓扑图与所述第二对象的邻居拓扑图之间的相似度。
145.在一种可能的实施方式中,所述更新模块340在确定第一对象的邻居拓扑图与第二对象的邻居拓扑图之间的相似度时,用于:
146.在所述第一对象与所述第二对象之间的欧式距离大于预设阈值的情况下,确定所述第一对象的邻居拓扑图与所述第二对象的邻居拓扑图之间的相似度为0。
147.在一种可能的实施方式中,所述更新模块340在基于所述第一对象的邻居拓扑图,以及所述第二对象的邻居拓扑图,确定所述第一对象的节点与所述第二对象的节点的第一相似度时,用于:
148.基于所述第一对象的位置特征对应的特征向量与所述第二对象的位置特征对应的特征向量之间的差值,确定所述第一相似度。
149.在一种可能的实施方式中,所述更新模块340在基于所述第一对象的邻居拓扑图,以及所述第二对象的邻居拓扑图,确定所述第一对象的邻居对象的节点与所述第二对象的邻居对象的节点的第二相似度时,用于:
150.针对一个第一邻居对象,基于所述第一对象的邻居拓扑图,以及所述第二对象的邻居拓扑图,确定所述第一邻居对象与所述第二对象的各个邻居对象之间的第三相似度;
所述第一邻居对象为所述第一对象的邻居对象中的任一个;
151.基于确定的第三相似度,从所述第二对象的各个邻居对象中筛选与所述第一邻居对象相匹配的目标邻居对象;
152.基于每个第一邻居对象以及与其相匹配的目标邻居对象之间的第三相似度,确定所述第一对象的邻居对象的节点与所述第二对象的邻居对象的节点的第二相似度。
153.在一种可能的实施方式中,所述更新模块340在基于确定的所述相似度,更新所述对象跟踪结果时,用于:
154.针对一个第一对象,基于确定的所述相似度,确定该第一对象与各个所述第二对象的匹配结果;
155.在所述第一对象匹配到第二对象的情况下,利用该第一对象的位置信息更新匹配到的第二对象对应的对象跟踪结果。
156.在一种可能的实施方式中,所述更新模块340在基于确定的所述相似度,更新所述对象跟踪结果时,还用于:
157.在该第一对象未匹配到第二对象的情况下,利用该第一对象的位置信息建立与该第一对象的对应的对象跟踪结果。
158.在一种可能的实施方式中,所述更新模块340在基于确定的所述相似度,更新所述对象跟踪结果时,还用于:
159.响应于存在一个未匹配到第一对象的第二对象,基于最后检测到该第二对象的时间及当前时间,确定保留或清除该第二对象的对象跟踪结果。
160.在一种可能的实施方式中,所述装置还包括控制模块,用于:
161.基于更新后的所述对象跟踪结果,控制装载有采集所述当前帧图像以及所述历史帧图像的图像采集装置的智能行驶装置。
162.对应于上述对象跟踪方法,本公开实施例还提供了一种电子设备400,如图4所示,为本公开实施例提供的电子设备400结构示意图,包括:
163.处理器41、存储器42、和总线43;存储器42用于存储执行指令,包括内存421和外部存储器422;这里的内存421也称内存储器,用于暂时存放处理器41中的运算数据,以及与硬盘等外部存储器422交换的数据,处理器41通过内存421与外部存储器422进行数据交换,当电子设备400运行时,处理器41与存储器42之间通过总线43通信,使得处理器41执行以下指令:
164.获取在当前帧图像中检测到的当前对象的位置信息,以及在当前帧图像之前的历史帧图像中检测到的历史对象的位置信息;其中,所述历史帧图像与所述当前帧图像的采集的时间间隔小于或等于预设阈值;
165.基于所述历史对象的位置信息,生成所述历史对象在当前帧图像中的预测位置信息;
166.基于所述当前对象的位置信息确定所述当前对象中至少一个第一对象的邻居拓扑图,以及基于所述历史对象的预测位置信息确定所述历史对象中至少一个第二对象的邻居拓扑图;其中,所述邻居拓扑图包含表示对应的对象的位置特征的第一节点、表示对应的对象的邻居对象的位置特征的第二节点以及第一节点与第二节点之间的连接边;
167.基于所述第一对象的邻居拓扑图与所述第二对象的邻居拓扑图,更新对象跟踪结
果。
168.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的对象跟踪方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
169.本公开实施例所提供的对象跟踪方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的对象跟踪方法的步骤,具体可参见上述方法实施例,在此不再赘述。
170.本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
171.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
172.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
173.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
174.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
175.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使
相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1