目标跟踪方法、装置、电子设备及存储介质
文献发布时间:2023-06-19 12:00:51
技术领域
本公开涉及人工智能技术领域,具体涉及计算机视觉和深度学习等技术领域,可应用于智能云和安全巡检场景下,尤其涉及目标跟踪方法、装置、电子设备及存储介质。
背景技术
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术,以及机器学习、深度学习、大数据处理技术、知识图谱技术等几大方向。
随着人工智能(Artificial Intelligence,AI)技术的不断发展,通常会借助AI中的计算机视觉和深度学习等技术对一些生产场景进行安全巡检,以识别工作人员是否存在抽烟、打电话、打架、摔倒、抛物等违规行为。
发明内容
提供了一种目标跟踪方法、装置、电子设备、存储介质及计算机程序产品。
根据第一方面,提供了一种目标跟踪方法,包括:获取当前视频帧;从当前视频帧之中确定出检测框,检测框包括:待跟踪目标;确定与待跟踪目标对应的多个预测跟踪框,多个预测跟踪框分别具有对应的多个预测跟踪信息;根据检测框,从多个预测跟踪框之中确定出目标跟踪框;以及根据与目标跟踪框对应的目标跟踪信息,对待跟踪目标进行跟踪,目标跟踪信息属于多个预测跟踪信息。
根据第二方面,提供了一种目标跟踪装置,包括:获取模块,用于获取当前视频帧;第一确定模块,用于从当前视频帧之中确定出检测框,检测框包括:待跟踪目标;第二确定模块,用于确定与待跟踪目标对应的多个预测跟踪框,多个预测跟踪框分别具有对应的多个预测跟踪信息;第三确定模块,用于根据检测框,从多个预测跟踪框之中确定出目标跟踪框;以及跟踪模块,用于根据与目标跟踪框对应的目标跟踪信息,对待跟踪目标进行跟踪,目标跟踪信息属于多个预测跟踪信息。
根据第三方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开实施例提出的目标跟踪方法。
根据第四方面,提出了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开实施例提出的目标跟踪方法。
根据第五方面,提出了一种计算机程序产品,包括计算机程序,当所述计算机程序由处理器执行时实现本公开实施例提出的目标跟踪方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例的示意图;
图2是相关技术中的YoloV3模型的结构示意图;
图3是根据本公开第二实施例的示意图;
图4是根据本公开第三实施例的示意图;
图5是根据本公开第四实施例的示意图;
图6是根据本公开实施例中目标跟踪方法的流程示意图;
图7是根据本公开第五实施例的示意图;
图8是根据本公开第六实施例的示意图;
图9是用来实现本公开实施例的目标跟踪方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本公开第一实施例的示意图。
其中,需要说明的是,本实施例的目标跟踪方法的执行主体为目标跟踪装置,该装置可以由软件和/或硬件的方式实现,该装置可以配置在电子设备中,电子设备可以包括但不限于终端、服务器端等。
本公开实施例涉及人工智能技术领域,具体涉及计算机视觉和深度学习等技术领域,可应用于智能云和安全巡检场景下,提升安全巡检场景下目标跟踪的准确性和目标跟踪效率,从而有效地满足安全巡检场景中目标跟踪的实时性需求。
其中,人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。深度学习的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。
而计算机视觉,是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。
而安全巡检场景,例如厂区的安全作业生产环境中,需要对工作人员进行安全帽佩戴检测、吸烟检测与打电话检测等的巡检场景,需要说明的是,通常在该场景下,对工作人员所进行的目标跟踪,均是为了保障正常的安全作业。
如图1所示,该目标跟踪方法包括:
S101:获取当前视频帧。
其中,当前对其进行探测处理的一帧视频,可以被称为当前视频帧,当前视频帧属于视频。
也即是说,所采集的视频中会包括一帧或者多帧的视频帧,本公开实施例在执行目标跟踪方法时,可以是对视频中的每一帧均进行相应的处理,以进行目标跟踪,从而当前时间点进行探测处理的一帧视频,可以被称为当前视频帧。
而上述的视频可以是厂区巡检场景下的摄像装置所采集的视频,例如,可以由目标跟踪装置来读取巡检场景中各个监控摄像装置的实时视频流,并提取其中的每一帧视频帧,以获取当前视频帧。
另外一些实施例中,上述的视频可以是实时采集的视频,或者是定时采集的视频,或者还可以是从数据库中获取的录制完成的视频,对此不做限制。
另外一些实施例中,上述的视频可以例如但不限于是利用厂区巡检场景之中的各类摄像头(例如头戴式摄像头)、无人机、机器人、AI芯片以及其它任意可能的监控设备所采集,对此不做限制。
S102:从当前视频帧之中确定出检测框,检测框包括:待跟踪目标。
上述在获取当前视频帧后,可以对当前视频帧进行目标检测识别,从而从当前视频帧之中识别出一个或者多个的检测框,检测框中包括对应的待跟踪目标。
也即是说,本公开实施例中支持对一个或者多个的目标进行跟踪,该一个或者多个的目标,均可以被称为待跟踪目标,对此不做限制。
上述的待跟踪目标,可以具体是携带一些特定行为特征的局部图像区域所框出的目标。
例如,假设当前视频帧之中包括工作人员A的全身图像,则相应的,如果是对工作人员A进行安全帽佩戴检测,则从当前视频帧之中识别出的工作人员A的头部局部图像中框出的头部,则可以被作为待跟踪目标。
又例如,假设当前视频帧之中包括工作人员A的全身图像,则相应的,如果是对工作人员A进行吸烟检测,则从当前视频帧之中识别出的工作人员A的嘴部局部图像中框出的嘴部,和手部局部图像中框出的手部,则均可以被作为待跟踪目标,以此类推,对此不做限制。
而另外一些实施例中,根据实际目标跟踪场景的需要,从当前视频帧中识别出的任意目标(例如,人、车辆、动物以及其它任意物品等),也可以被称为待跟踪目标,对此不做限制。
结合上述的厂区巡检场景,本公开实施例中可以将工作人员,并结合安全巡检的场景需求,将携带一些特定行为特征的局部图像区域所框出的目标作为待跟踪目标,对此不做限制。
本公开实施例可以从当前视频帧中确定包含待跟踪目标(即,工作人员的头部、嘴部、手部)的检测框,该检测框例如可以根据待跟踪目标的大小以及在当前视频帧中的位置而确定,对此不做限制。
一些实施例中,可以采用基于深度学习的目标检测方法从当前视频帧中确定该检测框。
例如,可以采用深度学习两阶段目标检测方法(Two-Stage)从当前视频帧中确定该检测框,而两阶段目标检测方法(Two-Stage)例如可以包括基于空间金字塔池化的深度网络(spatial pyramid pooling net,SPPNet)、目标检测算法(Fast Region-CNN,Fast-RCNN)、基于区域网络的实时目标检测网络(Towards Real-Time Object Detection withRegion Proposal Networks,Faster-RCNN)、特征金字塔网络(feature pyramidnetworks,FPN)等算法。
又例如,还可以采用以对象检测算法(You Only Look Once,Yolo)为代表的单阶段目标检测方法(One-Stage)确定检测框。
而另外一些实施例中,也可以采用其它任意可能的方式从当前视频帧中确定该检测框,对此不做限制。
本公开实施例中,可以采用基于YoloV3算法的目标检测算法从当前视频帧之中确定出检测框,YoloV3模型可以通过改变模型结构的大小来权衡速度与精度,如图2所示,图2是相关技术中的YoloV3模型的结构示意图,栅格1、栅格2、栅格3表示YoloV3模型检测到的栅格(box),尺度1、尺度2、尺度3表示当前视频帧的划分范围(scale)。利用YoloV3模型确定检测框,从而能够有效提升检测框的识别分析效率和准确性。
S103:确定与待跟踪目标对应的多个预测跟踪框,多个预测跟踪框分别具有对应的多个预测跟踪信息。
上述在从当前视频帧中确定出检测框后,可以确定与待跟踪目标对应的多个预测跟踪框,并配置各预测跟踪框分别具有对应的预测跟踪信息。
其中,预测跟踪框,可以是针对待跟踪目标预测得到的检测框,并且,该预测跟踪框可以具体是存在于当前视频帧之后的一帧或者多帧的视频帧之中,也即是说,本公开实施例中,支持首先从当前视频帧中检测得到检测框,该检测框包括:待跟踪目标,而后,从后续视频帧之中确定出一个或者多个的预测跟踪框,而后,辅助后续采用一些匹配方式来从多个预测跟踪框之中确定出最为准确的跟踪框,从而实现基于整体视频的目标跟踪。
上述从后续的视频帧之中预测得到的跟踪框,可以被称为预测跟踪框,而与预测跟踪框对应的预测跟踪信息,可以具体是该预测跟踪框基于自身所属视频帧中的相对位置信息,和/或预测跟踪框实际的跟踪状态,该实际的跟踪状态可以包括:已确认跟踪状态或者未确认跟踪状态,而已确认跟踪状态指示该预测跟踪框已与检测框匹配成功,而未确认跟踪状态,则可以指示该预测跟踪框未与检测框匹配成功,或者尚未与检测框进行匹配,对此不做限制。
可以理解的是,视频是由连续的视频帧构成,本公开实施例的当前视频帧之后可以包括多个连续的视频帧。为了更清楚的描述本实施例,可以将当前视频帧理解为第一视频帧,而之后的视频帧可以理解为第二视频帧、第三视频帧,....,第n视频帧,n为大于1的正整数,第一视频帧至第n视频帧构成整体的视频。
举例说明如下,本公开实施例可以确定待跟踪目标对应的多个预测跟踪框,即可以确定待跟踪目标在第二视频帧、第三视频帧,....,第n视频帧中的可能出现的位置信息相对于其所属视频帧的相对位置信息,而在实际的检测场景中,在对每一帧视频帧进行目标检测的过程中,通常初始检测出的目标可以是一个或者多个,从而与待跟踪目标对应的预测跟踪框也可能为一个或者多个,本公开实施例中首先确定与待跟踪目标对应的多个预测跟踪框,多个预测跟踪框分别具有对应的多个预测跟踪信息,从而辅助后续从多个预测跟踪框之中确定出与待跟踪目标相适配的预测跟踪框,具体参见后续实施例。
S104:根据检测框,从多个预测跟踪框之中确定出目标跟踪框。
上述在确定与待跟踪目标对应的多个预测跟踪框后,可以根据检测框,从多个预测跟踪框之中确定出目标跟踪框,其中,从多个预测跟踪框之中确定出的与待跟踪目标相适配的预测跟踪框,可以被称为目标跟踪框,而与待跟踪目标相适配的预测跟踪框,则可以表明该目标跟踪框框出的目标与待跟踪目标是同一个目标,例如,属于相同工作人员的头部、手部、嘴部等。
可选地,在一些实施例中,根据检测框,从多个预测跟踪框之中确定出目标跟踪框,可以是根据多个预测跟踪信息,对检测框和多个预测跟踪框分别进行匹配,以得到与多个预测跟踪框分别对应的多个匹配结果;从多个匹配结果之中选取出满足设定条件的目标匹配结果,并将与目标匹配结果对应的预测跟踪框作为目标跟踪框,从而实现参考相应的预测跟踪信息,对检测框和预测跟踪框进行匹配计算,并采用设定条件辅助选取出目标匹配结果对应的目标跟踪框。从而,通过匹配计算的方式,并参考相应的预测跟踪信息可以使得有效提升目标跟踪框确定的准确性,并提升目标跟踪框的确定效率,有效地优化目标跟踪过程。
其中,上述确定与待跟踪目标对应的多个预测跟踪框后,可以首先根据多个预测跟踪信息,对检测框和多个预测跟踪框分别进行匹配,以得到与多个预测跟踪框分别对应的多个匹配结果。
而该匹配结果例如可以是采用分值的形式呈现,通过匹配结果可以反映出检测框与每个预测跟踪框之间的关联程度,从而设定条件可以为匹配分值大于分值阈值,其中,可以将检测框和多个预测跟踪框,以及对应的多个预测跟踪信息输入至预训练的匹配模型之中,从而获取该匹配模型输出的多个匹配分值,对此不做限制。
上述的设定条件,例如但不限于是阈值条件或者其它任意可能的条件,具体可以根据实际目标跟踪需求自适应设置,对此不做限制。
本公开实施例可以将多个匹配结果与设定条件进行比较,其中,满足设定条件的匹配结果可以被称为目标匹配结果,该目标匹配结果的数量可以是一个或者多个,而后将与目标匹配结果对应的预测跟踪框作为该目标跟踪框。
应当理解的是,上述实例只是对确定目标跟踪框的方法进行示例性说明,在实际应用中还可以采用其它任意可能的方式确定目标跟踪框,比如还可以根据预测跟踪框在视频帧中的位置与检测框在当前视频帧的位置确定目标跟踪框,关于目标跟踪框的确定方式此处不作具体限定。
S105:根据与目标跟踪框对应的目标跟踪信息,对待跟踪目标进行跟踪,目标跟踪信息属于多个预测跟踪信息。
其中,与目标跟踪框对应的预测跟踪信息,可以被称为目标跟踪信息,结合上述的举例说明,目标跟踪信息可以包括:已确认跟踪状态或者未确认跟踪状态,或者,还可以包括:该目标跟踪框基于自身所属视频帧中的相对位置信息,对此不做限制。
从而可以辅助根据与目标跟踪框对应的目标跟踪信息,对待跟踪目标进行跟踪,也即是说,本公开实施例支持根据与目标跟踪框对应的目标跟踪信息,对待跟踪目标进行跟踪,并根据针对待跟踪目标跟踪得到的每一帧视频帧中的目标跟踪框中的目标,对其所属工作人员的行为进行分析,例如,分析所跟踪目标是否佩戴安全帽、是否吸烟与是否打电话等,对此不做限制。
本实施例中,通过获取当前视频帧,并从当前视频帧之中确定出包含待跟踪目标的检测框,确定与待跟踪目标对应的多个预测跟踪框,根据检测框从多个预测跟踪框之中确定出目标跟踪框,以及根据与目标跟踪框对应的目标跟踪信息,对待跟踪目标进行跟踪,能够有效提升安全巡检场景下目标跟踪的准确性和目标跟踪效率,从而有效地满足安全巡检场景中目标跟踪的实时性需求。
图3是根据本公开第二实施例的示意图。
如图3所示,该目标跟踪方法包括:
S301:获取当前视频帧。
S302:从当前视频帧之中确定出检测框,检测框包括:待跟踪目标。
S303:确定与待跟踪目标对应的多个预测跟踪框,多个预测跟踪框分别具有对应的多个预测跟踪信息。
S301-S303的描述说明可以具体参见上述实施例,在此不再赘述。
S304:根据多个预测跟踪信息,对检测框和第一预测跟踪框进行级联匹配。
也即是说,本公开实施例针对检测框和多个预测跟踪框可以采取针对性的匹配方式,从而在匹配过程中能够考量不同预测跟踪框的个性化信息,以保障匹配的准确性。
上述的第一预测跟踪框属于多个预测跟踪框,第一预测跟踪框的数量可以是一个或者。
而本公开中的第一预测跟踪框,可以是多个预测跟踪框之中,预测跟踪信息包括:已确认跟踪状态的跟踪框,也即是说,如果预测跟踪信息包括:已确认跟踪状态,则将与其对应的预测跟踪框确定为第一预测跟踪框,由于预测跟踪框信息可以包括已确认跟踪状态和未确认跟踪状态,本公开实施例可以实现基于预测跟踪信息确定第一预测跟踪框,从而可以提升第一预测跟踪框的确定效率并且优化了确定过程,此外还可以保证第一预测跟踪框确定的准确性。
也即是说,本实施例中可以根据多个预测跟踪信息,对检测框和第一预测跟踪框进行级联匹配,其中,可以采用相关技术中的级联匹配算法对检测框和第一预测跟踪框进行级联匹配,从而实现对已确认跟踪状态的第一预测跟踪框和检测框进行及时的匹配,在保障匹配准确性的同时,大幅提升了匹配的效率。
S305:根据多个预测跟踪信息结合交并比信息,对检测框和第二预测跟踪框进行匹配,交并比信息,是检测框和第二预测跟踪框之间的交并比信息,第一预测跟踪框和第二预测跟踪框相同或者不相同。
也即是说,本公开实施例还可以结合检测框和第二预测跟踪框之间的交并比信息对检测框和第二预测跟踪框进行匹配,由于在匹配过程中融合了交并比信息,从而实现匹配处理的灵活性,使得预测跟踪框与检测框的匹配处理逻辑能够灵活地适应应用场景需求,优化匹配过程,并使得匹配结果所表征的信息更为全面,有效地提升匹配的准确性和匹配效果。
上述的第二预测跟踪框属于多个预测跟踪框,第二预测跟踪框的数量可以是一个或者。
而本公开中,可以在根据多个预测跟踪信息结合交并比信息,对检测框和第二预测跟踪框进行匹配前,从多个预测跟踪框之中确定出第二预测跟踪框,可选地,可以将未成功级联匹配的第一预测跟踪框作为第二预测跟踪框;和/或如果预测跟踪信息包括:未确认跟踪状态,则将与其对应的预测跟踪框确定为第二预测跟踪框。从而,不仅能够实现基于预测跟踪信息确定第二预测跟踪框,提升第二预测跟踪框的确定效率并且优化了确定过程,而且还可以将未成功级联匹配的第一预测跟踪框作为第二预测跟踪框进行再次匹配,因此可以保证信息不会丢失,提高匹配的完整性和全面性。
上述的交并比(Intersection over Union,IoU),是一种测量在特定数据集中检测相应物体准确度的一个标准,如果是在输出中得出一个预测范围的任务都可以用IoU来进行测量,而检测框和第二预测跟踪框之间的交并比信息IoU,能够用于描述检测框和第二预测跟踪框之间的交叠率(该交叠率可以被用于描述检测框和第二预测跟踪框之间交叠程度),该交并比信息可以被用于作为对检测框和第二预测跟踪框进行匹配时的参考内容。
本公开实施例中,支持将已确认跟踪状态的第一预测跟踪框和检测框进行级联匹配,还支持结合交并比信息对未确认跟踪状态的第二预测跟踪框和检测框进行匹配,以及还支持结合交并比信息对未成功级联匹配的第一预测跟踪框和检测框进行匹配,从而能够有效保证匹配的完整性和全面性,避免目标跟踪丢失,保障目标跟踪准确性,提升目标跟踪效果。
本公开实施例中,第一预测跟踪框和第二预测跟踪框可以相同或者不相同,具体的划分方式可以根据目标跟踪的实际应用场景自适应配置,当采用其它任意可能的方式划分第一预测跟踪框和第二预测跟踪框时,也可以采用其他任意可能的方式来对检测框,与第一预测跟踪框和第二预测跟踪框分别进行匹配,可自适应调整,对此不做限制。
本公开实施例中,对检测框和预测跟踪框进行匹配的方法,包括但不限于采用级联匹配和/或交并比信息的方式,也即是说,还可以采用其它任意可能的方式进行匹配,比如采用人工智能模型进行匹配,或者采用工程学方式进行匹配,另外一些实施例中,在匹配之后,还可以采用加权的方式对不同匹配方式得出的匹配结果进行加权计算,以得到匹配结果,关于对检测框和预测跟踪框进行匹配此处不做具体限定。
本公开上述实施例中的“第一”“第二”是用于对字段的区分,而并不作为对本公开实施例可能实施方式的限制。
S306:从多个匹配结果之中选取出满足设定条件的目标匹配结果,并将与目标匹配结果对应的预测跟踪框作为目标跟踪框。
S307:根据与目标跟踪框对应的目标跟踪信息,对待跟踪目标进行跟踪,目标跟踪信息属于多个预测跟踪信息。
S306-S307的描述说明,可以具体参见上述实施例,在此不再赘述。
本实施例中,本实施例中,通过获取当前视频帧,并从当前视频帧之中确定出包含待跟踪目标的检测框,确定与待跟踪目标对应的多个预测跟踪框,根据检测框从多个预测跟踪框之中确定出目标跟踪框,以及根据与目标跟踪框对应的目标跟踪信息,对待跟踪目标进行跟踪,能够有效提升安全巡检场景下目标跟踪的准确性和目标跟踪效率,从而有效地满足安全巡检场景中目标跟踪的实时性需求。此外,还可以将已确认跟踪状态的第一预测跟踪框和检测框进行级联匹配,还可以结合交并比信息对未确认跟踪状态的第二预测跟踪框和检测框进行匹配,以及还可以结合交并比信息对未成功级联匹配的第一预测跟踪框和检测框进行匹配。基于跟踪状态信息确定第一预测跟踪框和第二预测跟踪框可以提升计算速度,优化计算过程,利用级联匹配算法并结合交并比信息进行匹配,能够有效保证匹配的完整性和全面性,避免目标跟踪丢失,保障目标跟踪准确性,提升目标跟踪效果。
图4是根据本公开第三实施例的示意图。
如图4所示,该目标跟踪方法包括:
S401:获取当前视频帧。
S402:从当前视频帧之中确定出检测框,检测框包括:待跟踪目标。
S403:确定与待跟踪目标对应的多个预测跟踪框,多个预测跟踪框分别具有对应的多个预测跟踪信息。
S401-S403的描述说明,可以具体参见上述实施例,在此不再赘述。
S404:确定检测框之中待跟踪目标对应的深度信息。
本实施例中,在根据多个预测跟踪信息,对检测框和第一预测跟踪框进行级联匹配时,可以首先确定检测框之中待跟踪目标对应的深度信息,该深度信息可以被用于辅助对检测框和第一预测跟踪框进行级联匹配。
其中,待跟踪目标在其所属视频帧之中的深度信息,可以被称为与待跟踪目标对应的深度信息,深度信息也可以理解为深度特征,深度信息例如但不限于包括跟踪对象的在检测框的像素、位置、大小、图像特征以及其它任意可能的信息,关于深度信息此处不做具体限定。
而在确定与待跟踪目标对应的深度信息时,可以是采用飞行时间技术(Time ofFlight,TOF)来运算得到,即传感器发出经调制的近红外光,遇物体后反射,传感器通过计算光线发射和反射时间差或相位差,来换算被拍摄景物的距离,以产生深度信息,对此不做限制。
S405:根据深度信息,结合与第一预测跟踪框对应的预测跟踪信息生成第一余弦距离矩阵。
上述在确定检测框之中待跟踪目标对应的深度信息之后,可以根据深度信息,结合与第一预测跟踪框对应的预测跟踪信息生成第一余弦距离矩阵,该第一余弦距离矩阵之中可以包括多个元素,各个元素可以分别用于表示检测框与第一预测跟踪框之间的相应特征的相似度,相应特征可以例如为图像特征、位置特征等,对此不做限制。
检测框与第一预测跟踪框之间的相应特征,可以具体例如检测框所覆盖的图像区域,和第一预测跟踪框所覆盖的图像区域之中,相应的像素点之间的色彩特征、相对位置特征等等,对此不做限制。
S406:确定检测框与第一预测跟踪框之间的第一相似度。
上述确定出的检测框与第一预测跟踪框之间的整体的相似度,可以被称为第一相似度,该第一相似度可以具体采用马氏距离来表征,或者也可以采用其它任意可能的方式来确定检测框与第一预测跟踪框之间的第一相似度,对此不做限制。
上述的第一余弦距离矩阵之中各个元素可以分别用于表示检测框与第一预测跟踪框之间的相应特征的相似度,而检测框与第一预测跟踪框之间的整体的相似度,可以被称为第一相似度。
S407:根据第一相似度对第一余弦距离矩阵中的第一目标元素进行更新,以得到第一目标矩阵,第一目标元素的元素值,大于多个第一相似度中最大第一相似度对应的值。
在确定第一相似度后,根据第一相似度对第一余弦距离矩阵中的第一目标元素进行更新,以得到第一目标矩阵。
其中,第一余弦距离矩阵中的元素值,大于最大第一相似度对应的值的元素可以被称为第一目标元素,即,第一余弦距离矩阵中大于最大马氏距离的元素被称为第一目标元素。
本实施例可以对第一余弦距离矩阵中的第一目标元素进行更新,更新后的第一余弦距离矩阵被称为第一目标矩阵。
S408:采用匈牙利算法处理第一目标矩阵,以进行级联匹配。
进一步地,采用匈牙利算法处理第一目标矩阵,以进行级联匹配。
从而,本公开实施例中可以基于所确定的第一余弦距离矩阵和检测框与第一预测跟踪框之间的整体的相似度,来对检测框和第一预测跟踪框进行级联匹配,从而实现基于相似程度来辅助完成级联匹配,保障匹配的准确性的同时,降低级联匹配的运算复杂度,从而提升整体的目标跟踪效率。此外,采用余弦距离矩阵、马氏距离算法以及匈牙利算法进行检测框与第一预测跟踪框之间的级联匹配计算,可以优化级联匹配的过程,提升检测框与第一预测跟踪框之间级联匹配准确度。
S409:根据交并比信息生成第二余弦距离矩阵。
本公开实施例中,在根据多个预测跟踪信息结合交并比信息,对检测框和第二预测跟踪框进行匹配时,首先可以根据交并比信息生成第二余弦距离矩阵。
其中,根据检测框与第二预测跟踪框之间的交并比信息(IOU)生成的余弦距离矩阵可以被称为第二余弦距离矩阵,该第二余弦距离矩阵之中可以包括多个元素,各个元素可以分别用于表示检测框与第二预测跟踪框之间的交并比信息,比如第二余弦矩阵的每一行可以表示第二预测跟踪框和每一个检测结果之间的交并比信息。
S410:确定检测框与第二预测跟踪框之间的第二相似度。
上述确定出的检测框与第二预测跟踪框之间的整体的相似度,可以被称为第二相似度,该第二相似度可以具体采用马氏距离来表征,或者也可以采用其它任意可能的方式来确定检测框与第二预测跟踪框之间的第二相似度,对此不做限制。
上述的第二余弦距离矩阵之中各个元素可以分别用于表示检测框与第二预测跟踪框之间的相应特征的相似度,而检测框与第二预测跟踪框之间的整体的相似度,可以被称为第二相似度。
S411:根据第二相似度对第二余弦距离矩阵中的第二目标元素进行更新,以得到第二目标矩阵,第二目标元素的元素值,大于多个第二相似度中最大第二相似度对应的值。
在确定第二相似度后,根据第二相似度对第二余弦距离矩阵中的第二目标元素进行更新,以得到第一目标矩阵。
其中,第二余弦距离矩阵中的元素值,大于最大第二相似度对应的值的元素可以被称为第二目标元素,即,第二余弦距离矩阵中大于最大马氏距离的元素被称为第二目标元素。
本实施例可以对第二余弦距离矩阵中的第二目标元素进行更新,更新后的第二余弦距离矩阵被称为第二目标矩阵。
S412:采用匈牙利算法处理第二目标矩阵,以进行匹配。
进一步地,采用匈牙利算法处理第二目标矩阵,以进行匹配。
从而,本公开实施例中可以基于根据交并比信息确定的第二余弦距离矩阵和检测框与第二预测跟踪框之间的整体的相似度,来对检测框和第二预测跟踪框进行交并比信息匹配,从而实现基于相似程度来辅助完成匹配,保障匹配的准确性的同时,降低匹配的运算复杂度,从而提升整体的目标跟踪效率。此外,采用余弦距离矩阵、结合交并比信息以及匈牙利算法进行检测框与第二预测跟踪框之间的匹配计算,可以优化匹配的过程,提升检测框与第二预测跟踪框之间匹配准确度。
应当理解的是,上述实例只是对结合交并比信息进行匹配的过程进行示例性说明,在实际操作中还可以采用其它任意可能的方式实现对检测框与预测跟踪框进行匹配,此处不作具体限定。
S413:从多个匹配结果之中选取出满足设定条件的目标匹配结果,并将与目标匹配结果对应的预测跟踪框作为目标跟踪框。
S414:根据与目标跟踪框对应的目标跟踪信息,对待跟踪目标进行跟踪,目标跟踪信息属于多个预测跟踪信息。
S413-S414的描述说明,可以具体参见上述实施例,在此不再赘述。
本实施例中,通过获取当前视频帧,并从当前视频帧之中确定出包含待跟踪目标的检测框,确定与待跟踪目标对应的多个预测跟踪框,根据检测框从多个预测跟踪框之中确定出目标跟踪框,以及根据与目标跟踪框对应的目标跟踪信息,对待跟踪目标进行跟踪,能够有效提升安全巡检场景下目标跟踪的准确性和目标跟踪效率,从而有效地满足安全巡检场景中目标跟踪的实时性需求。此外,在进行级联匹配和结合交并比信息进行匹配的操作中,可以结合余弦距离矩阵和相似度进行匹配,从而实现基于相似程度来辅助完成匹配,保障匹配的准确性的同时,降低匹配的运算复杂度,从而提升整体的目标跟踪效率。并且,在匹配过程中采用了余弦距离矩阵、马氏距离算法以及匈牙利算法等多种算法,分别保证了级联匹配与结合交并比匹配的准确度,进而提升了匹配过程的整体准确度。
图5是根据本公开第四实施例的示意图。
如图5所示,该目标跟踪方法包括:
S501:获取当前视频帧。
S502:从当前视频帧之中确定出检测框,检测框包括:待跟踪目标。
S501-S502的描述说明,可以具体参见上述实施例,在此不再赘述。
S503:采用卡尔曼滤波算法对待跟踪目标进行跟踪框预测,以得到多个候选跟踪框。
可选地,一些实施例,上述在确定与待跟踪目标对应的多个预测跟踪框后,可以采用卡尔曼滤波算法对待跟踪目标进行跟踪框预测,以得到多个候选跟踪框。
其中,采用卡尔曼滤波算法对待跟踪目标初步预测得到的跟踪框可以被称为候选跟踪框,也即是说,采用卡尔曼滤波算法对视频帧(该视频帧可以例如为第二视频帧、第三视频帧,...,第n视频帧中的任一帧,对此不做限制)进行预测,从而针对各帧视频帧,可以分别得出一个或者多个候选跟踪框。
S504:确定与多个候选跟踪框分别对应的多个置信度。
上述在采用卡尔曼滤波算法对待跟踪目标进行跟踪框预测,以得到多个候选跟踪框之后,可以触发确定与多个候选跟踪框分别对应的多个置信度,该置信度可以用于表示候选跟踪框与检测框匹配成功的概率。
S505:从多个置信度之中确定出目标置信度,并将目标置信度所对应的候选跟踪框作为预测跟踪框。
一些实施例中,比如可以通过阈值的方式从多个置信度中确定出目标置信度,或者还可以通过其它任意可能的方式确定目标置信度,而后将目标置信度所对应的候选跟踪框作为预测跟踪框。
从而,本实施例中采用卡尔曼滤波算法对待跟踪目标进行初步预测得到多个候选跟踪框,可以保证预测跟踪框的全面性,避免了信息的丢失。进一步根据置信度对候选跟踪框进行细粒度的筛选,可以缩小预测跟踪框的范围,从而可以降低后期匹配计算的资源占用。并且,根据置信度确定预测跟踪框,还可以保证预测跟踪框的准确性。
应当理解的是,上述实例只是对确定多个预测跟踪框进行示例性说明,实际应用中还可以采用其它的代替性方式或者算法确定多个预测跟踪框,此处不作具体限定。
S506:根据检测框,从多个预测跟踪框之中确定出目标跟踪框。
S507:根据与目标跟踪框对应的目标跟踪信息,对待跟踪目标进行跟踪,目标跟踪信息属于多个预测跟踪信息。
S506-S507的描述说明,可以具体参见上述实施例,在此不再赘述。
在本实施例中,通过获取当前视频帧,并从当前视频帧之中确定出包含待跟踪目标的检测框,确定与待跟踪目标对应的多个预测跟踪框,根据检测框从多个预测跟踪框之中确定出目标跟踪框,以及根据与目标跟踪框对应的目标跟踪信息,对待跟踪目标进行跟踪,能够有效提升安全巡检场景下目标跟踪的准确性和目标跟踪效率,从而有效地满足安全巡检场景中目标跟踪的实时性需求。并且,采用卡尔曼滤波算法对待跟踪目标进行初步预测得到多个候选跟踪框,可以保证预测跟踪框的全面性,避免了信息的丢失。进一步根据置信度对候选跟踪框进行细粒度的筛选,可以缩小预测跟踪框的范围,从而可以降低后期匹配计算的资源占用。并且,根据置信度确定预测跟踪框,还可以保证预测跟踪框的准确性。
举例而言,本公开实施例提供的目标跟踪方法在实际应用中可以通过目标检测模型和目跟踪标模型实现。图6是根据本公开实施例中目标跟踪方法的流程示意图,如图6所示,对于厂区巡检视频的视频帧,可以经过YoloV3(目标检测模型)得到跟踪对象(例如头部、手部、嘴部)的位置、置信度及各个检测框的图像特征等信息。
进一步,根据置信度对检测框进行过滤,并进行非最大抑制消除一个目标上的多个框,得到检测框,而后,针对检测框,可以采用本公开实施例中的目标跟踪方法,并结合卡尔曼滤波Kalman预测待跟踪目标在当前视频帧之后的视频帧的预测跟踪框,并对每个预测跟踪框进行参数和特征集更新,区分已确认跟踪状态的预测跟踪框和未确认跟踪状态的预测跟踪框,实现检测框与各个预测跟踪框的匹配,从而进行目标消失、新目标出现的判断。具体做法如下:
1)已确认跟踪状态的预测跟踪框进行级联匹配:对同一消失时间的多个预测跟踪框,计算当前视频帧新检测的每个目标的深度信息与各预测跟踪框已保存的特征集之间的余弦距离矩阵。在计算特征的余弦距离矩阵的基础上,计算预测跟踪框与检测框之间的马氏距离。将余弦距离矩阵中大于最大马氏距离的元素置为余弦矩阵距离大于最大马氏距离;使用匈牙利算法以余弦距离矩阵为输入进行指派,指派完成后,分类未匹配的检测、未匹配的追踪、匹配对的追踪。
2)未级联匹配上预测跟踪框、未确认跟踪状态的预测跟踪框、未级联匹配上的检测框之间基于交并比信息进行匹配,具体实现是计算余弦距离矩阵,矩阵的每一行表示一个预测跟踪框和每一个检测结果之间的交并比信息。对余弦距离矩阵中大于最大马氏距离的元素置为最大马氏距离,而后使用匈牙利算法以余弦距离矩阵作为输入进行指派,指派完成后依次统计匹配,未匹配的检测框,未匹配的预测跟踪框;匹配上的,做参数更新,未匹配的预测跟踪框有可能要删除,未匹配的检测框,初始化为新的预测跟踪框,更新保留的预测跟踪框的特征集。
图7是根据本公开第五实施例的示意图。
如图7所示,该目标跟踪装置70,包括:
获取模块701,用于获取当前视频帧;
第一确定模块702,用于从当前视频帧之中确定出检测框,检测框包括:待跟踪目标;
第二确定模块703,用于确定与待跟踪目标对应的多个预测跟踪框,多个预测跟踪框分别具有对应的多个预测跟踪信息;
第三确定模块704,用于根据检测框,从多个预测跟踪框之中确定出目标跟踪框;以及
跟踪模块705,用于根据与目标跟踪框对应的目标跟踪信息,对待跟踪目标进行跟踪,目标跟踪信息属于多个预测跟踪信息。
可选地,在本公开的一些实施例中,如图8所示,图8是根据本公开第六实施例的示意图,该目标跟踪装置80,包括:获取模块801、第一确定模块802、第二确定模块803、第三确定模块804、跟踪模块805,其中,该第三确定模块804,包括:
匹配子模块8041,用于根据多个预测跟踪信息,对检测框和多个预测跟踪框分别进行匹配,以得到与多个预测跟踪框分别对应的多个匹配结果;
选择子模块8042,用于从多个匹配结果之中选取出满足设定条件的目标匹配结果,并将与目标匹配结果对应的预测跟踪框作为目标跟踪框。
可选地,在本公开的一些实施例中,匹配子模块8041,具体用于:根据多个预测跟踪信息,对检测框和第一预测跟踪框进行级联匹配;根据多个预测跟踪信息结合交并比信息,对检测框和第二预测跟踪框进行匹配,交并比信息,是检测框和第二预测跟踪框之间的交并比信息,第一预测跟踪框和第二预测跟踪框相同或者不相同。
可选地,在本公开的一些实施例中,匹配子模块8041,具体用于:如果预测跟踪信息包括:已确认跟踪状态,则将与其对应的预测跟踪框确定为第一预测跟踪框。
可选地,在本公开的一些实施例中,匹配子模块8041,具体用于:将未成功级联匹配的第一预测跟踪框作为第二预测跟踪框;和/或如果预测跟踪信息包括:未确认跟踪状态,则将与其对应的预测跟踪框确定为第二预测跟踪框。
可选地,在本公开的一些实施例中,匹配子模块8041,具体用于:确定检测框之中待跟踪目标对应的深度信息;根据深度信息,结合与第一预测跟踪框对应的预测跟踪信息生成第一余弦距离矩阵;确定检测框与第一预测跟踪框之间的第一相似度;根据第一相似度对第一余弦距离矩阵中的第一目标元素进行更新,以得到第一目标矩阵,第一目标元素的元素值,大于多个第一相似度中最大第一相似度对应的值;以及采用匈牙利算法处理第一目标矩阵,以进行级联匹配。
可选地,在本公开的一些实施例中,匹配子模块8041,具体用于:根据交并比信息生成第二余弦距离矩阵;确定检测框与第二预测跟踪框之间的第二相似度;根据第二相似度对第二余弦距离矩阵中的第二目标元素进行更新,以得到第二目标矩阵,第二目标元素的元素值,大于多个第二相似度中最大第二相似度对应的值;以及采用匈牙利算法处理第二目标矩阵,以进行匹配。
可选地,在本公开的一些实施例中,如图8所示,第二确定模块803,包括:
预测子模块8031,用于采用卡尔曼滤波算法对待跟踪目标进行跟踪框预测,以得到多个候选跟踪框;
第一确定子模块8032,用于确定与多个候选跟踪框分别对应的多个置信度;以及
第二确定子模块8033,用于从多个置信度之中确定出目标置信度,并将目标置信度所对应的候选跟踪框作为预测跟踪框。
可以理解的是,本实施例附图8中的目标跟踪装置80与上述实施例中的目标跟踪装置70,获取模块801与上述实施例中的获取模块701,第一确定模块802与上述实施例中的第一确定模块702,第二确定模块803与上述实施例中的第二确定模块703,第三确定模块804与上述实施例中的第三确定模块704、跟踪模块805与上述实施例中的跟踪模块705,可以具有相同的功能和结构。
需要说明的是,前述对目标跟踪方法的解释说明也适用于本实施例的目标跟踪装置,此处不再赘述。
本实施例中,通过获取当前视频帧,并从当前视频帧之中确定出包含待跟踪目标的检测框,确定与待跟踪目标对应的多个预测跟踪框,根据检测框从多个预测跟踪框之中确定出目标跟踪框,以及根据与目标跟踪框对应的目标跟踪信息,对待跟踪目标进行跟踪,能够有效提升安全巡检场景下目标跟踪的准确性和目标跟踪效率,从而有效地满足安全巡检场景中目标跟踪的实时性需求。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图9是用来实现本公开实施例的目标跟踪方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如,目标跟踪方法。
例如,在一些实施例中,目标跟踪方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM903并由计算单元901执行时,可以执行上文描述的目标跟踪方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行目标跟踪方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的目标跟踪方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程目标跟踪装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网及区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
- 目标跟踪方法、目标跟踪装置、电子设备及存储介质
- 目标跟踪方法及装置、电子设备和存储介质