基于改进Deep,Sort的行人多目标跟踪算法
时间:2023-04-07 16:30:09 来源:千叶帆 本文已影响人
郑繁亭,邢关生
(青岛科技大学 自动化与电子工程学院,山东 青岛 266061)
行人跟踪是指检测行人以确定其在图像中的位置,给每个行人分配不同的编号,进而生成行人轨迹,实现持续跟踪。行人跟踪在很多领域具有重要的研究价值和广泛的应用前景,例如无人驾驶、公共设施安全等[1]。目前,国内外的目标跟踪算法研究工作主要分为三类:基于相关滤波的跟踪算法、基于特征匹配的跟踪算法和基于检测的跟踪算法。基于相关滤波的跟踪算法利用滤波模板与目标候选区域之间的相关运算求得响应值,通过响应值的大小来确定目标在视频每一帧中的具体位置,其计算速度较快,但在遮挡和环境复杂等情况下的精度较低。基于特征匹配的跟踪算法主要利用人为指定的特征进行特征匹配,其最终的效果主要取决于特征的选取,鲁棒性较差。文献[2]建立具有RGB颜色特征的特征模板,使用局部约束编码的形式实现行人追踪。文献[3]以行人目标运动过程中外接矩形的长宽比作为特征模板,使用卡尔曼滤波作为跟踪器。基于检测的跟踪算法是先利用检测网络检测出行人目标,再利用跟踪器实现行人追踪。由于目标检测和跟踪能够形成互补,因此基于检测的跟踪算法成为当前主流的跟踪算法。
目前的检测网络可分为一阶段算法和二阶段算法。一阶段算法主要包括YOLO系列和SSD[4]等,二阶段算法主要包括R⁃CNN、Fast R⁃CNN和Faster R⁃CNN等。相比于二阶段算法,一阶段算法的速度更快,而YOLOv4[5]作为一阶段算法的典型代表,具有速度快、精度高的特点。
在跟踪算法方面,文献[6]提出Sort算法,采用卡尔曼滤波进行预测,由匈牙利算法完成匹配,跟踪速度快,但是没有考虑目标特征,容易发生身份编号转换(ID Switch)现象。文献[7]在Sort算法基础上进一步提出DeepSort算法,参考了行人重识别的思想,加入128维外观特征提取网络,采用级联匹配算法,大大降低了身份切换。文献[8]使用YOLOv4网络和GIOU(Generalized IOU Loss)对DeepSort算法进行改进,但在密集环境下存在漏检问题。文献[9]使用Gaussian YOLOv3网络和中心损失函数对DeepSort算法进行改进,但在复杂环境下存在鲁棒性不足问题。
针对长时间遮挡、光线差等情况下可能导致的漏检、错检和ID Switch,本文提出了改进的YOLOv4与改进DeepSort相结合的行人多目标跟踪算法。为了提高检测网络在密集场景和遮挡场景下的检测精度,引入注意力机制来增强YOLOv4的特征提取能力。为了更好地提取行人的外观特征,提高模型的跟踪性能,本文采用Ghost Net[10]模块来改进重识别网络。为了更好地度量检测框与预测框之间的匹配度以达到更好的跟踪效果,本文对匹配不成功的轨迹和检测结果进行DIOU(Distance IOU Loss)[11]关联匹配。
1.1 YOLOv4算法原理
YOLOv4是一阶段目标检测算法的典型代表,其兼顾了良好的准确性与实时性。算法主要由主干特征提取网络(Backbone)、颈部特征融合网络(Neck)和头部预测网络(YOLO Head)组成。YOLOv4网络结构如图1所示,Backbone为CSPDarkNet53网络,由一个卷积层和一系列残差结构组成,通过对输入特征图进行下采样来获取图像特征和语义信息;
Neck由SPP模块和PANet模块组成,SPP[12]模块利用多组不同池化核尺寸的最大池化操作有效提高了特征图的感受野,PANet模块为特征金字塔结构,通过上采样、下采样、Concat和卷积等操作进行特征融合,进一步增强了特征提取效果;
头部预测网络为YOLO Head,用于输出网络的预测结果。
图1 YOLOv4网络结构
1.2 注意力机制
注意力机制可以视为一种能够提升特征提取网络精度的插件。传统的特征提取网络在提取特征时不会考虑不同特征通道对于待检测目标的重要程度,而注意力模块则会先通过学习得到权重向量,来描述各个特征通道的重要性程度,然后利用权重向量对特征图进行重建。目前最常用的注意力机制模块是SENet[13]。SENet结构简单,能够在只增加少量计算量的代价下显著提高现有特征提取网络的性能。但是SENet对特征先降维再映射到高维的操作破坏了特征通道与注意力权重之间的直接对应关系。文献[14]提出了一种不降维的局部跨信道交互策略和自适应选择一维卷积核大小的方法ECANet。ECANet同样是一个轻量化模块,只需要很小的计算开销便能带来特征提取网络性能的提升,其结构如图2所示。
图2 ECANet模块结构
ECANet模块的基本步骤为:对于给定的输入x,先在空间维度上进行平均池化,将空间信息压缩到通道中,再采用长度为K、步长为1的一维卷积进行特征融合,最后经过Sigmoid激活函数生成权重向量。
1.3 引入注意力机制的改进YOLOv4
本文通过引入ECANet模块来提高YOLOv4特征提取模块的性能,改进的YOLOv4网络结构如图3所示。首先对输入的图像进行预处理,将其尺寸调整为416×416,然后将其输入到CSPDarkNet53中进行特征提取,再把经过特征提取后得到的三个尺寸分别为52×52,26×26,13×13的特征图分别输入到ECANet中进行特征图的重新校准,将重新校准后特征图的通道数通过卷积、SPP和PANet操作降低至18(3×5+C),其中C为待检测目标的类别数,最后通过YOLO Head完成行人检测。
图3 改进的YOLOv4网络结构
2.1 DeepSort算法原理
DeepSort是Sort算法的改进版本,为了降低跟踪目标身份编号转换(ID Switch)次数,DeepSort引入了外观特征和级联匹配,以目标检测网络检测结果的检测框坐标和置信度作为输入,通过卡尔曼滤波算法进行轨迹预测,匈牙利算法将预测轨迹与当前帧进行级联匹配,最后进行卡尔曼滤波更新。DeepSort使用八维向量(u,v,r,h,u̇,v̇,ṙ,ḣ)进 行 计 算,其 中(u,v)为 边 界 框 中 心 坐标,r为矩形框的纵横比,h为矩形框的高度,(u̇,v̇,ṙ,ḣ)为(u,v,r,h)的速度。
DeepSort采用运动和外观两个维度的信息进行目标匹配,通过计算跟踪器预测框与行人检测框的马氏距离作为运动信息度量,其表达式为:
式中:d(1)(i,j)为第j个检测框和第i条轨迹之间的运动匹配度; 对于外观信息,引入重识别模型来提取目标的外观特征。采用最小余弦距离对检测框进行筛选,该距离小于一定阈值则代表跟踪成功。最小余弦距离公式如式(2)所示: 式中:d(2)(i,j)表示第j个检测框与第i个轨迹的最小余弦距离; 当面对复杂情况时运动和外观两个度量指标可以互补,来增强网络的跟踪能力。运动度量可以提供更多的位置信息,当位置信息偏弱时,外观度量可以提供更多的外观信息,最后使用线性加权的方式将两个度量信息关联起来,关联公式如式(3)所示: 式中λ为权重值。 DeepSort在进行目标匹配时会将交并比(IOU)作为一个关联指标,对于经过级联匹配之后未成功匹配的预测框,DeepSort会将其与原检测框进行IOU匹配来确定最终的匹配状态。但是IOU仅仅考虑了两框的重合程度,并不能反映两框的距离,因此本文引入DIOU代替IOU,如图4所示。 图4 DIOU 对于两个矩形水平边界框,DIOU的计算式为: 式中:ρ2(b,bgt)表示两框中心点的欧氏距离d,b表示预测框(图4中的黑色矩形),bgt表示真实框(图4中的灰色矩形); 从计算原理上可以看出DIOU能够更好地反映两个框的相交情况,将其用于计算网络的损失函数可以直接最小化两框之间的距离,收敛速度更快。 DeepSort之所以能有效解决遮挡问题,是因为其搭建了一个重识别神经网络WRN。WRN主要由残差块构成,参数多、计算量大,为了增强重识别网络的速度和精度,引入Ghost模块代替WRN中的残差模块。Ghost模块主要由Ghost module和DWConv组成,其结构如图5a)所示,其中Ghost module的结构如图5b)所示。首先对输入的特征图进行1×1的卷积,将通道数压缩为原来的一半,然后对输出的特征图进行逐层卷积,最后将两部分的输出进行拼接。 图5 模块结构图 Ghost Net V1行人重识别模型如表1所示,网络的输入尺寸为32×128×64,通过堆叠Ghost模块来提取特征,最后经过平均池化和FC层生成128维外观特征向量,用于进行外观度量的计算。 表1 Ghost模块网络结构 本文使用MOT16数据集进行网络训练与评估,该数据集是MOT challenge系列中一个衡量多目标检测跟踪方法的标准数据集。如图6所示,为了增强行人检测模型的鲁棒性,本文还通过图像增强技术来随机产生相似但不相同的训练样本,以达到扩增数据集的目的。 图6 数据增强 本文使用Pytorch框架搭建神经网络,将Python作为编程语言。硬件平台配置如下:CPU:intel Core i9⁃9900K; 3.3.1 模型训练 在训练阶段,网络初始参数配置为:32个样本为一个批次,初始学习率为0.001,训练轮数为100轮。为增强模型的训练效果,采用动态调整的方式更新学习率,在训练迭代次数达到80和90次时,学习率可分别降低至初始学习率的10%和1%。 3.3.2 评价指标 选用平均准确率AP作为目标检测网络的评价指标。选用MOTChallenge定义的五个指标评价多目标跟踪效果: 1)ID Switch(↓):表示一条轨迹中跟踪目标改变自身编号的次数。 2)MOTA(↑):多目标跟踪准确率。 3)IDF1(↑):正确识别出的检测数与平均正确检测数和计算出的检测数之比。 4)MT(↑):主要跟踪目标百分比。 5)ML(↓):主要丢失目标百分比。 其中:↑代表值越高跟踪效果越好,↓代表值越低跟踪效果越好。 3.4.1 检测性能实验 本文以YOLOv4作为基线,采用消融实验的方式来验证本文改进点的有效性。为保证训练过程中变量的一致性,网络均采用相同的训练参数,实验结果如表2所示。 表2 不同检测算法性能对比 由表2可以看出:引入两个注意力模块后都能提升模型的精度,但是ECANet对比SENet拥有更少的参数和计算量,且对模型精度的提升更大。在对输入的特征图进行处理时ECANet使用自适应一维卷积的方式进行信息融合,而不是和SENet一样采用先降维再映射到高维度的操作,从而保证了信息与通道之间的联系。 为了定性分析改进方案的优缺点,在两种不同场景情况下,将本文算法与原始YOLOv4算法进行对比。两种场景情况依次为人群密集情况和行人遮挡情况,实验结果如图7所示。 图7 不同算法检测结果对比图 图7a)展示了在人群密集情况下原始YOLOv4算法与本文算法的检测效果对比。可以发现在人群密集、路灯遮挡、图像模糊的情况下,原始YOLOv4算法出现了漏检,而本文算法没有出现漏检行人的情况,保持了较高的准确度。图7b)展示了在遮挡情况下原始YOLOv4算法与本文算法的检测效果对比。可以发现在左边树木遮挡的情况下原始YOLOv4算法出现了漏检,而本文算法成功地检测到了被遮挡的行人。 3.4.2 跟踪性能实验 为了验证本文提出算法的可行性,采用消融实验的方式验证各个改动对跟踪算法的影响,实验结果见表3。 表3 改进模块对跟踪性能的影响 选取DeepSort算法作为Baseline,引入YOLOv4后网络的跟踪性能大幅度提高,MOTA提高了13%,IDF1提高了14.7%,MT提高了4.8%,ML降低了14.1%,ID Switch降低55,FPS提升0.6,可见更换更好的检测网络可以大幅度提升跟踪网络的性能; 为了进一步展示主要改进点的效果,将DeepSort、YOLOv4+DeepSort和本文算法的可视化结果进行输出对比,如图8、图9所示。 图8 三种跟踪算法检测和跟踪结果 如图8所示,第一排为遮挡情况下三种跟踪算法的对比结果,可以看出图中左下角路灯部分,DeepSort算法和YOLOv4+DeepSort算法均没有跟踪到目标,本文算法能够准确地跟踪到目标。第二排为在相机移动下三种算法的检测结果。可以看出,DeepSort算法和YOLOv4+DeepSort算法均没有跟踪到目标,DeepSort算法还出现了将红绿灯检测为行人的误检情况,而本文算法能够准确跟踪到目标。 图9为同一场景下,三种算法的ID Switch情况,从左到右为80帧、96帧、104帧的跟踪结果。从图9可以看出,DeepSort算法的检测结果出现了跟踪目标ID互换的情况(40与53发生了互换),YOLOv4+DeepSort算法虽未出现ID互换,但是第96帧的跟踪结果出现了误检的情况,而本文算法的检测结果显示跟踪成功且未出现误检。 图9 三种跟踪算法ID Switch对比结果 遮挡、光线模糊和行人密集等因素容易造成行人多目标跟踪任务出现ID Switch现象。本文以YOLOv4模型为基础对行人多目标跟踪流程中的目标检测算法进行改进,通过引入注意力机制,提升了模型的特征提取能力,进而提升了行人检测精度。采用Ghost NetV1重识别网络对行人进行特征提取,提升了模型的外观特征提取能力,并在损失函数中引入DIOU提高了网络的匹配性能。最后的对比实验及分析表明,本文提出的跟踪算法在行人密集、遮挡等复杂情况下表现良好,MOTA达到67.5%、ID Switch仅为401,FPS可达16,相比其他常见的算法具有较好的鲁棒性和精度,能够更好地应用在行人跟踪领域。 注:本文通讯作者为邢关生。
si是由卡尔曼滤波器得到的当前时刻观测空间协方差矩阵;
yi是轨迹在当前时刻的预测框状态;
dj是第j个检测框的状态[u,v,r,h]T。通过马氏距离对检测框进行筛选,采用9.487 7作为阈值t(1),若关联的马氏距离d(1)
rj表示第j个检测框dj的外观描述符,设置images/P50_6670475.jpg表示第i个轨迹的外观描述符;
Ri表示第i个轨迹的外观信息库,保存最新的100条目标成功匹配的外观信息。2.2 引入DIOU改进DeepSort
c为两框最小外接矩形的对角线长度。2.3 行人重识别网络
3.1 数据集
3.2 实验环境
GPU:NVIDIA GeForce GTX2080Ti 11 GB;
RAM:32 GB;
操 作 系 统:Ubuntu 18.04;
软 件 环 境:CUDA 11.0,Python 3.7,Pytorch 1.7.1。3.3 模型训练及评价指标
3.4 实验分析
引入ECANet模块之后,网络的特征提取能力增强,MOTA提升了2%,各指标小幅度提升,FPS降低0.7;
将IOU替换为DIOU后,网络的匹配性能提高,MOTA提升2.8%,IDF1提高了1.2%,MT提高了1%,ML降低了1.4%,ID Switch降低21,FPS提升0.5;
将WRN替换为GhostNetV1后,在保持精度的同时,降低了重识别网络的参数量,MOTA提升1%,ID Switch增加20,但是网络的实时性大幅度提升,FPS提高了3。