基于改进CStrack关联策略的多目标跟踪算法
2024-03-05冯康康孟俊彤
苏 佳,冯康康,孟俊彤,梁 奔,张 明
(河北科技大学 信息科学与工程学院,河北 石家庄 050018)
0 引言
多目标跟踪(Multiple Object Tracking,MOT)是计算机视觉领域中的研究热点,在人机交互、交通监控和人工智能等领域有着广泛应用[1]。MOT的任务是在视频中持续对目标进行准确定位,并且在目标外观以及场景发生变化时仍能维持身份信息不变,最后输出完整的运动轨迹。在现实复杂场景中目标的尺度变化、物体相互遮挡和光照等影响因素都给多目标跟踪带来极大挑战[2],因此,提出一种适用于复杂场景且具有鲁棒性的多目标跟踪算法。
近年来,多目标跟踪方法主要分为两步式(Two-step)和一步式(One-shot)两类。Two-step中基于检测的目标跟踪(Tracking-By-Detection,TBD)算法由检测器和数据关联模块组成[3],能够获得很好的效果。首先,检测器被用来定位视频序列中所有感兴趣的目标;然后在数据关联过程中利用重识别(Re-Identification,Re-ID)网络提取每个目标的特征信息,通过外观特征和运动特征将相同的物体关联起来。所以在TBD算法中,检测算法和数据关联算法的性能共同决定了跟踪的准确性和鲁棒性,检测效果差可能导致边界漂移和跟踪准确率低,关联算法效果差可能导致ID切换频繁。此外,检测器和数据关联都极大地影响了MOT的推理速度。Deep Sort[4]算法与YOLOv3结合,并引入残差网络来提取Re-ID外观特征,以提高跟踪效果。POI[5]使用Faster R-CNN作为检测器,并通过多尺度特征融合提高跟踪精度。Two-step方法中检测网络与Re-ID网络是独立分开的,检测与Re-ID任务都可以提取到最优的特征,对目标尺度变换有较好的鲁棒性,能够实现高精度的跟踪,但由于要处理2个模型,增加了计算量,导致实时性下降。
One-shot中基于Joint Detection and Embedding(JDE)范式的算法是当下研究热点[6],其特点是在单一网络中完成检测与Re-ID特征的提取,提高跟踪效率。FairMOT[7]采用CenterNet作为检测器,通过基于Anchor-free的检测来获得低维度的特征向量,提高Re-ID特征质量,减少身份切换次数。RetinaTrack[8]在FPN阶段,提取每个Anchor的特征,能够更好的利用中间层的优势,同时增加一个256维的特征向量进行Re-ID,提高应对遮挡情况的能力。由于只利用单一网络提取特征,检测与Re-ID任务之间往往存在竞争,因此CStrack[9]算法提出交叉神经网络(Cross-Correlation Network,CCN)对主干网络输出的特征进行解耦,并使用尺度感知注意力网络(Scale-Aware Attention Network,SAAN)来提高Re-ID特征的表征能力。CStrack跟踪部分采用传统JDE范式的在线跟踪关联策略,无法适应复杂环境和复杂运动带来的影响,导致跟踪精度低、身份切换频繁,因此针对CStrack算法应用于目标外观变化剧烈、运动不规律的复杂环境中鲁棒性较差的问题,提出基于改进CStrack关联策略的多目标跟踪算法。使用YOLOv5检测算法作为检测器[10],改进CStrack跟踪器。实验表明,改进CStrack关联策略的多目标跟踪算法具有较好的跟踪性能,与其他算法相比在指标上有明显提高,能够兼顾准确性和实时性。
1 CStrack多目标跟踪算法
CStrack采用JDE框架设计思想,通过CCN将检测器主干网络得到特征图解耦成2个不同特征图,用于构建检测分支和Re-ID分支。MOT算法处理Re-ID往往将图像缩放到统一固定的尺寸来进行提取特征,但现实场景中物体尺度变化较大,这种Re-ID策略就无法很好应对,因此使用SAAN来获得目标不同尺度的外观信息。CStrack算法框架如图1所示。
图1 CStrack算法框架Fig.1 CStrack algorithm framework
CStrack跟踪部分首先对检测器检测到的目标初始化轨迹,使用卡尔曼滤波进行预测;第一次关联,通过余弦距离和马氏距离将检测框与跟踪轨迹进行匈牙利匹配;第二次匹配将检测框与第一次未匹配的轨迹通过交并比(Intersection over Union, IoU)代价矩阵再次进行匈牙利匹配;通过阈值处理匹配失效的检测框和轨迹。
1.1 交叉神经网络
CCN用来提取更适合检测任务与Re-ID任务的一般特征和外观特征,通过学习不同通道之间的相互关系,来增强表征。CCN框架如图2所示。
图2 CCN框架Fig.2 CCN framework
图3 SAAN框架Fig.3 SAAN framework
从YOLOv5主干网中得到特征图F∈C×H×W,首先,经过平均池化层将特征图F降维,得到包含更精炼特征的特征图F′∈C×H′×W′,F′通过2个不同的卷积层生成用于检测和Re-ID的特征图T1和T2,T1和T2分别被重塑为{M1,M2}∈C×N′(N′=H′×W′)大小的特征,再将M1、M2和各自的转置矩阵相乘,获得自注意力特征图WT1、WT2。然后M1与M2的转置相乘获得互注意力图WS1、WS2,将自注意力图和互注意力图相加以获得通道级别的特征学习。最后,和原始的输入特征图F相乘再和F相加得到输出特征图FT1、FT2。FT1用于检测器的检测处理,FT2送入Re-ID特征提取模块。
1.2 尺度感知注意力网络
SAAN通过空间注意力模块(Spatial Attention Module, SAM)[11]和通道注意力模块(Channel Attention Module, CAM)[12]来增加Re-ID模型的尺度感知能力,聚合不同尺度的外观特征信息,以缓解MOT中目标尺度变化的问题,确保对不同大小目标外观特征的鲁棒性。SAAN框架如3所示。
首先将1/16和1/32尺度(与输入图像的大小相比)的特征图上采样到1/8,3种不同尺度的特征图通过SAM增强目标相关特征并抑制背景噪声。目标在不同尺度下获得的注意力不同,因此可以缓解目标尺度变化和尺寸重叠问题。
将3种特征图聚合,通过CAM学习每一个特征语义通道的注意力权重。CAM分别使用平均池化和最大池化,池化层输出的特征图先由1d卷积和全连接层组成参数共享MLP(Multi-Layer Perception)网络处理,输出的2个特征图相加后通过Sigmoid激活函数得到注意力结果。通过元素相乘将一维的通道注意图映射到特征上,再与SAM特征图相加,学习输入特征的不同语义信息,实现对通道注意力的调节。最后使用3×3的卷积层将特征映射到128通道上,输出不同目标的Re-ID特征。
2 改进CStrack关联算法的多目标跟踪算法
基于改进CStrack数据关联的多目标跟踪算法流程如图4所示。输入视频序列,由YOLOv5检测器进行检测,将获得的特征图送入CCN,通过互相关、自相关学习机制来提取更适合检测任务和Re-ID任务的特征。检测特征图送入YOLOv5的检测头,进行目标检测,获取目标的初始位置信息;Re-ID特征图送入SAAN进行特征融合,并使用外观特征更新(Appearance Feature Update,AFU)模块增强目标的特征关联,对目标的外观特征进行更新。提出二次关联算法进行数据关联,得到目标轨迹,在第一次关联中,IoU距离结合Re-ID特征作为匈牙利匹配的代价矩阵,完成高置信度检测的线性分配;第二次关联中,针对目标不规律运动和外观可区分度低所导致的度量失效,使用扩展IoU匹配;通过高斯平滑插值(Gaussian Smoothed Interpolation, GSI)补偿漏检实现跟踪。
图4 改进CStrack关联策略的多目标跟踪算法框架Fig.4 Framework of multi-object tracking algorithm with improved CStrack association strategy
2.1 外观特征更新模块
随着目标的移动,目标的特征会发生变化,不利于外观特征的学习,影响后续的匹配。为了增强目标特征间的关联,使用外观特征更新模块来学习相邻帧之间的外观特征,AFU模块利用时序相关性对先前帧与当前帧的特征进行关联,自适应地更新目标外观特征。AFU框架如图5所示。
图5 AFU框架Fig.5 AFU framework
AFU首先提取It-1帧中的Re-ID特征Ht-1,为了简化计算,假设对应像素点的位移存在于固定的范围内,在计算相关联信息时,维持一个固定大小d的搜索窗,并将特征Ht-1从128维压缩到16维,用于特征更新;然后,通过互相关层[13](Correlation Layer)对It-1帧的特征Ht-1与It帧的特征Ht做关联计算,得到互相关注意力权重,引导网络在当前帧中的注意力;最后,将互相关注意力权重与压缩后的It-1帧特征图相乘,得到It-1帧的相关注意力特征图,再与Ht拼接,卷积后完成特征更新。
互相关层的计算如式(1)所示,其中,H1、H2分别代表2个特征图,[d,-d]是要比较的区域,x1、x2代表特征图上需要对比的点,即以x+o为中心的patch之间的比较。互相关运算的本质是通过前后2帧的特征图相互卷积,来引导网络关注2帧之间特征最相似的部分,保证外观特征的鲁棒性。
(1)
2.2 二次关联跟踪方法
CStrack算法在进行数据关联时,通过位置、运动和外观等信息与检测框关联得到跟踪轨迹。由于检测算法得到的检测结果存在误差,为了处理正负样本,通常会设置一个阈值,保留置信度高于阈值的检测结果,进行下一步关联,低于阈值的直接舍弃[14]。
低分的检测框往往也表示存在物体,因此上述方法明显存在弊端,比如,当目标被遮挡严重时,置信度也会降低,简单的通过阈值判断可能会带来漏检和轨迹中断结果,降低了跟踪性能。二次关联算法首先将高分检测框和低分检测框分开处理,利用低分检测框和跟踪轨迹之间的相似性,从低分框中挖掘出目标,过滤掉背景。二次关联跟踪方法流程如图6所示。
根据检测框置信度,将检测框分为高分框和低分框,置信度得分高于τhigh的划为高分框,低于τhigh高于τlow的划为低分框。高分检测代表物体的特征显著、运动状态规律,因此,第一次匹配使用IoU距离和外观特征进行相似度计算,然后使用匈牙利算法完成高分框和跟踪轨迹的匹配;低分检测意味目标状态复杂,可能出现运动特征和外观特征度量失效的情况,因此,第二次使用扩展IoU将低分框和第一次没有匹配上高分框的跟踪轨迹进行匹配;对于未匹配上现有跟踪轨迹、得分又较高的检测框,新建立一个跟踪轨迹,达到过滤负样本背景,同时恢复被遮挡的目标的目的。对于2次都未匹配上检测框的轨迹,保留30帧,若期间没有匹配到检测框则将其删除。
2.3 IoU-Re-ID融合机制
在进行第一次数据关联时,CStrack将运动特征和外观特征结合作为代价矩阵,即对马氏距离和余弦距离的加权。为了获得更高准确率的关联,改用IoU距离结合外观距离的方式来作为代价矩阵。
删除余弦相似度低和IoU距离较远的候选框。使用2个矩阵中值最小的作为代价矩阵C的最终值。IoU-Re-ID融合机制计算如下:
(2)
(3)
以IoU-Re-ID融合机制作为匈牙利匹配的代价矩阵,实现高置信度检测的线性分配。
2.4 扩展IoU关联
在第二次匹配时,对检测效果较差的低分框进行处理,造成其检测效果差的原因往往包含如遮挡、光暗变化、尺度变化和外观模糊等情况,意味着外观特征受到较大影响,外观可区分度低,通过外观匹配的鲁棒性将大大降低。此外,在跟踪过程中,目标运动过快等不规则运动致使在相邻帧之间位置没有重叠,也会导致目标运动特征度量失效。如果对目标的运动估计不准确,在后续帧中对未匹配轨迹继续匹配时,即使有相应的检测结果,依旧会错过匹配。针对以上问题,在第二次匹配时使用扩展IoU进行匹配。
复杂环境下目标运动不规律时,相邻帧中目标没有位置重叠,IoU值为0,因此通过IoU度量失效,IoU计算如式(4)所示。扩展IoU弥补了这一缺点,扩展IoU关联通过增加IoU的面积来增加检测和轨迹的匹配范围,以直接匹配相邻帧中同一目标不重叠的检测和轨迹,补偿匹配空间中的运动估计偏差,缓解了不规则运动对跟踪的影响,对快速运动和运动估计偏差具有鲁棒性、减少对目标外观特征的依赖。IoU与扩展IoU计算示意如图7所示。
(4)
图7 IoU与扩展IoU计算示意Fig.7 Illustration of IoU and extended IoU calculation
扩展IoU保留与原始检测轨迹的位置坐标、比例,但扩展匹配空间来进行匹配,假设目标框坐标为o=(x,y,w,h),其中(x,y)为目标框左上角坐标,(w,h)为目标框宽度和高度,令扩展尺度为b,则扩展后的目标框为(x-bw,y-bh,w+2bw,h+2bh)。
2.5 GSI
为了填补由于缺失检测造成的轨迹空白,插值算法被广泛使用,传统的线性插值(Linear Interpolation, LI)计算简单,但由于未使用运动信息,LI的精度和鲁棒性不高,因此GSI采用高斯过程回归来模拟非线性运动。假设目标的运动服从高斯过程,且每个已知的目标位置均存在观测噪声[15],则第i个轨迹的GSI模型描述如下:
pt=f(i)(t)+ε,
(5)
P*=K(F*,F)(K(F,F))-1P,
(6)
λ=τ*lb(τ3/L)。
(7)
2种插值方法的对比示意如图8所示,绿色曲线为轨迹的真实值,原始跟踪结果包含噪声抖动。可以看出,相较于LI方法,GSI方法更平滑,更贴近原始轨迹。
图8 LI插值与GSI插值对比示意Fig.8 Illustration of LI interpolation compared with GSI interpolation
3 实验对比与分析
3.1 实验准备
实验计算机硬件配置Intel Xeon W-2245 CPU@3.90 GHz,NVIDIA RTX3080,显存10 GB;使用CUDA 11.2和cuDNN 8.1.0.77进行GPU加速。YOLOv5使用CStrack开源的在CrowdHuman数据集上的预训练权重,在MOT17、MOT20训练集上进行训练。学习率设置为5×10-4,batch size大小为10,共训练50个epoch。
3.2 评价指标
采用MOT Challenge Benchmark的评价指标对算法性能进行评估,评价指标如下:
多目标跟踪准确率(Multiple Object Tracking Accuracy, MOTA):反映确定目标数量和相关属性关联的准确性,侧重于检测和保持轨迹的性能。
识别F1值(Identification F1 Score, IDF1):正确识别的检测和计算的检测数的比值,计算准确率和召回率之间的平衡性,用来衡量ID匹配的一致性。
高阶跟踪精度(Higher Order Tracking Accuracy, HOTA):检测精度和关联精度的几何平均值。将检测效果和关联效果平衡到单个统一度量中。此外,在预测框和真实框之间以多个不同的检测相似值(0.05~0.95,间隔0.05)进行评估,而不是像MOTA和IDF1那样设置单一值,更好地考虑定位精度。
关联精度(Association Accuracy, AssA):多目标跟踪关联匹配的准确率。
检测精度(Detection Accuracy, DetA):多目标跟踪中检测器的准确率。
ID切换(Identity Switches, IDs):目标ID发生改变的总数。
FPS:测量整个系统的帧速率。
3.3 消融实验
为验证改进点的有效性,在MOT16测试集上进行消融实验。消融实验结果如表1所示。
由表1可以看出,AFU模块增强了Re-ID特征的关联,能有效适应行人目标外观变化,提高了外观度量的鲁棒性,MOTA、IDF1和HOTA均较明显提高。二次关联算法通过改变不合理的关联策略,尽可能地关联检测框,改善了跟踪性能;针对高低分框的特点,二次关联设置不同的代价矩阵,提高跟踪效果;随着关联算法性能的提升,错误关联减少的同时也减少了对GSI的误导,GSI可以获得较好的收益。与原算法相比,改进的CStrack关联策略算法的MOTA提升3.84%、IDF1提升3.67%、HOTA提升1.91%,IDs有显著减少。
为验证所提二次关联跟踪算法的有效性,将当下主流的跟踪器与CStrack检测部分结合,在MOT16测试集上进行对比实验,不同跟踪器对比实验结果如表2所示。
表2 不同跟踪器对比实验
由表2可以看出,与其他跟踪器相比,二次关联跟踪算法取得了较优的跟踪结果。MOT16数据集中包含了较多复杂运动和外观模糊的目标,Sort和IoUTracker算法只利用运动特征度量,计算简单,但对复杂环境和复杂运动状态的鲁棒性较差,容易度量失效,且过分依赖检测结果。BYTEtrack算法优化了对低分检测框信息的利用问题,但没有针对高低分检测框的特性,改变度量方式。通过上述比较,证明了基于二次关联跟踪算法的有效性。
3.4 MOT17、MOT20实验对比分析
在MOT17、MOT20数据集提供的共11个序列上进行测试,并与其他算法进行对比。基于改进CStrack关联策略的多目标跟踪算法在MOT17测试集上的可视化结果如图9所示。
图9选取了较有代表性的3个序列,第一行为MOT17-03序列,该序列为俯拍视角,行人数量较多,且左上角行人密集,遮挡的情况较多;第二行为MOT17-08序列,特点为固定摄像头、低视角拍摄,行人尺度变化较大;第三行为MOT17-12序列,该序列为移动拍摄,且伴有抖动,加剧了行人位置变化程度,在预测过程中容易造成偏移。可以看出,基于改进CStrack关联策略的跟踪算法具有优异的跟踪效果。
不同算法在MOT17测试集上指标对比如表3所示,在MOT17测试集上进行测试,相较于原始CStrack算法,基于改进CStrack关联策略的跟踪算法在MOTA上提升3.3%,HOTA提升1.3%,IDF1提升1.7%;同时由于GSI弥补了漏检的空白,IDs的数量有明显下降。与其他先进算法进行比较,所提算法在各项指标上都有一定程度提高,这是因为改进了跟踪器,获得了更准确的关联。与FairMOT相比,基于改进CStrack关联策略的跟踪算法在HOTA、DetA和实时性上略低于FairMOT。FairMOT使用基于Anchor-free的CenterNet进行检测,相较于CStrack所使用的YOLOv5检测,基于Anchor-free的检测方法对Re-ID更友好,处理速度更快,在特征提取上具有优势,能够兼顾准确率和实时性,但FairMOT使用的仍是传统MOT的关联策略,故在MOTA、IDF1等指标上低于基于改进CStrack关联策略的跟踪算法。
基于改进CStrack关联策略的多目标跟踪算法在MOT20测试集上的可视化结果图10所示,图10(a)、图10(b)二组第一行为CStrack跟踪结果,第二行为改进CStrack关联策略的跟踪算法结果。图10(a)图片为MOT20-07序列中第117、123、125帧。可以看出在发生严重遮挡时,2个算法都发生了跟踪丢失,但在目标重新出现时,改进CStrack仍可以维持之前的ID,而CStrack发生了ID切换。图10(b)图片为MOT20-08序列中第568、711、769帧。第568帧中2个算法都可以准确地实现对目标的跟踪,但随着目标被遮挡严重,在第711帧时,CStrack算法跟踪丢失,虽然在769帧时重新跟踪到目标,但发生了ID切换;改进CStrack算法实现了对目标长时间的有效跟踪。以上对比证明了基于改进CStrack关联策略的跟踪算法具有较好的鲁棒性,能够适应目标密集、目标遮挡等复杂情况。
图10 MOT20测试集可视化对比Fig.10 Visual comparison of MOT20 test set
MOT20测试集结果对比如表4所示,MOT20中包含更拥挤的场景,高遮挡意味着漏检和关联缺失的情况更多。基于改进CStrack关联策略的多目标跟踪算法在MOTA、HOTA、IDF1上分别提高4.1%、2%、2.2%。其中DetA略低于TransCenter,TransCenter使用基于Transformer架构的Deformable DETR作为检测器,虽然拥有较高的检测精度,但模型参数量大,实时性差;LMOT_Tracker使用轻量的DLA-34骨干网,并将检测和跟踪特征图融合,在IDs和FPS上有一定优势,但牺牲了跟踪精度,在MOTA等指标中低于改进CStrack关联策略的跟踪算法。
表4 不同算法在MOT20测试集上指标对比
基于改进CStrack关联策略的多目标跟踪算法在MOTA上有较好的表现,是由于二次关联跟踪算法改进了关联策略,减少了缺失检测,在复杂场景下依旧能保持轨迹,获得高质量的关联。但算法在HOTA、IDF1上略低于其他算法,说明在特征提取及Re-ID部分仍有欠缺。对于检测器而言,如何解决检测任务和重识别任务之间的竞争、提取表征能力更强的特征,是未来研究的重点;针对跟踪器,目前多目标跟踪都依赖卡尔曼滤波器的估计值,而简单的线性卡尔曼滤波器鲁棒性较差,如何减少复杂环境对估计值的影响,以及如何提高推理速度与效率仍是要考虑的问题。
4 结束语
针对目标外观变化明显、运动不规律情况下多目标跟踪算法鲁棒性差的问题,提出基于改进CStrack关联策略的多目标跟踪算法。使用AFU模块,增强前后帧之间的特征关联,自适应的更新Re-ID特征;提出二次关联跟踪算法,分开处理高置信度与低置信度的检测结果,分别利用IoU距离结合Re-ID特征、扩展IoU匹配进行关联,提高匹配质量,完善匹配策略;使用GSI关联轨迹、补偿漏检,进一步提升跟踪效果。在MOT17、MOT20数据上测试,基于改进CStrack关联策略的多目标跟踪算法MOTA分别达到73.9%、64.2%,HOTA分别达到58.7%、48.3%。
综上所述,基于改进CStrack关联策略的多目标跟踪算法在复杂场景中取得了较好的效果,能够有效处理目标被遮挡问题,提高了跟踪的准确度和鲁棒性。未来,对于多目标跟踪的研究仍需在目标检测阶段减少漏检、误检;在数据关联上,通过改善关联机制,获得更准确的关联,提高跟踪精度。