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

一种多目标跟踪方法与设备

文献发布时间:2023-06-19 12:02:28


一种多目标跟踪方法与设备

技术领域

本申请涉及信息技术领域,尤其涉及一种多目标跟踪技术。

背景技术

现有的多目标跟踪方法一般是基于目标检测和ReID(Re-identification,重识别)实现的,通常有两种方案:(1)分别训练目标检测和ReID模型,通过先调用目标检测模型对视频帧中的目标进行检测,再调用ReID模型按顺序对前后帧的检测目标做ReID;但是这种方案需要使用两个模型,无法实现参数共享,耗费较多计算资源,在显存和速度上都不占优势。(2)在同一个网络中同时回归目标框及提取ReID特征,用于目标检测,该方案能同时实现检测和ReID两种功能,实现网络的参数共享;但是该方案提取出的ReID特征较浅显。此外,在所有的多目标跟踪方法中,都存在目标长期被遮挡导致跟踪中断的问题。

发明内容

本申请的一个目的是提供一种多目标跟踪方法与设备。

根据本申请的一个方面,提供了一种多目标跟踪方法,其中,所述方法包括:

从输入视频中提取视频帧图像,并对每张所述视频帧图像中的目标进行标注;

搭建以所述视频帧图像为输入的网络结构,其中,搭建所述网络结构的过程包括:将所述视频帧图像输入卷积神经网络中进行特征提取得到对应的特征图,对所述特征图进行卷积操作得到对应的注意力图;

基于所述网络结构,设置训练参数及损失函数,训练得到多目标跟踪模型;

利用所述多目标跟踪模型进行多目标跟踪。

根据本申请的另一个方面,还提供了一种多目标跟踪设备,其中,所述设备包括:

数据准备模块,用于从输入视频中提取视频帧图像,并对每张所述视频帧图像中的目标进行标注;

网络搭建模块,用于搭建以所述视频帧图像为输入的网络结构,其中,搭建所述网络结构的过程包括:将所述视频帧图像输入卷积神经网络中进行特征提取得到对应的特征图,对所述特征图进行卷积操作得到对应的注意力图;

模型训练模块,用于基于所述网络结构,设置训练参数及损失函数,训练得到多目标跟踪模型;

跟踪模块,用于利用所述多目标跟踪模型进行多目标跟踪。

根据本申请的又一个方面,还提供了一种计算设备,其中,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行所述的多目标跟踪方法。

根据本申请的又一个方面,还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现所述的多目标跟踪方法。

本申请提供的方案中,先从输入视频中提取视频帧图像,并对每张所述视频帧图像中的目标进行标注;然后搭建网络结构,将所述视频帧图像输入卷积神经网络中进行特征提取得到对应的特征图,对所述特征图进行卷积操作得到对应的注意力图;再基于所述网络结构,设置训练参数及损失函数,训练得到多目标跟踪模型;最后利用所述多目标跟踪模型进行多目标跟踪。本申请通过网络参数共享,可以在一个网络中实现目标检测和重识别(ReID)。进一步地,本申请利用注意力机制,通过裁剪(Crop)和遮挡(Drop)两种方式实现数据增强,优化ReID特征提取,降低遮挡对于多目标跟踪的负面影响。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其他特征、目的和优点将会变得更明显:

图1是根据本申请实施例的一种多目标跟踪方法流程图;

图2是根据本申请实施例的一种用于多目标跟踪的网络结构示意图;

图3是根据本申请实施例的一种图2中X操作的示意图;

图4是根据本申请实施例的一种多目标跟踪设备示意图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本申请作进一步详细描述。

在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的装置或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

本申请实施例提供了一种使用注意力机制进行弱监督数据增强的多目标跟踪方法,该方法利用注意力机制,通过裁剪放大目标来增强分类和ReID(Re-identification,重识别)特征,通过部分遮挡来增强目标被遮挡的数据,降低遮挡对于多目标跟踪的负面影响。

在实际场景中,执行该方法的设备可以是用户设备、网络设备或者用户设备与网络设备通过网络相集成所构成的设备。其中,所述用户设备包括但不限于智能手机、平板电脑、个人计算机(PC)等终端设备,所述网络设备包括但不限于网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(CloudComputing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。

图1是根据本申请实施例的一种多目标跟踪方法流程图,该方法包括步骤S101、步骤S102、步骤S103和步骤S104。

步骤S101,从输入视频中提取视频帧图像,并对每张所述视频帧图像中的目标进行标注。

例如,在获取所述输入视频之后,可以将所述视频帧图像从所述输入视频中提取出来,并根据帧顺序以数字命名,比如:假设一个视频中有100帧,则提取出的一百张视频帧图像依次命名为0.jpg,1.jpg,...,99.jpg。然后,对每一张所述视频帧图像中的目标进行标注,标注信息可以包括目标框的位置信息、目标的类别编号、目标的ID号,其中,所述目标框的位置信息可以包括目标框左上角点x轴坐标、y轴坐标,目标框的宽度w和高度h,即所述目标框的位置信息可以表示为(x,y,w,h)。在此,可以将所述标注信息保存在与视频帧图像同名的文档中,以便于一一对应。

步骤S102,搭建以所述视频帧图像为输入的网络结构,其中,搭建所述网络结构的过程包括:将所述视频帧图像输入卷积神经网络中进行特征提取得到对应的特征图,对所述特征图进行卷积操作得到对应的注意力图。

例如,如图2所示,将所述视频帧图像(Image)输入一个卷积神经网络(CNN)中进行特征提取(Feature Extraction),提取出的特征图(Feature Map)通过一个1*1卷积操作,得到注意力图(Attention Map),公式如下:

其中,F表示特征图(Feature Map),A表示注意力图(Attention Map),M表示回归的目标框数量(即Detection维度)。

在一些实施例中,搭建所述网络结构的过程还包括:利用所述注意力图生成热力图,并根据所述热力图回归出若干个目标对应的目标框位置信息。例如,如图2所示,在此可以直接利用注意力图(Attention Map)生成的热力图(Heatmap)回归出M个目标框的位置信息。

在一些实施例中,搭建所述网络结构的过程还包括:将所述特征图与所述注意力图的M个通道逐元素相乘,得到M个部分特征图组合,其中,所述注意力图由M个通道构成;合并该M个部分特征图组合得到新特征图,对该新特征图进行卷积操作后得到分类输出和重识别特征输出。

例如,如图2所示,可以通过X操作生成新特征图(NewFeature Map),其中的X操作如图3所示。先将特征图(Feature Map)与每个通道(channel,共M个,图3仅显示4个)的注意力图(Attention Map,如图3中的A

在一些实施例中,搭建所述网络结构的过程还包括:基于所述注意力图的特征响应,选取特征响应大于预定响应阈值的若干张注意力图,分别对该若干张注意力图进行数据扩增。

例如,可以根据注意力图(Attention Map)做数据扩增,选取特征响应大于所述预定响应阈值的前m张注意力图,其中,特征响应越强越可能存在目标,m张不是定值。然后,分别利用这m张注意力图做两种方式的数据扩增。

在一些实施例中,对该若干张注意力图进行数据扩增的方式包括:将所述注意力图中大于预定裁剪阈值的元素置为1,其他元素置为0;基于所述注意力图中的元素值为1的区域,生成对应的裁剪区域;将所述裁剪区域扩增后,将扩增后的所述裁剪区域映射回所述视频帧图像,并在所述视频帧图像中根据扩增后的所述裁剪区域进行裁剪得到裁剪图片;将所述裁剪图片采样至所述多目标跟踪模型的输入图片大小,其中,处理后的所述裁剪图片作为所述多目标跟踪模型的新的输入图片。

在此,通过对所述注意力图进行裁剪(Crop)来放大特征。具体地,根据所述注意力图(Attention Map)生成裁剪区域(Crop Mask)。例如,所述裁剪区域是将所述注意力图中大于预定裁剪阈值θc的元素置为1,其他元素置为0,这一块元素值为1的区域(即所述裁剪区域)就是本申请实施例细粒度分类中需要的细节区域。为了给目标留出可以检测的余地,可以将所述裁剪区域稍微扩增后,采样至模型输入的图片大小,当作一个新的“样本”输入对模型进行训练,以强制模型“注意”这些细节区域。其中,所述预定裁剪阈值θc作为一个超参数是可以根据具体问题进行调节的。

在一些实施例中,对该若干张注意力图进行数据扩增的方式包括:将所述注意力图中小于预定擦除阈值的元素置为1,其他元素置为0;基于所述注意力图中的元素值为1的区域,生成对应的擦除区域;将所述擦除区域映射回所述视频帧图像后,在所述视频帧图像中根据所述擦除区域进行擦除,得到所述多目标跟踪模型的新的输入图片。

在此,做数据扩增的第二种方式是对目标进行模仿遮挡(Drop)的操作。例如,将所述注意力图(Attention Map)中小于预定擦除阈值θd的元素置为1,其他元素置为0,生成对应的擦除区域(Drop Mask),映射回原输入图片后,将所述擦除区域部分擦除(比如将该部分的像素值改成灰色的像素值)。

步骤S103,基于所述网络结构,设置训练参数及损失函数,训练得到多目标跟踪模型。

例如,所述训练参数包括学习率、优化器、每次输入的样本数量(Batch_size)、迭代次数(epoch)等。

在一些实施例中,所述步骤S103包括:将所述视频帧图像输入所述网络结构得到输出信息,将所述输出信息与标注信息通过所述损失函数计算得到输出的可信度;模型训练经过若干次迭代,当计算得到输出的可信度大于预定可信阈值时,得到所述多目标跟踪模型。

其中,损失函数越小,可信度越高。并且所述损失函数可更换,模型训练会朝着损失减小的方向进行。例如,可以使用L1_loss来计算输出的目标框与标注目标框的损失;用sigmoid_cross_entropy(交叉熵损失)来计算分类和ReID特征的损失;利用center_loss(中心损失)来计算得到的Attention Map的损失,用于评估注意力机制是否发挥作用。当经过若干次迭代,损失函数足够小,计算得到输出的可信度大于预定可信阈值时,就可以获得所述多目标跟踪模型。

步骤S104,利用所述多目标跟踪模型进行多目标跟踪。

例如,可以利用训练得到的所述多目标跟踪模型进行多目标跟踪。具体步骤如下:(1)读取待跟踪的视频;(2)依次将该视频的当前帧、下一帧图像输入所述多目标跟踪模型,提取目标检测框和ReID特征;(3)通过计算前后两帧图像的目标检测框的IoU值(重合度)以及ReID特征的匹配程度,实现目标的匹配,从而进行跟踪。

图4是根据本申请实施例的一种多目标跟踪设备示意图,该设备包括数据准备模块401、网络搭建模块402、模型训练模块403和跟踪模块404。

所述数据准备模块401,从输入视频中提取视频帧图像,并对每张所述视频帧图像中的目标进行标注。

例如,在获取所述输入视频之后,可以将所述视频帧图像从所述输入视频中提取出来,并根据帧顺序以数字命名,比如:假设一个视频中有100帧,则提取出的一百张视频帧图像依次命名为0.jpg,1.jpg,...,99.jpg。然后,对每一张所述视频帧图像中的目标进行标注,标注信息可以包括目标框的位置信息、目标的类别编号、目标的ID号,其中,所述目标框的位置信息可以包括目标框左上角点x轴坐标、y轴坐标,目标框的宽度w和高度h,即所述目标框的位置信息可以表示为(x,y,w,h)。在此,可以将所述标注信息保存在与视频帧图像同名的文档中,以便于一一对应。

所述网络搭建模块402,搭建以所述视频帧图像为输入的网络结构,其中,搭建所述网络结构的过程包括:将所述视频帧图像输入卷积神经网络中进行特征提取得到对应的特征图,对所述特征图进行卷积操作得到对应的注意力图。

例如,如图2所示,将所述视频帧图像(Image)输入一个卷积神经网络(CNN)中进行特征提取(Feature Extraction),提取出的特征图(Feature Map)通过一个1*1卷积操作,得到注意力图(Attention Map),公式如下:

其中,F表示特征图(Feature Map),A表示注意力图(Attention Map),M表示回归的目标框数量(即Detection维度)。

在一些实施例中,搭建所述网络结构的过程还包括:利用所述注意力图生成热力图,并根据所述热力图回归出若干个目标对应的目标框位置信息。例如,如图2所示,在此可以直接利用注意力图(Attention Map)生成的热力图(Heatmap)回归出M个目标框的位置信息。

在一些实施例中,搭建所述网络结构的过程还包括:将所述特征图与所述注意力图的M个通道逐元素相乘,得到M个部分特征图组合,其中,所述注意力图由M个通道构成;合并该M个部分特征图组合得到新特征图,对该新特征图进行卷积操作后得到分类输出和重识别特征输出。

例如,如图2所示,可以通过X操作生成新特征图(NewFeature Map),其中的X操作如图3所示。先将特征图(Feature Map)与每个通道(channel,共M个,图3仅显示4个)的注意力图(Attention Map,如图3中的A

在一些实施例中,搭建所述网络结构的过程还包括:基于所述注意力图的特征响应,选取特征响应大于预定响应阈值的若干张注意力图,分别对该若干张注意力图进行数据扩增。

例如,可以根据注意力图(Attention Map)做数据扩增,选取特征响应大于所述预定响应阈值的前m张注意力图,其中,特征响应越强越可能存在目标,m张不是定值。然后,分别利用这m张注意力图做两种方式的数据扩增。

在一些实施例中,对该若干张注意力图进行数据扩增的方式包括:将所述注意力图中大于预定裁剪阈值的元素置为1,其他元素置为0;基于所述注意力图中的元素值为1的区域,生成对应的裁剪区域;将所述裁剪区域扩增后,将扩增后的所述裁剪区域映射回所述视频帧图像,并在所述视频帧图像中根据扩增后的所述裁剪区域进行裁剪得到裁剪图片;将所述裁剪图片采样至所述多目标跟踪模型的输入图片大小,其中,处理后的所述裁剪图片作为所述多目标跟踪模型的新的输入图片。

在此,通过对所述注意力图进行裁剪(Crop)来放大特征。具体地,根据所述注意力图(Attention Map)生成裁剪区域(Crop Mask)。例如,所述裁剪区域是将所述注意力图中大于预定裁剪阈值θc的元素置为1,其他元素置为0,这一块元素值为1的区域(即所述裁剪区域)就是本申请实施例细粒度分类中需要的细节区域。为了给目标留出可以检测的余地,可以将所述裁剪区域稍微扩增后,采样至模型输入的图片大小,当作一个新的“样本”输入对模型进行训练,以强制模型“注意”这些细节区域。其中,所述预定裁剪阈值θc作为一个超参数是可以根据具体问题进行调节的。

在一些实施例中,对该若干张注意力图进行数据扩增的方式包括:将所述注意力图中小于预定擦除阈值的元素置为1,其他元素置为0;基于所述注意力图中的元素值为1的区域,生成对应的擦除区域;将所述擦除区域映射回所述视频帧图像后,在所述视频帧图像中根据所述擦除区域进行擦除,得到所述多目标跟踪模型的新的输入图片。

在此,做数据扩增的第二种方式是对目标进行模仿遮挡(Drop)的操作。例如,将所述注意力图(Attention Map)中小于预定擦除阈值θd的元素置为1,其他元素置为0,生成对应的擦除区域(Drop Mask),映射回原输入图片后,将所述擦除区域部分擦除(比如将该部分的像素值改成灰色的像素值)。

所述模型训练模块403,基于所述网络结构,设置训练参数及损失函数,训练得到多目标跟踪模型。

例如,所述训练参数包括学习率、优化器、每次输入的样本数量(Batch_size)、迭代次数(epoch)等。

在一些实施例中,所述模型训练模块403将所述视频帧图像输入所述网络结构得到输出信息,将所述输出信息与标注信息通过所述损失函数计算得到输出的可信度;模型训练经过若干次迭代,当计算得到输出的可信度大于预定可信阈值时,得到所述多目标跟踪模型。

其中,损失函数越小,可信度越高。并且所述损失函数可更换,模型训练会朝着损失减小的方向进行。例如,可以使用L1_loss来计算输出的目标框与标注目标框的损失;用sigmoid_cross_entropy(交叉熵损失)来计算分类和ReID特征的损失;利用center_loss(中心损失)来计算得到的Attention Map的损失,用于评估注意力机制是否发挥作用。当经过若干次迭代,损失函数足够小,计算得到输出的可信度大于预定可信阈值时,就可以获得所述多目标跟踪模型。

所述跟踪模块404,利用所述多目标跟踪模型进行多目标跟踪。

例如,可以利用训练得到的所述多目标跟踪模型进行多目标跟踪。具体步骤如下:(1)读取待跟踪的视频;(2)依次将该视频的当前帧、下一帧图像输入所述多目标跟踪模型,提取目标检测框和ReID特征;(3)通过计算前后两帧图像的目标检测框的IoU值(重合度)以及ReID特征的匹配程度,实现目标的匹配,从而进行跟踪。

综上所述,本申请实施例通过网络参数共享,可以在一个网络中实现目标检测和重识别(ReID)。本申请实施例通过裁剪(Crop)和遮挡(Drop)两种方式实现数据增强,优化ReID特征提取及目标遮挡问题。

另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据程序指令运行的计算机设备的工作存储器中。在此,本申请的一些实施例提供了一种计算设备,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行前述本申请的多个实施例的方法和/或技术方案。

此外,本申请的一些实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现前述本申请的多个实施例的方法和/或技术方案。

需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一些实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

相关技术
  • 一种多目标跟踪方法、装置、存储介质及电子设备
  • 一种多目标跟踪方法及装置、设备和存储介质
技术分类

06120113147843