基于双解码器的Transformer多目标跟踪方法

2023-07-03 14:12宣士斌秦续阳李紫薇
计算机应用 2023年6期
关键词:解码器卡尔曼滤波直方图

王 利,宣士斌,2*,秦续阳,李紫薇

(1.广西民族大学 人工智能学院,南宁 530006;2.广西混杂计算与集成电路设计分析重点实验室(广西民族大学),南宁 530006)

0 引言

多目标跟踪(Multi-Object Tracking,MOT)是计算机视觉研究的重要组成部分,应用领域越来越广,如交通运输、国防建设、军事控制、自动驾驶等。从视频监控到自动识别、姿态识别到行为分析,目标跟踪都是计算机视觉中不可或缺的部分,但在真实世界中,视频跟踪关注的目标往往集中在人身上且需要关注的目标通常不止一个,所以MOT 的应用也越来越广泛,对多目标跟踪精确度的要求也越来越高,针对多目标跟踪的解决方法也层出不穷。纵观多目标跟踪方法的发展历史,大概经历了两个阶段。

阶段一 概率统计最大化的追踪,如多假设多目标追踪(Multiple Hypothesis Tracking,MHT)算法[1]、基于检测可信度的粒子滤波算法[2]、基于最小代价流优化的算法[3]、基于马尔可夫决策的算法[4]等。

阶段二 深度学习的应用,如基于对称网络的算法[5]、基于最小多割图模型的算法[6]、通过时空域关注模型学习多目标跟踪算法[7]、基于循环网络判别融合表观运动交互的多目标跟踪算法[8]等。

与单目标跟踪不同,多目标跟踪最大的特点在于数据关联,所要面对的场景更加复杂,也更具挑战性。除了单目标跟踪遇到的问题之外,多目标跟踪通常还会遇到以下问题:1)跟踪目标的自动初始化和自动终止;2)跟踪目标的运动预测和相似度判别;3)跟踪目标之间的交互和遮挡处理;4)跟踪目标再出现时,如何进行再识别。

多目标跟踪的本质任务是初始化一组目标轨迹序列,并在跟踪过程中保留身份信息,达到持续跟踪的目的。随着像素级目标检测的发展,目标跟踪基本遵循检测-跟踪模式,分为两个基本步骤:一是在视频帧中检测出目标;二则通过关联结构将前后两帧的目标关联起来,从而形成连续的目标轨迹。数据关联问题可以从多个角度解决,如最小代价流[3]、马尔可夫决策过程[4]、部分滤波[9]、匈牙利算法[10]和图割[6]等。检测和关联结构中都面临着巨大的挑战,如小目标检测、目标遮挡、对象重新识别等问题。

目前,基于注意力的Transformer[11]目标跟踪方法大多采用端到 端的策 略,如TransTrack[12]、TrackFormer[13]、TransCenter[14]等。这类模型由输入的视频序列直接输出跟踪结果,其中TrackFormer[13]是基于端到端的可训练Transformer[11]编码器-解码器架构。首先通过卷积神经网络(Convolutional Neural Network,CNN)获得多尺度特征图,然后送入训练好的编码器结构中进行编码,并将查询结果解码到对应相关的边界框中。数据关联是通过跟踪查询回归来实现。预设300 个查询,每个查询代表一个目标对象,然后在视频序列中以自回归的方式在空间和时间上跟踪它。每一帧都通过编码器-解码器处理输入图像的特征,解决跟踪和对象查询问题,并输出带有身份标识的边界框;因此TrackFormer[13]不依赖任何额外的轨迹匹配、图形优化或运动和外观的显式建模,在它跟踪的过程中,丢失的目标很难通过编码器-解码器结构找回。为此,本文提出融合运动特征与表观统计特性的多目标跟踪器模型。受TransTrack[12]多解码器的启发,所提模型在TrackFormer[13]的基础上设计双解码器用于修正目标样本,额外设置了直方图匹配找回跟踪丢失的目标,被遮挡的目标则通过卡尔曼滤波进行轨迹预测;然后通过直方图匹配判断遮挡后新出现的目标是否为丢失的目标,以此保证跟踪的持续性。利用Transformer[11]在目标跟踪中的特性,即每个跟踪目标在预设的300 个查询中ID一致,新出现的目标ID 与丢失目标ID 一致,进行匹配以消除碎片化轨迹。在MOT17 数据集上的实验结果也佐证了提出模型的有效性,提出模型的细节在后续章节中介绍。

本文主要工作如下:

1)利用双解码器修正目标,解决目标由于短暂的遮挡引起的目标丢失问题。

2)利用图形外观特征进行直方图匹配,找回丢失的目标。

3)通过光流判断摄像头是否移动,利用运动特征和卡尔曼滤波预测目标运动轨迹,保证目标的连续性。

1 相关工作

1.1 目标跟踪模式

检测-跟踪模式是在给定检测结果的基础上建立目标之间的数据关联,随着时间形成轨迹的方法。一般使用关联图[15]、学习模型[16]、运动信息[17]、通用求解器[18]、multicut[19]或者是可训练的图神经网络MPNTrack[20]进行轨迹关联和长期再识别;然而,基于图的方法受昂贵的优化成本影响,限制了它们在在线跟踪方面的实际应用。外观驱动方法利用日益强大的图像识别骨干网络,通过依赖孪生神经网络[21]给出的相似性度量跟踪目标,或者通过学习reID 特征[22]、检测候选选择[23]或亲和力估计[24]跟踪目标。外观模型在拥挤的场景中会遇到很多物体-物体遮挡问题,而运动可以被建模用于轨迹预测,采用恒定速度假设(Constant Velocity Assume,CVA)或社会力模型,从数据学习运动模型也可以实现帧之间的轨迹关联。

回归-跟踪模式通过将过去的对象位置回归到当前帧中新的位置实现跟踪。一些方法将目标检测器转换为跟踪器[25],利用对象检测器的边界框回归预测对象在下一帧中新的位置,通过简单的重新识别和相机运动补偿对它进行扩展,显现出跟踪器的可扩展性。CenterTrack[26]将对象表示为中心点,允许通过基于距离的贪婪匹配算法进行关联。在这种方法中,目标检测器不仅提供帧检测,而且使用每条轨迹的连续回归替代数据关联步骤,以确定目标位置,即利用对象检测器的边界盒回归预测对象在下一帧中的位置,从而将检测器转换为跟踪器,隐含地实现了轨迹关联,依靠额外的图形优化或运动和外观模型实现最高性能。在检测-回归的基础上引入一个注意力跟踪的范例,不仅适用于关注数据关联,还以统一的方式进行跟踪和检测,简化了跟踪结构,并且可以预测从上一帧到下一帧的运动轨迹,通过时间的推移形成完整的目标轨迹。

分割-跟踪模式不仅可以预测遮挡对象,还可以利用像素级信息改善拥挤和模糊背景区域的问题。一些研究尝试使用分类不确定的图像分割,应用Mask R-CNN(Mask Regionbased Convolutional Neural Network)[27]、三 维(Three Dimensional,3D)卷积[28]和Mask 池化层[29],或将对象表示为无序点云[30];然而,带注释的MOT 分割数据的缺乏使得现阶段多目标跟踪使用的方法无法进行公正评判。

基于注意力的图像识别[11],将输入的每个元素与其他元素关联,并应用于图像生成和目标检测。对于MOT 来说,注意力只是用来将一组给定的目标检测关联起来,而不是联合处理检测和跟踪问题,它需要额外的处理过程。

1.2 TrackFormer

TrackFormer[13]将整个跟踪目标映射为一个单一的集合预测问题,结合了轨迹初始化、身份和时空信息,并且只依赖功能级别的全局关注,将注意力运用在跟踪问题上,是一个端到端可训练的Transformer[11]编码器-解码器架构。对CNN 的帧级特征进行编码,将查询解码成与身份表征相关的边界框,并通过新颖、简单的轨道查询概念完成数据关联。每个查询表示一个对象,在视频序列中以自回归的方式在空间和时间上跟踪该对象。进入场景的新对象由静态对象查询检测,如Deformable DETR(Deformable DEtection TRansformer)[31],然后转换为未来的跟踪查询。在第一帧中,编码器-解码器处理输入的图像特征,经过编码器-解码器结构输出检测到的目标边界框,此后每一帧,解码器不仅处理新对象查询,也对上一帧中出现的目标进行跟踪处理,回归出每一个目标在本帧中的位置,并输出具有指定标识的边界框。因此,TrackFormer[13]以一种新的tracking-by-attention 范式实现了一种无缝的帧间数据关联,注意力机制确保了模型同时考虑位置、遮挡和目标的识别特征,而不依赖于任何额外的轨迹匹配、图形优化或运动和外观的显式建模。

TrackFormer[13]在跟踪过程中仍然存在如下不足:未考虑轨迹暂存和找回、目标ID 切换(ID Switch,IDSW)频繁、跟踪碎片较多。为此,本文将TrackFormer[13]与运动特征和表观统计特性融合,具体方法如下。

1)设置了双解码器以修正跟踪结果,一个解码器用于检测目标,一个解码器用于跟踪目标。

2)对丢失的目标进行轨迹暂存,并利用直方图匹配丢失的目标和新目标以找回目标,可以通过Transformer[11]结构中300 个查询对象的ID 进行判断,若丢失的目标和新增目标在查询中的ID 一致则进行直方图匹配。

3)利用卡尔曼滤波对因遮挡而丢失的目标进行位置修正和持续跟踪,保证目标在遮挡的情况下能正常跟踪。

2 基于双解码器的Transformer多目标跟踪器

本文方法的框架结构如图1 所示。

图1 本文方法的框架流程Fig.1 Framework flow of the proposed method

模型包含5 个模块:多层卷积单元、编码器单元、解码器单元、直方图匹配单元和卡尔曼滤波单元。针对被遮挡目标再出现后身份IDSW 的问题,提出了双解码器结构修正检测解码器的目标查询编码。针对目标被遮挡后丢失的问题,提出由卡尔曼滤波预测目标位置的方法。针对丢失或者不活跃的目标身份信息找回问题,提出了直方图匹配方法。数据基本流程为:首先输入连续的RGB 图像进入多层卷积单元,得到多尺度特征图,经过编码器形成特征编码;然后通过双解码器结构得到目标解码特征,经过前馈神经网络后得到目标包围盒和分类信息;再对丢失的目标在3 帧内进行卡尔曼滤波预测,对不活跃的目标与新增的目标进行直方图匹配以找回身份信息。提出的3 个新模块的详细实现细节分别介绍如下。

2.1 双解码器修正跟踪结果

如图2 所示,当许多目标短期丢失或者遮挡后再出现时,ID 发生了改变,并且不会找回之前的ID。图2(a)中23号目标和图2(b)中29 号的目标实际为同一目标,但在短时间的遮挡后再出现时发生了ID 切换和目标框漂移。出现这种情况的原因是解码器是一种注意力构建块,其中的自注意力层,类似于non-local 的神经网络,先扫描序列中的每个元素,然后通过聚合完整序列中的信息更新每个元素。在处理目标遮挡时,被遮挡目标外观发生改变,注意力机制无法利用之前的信息判断目标的一致性,致使目标框停留在被遮挡时的位置,当目标再次出现时就更换了身份ID。在多目标跟踪过程中会有大量的目标遮挡和移动,因此会产生大量的漂移和ID 切换,这严重影响了多目标跟踪器性能。

图2 被遮挡目标出现ID切换Fig.2 ID switch appearing on occluded object

在TrackFormer[13]中,用1×256的向量标记目标,每一组向量包含了目标的外观特征、身份和位置信息,在跟踪过程中会不断更新;但在跟踪过程中,信息的不断累加并没有使得目标能被持续跟踪,反而包含了更多的环境和遮挡物信息。根据TrackFormer[13]初始化查询的信息得知,在遇到遮挡问题时,被遮挡的目标信息被污染,更新到1×256 向量中的信息已经无法判别身份信息,一旦目标再次出现,就不能通过此向量重新识别,将会生成一个新的目标并为它赋予新的ID,而原目标会随着被污染信息留在原地,形成目标框的漂移。

针对上述问题,本文利用TrackFormer[13]的初始化功能设计了一个新的分支用于检测每一帧的目标。原结构为单分支解码器同时用于检测和跟踪目标,在此新增一个检测解码器分支,用于在每一帧中检测目标,原分支用于跟踪目标和检测新目标,然后利用匹配算法对两个分支的目标进行匹配,将匹配成功的跟踪目标向量每5 帧更新为检测目标向量。当目标丢失和出现遮挡时则停止更新,并将目标轨迹暂存,保证信息的完整性,以方便后续进行匹配。取n=5,即每5 帧将跟踪目标向量更新为检测目标向量,是为了确保跟踪目标积累的位置信息不至于彻底丢失,这样既能保证获得目标的最新信息,也能保证目标的跟踪效果,同步了目标的位置信息和外观特征,缓解了目标因短暂的遮挡引起的目标丢失问题。

双解码器单元具体结构实现如图3 所示,第t帧图像通过CNN后得到多尺度特征图,然后输入编码器结构,经过编码器后的结果送入两个不同的解码器,设置解码器的初始目标为K=300。跟踪解码器输入N+300个查询目标,N为上一帧跟踪的目标数。若N得分大于等于0.8,则表示目标在本帧中持续保持身份;若在剩下300 个目标中有ε个目标分数大于等于0.9,则为本帧中新检测出的目标并赋予新的ID。检测解码器输入300 个查询目标,其中有M个目标分数大于等于0.9,然后将N+ε个目标与M个目标进行匹配,匹配成功之后在n=5 的情况下,将跟踪目标向量更新为检测目标向量。跟踪目标向量在t+1 帧中叠加在300 个目标之前,即在t+1 帧的时候输入N+ε+300 个目标,当前N+ε个目标的得分大于等于0.8时表示跟踪成功;300个目标中得分大于等于0.9时表示有新目标出现,以此循环往复直到最后一帧。新增的检测解码器在300个查询上与跟踪解码器的后300个查询共享权重,区别在于跟踪解码器的输入为N+300 个查询,N为上一帧跟踪的目标个数,而检测解码器的输入为300 个查询仅用于检测目标。

图3 双解码器流程Fig.3 Flow of dual-decoder

本文想法借鉴同为双解码结构的TransTrack[12],双解码器一支用于检测,一支用于跟踪,检测分支300 个查询,跟踪分支N个查询,N为上一帧目标,在经过两个分支解码器之后的目标还需要利用匈牙利算法进行匹配,匹配成功才可确认目标身份信息,较大程度上依赖于匹配算法。本文方法新设计的双解码器一支用于跟踪目标和检测新出现的目标,另一支用于检测后更新符合条件的已存在目标的信息,检测分支300 个查询,跟踪分支N+300 个查询,前N个目标身份直接回归得出,并不取决于双解码器的匹配结果,主要解决了目标信息更新和遮挡问题。双解码器的结构如图4 所示。

图4 双解码器结构明细图Fig.4 Dual-decoder structure details

双解码器实验效果如图5 所示,图5(a)中24 号目标与4号目标即将出现轨迹交叉,图5(b)中24 号目标在经过4 号目标的遮挡后ID 依然为24,证明了双解码器的有效性。

图5 双解码器修正结果Fig.5 Dual-decoder correction results

2.2 直方图匹配解决目标丢失问题

2.2.1 不活跃目标的匹配

原结构在丢失的目标上应用了像素级匹配,将丢失的目标与新增的目标在一定的帧数内作像素级匹配,匹配成功的目标则恢复身份ID。但是根据Transformer[11]的编码器-解码器结构可知,编码器-解码器并不是单纯的像素上的应用,自注意和交叉注意的结果更注重像素之间的联系而不是像素本身,每一个1×256 的目标向量,不仅包含目标表观信息,更有运动信息和位置信息,所以不能单纯地用像素级关联来找回丢失的目标,因此,本文提出了直方图匹配法。

直方图匹配是一个轻量级的过程。目标在移动的过程中,大小、形状都有可能发生变化,甚至背景也会发生较大的变化。在这种情况下若使用简单的模板匹配结果往往不理想,而且模板匹配对图像的大小有一定的要求,跟踪过程中目标的大小不稳定,因此本文提出了直方图匹配,将检测目标裁剪后提取HSV 颜色直方图,使两幅图像的操作保持一致,通过直方图进行匹配,这样的匹配方式对图像的要求较少,且适合跟踪过程中不同程度的变化,很容易得出结果。经过实验,将匹配阈值设为0.3。

直方图匹配单元如图6 所示。丢失的目标进入不活跃目标库,在接下来的15 帧中,每当出现新目标,则将新目标与不活跃的目标进行直方图匹配。值得注意的是,在这里使用的是第一次检测出目标的直方图,因为目标在丢失的时候一般是遮挡状态,在这个状态下提取的目标受污染严重,匹配效果较差,所以取目标第一次出现时候的直方图,并存储起来,以便后续匹配使用。

图6 直方图匹配丢失目标Fig.6 Histogram matching missing objects

2.2.2 track-query-ID 消除碎片化轨迹

在实验过程中,Transformer[11]的编码器-解码器结构需要预先初始化300 个查询。在DETR 中最先固定的查询数为100,但由于多目标跟踪中目标数量庞大,进入和离开的目标数量也巨大,因此在TrackFormer[13]中将查询数设置为300。TransCenter[14]中使用了500个查询是考虑到了庞大的目标数。

将300 个目标进行编号并放回原图像中可以发现初始化目标的规律。在第一帧中初始化的目标所占有的ID,与后续几帧检测出的相匹配的目标ID 一致,说明300 个目标中每一个目标都会固定占有一个ID。但这种现象只能保持一段时间,因为不断有目标出现和消失,而且编号与位置信息有着莫大的联系,当目标在运动过程中出现不稳定因素的时候,ID 的变化就可以说明这个结论。实验中还发现当在相同的地方出现新目标或者是丢失后又出现的目标,其编号相同,说明每一个相同ID 的目标中位置信息很重要,也包含目标本身信息。根据这个发现,利用这种特殊结构的ID 来判断相同ID 的目标是否是丢失的目标,从而找回中断的目标,减少碎片化轨迹的数量。但是由于位置信息在编码器-解码器结构中的重要性质,导致位置重复的目标也有相同的ID,为了不盲目匹配目标,本文采用了额外的直方图匹配确定目标的一致性。

2.3 卡尔曼滤波修正被遮挡目标位置

卡尔曼滤波是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。经过一系列改进,卡尔曼滤波可以应用于视频跟踪序列中预测目标在下一帧中的位置,也可以通过预测的位置修正目标的真正位置,且可通过卡尔曼预测位置找回丢失的目标。因此在目标丢失的情况下,本文选择卡尔曼滤波辅助系统进行目标预测,转移方程和转移矩阵公式如下:

其中:z(k)表示系统k时刻的M维状态矢量;Φ(k,k-1)为状态转移矩阵;状态模型误差w(k)表示零均值的白噪声随机序列。该方程表示根据k-1 时刻的状态向量z(k-1)预测k时刻的状态向量z(k)。

本文中的状态z(·)使用运动学的基本物理量(位移、速度、加速度)描述目标的运动规律,分别表示为s(k)、v(k)、a(k)。k时刻目标的状态z(k)记为z(k)=式(2)表示完成状态转移所需的匀加速线性运动的一组方程,状态转移矩阵Φ(k,k-1)如式(3)所示:

其中:I2表示二维单位矩阵,O2表示二维零矩阵。

在跟踪实验过程中发现大部分目标一经遮挡或者移动速度较快的时候,在基于Transformer[11]编码器-解码器结构中,注意力机制并不能发挥良好的跟踪效果,相对位置信息产生了较大差异,导致目标注意力丢失。于是本文提出利用卡尔曼滤波弥补这个缺陷,对轨迹的预测可以克服由遮挡引起的噪声检测问题(指在跟踪过程中检测目标但是检测到了噪声)。由于卡尔曼滤波前期的不稳定性,本文将拟合图像帧数的阈值设置为16,在卡尔曼滤波获得更稳定的预测结果之后,再对丢失目标进行预测。卡尔曼滤波器如果长时间不进行检测更新,其精度会降低,每次从丢失状态取回轨道时,卡尔曼滤波器将被重新初始化,因此只利用最后一个轨迹的信息预测轨迹,能极大提升预测目标位置的精度,也能对后期的目标找回提供更精确的判断。

对需要进行卡尔曼滤波预测的目标进行筛选,原结构拥有很好的跟踪性能,由于多目标跟踪数据量庞大,为了降低内存消耗,保证算法实时性和效率,跟踪器按照规则选择性地对视频序列中的目标进行卡尔曼预测和修正。卡尔曼滤波对丢失的目标会进行3 帧的预测,如果3 帧后并未找回目标,则将目标放入不活跃目标库,对找回的目标则持续跟踪。但是很多丢失的目标是正常丢失,如即将出画的目标,因此需要排除正常出画的目标。

一般情况下卡尔曼滤波需要一个较长的稳定期,但是在摄像头随机移动的场景中,目标运动的规律性很难把握且不符合线性卡尔曼滤波的条件,影响卡尔曼滤波器的预测结果,因此提出使用光流信息判断摄像头是否移动。固定摄像头的场景中背景的变化是很微小的,而在移动的摄像头中不论目标还是背景都会产生变化。在空间中运动可以用运动场描述,而在一个图像平面上,物体的运动往往通过图像序列中不同图像的不同灰度分布体现,从而,空间中运动场转移到图像上就表示为光流场。光流场反映了图像上每一点灰度的变化趋势,可以看作是带有灰度图像的像素点在图像平面上运动而产生的瞬时速度场,是一种对真实运动场的近似估计。给图像中的每个像素点赋予一个速度矢量,这样就形成了一个运动矢量场。在每2 帧中,前一帧图像上的点与当前帧的点一一对应,这种对应关系可以通过投影来计算得到。根据各个像素点的速度矢量特征,可以对图像进行动态分析。如果图像中没有运动目标,则光流矢量在整个图像区域是连续变化的。当图像中有运动物体时,目标和背景存在着相对运动。运动物体所形成的速度矢量v=(vx,vy)必然和背景的速度矢量不同,通过Lucas-Kanada 方法计算法运动矢量,通过运动像素与图像像素形成的比率判断摄像头是否移动,如式(4)所示。

其中:(x0,y0)表示第一帧中像素点的位置;vx表示运动像素点的x方向的偏移量;vy表示运动像素点的y方向的偏移量。通过实验将σ阈值设置为0.04。

由梯度法知有式(5)成立:

其中:I表示灰度值,It为t时刻的灰度值。

选取图像的多个邻域,每个邻域中的点都满足式(5)方程,这样可以得到一系列方法:

写成矩阵形式:

通过最小二乘法求解得光流场:

3 实验与结果分析

本章将介绍MOT 挑战赛基准上本文方法的跟踪结果。

3.1 MOT 基准和指标

数据集 MOTChallenges[32-33]是目前应用最广泛的多目标跟踪评判基准数据集,这些数据集有两个轨道:公共轨道和私有轨道,其中公共轨道要求方法使用数据集提供的现成检测器,私有轨道中的方法可以使用自己的检测器。每个数据集由训练集和测试集组成,每个训练集都包含用全身边界框标注的行人信息,视频包含室内购物中心和室外街道,时长7~90 s。

度量 MOT 算法性能评估一般通过CLEAR MOT[34]中的评估协议来进行评估。通常关注两个复合指标:多对象跟踪准确性(Multiple Object Tracking Accuracy,MOTA)和身份F1得分(IDentity F1 score,IDF1),如式(9)(10)所示。前者关注对象覆盖,后者则衡量方法的身份保存。IDF1 是正确识别的检测与真实数与计算检测数和的平均数之比,代表身份F1得分,是指在ID 保持相同的情况下,跟踪的准确率和召回率的F-score 值。此外,还会使用以下指标:ML(Most Lost)、MT(Most Track)和IDSW。其中:GT指ground truth 数量,FN(False Negative)指该方法未检测到的ground truth 对象的数量,FP(False Positive)指该方法错误检测到但在groud truth 中未存在的对象的数量,TP(Tracking Precision)指跟踪精度;IDTP表示ID 相同的TP值,IDFP表示ID 相同的FP值,IDFN表示ID 相同的FN值。

3.2 实现细节

本文方法用ResNet50 CNN 作为特征提取器提取多尺度特征图,也使用文献[31]中提出的Transformer[11]编码器-解码器架构;然而,文献[31]中应用的Focal loss 只强调了轨迹查询,在训练过程中忽略了新的目标检测,所以采用了DETR 的交叉熵损失。利用双解码器区分跟踪目标和新检测目标,简化了训练步骤,对新目标的检测精度也有所提升。Deformable DETR[31]大幅减少了训练时间,提高了小目标的检测性能,使得结果在MOTChallenges 数据集上有了不错的表现,以邻近区域采样计算注意力取代Transformer[11]中全局的自注意力模块,通过用多尺度可变形的注意模块替换单尺度特征映射上的原始注意实现这一点。

经过检测分析,MOTChallenges 数据集一帧中不会有超过300 个目标,为了尽可能多地检测,通过设计依然保持初始化Nobject=300 个学习过的对象查询,在跟踪过程中的查询数量是自适应的,并不局限于初始化目标数。

本文的实验环境为Ubuntu18.4 操作系统。硬件环境:Intel Xeon Silver 4114 处理器,2*nvidia rtx8000 显卡,显存为2*48 GB,单卡算力16.3TFLOPS FP32,32.6TFLOPS FP16,130.5TFLOPS Tensor 运 算。Python 环 境:Python 3.6,CUDA10.1,PyTorch1.5。

本文方法在Trackformer[13]预训练的基础上进行了训练。针对不同的数据集(如MOT17),在训练集上进行了20 个批次的微调训练后才进行测试,MOT17 数据集一共包含14 个视频,其中训练集共7 个视频,验证集与训练集一致,测试集也包含7 个视频,测试结果提交MOTChallenges 官网得到。在上述实验环境下,20 个批次的训练时长为20 h。针对MOT20 数据集也进行了20 个批次的微调训练后才进行测试集的测试,MOT20 数据集一共包含8 个视频,其中4 个训练集,验证集与训练集一致,其余4 个为测试集,测试结果需提交MOTChallenges 官网得到。在以上实验环境下,20 个批次的训练时长为8 h。

第一帧图像经过CNN 卷积提取多尺度特征图后只经过编码器进行编码,然后通过检测解码器结构输出初始化的目标检测结果,初始化目标数为300,回归分数大于等于0.9 即为真实目标。此后每帧将编码器的输出分别输入两个不同的解码器,跟踪解码器的查询目标为N+300,其中N为上一帧的真实目标数。检测解码器的查询目标数依然为300。第1 个解码器输出的结果经过前馈网络(Feed Forward Network,FFN)层后,前N个目标分数大于等于0.8 的即为跟踪成功的目标,后300 个分数大于等于0.9 的即为新检测出的目标。第2 个解码器输出的结果经过FFN 后分数大于等于0.9 的即为当前帧真实目标。将两个结果的目标用匈牙利算法进行匹配,对匹配成功的目标若存在帧数n=5 则更新跟踪目标为检测目标结果,以确保目标的更新状态;若目标存在遮挡状态,则不进行这一步操作。若跟踪的目标分数小于0.8 则进入不活跃目标库,并记录目标轨迹和身份ID,与下一帧的新增目标做直方图匹配和ID 匹配,直方图匹配的阈值为0.3,若匹配成功则恢复丢失目标的身份,不活跃目标的最 大存活 期限为n=15。在MOT16[32]和MOT17 数 据集[32]上进行测试的时候使用在MOT17 数据集上进行微调的模型,在MOT20 数据集上进行测试的时候,使用在MOT20 数据集上进行微调的模型。

3.3 实验结果

根据3.2 节中描述的实现步骤,在MOT16 测试集、MOT17 测试集和MOT20 测试集上对本文方法进行测试。

表1 是在测试集上评估的本文方法与其他对比多目标跟踪方法的比较。可以看出,本文方法达到了与对比方法相媲美的分数,并在多个指标上达到了最优。在MOT16 数据集上,本文方法在IDF1 和ML 上取得了最好的表现,将丢失轨迹降低至最小15.80%,说明本文方法在持续身份跟踪上有不错的表现。在MOT17 数据集上IDF1 达到了最高分,在ML 上也取得了最好的表现,将丢失轨迹降低至最小13.63%,在IDSW 指标上取得了最好效果,把目标IDSW 数降至最低,说明本文方法在针对IDSW 上有良好的表现。在MOT20 数据集上本文方法的实验结果取得了不错的成绩,且在IDF1,MOTA,MT,IDSW 指标上都取得了最好结果,说明本文方法在目标密集的数据集上也有不错的表现。

表1 本文方法在各数据集上与先进方法的比较Tab.1 Comparison of the proposed method with state-of-the-art methods on each dataset

如表1 所示,在MOT16 数据集上,相较于可训练的图神经网络MPNTrack[20]、基 于CNN 特征进 行多目 标跟踪 的CNNMTT[35]、基于SORT 算法与卡尔曼滤波的DeepSORT[36]、基于相似性度量和目标块之间匹配的NOMTwSDP16[37]、提升不相交路径的Lif_T[38]、具有高性能检测和外观特征的POI[39]、用于在线多目标跟踪的递归自回归网络RAR16wVGG[40]和经典YOLO 目标跟踪算法JDE[41]这些多目标跟踪算法,本文方法表现较好。与JDE[41]相比,在IDF1 上的提升了9.33 个百分点,MOTA 上提升了0.99 个百分点,IDSW 数量也有大幅下降,体现了本文方法的优异性。

在MOT17 数据集[32]上,相较于基于TrackFormer 的双解码器算法TransTrack、链式跟踪算法CTracker[42]、基于多帧管道的单阶段框架、实现端到端训练的算法TubeTK[43]、基于CenterNet 的目标跟踪器CenterTrack[26],本文方法在跟踪性能上表现也较好。相较于TrackFormer[13],MOTA 提升了0.41个百分点;IDF1 达到最佳,相较于TrackFormer[13]提升了0.87个百分点,说明目标在身份得分上有良好的表现,直方图匹配找回丢失目标的结果在此得到很好体现;ML 也有所下降,说明目标丢失的数量减少,跟踪的持续性有一定的提升,卡尔曼滤波的作用在此体现;最大的特点在于IDSW 数量相较于TrackFormer[13]降低了16.3%,这是影响MOTA 指标的一个重要元素,目标ID 切换的减少对多目标的跟踪性能提升有巨大的影响,保证了目标轨迹的连续性,说明双解码器也给结果带来了不小的改进。

本文方法相较于同是双解码器结构的TransTrack[12],各项指标优势明显,尤其在IDF1 指标上,高出7.87 个百分点,说明本文方法在身份得分上优势明显。在MT 指标上高出13.02 个百分点,说明大多数目标被跟踪的轨迹数量有大幅提升。在IDSW 指标上,提升了44.9%,效果显著。MOTA 结果略低于TransTrack,而MOTA 结果依赖于检测器的结果,说明本文提出的回归目标身份信息方法相较于传统两步匹配身份信息的方法尚有改进的余地,这也是接下来努力的方向。

在MOT20 数据集[33]上,与简单、实时的数据关联方法SORT20[44]、基于图的near-online 跟踪方法MLT[45]和将目标检测器转换为跟踪器的Tracktor++V2[25]相比,IDF1 达到了最高(53.69%),MOTA 也最高(55.26%),且在密集人群中关注较多的IDSW 指标上达到了最低(1 169)。说明本文方法在目标密集的情况下也有不错的表现。

将MOT17 测试集7 个视频的TrackFormer 结果与本文方法针对不同指标进行对比,如图7 所示,将关键数据列为图表形式。可以看出,7 个视频中IDSW 数量都有一定程度的下降,说明本文算法在各个视频中减少ID 切换方面有良好的表现。FP 为误报总数,在01、03、06、07、08、14 视频序列中有所下降,但在12 视频序列中反而上升了47 个误报数量,经过分析得知,12 视频序列中被物理遮挡的小目标数量众多,在被遮挡后卡尔曼滤波并不能带来准确的预测导致误报数量上升,这也是12 视频序列MOTA 分数下降的原因。IDF1是正确识别的检测与真实数与计算检测数和的平均数之比,代表身份F1 得分,相较于其他视频序列得分的提升,07 和12视频序列的身份得分有所下降,分析得知,这两个视频序列都是移动摄像头拍摄的,移动摄像头下的目标表观特征变化比较明显,利用表观特征的匹配在其中稍显逊色。

图7 MOT17视频序列结果明细对比Fig.7 Detail comparison of MOT17 video sequence results

如图8 所示,视觉跟踪实例进一步验证了本文方法的有效 性。图8(a)中分别 为本文 方法和TrackFormer 在MOT17-01 视频序列上的结果,可以看到目标23 经过两次遮挡后分别变更ID 为27 和32,而本文方法中目标24 经过两次遮挡后ID 依然为24。图8(b)中由于人群密集,做了箭头标注,ID50 的目标在119 帧穿过密集人群的时候目标框发生了漂移,在305 帧的时候切换ID 为214,而ID50 漂移到了另一个目标身上,本文方法能在目标穿过密集人群后仍然保持身份,这得益于双解码器对目标信息的更新修正。从图8(c)中可以发现TrackFormer 中ID17 的目标在经过遮挡后ID 变更为82,而本文方法中ID18 的目标在经过遮挡后依然保持了目标身份信息。优秀的跟踪结果验证了本文方法即使在那些困难的条件下,也能实现稳健和精确的性能。

图8 MOT17数据集上的跟踪实例Fig.8 Tracking examples on MOT17 dataset

3.4 消融实验

如表2 所示,对MOT17 训练序列的消融研究在私人检测设置下进行了评估。表2 给出了不同组件对跟踪性能的影响,以未加入任何组件的TrackFormer[13]作为基础,在此基础上进行对比。

表2 各模块消融实验结果Tab.2 Ablation experimental results of each module

从表2 中可以看到,加入未判断摄像头移动情况下的卡尔曼滤波预测结果,MOTA 下降了0.6 个百分点,IDF1 下降3.0 个百分点,目标IDSW 数量也有所提升;加入判断摄像头不运动状态下的卡尔曼滤波后,MOTA 提升了0.5 个百分点,IDF1 提升了0.3 个百分点,IDSW 数量降低了84。说明摄像头的移动对卡尔曼滤波具有一定的影响。直方图匹配加入后,虽然MOTA 只提升了0.2 个百分点,但IDF1 提升了1.7个百分点,结果比较可观,IDSW 数量也下降了408。双解码器的引入使MOTA 提升了0.8 个百分点,IDF1 提升了0.1 个百分点,IDSW 数量下降了303。整合3 个组件的结果(即all)达到了最好效果,从这个结果中可以知道本文的每一部分改进都在多目标跟踪的精度和身份保存上起到了明显的作用。

3.5 鲁棒性实验

如表3 所示,在MOT17 数据集上对本文方法进行了鲁棒性实验,可以看出,在加了噪声和扭曲的任务后,MOTA 和IDF1 指标分别有轻微的波动,IDSW 也出现了上下波动的情况,但是幅度较小,说明本文方法在有噪声和扭曲的情况下鲁棒性较好。但在平移的任务下,MOTA 和IDF1 分别下降了34.6 和40.9 个百分点,IDSW 数量也大幅增加,经过分析,平移改变了每一帧图像中目标相对于GroudTruth 的绝对位置,在与GroudTruth 进行评分的时候,无法确定对应关系和位置的变化,导致评分出现了较大的差异。鲁棒性实验结果展示如图9 所示。

表3 MOT17数据集上的鲁棒性实验结果Tab.3 Robustness experimental results on MOT17 dataset

图9 MOT17数据集上的鲁棒性实验结果展示Fig.9 Display of robustness experimental results on MOT17 dataset

4 结语

本文提出了一个统一的注意力跟踪模式,利用TrackFormer 结构,在该结构中增加了一些模块提升多目标跟踪性能。本文设置了微调后的双解码器修正跟踪结果,一个解码器用于检测目标,一个解码器用于跟踪目标。通过注意力操作,依据额外的匹配、图形优化、运动或外观建模联合处理轨迹初始化、身份识别和时空轨迹形成,并在处理目标ID 切换上取得了显著效果;使用直方图匹配丢失的目标和新增的目标找回目标;使用卡尔曼滤波对遮挡丢失的目标进行位置修正和持续跟踪,保证目标在遮挡的情况下能被正常跟踪。本文方法实现了先进的多目标跟踪结果,我们希望这个范例将促进未来在利用TrackFormer 结构的检测和多目标跟踪方面的工作。

根据之前的研究结果可以发现,在评判标准中,假阴性和假阳性目标数是影响分数大幅度变化的重要因素,但是很多方法在实际研究中都只针对了其中一个数据进行优化,没有考虑两种数据变化的规律,很多时候假阴性目标数下降之后假阳性目标数量会有所上升。关注指标之间的联系或许是多目标跟踪的一个突破口。TrackFormer 结构中存在一个很重要的结构——查询。在Transformer 最开始运用于图像处理的时候,查询数量为100,TrackFormer 中查询数量为300,有些基于Transformer 结构的算法使用查询数量500,精度有了明显的提升。将查询应用到图像上发现是布满全图的目标框,类似于锚结构,关于查询数量是否与结果有关,以及查询结果是否依赖于特征提取结果等,是未来研究Transformer 结构应用于图像处理的重要研究方向。

猜你喜欢
解码器卡尔曼滤波直方图
符合差分隐私的流数据统计直方图发布
科学解码器(一)
科学解码器(二)
科学解码器(三)
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
用直方图控制画面影调
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
基于空间变换和直方图均衡的彩色图像增强方法
基于模糊卡尔曼滤波算法的动力电池SOC估计
基于扩展卡尔曼滤波的PMSM无位置传感器控制