一种基于细粒度外观表示的在线多目标跟踪方法
文献发布时间:2023-06-19 19:07:35
技术领域
本发明涉及视频场景理解与分析领域中的多目标跟踪领域,尤其涉及一种基于细粒度外观表示的在线多目标跟踪方法。
背景技术
随着计算机视觉技术和相关硬件的不断发展,使得在线高精度多目标跟踪(Multi-Object Tracking, MOT)成为可能。作为计算机视觉中的一项基本任务,多目标跟踪在自动驾驶、视频监控等场景中有着重要的作用。例如,在自动驾驶中需要使用多目标跟踪技术检测并跟踪驾驶场景中的所有目标,以确保驾驶路径的正确可行,这对于自动驾驶而言至关重要。
MOT旨在定位目标并保持其独特的身份。最近的MOT方法主要遵循逐检测跟踪的范式,并将跟踪分为两个独立的步骤:检测和关联。检测器首先检测每一帧中的目标,然后使用外观表示和位置信息作为关联基础,将目标与相应的轨迹连接起来。作为目标的固有属性,外观和位置在关联中是互补的。
然而,由于目标或摄像机运动的原因,类内和类间的遮挡是不可避免的,这对外观表示提出了更严格的要求。最近的外观表示方法提取边界框区域或中心点的特征作为外观嵌入。基于边界框的方法采用全局平均池化,将目标边界框区域的特征转变为外观嵌入。这些方法平等的对待目标特征和干扰特征(背景和其他目标),这是不合理的。研究人员注意到了这个问题,并利用目标中心的特征作为其外观嵌入,尽可能地消除了来自背景的干扰。尽管如此,当目标被遮挡时,其中心的特征仍然不可避免地会受到来自其他物体的噪声信息的干扰。这些粗粒度的全局嵌入对噪声非常敏感,因此一旦信噪比降低,就会变得不可靠。全局表示的模糊性已成为这些方法的一个障碍。随着检测器的进展,外观表示逐渐不能保持与检测相同的性能。一些研究者发现,简单地使用位置线索就足以获得令人满意的结果,而外观线索则不利于进一步的改进。在训练阶段,现有的一些方法通过跟踪视频序列或变换所有视频帧来训练Re-ID(行人重新识别)。前者不分散训练数据,而后者是正样本和负样本不平衡的。
发明内容
本发明针对现有技术中存在的技术问题,提供一种基于细粒度外观表示的在线多目标跟踪方法,侧重于目标的不同局部细节,生成的细粒度全局表示和局部表示相互补充并共同描述外观。当目标被遮挡时,本发明仍然可以根据可见的部分进行识别,类似于人类在跟踪目标时才用的策略。在训练阶段采取正负样本均衡的采样策略,使模型收敛过程更加平稳同时获得更好的性能表现。
根据本发明的第一方面,提供了一种基于细粒度外观表示的在线多目标跟踪方法,包括:训练得到在线多目标跟踪模型;将待测视频帧输入训练完成的所述在线多目标跟踪模型进行推理实现在线多目标跟踪;
所述在线多目标跟踪模型在训练阶段的输入为乱序分组采样视频帧,在推理阶段的输入为待测的单个视频帧;
所述视频帧输入所述在线多目标跟踪模型后,所述在线多目标跟踪模型的处理过程包括:
使用YOLOX检测器对所述视频帧中的目标进行检测,输出各个不同分辨率的特征图;通过ROI Align操作所述特征图获得多尺度目标浅层特征图,学习不同尺度目标浅层特征图之间的语义流并进行对齐,聚合特征上下文信息后输出融合特征;所述融合特征包括掩码特征图和表征特征图;以所述掩码特征图作为输入,利用多分支并行的目标部分掩码生成器关注目标的不同部分并生成对应部分的目标局部掩码,将各个所述目标局部掩码组合成目标全局掩码;采用加权池化操作,利用所述表征特征图、目标全局掩码和目标局部掩码生成目标细粒度嵌入;所述目标细粒度嵌入包括:全局嵌入和多个局部嵌入;
在训练阶段,所述在线多目标跟踪模型根据目标的所述全局嵌入和局部嵌入计算损失;在推理阶段,所述在线多目标跟踪模型将目标的所述全局嵌入和局部嵌入拼接起来作为关联算法中的目标身份嵌入。
在上述技术方案的基础上,本发明还可以作出如下改进。
可选的,所述乱序分组采样视频帧的生成过程为:
对所述视频帧按照其顺序进行分组,每一组中的视频帧数量为训练时设置的batch size;
所述视频帧的分组完成后,打乱分组之间的顺序,且维持组内视频帧顺序。
可选的,所述输出融合特征的过程包括:
基于多层特征融合中的FPN结构,使用残差模块替换所述FPN结构中的卷积层,使用语义流对齐模块替换所述FPN结构中的加和操作,通过学习不同尺度之间的语义流,校正各个所述目标浅层特征图之间的空间错位;
其中,所述语义流对齐模块以两个不同尺度的特征图作为输入,通过卷积和上采样将小尺度特征图转换为与大尺度特征图同样尺寸的特征图,再将两个特征图沿着通道维度拼接,并使用卷积层学习语义流;根据学习到的语义流修正原始的两个尺度的特征图的偏移并统一尺度,最后通过相加操作聚合特征图的上下文信息。
可选的,所述生成目标细粒度嵌入的过程包括:
沿着通道维度将输入的所述掩码特征图划分为多块,每一块所述掩码特征图使用一个分支进行掩码生成;
对于所述目标部分掩码生成器的各个分支,基于Non-Local注意力模块,关注目标的不同局部特征,使用卷积生成对应的目标局部掩码;采用加权池化操作,利用所述表征特征图、目标全局掩码和目标局部掩码生成所述目标细粒度嵌入。
可选的,根据所述目标细粒度嵌入计算的损失包括:分类损失和Triplet损失;
将目标的部分特征表示为:
将目标的全局特征表示为:
其中,N表示图像中目标的数量,每个目标由K个部分组成;
计算所述部分特征的软裕度的Triplet损失为:
其中,
计算所述全局特征的Triplet损失为:
计算所述部分特征的分类损失为:
计算所述全局特征的分类损失为:
其中,
可选的,第n个目标的第k部分特征的分类损失
分别采用K个线性层和Softmax的组合得到每个部分特征的分类结果向量
目标身份标签表示为
计算第n个目标的第k部分特征的分类损失为:
可选的,根据所述目标细粒度嵌入计算的损失还包括:多样性损失;所述多样性损失的计算公式为:
得到最后的所述训练损失:
其中,
可选的,将所述全局嵌入和局部嵌入拼接起来作为关联算法中的目标身份嵌入的方法包括:
基于ByteTrack跟踪算法,利用指数移动平均机制更新匹配轨迹的特征;对于第t帧中第i条匹配轨迹的特征
其中,
在跟踪算法中,特征距离矩阵
其中,
计算得到IoU的距离矩阵
其中,
计算优化后的特征距离矩阵为:
得到关联的最终距离矩阵为:
设置关联阈值,根据计算得到的最终距离矩阵是否超过该关联阈值判定该相邻帧的两个特征是否进行关联。
本发明提供的一种基于细粒度外观表示的在线多目标跟踪方法,从多尺度细粒度特征图着手,构建语义流对齐的多层特征融合模块,并使用多分支并行的目标部分掩码生成器得到目标部分细粒度掩码,从而生成目标细粒度表征用于跟踪中的目标身份关联。使用高性能检测器YOLOX对视频帧进行目标检测,得到目标边界框。选取主干输出的前三层细粒度特征图进行ROIAlign操作,得到对应的目标特征图。使用语义流对齐的多层特征融合模块学习不同尺度目标特征图之间的语义流,根据语义流引导不同尺度特征图进行语义对齐,使用加和操作聚合特征图上下文信息。采用多分支并行的目标部分掩码生成器对目标不同部位进行关注,从而生成对应的部分掩码并组合成全局掩码。最终获取全局、局部细粒度表征。在训练阶段,使用乱序分组采样视频帧,并计算相关损失进行训练。在推理阶段,使用关联算法进行目标跟踪。提高了多目标跟踪中目标表征的能力,有效提升了跟踪性能。
附图说明
图1为本发明提供的一种基于细粒度外观表示的在线多目标跟踪方法的实施例的流程图;
图2为本发明提供的一种基于细粒度外观表示的在线多目标跟踪系统的的实施例的结构示意图;
图3为本发明实施例提供的语义对齐的多尺度特征融合网络结构示意图;
图4(a)为本发明实施例提供的RB结构示意图;
图4(b)为本发明实施例提供的FAM结构示意图;
图5为本发明实施例提供的多分支并行的目标部分掩码生成器网络结构示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
图1为本发明提供的一种基于细粒度外观表示的在线多目标跟踪方法流程图,图2为本发明提供的一种基于细粒度外观表示的在线多目标跟踪系统的的实施例的结构示意图,结合图1和图2可知,该在线多目标跟踪方法包括:训练得到在线多目标跟踪模型;将待测视频帧输入训练完成的在线多目标跟踪模型进行推理实现在线多目标跟踪。
在线多目标跟踪模型在训练阶段的输入为乱序分组采样视频帧,在推理阶段的输入为待测的单个视频帧。
视频帧输入在线多目标跟踪模型后,在线多目标跟踪模型的处理过程包括:
使用YOLOX检测器对视频帧中的目标进行检测,输出各个不同分辨率的特征图;通过ROIAlign操作特征图获得多尺度目标浅层特征图,学习不同尺度目标浅层特征图之间的语义流并进行对齐,聚合特征上下文信息后输出融合特征;融合特征包括掩码特征图和表征特征图;以掩码特征图作为输入,利用多分支并行的目标部分掩码生成器关注目标的不同部分并生成对应部分的目标局部掩码,将各个目标局部掩码组合成目标全局掩码;采用加权池化操作,利用表征特征图、目标全局掩码和目标局部掩码生成目标细粒度嵌入;目标细粒度嵌入包括:全局嵌入和多个局部嵌入。
在训练阶段,在线多目标跟踪模型根据目标的全局嵌入和局部嵌入计算损失;在推理阶段,在线多目标跟踪模型将目标的全局嵌入和局部嵌入拼接起来作为关联算法中的目标身份嵌入。
本发明提供的一种基于细粒度外观表示的在线多目标跟踪方法,专注于目标的细节,构建语义对齐的多尺度特征融合网络(Flow Alignment FPN,FAFPN)来对齐和聚合高分辨率的浅层特征图,并将它们输入多分支并行的目标部分掩码生成器(Multi-head PartMask Generator,MPMG),以获得精细的目标部分掩码。此外,利用目标的部分掩码组合成全局掩码,并提取细粒度的全局-局部外观嵌入,可以更全面地表示身份。为了更合理地训练Re-ID,本发明提出了一种名为乱序分组采样(ShuffleGroup Sampling,SGS)的训练策略。在这个策略中,将视频帧按照它们的顺序分组成短的片段,然后打乱这些片段,在分散训练数据的同时平衡正样本和负样本。
实施例1
本发明提供的实施例1为本发明提供的一种基于细粒度外观表示的在线多目标跟踪方法的实施例,结合图1和图2可知,该在线多目标跟踪方法的实施例包括:训练得到在线多目标跟踪模型;将待测视频帧输入训练完成的在线多目标跟踪模型进行推理实现在线多目标跟踪。在线多目标跟踪模型在训练阶段的输入为乱序分组采样视频帧,在推理阶段的输入为待测的单个视频帧。
训练阶段包括:
步骤1,使用训练好的YOLOX检测器模型,并冻结主干和检测部分的模型参数,加入本发明中的细粒度外观表示网络。
步骤2,使用乱序分组采样视频帧,将视频帧按照它们的顺序分组成短的片段,然后打乱这些片段作为训练时的模型输入,分组大小为训练设置的batch size。使用与ByteTrack相同的数据集来训练YOLOX,包括CrowdHuman、MOT17、Citypereson和ETHZ,然后冻结训练后的检测器参数,并分别在MOT17、MOT20、DanceTrack等数据集上训练Re-ID。训练Re-ID时batchsize设置为8,使用两张1080Ti显卡进行训练。部分特征维度和全局特征维度分别为128和256。目标掩码数设置为6。使用Adam优化器更新模型参数,初始学习率为
步骤3,使用目标边界框标签作为输入,使用ROI Align操作提取主干输出的前三层细粒度特征图中目标边界框区域的特征图,得到对应尺度的目标特征图。
步骤4,以多尺度目标特征图作为输入,使用语义流对齐的多层特征融合学习不同尺度特征图之间的语义流并进行对齐,聚合特征上下文信息后输出融合特征,包括掩码特征图和表征特征图。
在一种可能的实施例中,步骤4包括:基于多层特征融合中常用的FPN结构,使用残差模块替换FPN(Feature Pyramid Networks,特征金字塔网络)结构中的卷积层以更好地提取特征信息,同时使用语义流对齐模块替换FPN结构中的加和操作,通过学习不同尺度之间的语义流,校正各个目标浅层特征图之间的空间错位。
其中,语义流对齐模块以两个不同尺度的特征图作为输入,通过卷积和上采样将小尺度特征图转换为与大尺度特征图同样尺寸的特征图,再将两个特征图沿着通道维度拼接,并使用卷积层学习语义流;根据学习到的语义流修正原始的两个尺度的特征图的偏移并统一尺度,最后通过相加操作聚合特征图的上下文信息。
FAFPN的整体结构如图3所示,其中包含的残差块(ResBlock,RB)和语义流对齐模块(Flow Alignment Module,FAM)在图4(a)和图4(b)中具体展示。残差块(ResBlock,RB)取代了FPN中的1*1卷积,可以更充分地融合浅层特征。加和操作被替换为语义流对齐模块(Flow Alignment Module,FAM),使语义对齐成为可能。通过RB统一多尺度特征图的通道维度,然后输入FAM进行对齐和聚合。最后,使用两个RB分别生成
图4(a)和图4(b)为RB和FAM的具体结构。RB是一个简单的残差块。它结合1*1卷积和BN层对输入特征图的通道维度进行变换,然后应用残差结构得到其输出。FAM将来自不同尺度的两个特征图作为输入。在上采样后,
步骤5,对于输入的掩码特征图,沿着通道维度将其划分为多块,每一块特征图使用一个分支生成目标部分掩码。将得到的多个目标部分掩码组合成全局掩码,采用加权池化操作,利用表征特征图和目标全局、局部掩码生成目标细粒度嵌入,包括全局嵌入和多个部分嵌入。
生成目标细粒度嵌入的过程包括:
沿着通道维度将输入的掩码特征图划分为多块,每一块掩码特征图使用一个分支进行掩码生成;每一块目标特征图可以认为是目标的不同映射。
对于目标部分掩码生成器的各个分支,基于Non-Local注意力模块,关注目标的不同局部特征,使用卷积生成对应的目标局部掩码;采用加权池化操作,利用表征特征图、目标全局掩码和目标局部掩码生成目标细粒度嵌入。
如图5所示,对于MPMG中的任何分支,即PMG,分别使用三个1*1卷积来获取query、key和value。query和key生成注意力矩阵,注意力矩阵乘以value,然后与输入相加。在此之后,使用结合1*1卷积和Sigmoid层来生成值在0和1之间的目标部分掩码。对其余的特征块执行相同的操作,从而产生K个不同的目标部分掩码。沿着通道维度拼接多个目标部分掩码,并在通道维度取最大值,形成包含不同局部信息的全局掩码。值得注意的是,并行分支之间参数不共享,这确保了足够的注意力多样性。
步骤6,对于全局嵌入和多个局部嵌入分别计算分类损失、Triplet损失和多样性损失。
将目标的部分特征表示为:
将目标的全局特征表示为:
其中,N表示图像中目标的数量,每个目标由K个部分组成;
计算部分特征的软裕度的Triplet损失为:
其中,
类似地,计算全局特征的Triplet损失为:
计算所述部分特征的分类损失为:
计算所述全局特征的分类损失为:
其中,
第n个目标的第k部分特征的分类损失
在得到K个部分特征后,分别采用K个线性层和Softmax的组合得到每个部分特征的分类结果向量
将目标身份标签表示为
计算第n个目标的第k部分特征的分类损失为:
由于多分支结构的特点,仅使用分类损失和Triplet损失并不能保证模型关注于目标的不同部分。为了避免多个分支关注相似的细节,可以使用多样性损失减小同一目标的不同部件特征之间的相似度,根据目标细粒度嵌入计算的损失还包括:多样性损失;多样性损失的计算公式为:
多样性损失的目的很直观,即使得同一目标的不同部分特征之间的余弦相似度尽可能低。将上述损失合并得到最后的训练损失:
其中,
推理阶段包括:
步骤1',根据视频帧顺序,将单个视频帧作为在线多目标跟踪模型在训练阶段的输入。
步骤2',检测视频帧中所有的目标并进行后处理,获得目标检测框和检测分数。
步骤3',以检测框作为输入,使用ROIAlign操作提取主干输出的前三层细粒度特征图中目标边界框区域的特征图,得到对应尺度的目标特征图。
步骤4'和步骤5'与训练阶段中的步骤4、5相同。
步骤6',将得到的全局嵌入和多个部分嵌入按照通道维度拼接起来,作为目标的外观表示,作为关联算法中判断目标身份的依据。
步骤7',基于ByteTrack跟踪算法,利用指数移动平均(EMA)机制更新匹配轨迹的特征。对于第t帧中第i条匹配轨迹的特征
其中,
在跟踪算法中,特征距离矩阵
其中,
同时,可以计算得到IoU的距离矩阵
其中,
为了排除远处目标的干扰,只考虑IoU距离小于1的目标对之间的特征距离,这意味着存在边界框重叠。计算优化后的特征距离矩阵为:
将优化后的特征距离矩阵与IoU矩阵的乘积进行平方后,得到关联的最终距离矩阵为:
设置关联阈值,根据计算得到的最终距离矩阵是否超过该关联阈值判定该相邻帧的两个特征是否进行关联,例如可以将关联阈值设置为0.5。
将以上过程整合为统一的多目标跟踪框架,在MOT17和MOT20测试集上进行实验验证本发明的有效性。使用CLEAR-MOT指标,如HOTA、MOTA、IDF1、IDs、FP、FN等,来评估跟踪性能。其中HOTA综合评价检测、关联和定位的效果,MOTA表示整体跟踪正确的轨迹占比,IDF1表示跟踪轨迹的身份置信度得分,MT表示跟踪轨迹中有效长度超过80%的轨迹占比,ML表示跟踪轨迹中有效长度少于20%的轨迹占比,FP表示背景被判作跟踪对象的数量,FN表示跟踪对象被判作背景的数量,IDs表示轨迹中发生身份转换的次数。
MOT17测试集上的跟踪结果如表1所示,MOT17各视频具体结果见表2。MOT20测试集上的跟踪结果如表3所示,MOT20各视频具体结果见表4。
表1 MOT17测试集最终结果
表2 MOT17测试集各视频具体结果
表3 MOT20测试集最终结果
表4 MOT20测试集各视频具体结果
本发明实施例提供的一种基于细粒度外观表示的在线多目标跟踪方法,从多尺度细粒度特征图着手,构建语义流对齐的多层特征融合模块,并使用多分支并行的目标部分掩码生成器得到目标部分细粒度掩码,从而生成目标细粒度表征用于跟踪中的目标身份关联。使用高性能检测器YOLOX对视频帧进行目标检测,得到目标边界框。选取主干输出的前三层细粒度特征图进行ROIAlign操作,得到对应的目标特征图。使用语义流对齐的多层特征融合模块学习不同尺度目标特征图之间的语义流,根据语义流引导不同尺度特征图进行语义对齐,使用加和操作聚合特征图上下文信息。采用多分支并行的目标部分掩码生成器对目标不同部位进行关注,从而生成对应的部分掩码并组合成全局掩码。最终获取全局、局部细粒度表征。在训练阶段,使用乱序分组采样视频帧,并计算相关损失进行训练。在推理阶段,使用关联算法进行目标跟踪。提高了多目标跟踪中目标表征的能力,有效提升了跟踪性能。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
- 基于跟踪片段置信度和区分性外观学习的多目标跟踪方法
- 基于跟踪片段置信度和区分性外观学习的多目标跟踪方法