本技术涉及计算机视觉与模式识别、自动驾驶及机器人应用的,尤其涉及跟踪轨迹融合方法、设备及计算机可读存储介质。
背景技术:
1、计算机视觉是人工智能(ai)的一个领域,是指让计算机和系统能够从图像、视频和其他视觉输入中获取有意义的信息,并根据该信息采取行动或提供建议。如果说人工智能赋予计算机思考的能力,那么计算机视觉就是赋予发现、观察和理解的能力。
2、模式识别是通过计算机用数学技术方法来研究模式的自动处理和判读,我们把环境与客体统称为“模式”。对人类来说,特别重要的是对光学信息(通过视觉器官来获得)和声学信息(通过听觉器官来获得)的识别,这是模式识别的两个重要方面。
3、自动驾驶汽车以雷达、光学雷达、gps及计算机视觉等技术感测其环境,将感测信息转换成适当的导航道路、以及障碍与相关标志,是一种需要驾驶员辅助或者完全不需操控的车辆,作为自动化载具,自动驾驶汽车可以不需要人类操作即能感测其环境及导航。
4、机器人可代替或协助人类完成各种工作,尤其是枯燥的、危险的、有毒的、有害的工作。机器人除了广泛应用于制造业领域外,还应用于资源勘探开发、救灾排险、医疗服务、家庭娱乐、军事和航天等其他领域。
5、目标跟踪是计算机视觉和自动驾驶领域中的一个重要研究方向,有着广泛的应用。由于遮挡、形变及检测结果不稳定等因素会导致跟踪结果(即目标)丢失等问题。目标在运动过程中可能出现被遮挡或者短暂的消失情况,当这种情况发生时,跟踪框容易将遮挡物以及背景信息包含在跟踪框内,会导致后续帧中的目标漂移到遮挡物上面。当目标被完全遮挡时,由于找不到目标,会导致跟踪失败。
6、专利cn114119671a公开了一种基于遮挡补偿的立体空间信息融合的多目标跟踪方法,所述方法包括:步骤1)接收激光雷达采集的点云和相机采集的rgb图像;步骤2)将点云数据输入三维检测器得到三维检测结果;步骤3)将rgb图像和三维检测结果不断输入预先建立和训练好的端到端多目标跟踪网络,实时更新跟踪器,循环完成目标跟踪;所述端到端多目标跟踪网络,用于基于rgb图像和三维检测结果,并结合上一帧轨迹的运动特征和外观特征,分别建立运动关联矩阵和外观关联矩阵进行轨迹和检测的关联,并结合遮挡情况更新跟踪器实现目标跟踪。该方法在三维空间中使用三维卡尔曼滤波器利用点云信息解决目标遮挡的问题,在二维平面使用端到端的关联网络关联目标解决三维空间中的目标大位移和不规则运动导致的关联失败的问题,构建遮挡网络优化外观特征,虽然能够提高三维多目标跟踪算法的准确性,但是需要使用多源信息(激光雷达采集得到的点云数据、相机采集得到的rgb图像)作为输入,并且跟踪过程中需要实时更新跟踪器,因此计算量较大、计算速度慢,无法满足自动驾驶等实时性较高的应用场景中的目标跟踪需求。
7、基于此,本技术提供了跟踪轨迹融合方法、设备及计算机可读存储介质,以改进现有技术。
技术实现思路
1、本技术的目的在于提供跟踪轨迹融合方法、设备及计算机可读存储介质,解决目标跟踪过程中目标丢失的问题,且计算量较小、计算速度快,能够满足实时性较高的应用场景中的目标跟踪需求。
2、本技术的目的采用以下技术方案实现:
3、第一方面,本技术提供了一种跟踪轨迹融合方法,所述方法包括:
4、对多帧点云数据对应的深度学习检测结果和静态聚类检测结果进行多目标跟踪,以获取至少一个动态轨迹及其对应的动态标识,至少一个静态轨迹及其对应的静态标识;
5、基于至少一个所述动态轨迹及其对应的动态标识和至少一个所述静态轨迹及其对应的静态标识,对融合轨迹集合进行更新,所述融合轨迹集合中的每个融合轨迹对应一对相匹配的动态轨迹和静态轨迹;
6、针对更新后的融合轨迹集合中的每个融合轨迹,获取每个所述融合轨迹的融合标识和当前帧的跟踪框并输出。
7、该技术方案的有益效果在于:对现有的目标跟踪算法进行拓展,有效解决了目标跟踪过程中目标(即跟踪结果)丢失的问题,且计算量较小、计算速度快,能够满足实时性较高的应用场景中的目标跟踪需求。
8、采用目标跟踪算法分别对深度学习检测结果和静态聚类检测结果进行目标跟踪,在执行完目标跟踪算法之后,就能得到两组跟踪轨迹:动态轨迹(即动态跟踪轨迹,来源于深度学习检测结果)和静态轨迹(即静态跟踪轨迹,来源于静态聚类检测结果)。在获取动态轨迹和静态轨迹之后,就可以执行轨迹融合过程,输出融合轨迹对应的融合标识和跟踪框。
9、具体而言,首先对每帧点云数据对应的深度学习检测结果进行多目标跟踪,得到一个或多个动态轨迹及其对应的动态标识;对每帧点云数据对应的静态聚类检测结果进行多目标跟踪,得到一个或多个静态轨迹及其对应的静态标识。其中,静态聚类即层次聚类。
10、在获取到动态轨迹和静态轨迹后,据此对融合轨迹集合进行更新,目的是将能匹配的动态轨迹和静态轨迹都匹配起来,再进入后续的轨迹融合过程。被更新的融合轨迹集合中包括当前帧之前已匹配的动态轨迹和静态轨迹。
11、在轨迹融合过程中,针对融合轨迹集合中的每个融合轨迹,获取其所对应的融合标识,以及该融合轨迹在当前帧的跟踪框,输出融合标识和当前帧的跟踪框作为轨迹融合结果。
12、现有的目标跟踪算法利用多源信息来解决目标丢失问题,计算量较大,本技术所提供的跟踪轨迹融合方法其初始输入数据只有点云数据(不需要rgb图像),因此计算量小、计算速度快、计算时间短、计算效率高,所消耗的计算资源少。由于对融合轨迹集合进行了更新,将所有能匹配的动态轨迹和静态轨迹都匹配起来(即使一个动态轨迹或者静态轨迹在当前帧丢失目标,也可能匹配上另一轨迹),再进入后续的轨迹融合过程,所以能够获取每个融合轨迹对应的跟踪框并输出。另外,不需要实时更新跟踪器,因此减少了目标跟踪过程中的计算量,提高了响应速度,适用于自动驾驶等对实时性要求较高的应用场景。
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、当所述融合轨迹具有对应的融合标识时,保持所述融合标识不变;
42、当所述融合轨迹不具有对应的融合标识时,获取不同于所述融合轨迹对应的标识的新标识,作为所述融合轨迹的融合标识;或者,将所述融合轨迹对应的其中一个标识,作为所述融合轨迹的融合标识。
43、该技术方案的有益效果在于:当融合轨迹具有对应的融合标识时,不需要重新确定其所对应的融合标识。
44、当融合轨迹不具有对应的融合标识时,需要确定其所对应的融合标识。具体而言,可以为融合轨迹分配新标识,分配新标识会在输出过程中造成标识(id)跳变一次;也可以不为融合轨迹分配新标识,此时可以以先出现的动态轨迹或静态轨迹的标识为准(或者以“后出现的轨迹的标识”为准),这样可以保持输出标识的一致性,避免出现id跳变的情况。
45、在一些可选的实施方式中,获取每个所述融合轨迹在当前帧的跟踪框的过程包括:
46、针对每个所述融合轨迹,执行以下处理:
47、当所述融合轨迹对应的动态轨迹和静态轨迹在当前帧都跟踪到目标时,基于所述动态轨迹在当前帧的检测框和所述静态轨迹在当前帧的检测框,获取所述融合轨迹在当前帧的跟踪框;
48、当所述融合轨迹对应的其中一个轨迹在当前帧跟踪到目标时,将跟踪到目标的轨迹在当前帧的检测框作为所述融合轨迹在当前帧的跟踪框;
49、当所述融合轨迹对应的动态轨迹和静态轨迹在当前帧都丢失目标时,将所述融合轨迹对应的动态轨迹在当前帧的预测框作为所述融合轨迹在当前帧的跟踪框。
50、该技术方案的有益效果在于:针对更新后的融合轨迹集合中的每个融合轨迹,其所对应的是已匹配的两个轨迹,分三种情况:第一种情况,两个轨迹都跟踪到目标;第二种情况,一个轨迹跟踪到目标,另一轨迹丢失目标;第三种情况,两个轨迹都丢失目标。针对上述三种情况,采用不同方式分别确定所对应的跟踪框。针对第一种情况,基于两个轨迹分别对应的检测框获取跟踪框;针对第二种情况,将跟踪到目标的轨迹的检测框作为跟踪框;针对第三种情况,将其中的动态轨迹在当前帧的预测框作为跟踪框。这样做的好处是,当融合轨迹的两个轨迹在当前帧都跟踪到目标时,能够通过两个轨迹输出融合后的跟踪框;当融合轨迹的其中一个轨迹在当前帧丢失目标时,能够通过另一轨迹输出跟踪框;当融合轨迹的两个轨迹在当前帧都丢失目标时,也能够根据动态轨迹的可信度较高的预测结果输出跟踪框。
51、在一些可选的实施方式中,所述获取每个所述融合轨迹的融合标识和当前帧的跟踪框并输出,包括:
52、获取每个所述融合轨迹的融合标识、当前帧的跟踪框和类别并输出,所述融合轨迹的类别是所述融合轨迹对应的类别队列中出现次数最多的类别。
53、该技术方案的有益效果在于:以融合轨迹对应的类别队列中出现次数最多的类别作为融合轨迹的类别,准确度高。
54、第二方面,本技术提供了一种跟踪轨迹融合设备,所述跟踪轨迹融合设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器被配置成执行所述计算机程序时实现以下步骤:
55、对多帧点云数据对应的深度学习检测结果和静态聚类检测结果进行多目标跟踪,以获取至少一个动态轨迹及其对应的动态标识,至少一个静态轨迹及其对应的静态标识;
56、基于至少一个所述动态轨迹及其对应的动态标识和至少一个所述静态轨迹及其对应的静态标识,对融合轨迹集合进行更新,所述融合轨迹集合中的每个融合轨迹对应一对相匹配的动态轨迹和静态轨迹;
57、针对更新后的融合轨迹集合中的每个融合轨迹,获取每个所述融合轨迹的融合标识和当前帧的跟踪框并输出。
58、在一些可选的实施方式中,所述处理器被配置成执行所述计算机程序时采用以下方式获取每帧点云数据对应的深度学习检测结果:
59、利用深度学习检测模型对每帧点云数据进行目标检测,以得到每帧点云数据对应的深度学习检测结果,所述深度学习检测结果包括至少一个所述动态标识及其对应的检测框;
60、获取每帧点云数据对应的静态聚类检测结果的过程包括:
61、利用静态聚类检测模型对每帧点云数据进行目标检测,以得到每帧点云数据对应的静态聚类检测结果,所述静态聚类检测结果包括至少一个所述静态标识及其对应的检测框。
62、在一些可选的实施方式中,所述处理器被配置成执行所述计算机程序时采用以下方式对融合轨迹集合进行更新:
63、针对所述融合轨迹集合中的每个所述融合轨迹,执行以下处理:
64、当所述融合轨迹对应的动态轨迹和静态轨迹在当前帧都丢失目标时,从所述融合轨迹集合中删除所述融合轨迹;
65、当所述融合轨迹对应的其中一个轨迹在当前帧丢失目标时,在所述融合轨迹集合中将丢失目标的轨迹对应的标识设置为无效标识。
66、在一些可选的实施方式中,所述处理器还被配置成执行所述计算机程序时采用以下方式对融合轨迹集合进行更新:
67、利用处理后的融合轨迹集合,检测所获取的动态轨迹和静态轨迹中是否存在待匹配的动态轨迹和静态轨迹;
68、当存在待匹配的动态轨迹和静态轨迹时,对待匹配的动态轨迹和静态轨迹进行关联,以得到相匹配的动态轨迹和静态轨迹;
69、利用相匹配的动态轨迹和静态轨迹对处理后的融合轨迹集合进行更新。
70、在一些可选的实施方式中,所述处理器被配置成执行所述计算机程序时采用以下方式检测所获取的动态轨迹和静态轨迹中是否存在待匹配的动态轨迹和静态轨迹:
71、利用处理后的融合轨迹集合,从所获取的动态轨迹和静态轨迹中去除对应的两个轨迹在当前帧都跟踪到目标的融合轨迹所对应的轨迹,得到剩余部分;
72、当所得到的剩余部分不为空时,确定存在待匹配的动态轨迹和静态轨迹,并将所述剩余部分作为待匹配的动态轨迹和静态轨迹;
73、当所得到的剩余部分为空时,确定不存在待匹配的动态轨迹和静态轨迹。
74、在一些可选的实施方式中,所述处理器还被配置成执行所述计算机程序时实现以下步骤:
75、从所获取的动态轨迹和静态轨迹中去除更新后的融合轨迹集合对应的轨迹,得到未匹配的动态轨迹和静态轨迹;
76、针对未匹配的动态轨迹,当未匹配的动态轨迹在当前帧跟踪到目标时输出对应的动态标识和当前帧的检测框,当未匹配的动态轨迹在当前帧丢失目标时输出对应的动态标识和当前帧的预测框;
77、针对未匹配的静态轨迹,当未匹配的静态轨迹在当前帧跟踪到目标时输出未匹配的静态轨迹对应的静态标识和当前帧的检测框,当未匹配的静态轨迹在当前帧丢失目标时不输出。
78、在一些可选的实施方式中,所述处理器被配置成执行所述计算机程序时采用以下方式获取每个所述融合轨迹的融合标识:
79、针对每个所述融合轨迹,执行以下处理:
80、当所述融合轨迹具有对应的融合标识时,保持所述融合标识不变;
81、当所述融合轨迹不具有对应的融合标识时,获取不同于所述融合轨迹对应的标识的新标识,作为所述融合轨迹的融合标识;或者,将所述融合轨迹对应的其中一个标识,作为所述融合轨迹的融合标识。
82、在一些可选的实施方式中,所述处理器被配置成执行所述计算机程序时采用以下方式获取每个所述融合轨迹在当前帧的跟踪框:
83、针对每个所述融合轨迹,执行以下处理:
84、当所述融合轨迹对应的动态轨迹和静态轨迹在当前帧都跟踪到目标时,基于所述动态轨迹在当前帧的检测框和所述静态轨迹在当前帧的检测框,获取所述融合轨迹在当前帧的跟踪框;
85、当所述融合轨迹对应的其中一个轨迹在当前帧跟踪到目标时,将跟踪到目标的轨迹在当前帧的检测框作为所述融合轨迹在当前帧的跟踪框;
86、当所述融合轨迹对应的动态轨迹和静态轨迹在当前帧都丢失目标时,将所述融合轨迹对应的动态轨迹在当前帧的预测框作为所述融合轨迹在当前帧的跟踪框。
87、在一些可选的实施方式中,所述处理器被配置成执行所述计算机程序时采用以下方式获取每个所述融合轨迹的融合标识和当前帧的跟踪框并输出:
88、获取每个所述融合轨迹的融合标识、当前帧的跟踪框和类别并输出,所述融合轨迹的类别是所述融合轨迹对应的类别队列中出现次数最多的类别。
89、第三方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项方法的步骤或者实现上述任一项设备的功能。