掌桥专利:专业的专利平台
掌桥专利
首页

目标跟踪方法及相关设备

文献发布时间:2023-06-19 12:13:22


目标跟踪方法及相关设备

技术领域

本申请涉及计算机技术领域,尤其涉及一种目标跟踪方法及相关设备。

背景技术

随着城市规模的快速扩张,城市治理已成为了一个至关重要的问题。当前的城市治理中,通过安装智能摄像头来完成视频监视和分析的任务。不同于传统的监控摄像头,智能摄像头可以在端侧完成智能分析和报警等工作,多目标跟踪在其中充当了至关重要的地位。因此,如何实现鲁棒的、实时的、高精度的多目标跟踪变成一个迫在眉睫的任务。然而,当前的多目标跟踪不能很好的实现速度与精度的折中。

发明内容

本申请实施例公开了一种目标跟踪方法及相关设备,有利于提高目标跟踪的精度和速度。

本申请实施例第一方面公开了一种目标跟踪方法,包括:在第t+1帧图像中对第一目标进行轨迹预测,以得到第一预测框,其中,所述第一目标为第t帧图像中的目标,所述t为正整数;根据所述第一预测框在所述第t+1帧图像中确定K个锚点框,其中,所述K为正整数;根据所述K个锚点框得到第二预测框以及所述第二预测框的第一置信得分;若所述第二预测框的第一置信得分大于预设得分,则确定所述第二预测框在所述第t+1帧图像中框定的第二目标为所述第一目标。

在一种可能的实现方式中,所述根据所述第一预测框在所述第t+1帧图像中确定K个锚点框,包括:根据所述第一预测框在所述第t+1帧图像中确定多个锚点框;分别计算所述第一预测框与所述多个锚点框之间的交并比,以得到多个交并比;按照由大到小的顺序对所述多个交并比进行排序,并将所述排序的结果中前K个交并比对应的锚点框作为所述K个锚点框。

在一种可能的实现方式中,所述根据所述K个锚点框得到第二预测框以及所述第二预测框的第一置信得分,包括:若所述K等于1,则将所述K个锚点框作为所述第二预测框;若所述K大于1,则根据所述K个锚点框进行组合,以得到所述第二预测框;根据所述K个锚点框中每个锚点框对应的交并比计算得到所述第二预测框的第一置信得分。

在一种可能的实现方式中,所述根据所述K个锚点框进行组合,以得到所述第二预测框,包括:根据所述K个锚点框和所述K个锚点框中每个锚点框对应的交并比进行第一乘累加计算,并将所述第一乘累加计算的结果除以K,以得到所述第二预测框。

在一种可能的实现方式中,根据所述K个锚点框中每个锚点框对应的交并比计算得到所述第二预测框的第一置信得分,包括:获取所述K个锚点框中每个锚点框的第二置信得分;计算所述K个锚点框中每个锚点框对应的交并比和所述K个锚点框中每个锚点框的第二置信得分进行第二乘累加计算,并将所述第二乘累加计算的结果除以K,以得到所述第二预测框的第一置信得分。

在一种可能的实现方式中,所述方法还包括:采用轻量级目标检测模型对所述第t+1帧图像进行目标检测;若在所述第t+1帧图像中检测得到第三目标,则对所述第三目标进行特征提取,以得到第一特征,其中,所述第三目标不为所述第一目标,所述第三目标不为所述第二目标;计算N个第二特征的平均值,以得到第三特征,其中,所述N个第二特征通过对N帧图像中的第四目标进行特征提取得到,所述N个第二特征与所述N帧图像一一对应,所述N帧图像在所述第t帧图像之前的任意N帧包括所述第四目标的图像,所述第四目标不为所述第一目标,所述第四目标不为所述第二目标,所述N为正整数;计算所述第一特征与所述第三特征的相似度;若所述第一特征与所述第三特征的相似度大于预设相似度,则确定所述第三目标为所述第四目标。

在一种可能的实现方式中,所述轻量级目标检测模型包括依次连接的:第一卷积层、最大池化层、第二卷积层、第三卷积层、第一BN层、第一ReLU层、第四卷积层、第二BN层、第二ReLU层、第五卷积层、第三BN层、第三ReLU层、第六卷积层、第四BN层、第七卷积层、第五BN层、第四ReLU层、第八卷积层、第六BN层、第九卷积层、第七BN层、第五ReLU层、第十卷积层、第八BN层、第十一卷积层、第九BN层、第六ReLU层、第十二卷积层、第十BN层、第十三卷积层、第十一BN层、第七ReLU层、第十四卷积层、第十二BN层、第十五卷积层、第十三BN层、第十六卷积层、第十四BN层、第八ReLU层、第十七卷积层、第十五BN层、第九ReLU层、深度分离卷积层、第十八卷积层、第十六BN层、第十ReLU层、ROIAlign层、全连接层、分类层、检测层。

在一种可能的实现方式中,当所述t等于1时,所述方法还包括:采用所述轻量级目标检测模型对所述第t帧图像进行目标检测,以得到所述第一目标。

本申请实施例第二方面公开了一种目标跟踪装置,包括处理单元,所述处理单元用于:在第t+1帧图像中对第一目标进行轨迹预测,以得到第一预测框,其中,所述第一目标为第t帧图像中的目标,所述t为正整数;根据所述第一预测框在所述第t+1帧图像中确定K个锚点框,其中,所述K为正整数;根据所述K个锚点框得到第二预测框以及所述第二预测框的第一置信得分;若所述第二预测框的第一置信得分大于预设得分,则确定所述第二预测框在所述第t+1帧图像中框定的第二目标为所述第一目标。

在一种可能的实现方式中,在所述根据所述第一预测框在所述第t+1帧图像中确定K个锚点框,所述处理单元具体用于:根据所述第一预测框在所述第t+1帧图像中确定多个锚点框;分别计算所述第一预测框与所述多个锚点框之间的交并比,以得到多个交并比;按照由大到小的顺序对所述多个交并比进行排序,并将所述排序的结果中前K个交并比对应的锚点框作为所述K个锚点框。

在一种可能的实现方式中,在所述根据所述K个锚点框得到第二预测框以及所述第二预测框的第一置信得分方面,所述处理单元具体用于:若所述K等于1,则将所述K个锚点框作为所述第二预测框;若所述K大于1,则根据所述K个锚点框进行组合,以得到所述第二预测框;根据所述K个锚点框中每个锚点框对应的交并比计算得到所述第二预测框的第一置信得分。

在一种可能的实现方式中,在所述根据所述K个锚点框进行组合,以得到所述第二预测框方面,所述处理单元具体用于:根据所述K个锚点框和所述K个锚点框中每个锚点框对应的交并比进行第一乘累加计算,并将所述第一乘累加计算的结果除以K,以得到所述第二预测框。

在一种可能的实现方式中,在根据所述K个锚点框中每个锚点框对应的交并比计算得到所述第二预测框的第一置信得分方面,所述处理单元具体用于:获取所述K个锚点框中每个锚点框的第二置信得分;计算所述K个锚点框中每个锚点框对应的交并比和所述K个锚点框中每个锚点框的第二置信得分进行第二乘累加计算,并将所述第二乘累加计算的结果除以K,以得到所述第二预测框的第一置信得分。

在一种可能的实现方式中,所述处理单元还用于:采用轻量级目标检测模型对所述第t+1帧图像进行目标检测;若在所述第t+1帧图像中检测得到第三目标,则对所述第三目标进行特征提取,以得到第一特征,其中,所述第三目标不为所述第一目标,所述第三目标不为所述第二目标;计算N个第二特征的平均值,以得到第三特征,其中,所述N个第二特征通过对N帧图像中的第四目标进行特征提取得到,所述N个第二特征与所述N帧图像一一对应,所述N帧图像在所述第t帧图像之前的任意N帧包括所述第四目标的图像,所述第四目标不为所述第一目标,所述第四目标不为所述第二目标,所述N为正整数;计算所述第一特征与所述第三特征的相似度;若所述第一特征与所述第三特征的相似度大于预设相似度,则确定所述第三目标为所述第四目标。

在一种可能的实现方式中,所述轻量级目标检测模型包括依次连接的:第一卷积层、最大池化层、第二卷积层、第三卷积层、第一BN层、第一ReLU层、第四卷积层、第二BN层、第二ReLU层、第五卷积层、第三BN层、第三ReLU层、第六卷积层、第四BN层、第七卷积层、第五BN层、第四ReLU层、第八卷积层、第六BN层、第九卷积层、第七BN层、第五ReLU层、第十卷积层、第八BN层、第十一卷积层、第九BN层、第六ReLU层、第十二卷积层、第十BN层、第十三卷积层、第十一BN层、第七ReLU层、第十四卷积层、第十二BN层、第十五卷积层、第十三BN层、第十六卷积层、第十四BN层、第八ReLU层、第十七卷积层、第十五BN层、第九ReLU层、深度分离卷积层、第十八卷积层、第十六BN层、第十ReLU层、ROIAlign层、全连接层、分类层、检测层。

在一种可能的实现方式中,当所述t等于1时,所述处理单元还用于:采用所述轻量级目标检测模型对所述第t帧图像进行目标检测,以得到所述第一目标。

本申请实施例第三方面公开了一种电子设备,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如本申请实施例第一方面中任一项所述的方法中的步骤的指令。

本申请实施例第四方面公开了一种芯片,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如本申请实施例第一方面中任一项所述的方法。

本申请实施例第五方面公开了一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如本申请实施例第一方面中任一项所述的方法。

本申请实施例第六方面公开了一种计算机程序产品,所述计算机程序产品使得计算机执行如本申请实施例第一方面中任一项所述的方法。

可见,在本申请实施例中,第一目标为视频流中的第t帧图像中的目标,在视频流中的第t+1帧图像中对该第一目标进行轨迹预测,以得到第一预测框;然后根据该第一预测框在第t+1帧图像中确定K个锚点框;再根据这K个锚点框得到第二预测框以及该第二预测框的第一置信得分;若该第二预测框的第一置信得分大于预设得分,则确定该第二预测框在第t+1帧图像中框定的第二目标为该第一目标。相比于现有技术中,直接通过第一预测框进行简单的交并比(Intersection over Union,IoU)匹配来跟踪目标,本申请实施例通过第一预测框和锚点框来生成第二预测框,并依据第二预测框以及该第二预测框的置信得分来跟踪目标,因此本申请实施例可以提高目标跟踪的精度。相比于现有技术中,同时使用运动线索和外观特征来跟踪目标,本申请实施例采用第二预测框来跟踪目标,仅使用了运动线索来跟踪目标,可以省去目标跟踪中复杂的关联过程,因此本申请实施例可以提高目标跟踪的速度。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种目标跟踪方法的流程示意图。

图2是本申请实施例提供的一种锚点框的示意图。

图3是本申请实施例提供的一种轻量级目标检测模型的架构示意图。

图4是本申请实施例提供的另一种目标跟踪方法的流程示意图。

图5是本申请实施例提供的一种目标跟踪装置的结构示意图。

图6是本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

为了便于理解本申请实施例,进一步分析并提出本申请所具体要解决的技术问题。

虽然当前学者们已经相继提出了多种性能优异的多目标跟踪算法,但是这些算法并不能满足现实场景的实际需求。当前大多数的多目标跟踪算法采用检测跟踪(tracking-by-detection)的思路来完成多目标跟踪的任务,这种思路存在着多个问题,具体包括:

(1)整个多目标跟踪算法的上限取决于检测算法的上限。

(2)当检测器(也即检测算法)丢失目标之后,这种方法很难根据时间线索来恢复出该丢失的目标。

(3)仅仅通过简单的IoU匹配并准确关联上相同的目标,而同时使用运动线索和外观特征来进行跟踪则需要耗费大量的时间。

针对上述问题,本申请实施例提出一种基于目标重检测和锚点选择的轻量级多目标跟踪方法,该方法使用tracking-by-redetection和锚点选择的思路来完成短轨迹的生成,并使用短轨迹合成的思路来完成多目标跟踪的任务;为了进一步提高目标关联的精度,本申请实施例还提出锚点关联的思路。从而既可以很好的摆脱多目标跟踪算法对目标检测算法的性能依赖,又可以快速、准确的生成需要的短轨迹;且可以通过短轨迹合并进一步提升多目标跟踪算法的性能。

下面结合本申请实施例中的附图对本申请实施例进行描述。

请参阅图1,图1是本申请实施例提供的一种目标跟踪方法的流程示意图,该目标跟踪方法可应用于电子设备,所述电子设备可以包括智能摄像头,该目标跟踪方法包括但不限于以下步骤。

步骤101、在第t+1帧图像中对第一目标进行轨迹预测,以得到第一预测框,其中,所述第一目标为第t帧图像中的目标,所述t为正整数。

其中,第t帧图像和第t+1帧图像为视频流中相邻的两帧图像;当第t帧图像中有多个目标时,第一目标是第t帧图像中有多个目标中的任意一个。所述目标包括行人、动物、车等。

应理解,当t等于1时,第t帧图像为第1帧图像,第1帧图像中的第一目标是通过检测得到的,例如通过目标检测算法或目标检测模型对第1帧图像进行目标检测,得到检测框,检测框中框定的目标为第一目标。当t大于1时,第t帧图像中的第一目标为通过第t-1帧图像中的目标预测得到的,或通过检测得到的;具体地,当第一目标在第t-1帧图像中出现过时,第t帧图像中的第一目标为通过第t-1帧图像中的目标预测得到的;当第一目标在第t-1帧图像中未出现过时,也即第一目标相对第t-1帧图像来说是新出现的目标,第t帧图像中的第一目标为通过检测得到的。

其中,第一预测框可以为光流预测框,也即通过光流算法预测出第一目标在第t+1帧图像的预测框;其中,该第一预测框也使用(x,y,w,h)的形式来表示,x和y表示目标的中心点,w和h分别表示第一预测框的宽和高。

步骤102、根据所述第一预测框在所述第t+1帧图像中确定K个锚点框,其中,所述K为正整数。

其中,根据第一预测框在第t+1帧图像中确定K个锚点框,也即在第一检测框的位置附近确定K个锚点框。所谓的锚点框,其实就是许多大小和尺度不同的矩形框,其常用的长宽比例有1:1、1:2、1:3、1:4、2:1、3:1、4:1等,具体的细节如图2所示。

在一种可能的实现方式中,所述根据所述第一预测框在所述第t+1帧图像中确定K个锚点框,包括:根据所述第一预测框在所述第t+1帧图像中确定多个锚点框;分别计算所述第一预测框与所述多个锚点框之间的交并比,以得到多个交并比;按照由大到小的顺序对所述多个交并比进行排序,并将所述排序的结果中前K个交并比对应的锚点框作为所述K个锚点框。

具体地,先在第一预测框的附近位置确定多个不同长宽比的锚点框;然后计算第一预测框与这多个锚点框中的每个锚点框的交并比;再按照对应的交并比由大到小选择出K个锚点框。

在本实施方式中,在第一预测框对应的所有锚点框中,选择出与该第一预测框的交并比最大的K个锚点框,从而可以提高锚点框选择的精度,有利于提高目标跟踪的精度。

步骤103、根据所述K个锚点框得到第二预测框以及所述第二预测框的第一置信得分。

其中,第二预测框是重检测框结果,其具备更高的跟踪精度。上述第一预测框、第二预测框、检测框都是矩形框,该矩形框使用(x,y,w,h)的形式来表示,x和y表示目标的中心点,w和h分别表示矩形框的宽和高。

在一种可能的实现方式中,所述根据所述K个锚点框得到第二预测框以及所述第二预测框的第一置信得分,包括:若所述K等于1,则将所述K个锚点框作为所述第二预测框;若所述K大于1,则根据所述K个锚点框进行组合,以得到所述第二预测框;根据所述K个锚点框中每个锚点框对应的交并比计算得到所述第二预测框的第一置信得分。

具体地,如果K等于1,也即与第一预测框的交并比较大的锚点框只有一个,那么直接将这个锚点框作为第二预测框。如果K不等于1,也即与第一预测框的交并比较大的锚点框有多个,那么对将这K个锚点框进行融合,得到第二预测框。

其中,第二预测框的第一置信得分可以用来评判第一目标与第二预测框框定的目标是否为同一个目标,该第一置信得分与K个锚点框中每个锚点框对应的交并比有关。

在一种可能的实现方式中,所述根据所述K个锚点框进行组合,以得到所述第二预测框,包括:根据所述K个锚点框和所述K个锚点框中每个锚点框对应的交并比进行第一乘累加计算,并将所述第一乘累加计算的结果除以K,以得到所述第二预测框。

具体地,通过公式(1)进行锚点框融合,以得到第二预测框。

在公式(1)中,

在一种可能的实现方式中,根据所述K个锚点框中每个锚点框对应的交并比计算得到所述第二预测框的第一置信得分,包括:获取所述K个锚点框中每个锚点框的第二置信得分;计算所述K个锚点框中每个锚点框对应的交并比和所述K个锚点框中每个锚点框的第二置信得分进行第二乘累加计算,并将所述第二乘累加计算的结果除以K,以得到所述第二预测框的第一置信得分。

具体地,通过公式(2)计算得到第二预测框的第一置信得分。

在公式(2)中,

步骤104、若所述第二预测框的第一置信得分大于预设得分,则确定所述第二预测框在所述第t+1帧图像中框定的第二目标为所述第一目标。

具体地,假如预设得分为λ,若第二预测框的第一置信得分大于λ,则说明第二目标与第一目标是同一个目标,则将第一目标的ID赋予第二目标;若第二预测框的第一置信得分不大于λ,则说明第二预测框是一个错误的重检测结果,此时将会断掉之前的轨迹,也即第t帧图像中的第一目标未在第t+1帧图像中出现。

在本申请实施例中,第一目标为视频流中的第t帧图像中的目标,在视频流中的第t+1帧图像中对该第一目标进行轨迹预测,以得到第一预测框;然后根据该第一预测框在第t+1帧图像中确定K个锚点框;再根据这K个锚点框得到第二预测框以及该第二预测框的第一置信得分;若该第二预测框的第一置信得分大于预设得分,则确定该第二预测框在第t+1帧图像中框定的第二目标为该第一目标。相比于现有技术中,直接通过第一预测框进行简单的IoU匹配来跟踪目标,本申请实施例通过第一预测框和锚点框来生成第二预测框,并依据第二预测框以及该第二预测框的置信得分来跟踪目标,因此本申请实施例可以提高目标跟踪的精度。相比于现有技术中,同时使用运动线索和外观特征来跟踪目标,本申请实施例采用第二预测框来跟踪目标,仅使用了运动线索来跟踪目标,可以省去目标跟踪中复杂的关联过程,因此本申请实施例可以提高目标跟踪的速度。

在一种可能的实现方式中,所述方法还包括:采用轻量级目标检测模型对所述第t+1帧图像进行目标检测;若在所述第t+1帧图像中检测得到第三目标,则对所述第三目标进行特征提取,以得到第一特征,其中,所述第三目标不为所述第一目标,所述第三目标不为所述第二目标;计算N个第二特征的平均值,以得到第三特征,其中,所述N个第二特征通过对N帧图像中的第四目标进行特征提取得到,所述N个第二特征与所述N帧图像一一对应,所述N帧图像在所述第t帧图像之前的任意N帧包括所述第四目标的图像,所述第四目标不为所述第一目标,所述第四目标不为所述第二目标,所述N为正整数;计算所述第一特征与所述第三特征的相似度;若所述第一特征与所述第三特征的相似度大于预设相似度,则确定所述第三目标为所述第四目标。

应理解,第t+1帧图像中的目标,除了是从第t帧图像中过渡到第t+1帧图像的目标外,还有可能是新出现的目标,新出现的目标也即在第t+1帧图像中出现而在第t帧图像中未出现的目标。其中,对于从第t帧图像中过渡到第t+1帧图像的目标,通过重检测跟踪得到,也即通过第二预测框跟踪得到;而新出现的目标无法通过重检测跟踪得到,因此需要采用轻量级目标检测模型第t+1帧图像进行目标检测,以确定第t+1帧图像中是否有新出现的目标。对于第t+1帧图像中的新出现的目标,可能是视频中首次出现的新目标;也可能是在第t帧图像之前出现过的,但在第t帧图像中没有出现的目标,也即轨迹断掉的目标,而对于轨迹断掉的目标,需要进行轨迹合并。

其中,对于可以通过计算新出现的目标的特征与轨迹断掉的目标的特征的相似度,来判断第t+1帧图像中的新出现的目标是否为轨迹断掉的目标。具体地,假设第三目标为第t+1帧图像中任意一个新出现的目标,第四目标为任意一个轨迹断掉的目标;先在第t+1帧图像中检测得到第三目标,也即检测框框定到第三目标,则对第三目标进行特征提取,也即在框定第三目标的检测框中进行特征提取,以得到第一特征;然后计算N个第二特征的平均值以得到第三特征值,其中,这N个第二特征通过对N帧图像中的第四目标进行特征提取得到,也即对N帧图像中每帧图像中框定第四目标的检测框进行特征提取得到,以得到N个第二特征,这N个第二特征与这N帧图像一一对应,这N帧图像在第t帧图像之前的任意N帧包括第四目标的图像;再计算第一特征与第三特征的相似度,在第一特征与第三特征的相似度大于预设相似度的情况下,则确定第三目标为第四目标,也即确定新出现的目标为轨迹断掉的目标;在第一特征与第三特征的相似度不大于预设相似度的情况下,则确定第三目标为首次出现的目标,也即新出现的目标为首次出现的目标。

其中,通过公式(3)来计算出每一个轨迹的所有检测框的特征的平均值,也包括计算轨迹断掉的目标的特征的平均值;其中,所谓的轨迹其实就是某个目标在不同视频帧图像中的检测框。

在公式(3)中,f表示某个轨迹的特征的平均值,也即第三特征;f

在本实施方式中,采用轻量级目标检测模型对第t+1帧图像进行目标检测;若在第t+1帧图像中检测得到新出现的目标,则对新出现的目标进行特征提取,以得到第一特征;并且计算轨迹断掉的目标的特征的平均值,以得到第三特征;再计算第一特征与第三特征的相似度,以及依据第一特征与第三特征的相似度来判断新出现的目标是否为轨迹断掉的目标;在新出现的目标为轨迹断掉的目标的情况下,对新出现的目标和轨迹断掉的目标进行轨迹合并,有利于提高目标跟踪的精度。

在一种可能的实现方式中,所述轻量级目标检测模型包括依次连接的:第一卷积层、最大池化层、第二卷积层、第三卷积层、第一BN层、第一ReLU层、第四卷积层、第二BN层、第二ReLU层、第五卷积层、第三BN层、第三ReLU层、第六卷积层、第四BN层、第七卷积层、第五BN层、第四ReLU层、第八卷积层、第六BN层、第九卷积层、第七BN层、第五ReLU层、第十卷积层、第八BN层、第十一卷积层、第九BN层、第六ReLU层、第十二卷积层、第十BN层、第十三卷积层、第十一BN层、第七ReLU层、第十四卷积层、第十二BN层、第十五卷积层、第十三BN层、第十六卷积层、第十四BN层、第八ReLU层、第十七卷积层、第十五BN层、第九ReLU层、深度分离卷积层、第十八卷积层、第十六BN层、第十ReLU层、ROIAlign层、全连接层、分类层、检测层。

应理解,由于整个多目标跟踪算法中的每一帧中都需要使用目标检测算法,目标检测算法的速度和精度都会影响它的性能。因此,本申请实施例在速度和精度之间做了一个折中,设计了一种轻量级目标检测模型。

具体地,该轻量级目标检测模型的基本框架如图3所示,其包括基准网络、SPA模块、Head网络;其中,SPA模块是一个空间通道注意力模块,可以极大的提升整个检测算法的精度,其在网络中的主要作用是给特征映射图上面的每一个位置设置了一个权重值,将其与原特征映射图相乘之后,可以起到强调某些位置的作用;Head网络包括检测分支和分类分支,分类分支用来执行分类任务,即说明这个检测框是哪一种类型的目标;检测分支用来执行回归任务,即将检测框调整的更加准确一些,它说明了该目标在图像中的具体位置值,通常使用[x,y,w,h]表示,x和y表示矩形框的左上角的点,w和h分别表示矩形框的宽度和高度。

其中,该轻量级目标检测模型的网络架构的实现细节如表1所示;该轻量级目标检测模型利用Pytorch框架来训练得到,整个网络的关键训练参数如表2所示。

表1网络结构

其中,表1中的S1和S2表示不同的卷积核步长;Eps和momentum是BN网络层里的具体参数,Eps是一个很小的数,用来防止分母为0;momentum是动量参数,一般为0.99左右。

表2轻量级目标检测模型的训练参数

在本实施方式中,采用轻量级目标检测模型对图像进行目标检测,有利于实现目标跟踪中速度与精度的折中。

在一种可能的实现方式中,当所述t等于1时,所述方法还包括:采用所述轻量级目标检测模型对所述第t帧图像进行目标检测,以得到所述第一目标。

应理解,第1帧图像之后的帧图像,可以采用前一帧图像中的目标对其进行跟踪,但是第1帧图像没有前一帧图像,因此需要对其进行目标检测以得到目标,然后根据第1帧图像中的目标进行后续的跟踪。其中,可以采用上述轻量级目标检测模型对第1帧图像进行目标检测,以得到第1帧图像中的目标。

请参阅图4,图4是本申请实施例提供的另一种目标跟踪方法的流程示意图,该目标跟踪方法可应用于电子设备,所述电子设备可以包括智能摄像头,该目标跟踪方法包括但不限于以下步骤。

步骤401、图像捕获以得到第t+1帧图像。

本申请实施例的应用场景是视频监控,即将监视相机悬挂在一定高度处,实时的对特定区域内出现的目标进行抓拍和分析。通过以上操作,就可以获取到待处理的图像,也即可以得到第t+1帧图像。

步骤402、判断t是否等于0。

步骤403、若t等于0,则进行轻量级目标检测。

具体地,获取到待处理图像之后,需要对该待处理图像进行分析和处理。当t等于0时,第t+1帧图像为第1帧图像,对于视频中的第1帧图像而言,首先使用一个轻量性检测算法来获取到第1帧图像中所有行人所在的具体位置,即这些行人的检测框。例如,第1帧图像中有j个目标,也即有j个行人,则对第1帧图像进行检测,得到j个检测框。由于整个多目标跟踪算法中的每一帧中都需要使用目标检测算法,检测算法的速度和精度都会影响它的性能,因而本申请实施例在速度和精度之间做了一个折中,设计了一种轻量型的目标检测算法,也即轻量级目标检测模型,该轻量级目标检测模型的网络架构的实现细节如表1所示,该轻量级目标检测模型的基本框架如图3所示。

应理解,由于第1帧图像是视频中目标首次出现,在利用轻量级目标检测模型检测到第1帧图像中所有行人的检测框后,直接将其保存,也即执行步骤409。

步骤404、若t不等于0,则利用光流预测目标位置。

应理解,通过步骤403,可以获得视频中第1帧图像中的所有行人的检测框。对于第t帧图像,首先利用密集光流算法来估计出该第t帧图像中的每个目标在第t+1帧图像中的大致位置,也即依据第t帧图像中的每个目标在第t+1帧图像中预测得到光流预测框。例如,第t帧图像中有j个目标,则在第t+1帧图像中预测得到j个光流预测框。

其中,光流预测算法是基于检测框的基础上面进行预测的,即先在视频的第1帧图像中进行目标检测以得到目标。经过大量的测试,最终选择使用FarneBake Flow算法来执行预测,虽然该算法是一个密集光流算法,但是经过加速之后,该算法不仅具有较快的速度,而且具有很高的预测精度,能够满足大多数跟踪场景的需求。对于第t帧图像中的任一个目标,进行光流预测的实现细节如下所述:

(1)获取第t帧图像中的第j个目标的检测框的中心点位置x和y和该第j个目标的检测框的宽度w高度h,其中,第t帧图像中的第j个目标为第t帧图像中的任一个目标。

(2)根据第t帧图像和第t+1帧图像,获取第t帧图像中的第j个目标的检测框中每一个像素位置处的水平和垂直偏移量d(h,w)。

(3)根据公式(4)得到第t帧图像中的第j个目标在第t+1帧图像中的预测位置。

在公式(4)中,j表示第t帧图像中的第j个目标,第j个目标可以为第一目标;

步骤405、锚点框匹配。

应理解,通过上述步骤404,可以得到第t帧图像中的所有目标在第t+1帧图像中的光流预测框,包括第t帧图像中的第一目标在第t+1帧图像中的第一预测框。也即,通过上述步骤404,可以得到第t帧图像中的所有检测框在第t+1帧图像中的大致预测位置,但是在很多种场景下,仅仅利用预测出来的大致位置会存在较大的偏差值,这样会极大的影响整个多目标跟踪算法的精度。

为了得到第t帧图像中的所有检测框在第t+1帧图像中的更加准确的预测位置,本申请实施例在光流预测出来的大致预测位置的基础上,也即在第t帧图像的每个目标对应的光流预测框的位置上,增加了很多人为设置的锚点框,用来进一步调整第t帧图像的每个目标的预测位置;再利用重检测算法来获得第t帧图像的每个目标在第t+1帧图像中的具体预测位置。

其中,所谓的锚点框,其实就是许多大小和尺度不同的矩形框,其常用的长宽比例有1:1、1:2、1:3、1:4、2:1、3:1、4:1等,具体的细节如图2所示。

针对第t帧图像中的任意一个目标在第t+1帧图像中的光流预测框来说,例如第t帧图像中的第j个目标在第t+1帧图像中的光流预测框

(1)对于第t帧图像中的第j个目标在第t+1帧图像中的光流预测框

(2)按照IoU由大到小的顺序对光流预测框

(3)当该K=1时,将该锚点框作为第j个目标在第t+1帧图像中的最终预测框;当K>1时,由于这K个锚点框和光流预测框

步骤406、获取重检测结果。

应理解,通过上述步骤405,可以得到第t帧图像中的每一个目标在第t+1帧图像中的K个锚点框,也即得到第t帧图像中的每一个检测框在第t+1帧图像中的K个锚点框;或者说,得到第t帧图像中的每一个目标在第t+1帧图像中的光流预测框对应的K个锚点框。因此,可以利用第t帧图像中的每一个目标在第t+1帧图像中的K个锚点框,来获取第t帧图像中的每一个目标在第t+1帧图像中的重检测结果。

与基于tracking-by-detection的多目标跟踪算法不同,基于tracking-by-detection的多目标跟踪算法主要通过卡尔曼滤波的匈牙利匹配算法来进行第t帧图像中的目标与第t+1帧图像中的目标的关联,而本申请实施例主要采用锚点框和重检测的思路来进行第t帧图像中的目标与第t+1帧图像中的目标的关联。

针对第t帧图像中的任意一个目标在第t+1帧图像中的光流预测框来说,例如第t帧图像中的第j个目标在第t+1帧图像中的光流预测框

(1)对于第t帧图像中的第j个目标在第t+1帧图像中的光流预测框

(2)利用SSD、YoLv3或者Yolov4等检测算法获取这K个锚点框中的每个锚点框的置信得分。

(3)通过公式(1)和公式(2)来将这K个锚点框组合起来,得到第t帧图像中的第j个目标在第t+1帧图像中的重检测框以及该重检测框的置信得分,也即得到第t帧图像中的第j个目标在第t+1帧图像中的重检测结果以及该重检测结果的置信得分。

在公式(1)或公式(2)中,

(4)通过设定的阈值来对重检测结果进行过滤。假如设定的阈值为λ,当

步骤407、非极大值抑制(non maximum suppression,NMS)去重。

应理解,通过上述步骤406,可以获得第t帧图像中的每一个目标在第t+1帧图像中的重检测结果,该重检测结果相当于tracking-by-detection中的关联结果。对于基于锚点框的目标检测算法而言,一般都会产生一些重叠率比较高的重检测框,即一个目标上面可能会出现多个比较接近的重检测框,NMS去重的主要目的是选择一个最优的重检测框,去掉其它的重检测框。

其中,NMS去重的实现细节如下所述:

(1)根据置信得分值对所有的重检测框进行排序,选择出当前最高得分的重检测框。

(2)遍历除当前最高得分的重检测框之外的其他重检测框,并计算这些其他重检测框和当前最高得分的重检测框之间的IoU值,如果该IoU值大于设定的阈值,就认为这些其他重检测框与当前最高得分的重检测框之间的重合度比较高,将这些其他重检测框删除掉。

(3)从其他没有处理的重检测框中继续选择一个当前最高得分的重检测框,重复上述操作,直至对所有目标进行了NMS去重。

步骤408、合并短轨迹。

应理解,通过上面的操作,可以获取到某个目标在整个视频中的短轨迹,由于现实场景中待跟踪的目标会遇到其它目标的遮挡,有时还会出现临时的消失,因而目标的轨迹通常的断裂的,需要执行后续的轨迹合并操作。对于跟踪任务而言,就是生成不同目标在视频帧中的轨迹,所谓的轨迹其实就是这个目标在不同视频帧中的矩形框(检测框),跟踪算法会给当前的这个目标分配一个唯一的ID值用来标识这个目标。但是由于在现实场景中可能会存在目标的遮挡、物体的快速移动等情况,会导致整个目标跟丢,此时其实整个轨迹就已经结束了,后面的帧中这个人会被赋予一个新的ID,因此需要进行轨迹合并。

本申请实施例使用的短轨迹合并过程如下所述:

(1)对于第t+1帧图像中新出现的目标而言,利用一个行人重识别算法来获取每一个新出现的目标的检测框的128维特征表示,以得到第一特征;其中,第t+1帧图像中新出现的目标是指仅在第t+1帧图像中出现,而未在第t帧图像出现的目标。

(2)通过公式(3)来计算出每一个轨迹的所有检测框的特征的平均值。

在公式(3)中,f表示某个轨迹的特征的平均值,也即第三特征;f

(3)计算该新出现的目标的第一特征和其它已经结束的轨迹的第三特征之间的相似度,如果第一特征与第三特征的相似度的大于预设相似度,则表示该新出现的目标是一个中断的轨迹,对其进行合并;也即将该新出现的目标与其特征相似度大于预设相似度的轨迹进行合并。

步骤409、更新跟踪结果。

应理解,通过上面的操作,可以准确的获取多个目标在第t+1帧图像中的重检测结果,接着将这些重检测结果的矩形框信息和ID信息保存起来,并将具有相同ID的轨迹连接起来就完成了第t+1帧图像的处理。接着继续处理后面的帧图像,直到整个视频结束为止。

在图4所描述的目标跟踪方法中,为了解决多目标跟踪算法过度依赖检测算法性能的问题,创新性的提出使用基于tracking-by-redetection和锚点选择的思路来解决该问题;通过重检测和锚点选择不仅可以提升单个目标的跟踪精度,而且可以极大的提升整个多目标跟踪算法的精度。锚点框匹配的可以省去多目标跟踪中复杂的关联过程,进一步提升多目标跟踪算法的速度。通过特征匹配来合并新轨迹,可以进一步提升整个多目标跟踪算法的精度。

上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。

请参见图5,图5是本申请实施例提供的一种目标跟踪装置500的结构示意图,该目标跟踪装置应用于电子设备,该目标跟踪装置500可以包括处理单元501,其中,各个单元的详细描述如下:

所述处理单元501用于:在第t+1帧图像中对第一目标进行轨迹预测,以得到第一预测框,其中,所述第一目标为第t帧图像中的目标,所述t为正整数;根据所述第一预测框在所述第t+1帧图像中确定K个锚点框,其中,所述K为正整数;根据所述K个锚点框得到第二预测框以及所述第二预测框的第一置信得分;若所述第二预测框的第一置信得分大于预设得分,则确定所述第二预测框在所述第t+1帧图像中框定的第二目标为所述第一目标。

在一种可能的实现方式中,在所述根据所述第一预测框在所述第t+1帧图像中确定K个锚点框,所述处理单元501具体用于:根据所述第一预测框在所述第t+1帧图像中确定多个锚点框;分别计算所述第一预测框与所述多个锚点框之间的交并比,以得到多个交并比;按照由大到小的顺序对所述多个交并比进行排序,并将所述排序的结果中前K个交并比对应的锚点框作为所述K个锚点框。

在一种可能的实现方式中,在所述根据所述K个锚点框得到第二预测框以及所述第二预测框的第一置信得分方面,所述处理单元501具体用于:若所述K等于1,则将所述K个锚点框作为所述第二预测框;若所述K大于1,则根据所述K个锚点框进行组合,以得到所述第二预测框;根据所述K个锚点框中每个锚点框对应的交并比计算得到所述第二预测框的第一置信得分。

在一种可能的实现方式中,在所述根据所述K个锚点框进行组合,以得到所述第二预测框方面,所述处理单元501具体用于:根据所述K个锚点框和所述K个锚点框中每个锚点框对应的交并比进行第一乘累加计算,并将所述第一乘累加计算的结果除以K,以得到所述第二预测框。

在一种可能的实现方式中,在根据所述K个锚点框中每个锚点框对应的交并比计算得到所述第二预测框的第一置信得分方面,所述处理单元501具体用于:获取所述K个锚点框中每个锚点框的第二置信得分;计算所述K个锚点框中每个锚点框对应的交并比和所述K个锚点框中每个锚点框的第二置信得分进行第二乘累加计算,并将所述第二乘累加计算的结果除以K,以得到所述第二预测框的第一置信得分。

在一种可能的实现方式中,所述处理单元501还用于:采用轻量级目标检测模型对所述第t+1帧图像进行目标检测;若在所述第t+1帧图像中检测得到第三目标,则对所述第三目标进行特征提取,以得到第一特征,其中,所述第三目标不为所述第一目标,所述第三目标不为所述第二目标;计算N个第二特征的平均值,以得到第三特征,其中,所述N个第二特征通过对N帧图像中的第四目标进行特征提取得到,所述N个第二特征与所述N帧图像一一对应,所述N帧图像在所述第t帧图像之前的任意N帧包括所述第四目标的图像,所述第四目标不为所述第一目标,所述第四目标不为所述第二目标,所述N为正整数;计算所述第一特征与所述第三特征的相似度;若所述第一特征与所述第三特征的相似度大于预设相似度,则确定所述第三目标为所述第四目标。

在一种可能的实现方式中,所述轻量级目标检测模型包括依次连接的:第一卷积层、最大池化层、第二卷积层、第三卷积层、第一BN层、第一ReLU层、第四卷积层、第二BN层、第二ReLU层、第五卷积层、第三BN层、第三ReLU层、第六卷积层、第四BN层、第七卷积层、第五BN层、第四ReLU层、第八卷积层、第六BN层、第九卷积层、第七BN层、第五ReLU层、第十卷积层、第八BN层、第十一卷积层、第九BN层、第六ReLU层、第十二卷积层、第十BN层、第十三卷积层、第十一BN层、第七ReLU层、第十四卷积层、第十二BN层、第十五卷积层、第十三BN层、第十六卷积层、第十四BN层、第八ReLU层、第十七卷积层、第十五BN层、第九ReLU层、深度分离卷积层、第十八卷积层、第十六BN层、第十ReLU层、ROIAlign层、全连接层、分类层、检测层。

在一种可能的实现方式中,当所述t等于1时,所述处理单元501还用于:采用所述轻量级目标检测模型对所述第t帧图像进行目标检测,以得到所述第一目标。

需要说明的是,各个单元的实现还可以对应参照图1或图4所示的方法实施例的相应描述。当然,本申请实施例提供的目标跟踪装置500包括但不限于上述单元模块,例如:该目标跟踪装置500还可以包括存储单元501,存储单元502可以用于存储该目标跟踪装置500的程序代码和数据。

在图5所描述的目标跟踪装置500中,第一目标为视频流中的第t帧图像中的目标,在视频流中的第t+1帧图像中对该第一目标进行轨迹预测,以得到第一预测框;然后根据该第一预测框在第t+1帧图像中确定K个锚点框;再根据这K个锚点框得到第二预测框以及该第二预测框的第一置信得分;若该第二预测框的第一置信得分大于预设得分,则确定该第二预测框在第t+1帧图像中框定的第二目标为该第一目标。相比于现有技术中,直接通过第一预测框进行简单的IoU匹配来跟踪目标,本申请实施例通过第一预测框和锚点框来生成第二预测框,并依据第二预测框以及该第二预测框的置信得分来跟踪目标,因此本申请实施例可以提高目标跟踪的精度。相比于现有技术中,同时使用运动线索和外观特征来跟踪目标,本申请实施例采用第二预测框来跟踪目标,仅使用了运动线索来跟踪目标,可以省去目标跟踪中复杂的关联过程,因此本申请实施例可以提高目标跟踪的速度。

请参见图6,图6是本申请实施例提供的一种电子设备610的结构示意图,该电子设备610包括处理器611、存储器612和通信接口613,上述处理器611、存储器612和通信接口613通过总线614相互连接。

存储器612包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmableread only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器612用于相关计算机程序及数据。通信接口613用于接收和发送数据。

处理器611可以是一个或多个中央处理器(central processing unit,CPU),在处理器611是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。

该电子设备610中的处理器611用于读取上述存储器612中存储的计算机程序代码,执行图1或图4所示的方法。

需要说明的是,各个操作的实现还可以对应参照图1或图4所示的方法实施例的相应描述。

在图6所描述的电子设备610中,第一目标为视频流中的第t帧图像中的目标,在视频流中的第t+1帧图像中对该第一目标进行轨迹预测,以得到第一预测框;然后根据该第一预测框在第t+1帧图像中确定K个锚点框;再根据这K个锚点框得到第二预测框以及该第二预测框的第一置信得分;若该第二预测框的第一置信得分大于预设得分,则确定该第二预测框在第t+1帧图像中框定的第二目标为该第一目标。相比于现有技术中,直接通过第一预测框进行简单的IoU匹配来跟踪目标,本申请实施例通过第一预测框和锚点框来生成第二预测框,并依据第二预测框以及该第二预测框的置信得分来跟踪目标,因此本申请实施例可以提高目标跟踪的精度。相比于现有技术中,同时使用运动线索和外观特征来跟踪目标,本申请实施例采用第二预测框来跟踪目标,仅使用了运动线索来跟踪目标,可以省去目标跟踪中复杂的关联过程,因此本申请实施例可以提高目标跟踪的速度。

本申请实施例还提供一种芯片,上述芯片包括至少一个处理器,存储器和接口电路,上述存储器、上述收发器和上述至少一个处理器通过线路互联,上述至少一个存储器中存储有计算机程序;上述计算机程序被上述处理器执行时,图1或图4所示的方法流程得以实现。

本申请实施例还提供一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,图1或图4所示的方法流程得以实现。

本申请实施例还提供一种计算机程序产品,当上述计算机程序产品在计算机上运行时,图1或图4所示的方法流程得以实现。

应理解,本申请实施例中提及的处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。

需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。

应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。

还应理解,本文中涉及的第一、第二、第三、第四以及各种数字编号仅为描述方便进行的区分,并不用来限制本申请的范围。

应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所示方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。

本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。

以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

相关技术
  • 基于多个动物的监控视频的目标跟踪方法及相关设备
  • 目标跟踪方法、电子设备及相关产品
技术分类

06120113210447