1. 引言
多目标跟踪任务旨在输出给定视频中的目标运动轨迹,并维持各个目标的身份信息(ID) [1] ,目标的遮挡、漏检、误检等现象造成的多目标之间的ID切换问题是多目标跟踪的研究难点。随着目标检测算法的快速发展,基于目标检测的跟踪范式(TBD, Tracking-By-Detection)成为多目标跟踪领域的主流框架 [2] 。该框架下的多目标跟踪方法将视频多目标跟踪任务分解为两个独立的子任务:目标检测和数据关联,首先通过目标检测算法对视频中的每一帧图像进行检测,随后将属于同一目标且来自不同帧中的检测结果关联起来,进而得到目标的轨迹 [3] 。
基于TBD的跟踪范式,Bewley [4] 等提出SORT算法,SORT融合目标检测输出的位置信息与卡尔曼滤波(Kalman Filter)预测的运动信息作为相似度矩阵,结合匈牙利算法(Hungarian Algorithm)实现目标跨帧的关联匹配,但该算法未考虑跟踪过程中由于长时间遮挡导致的目标ID频繁切换问题。Wojke [5] 等在SORT基础上提出DeepSORT算法,结合行人重识别技术引入行人重识别(Re-identification)外观模型,融合外观信息和运动信息作为关联度量,采用级联匹配策略进一步提升了目标匹配的精度,在长距离匹配中取得良好的效果。
现阶段,目标跟踪的研究可分为前端的目标检测器与后端的DeepSORT跟踪器两部分。对于目标检测器的研究,殷远齐 [6] 等在YOLOv4 [7] 检测器中嵌入CBAM注意力机制 [8] ,融合特征空间信息与通道信息,进而提取目标的关键特征并弱化非重要特征信息;Gao [9] 等提出了Res2Net多尺度模块,该模块可以便捷地嵌入到目标检测网络中且不增加网络计算开销,通过提取多种尺度特征,进而有效提取目标全局以及局部特征;顾立鹏 [10] 等在Res2Net模块中嵌入1 × 1卷积和SE注意力机制 [11] 构建新模块,并用构建的新模块替换目标检测器CenterNet [12] 的原有残差单元,以提升网络对目标区域特征的提取能力。
对于后端DeepSORT跟踪器的研究,一方面,DeepSORT现有的重识别网络较为简单,难以获取丰富的车辆外观信息;另一方面,由于道路车辆外观差异较小且车辆在行驶过程中,角度不断变化会造成车辆姿态多样,从而导致不同ID车辆前后帧的外观特征差异小于同一ID车辆前后帧的外观差异,导致提取的车辆外观信息没有辨别力。针对现有的重识别网络获取外观信息不足的问题,何维堃 [13] 等进一步加深重识别网络,进而更好地提取目标的形状等信息;尤晓雨 [14] 等将重识别网络替换为Darknet53网络 [15] ,通过Darknet53网络结构的五次下采样操作来扩大感受野,进而获取目标深层特征。但提取的车辆外观信息缺乏辨别力主要是因为DeepSORT的交叉熵损失函数更适用于学习类间信息,而对特征相近的目标进行分类较为困难 [6] ,金立生 [16] 等基于此引入中心损失函数,其可以拉近同一目标的不同样本的特征距离,通过结合中心损失函数与交叉熵损失函数进行重识别训练,进而能够提取更具辨别力的车辆外观特征用于数据关联。
现有研究表明加深重识别网络能够丰富车辆外观信息,优化损失函数能够增强特征的辨别能力,但对于后端DeepSORT跟踪器的研究仍存在一定不足,主要表现在两个方面:1) 针对现有的重识别网络较为简单难以提取丰富的外观信息,大多数方法主要通过加深网络层数提取更深层特征,方法较为单一;2) 现有针对跟踪的研究通常是从加深重识别网络或优化损失函数单一方向进行研究,从改进重识别网络和优化损失函数两个方向同时对跟踪模型进行改进的研究仍比较缺乏。因此,本文针对上述问题对DeepSORT跟踪器进行了优化,主要贡献如下:
1) 通过加深重识别网络层数构建ResNet36网络,用于提取更深层的车辆外观特征。
2) 基于ResNet36网络进一步构建S2Net36重识别网络,在ResNet36中分别嵌入构建的SER模块与SE-Res2Net模块,用于提取目标关键特征及区域特征。
3) 结合三元组损失函数与交叉熵损失函数对重识别网络进行训练,提升网络对特征相近目标的分类预测性能,减少车辆ID切换和提高跟踪精度。
2. 跟踪模型框架
本文改进的跟踪模型框架图如图1所示,通过对改进的S2Net36重识别网络进行训练得到车辆外观特征提取模型,YOLOv5检测到的车辆目标信息会通过车辆外观特征提取模型提取出车辆外观信息,继而结合卡尔曼滤波预测的车辆轨迹的运动信息进行级联匹配,最后通过匈牙利算法为每个目标分配不同的跟踪ID。级联匹配未成功的目标会继续进行IOU匹配,匹配成功后也将由匈牙利算法完成ID分配,对于IOU匹配仍未成功且连续100帧未匹配成功的车辆轨迹将从库中删除。
级联匹配
级联匹配是根据目标检测框、轨迹预测框的余弦距离及马氏距离信息进行对目标进行匹配。余弦距离衡量的是目标检测框与轨迹预测框在外观特征上的差距,外观相似度越高,其距离越近。对于遮挡后重新出现的目标,网络会将该目标的特征分别与存储的特征集进行计算,获得最小的余弦距离:
(1)
式中,
为检测框的外观特征向量与轨迹预测框的外观特征向量之间的最小余弦距离;
为第j个检测框的外观特征向量;
为轨迹特征向量库,其存储了不超过100帧轨迹的外观特征向量。马氏距离用于度量检测目标框与轨迹预测框之间的运动特征信息,实现运动信息的匹配:
(2)
式中,
为第i个跟踪器预测框与第j个检测目标框之间的马氏距离;
为第j个检测目标的位置;
为第i个追踪器预测的目标位置;
为第i个跟踪器的协方差预测矩阵。
根据余弦距离和马氏距离来综合衡量检测目标与轨迹预测目标之间的相似性:
(3)
式中,
为目标相似性度量,超参数
为两种度量方式在级联匹配中所占比重。

Figure 1. Diagram of the improved tracking frame
图1. 改进的跟踪框架图
3. 重识别网络优化
3.1. ResNet36
DeepSORT原始重识别网络结构如图2所示,其最终输出128维特征,BasicBlock为其残差层的单元残差结构。图3为改进后的ResNet36重识别网络,其在原本重识别网络的基础上将残差层扩增到五层,且每层残差层通过叠加不同数量的BasicBlock结构加深网络,L1~L5五层残差层叠加的BasicBlock结构数量分别4,5,3,1,1,通过批处理和归一化输出512维特征。

Figure 2. Diagram of the DeepSORT raw re-identification network structure
图2. DeepSORT原始重识别网络结构图

Figure 3. Diagram of the ResNet36 network structure
图3. ResNet36网络结构图
3.2. SER模块
融合SE注意力机制与BasicBlock构建特征提取SER模块,如图4所示。经过BasicBlock的两层3 × 3卷积生成尺寸为H × W × C的特征图,进而将其输入SE注意力机制中进行Squeeze、Excitation及Scale操作,实现特征图不同通道信息的融合。Squeeze操作是将提取的特征图通过Global pooling从空间维度进行压缩;Excitation操作是通过两层FC、ReLU及Sigmoid激活函数捕获通道之间的相互关系,进而获得每个通道的权值;Scale操作将经卷积操作得到的特征图与每个通道权值进行加权,输出SER模块的残差映射(Residual Mapping)。最后将其与原始特征图X的恒等映射(Identity Mapping)进行加和得到SER模块的输出
。
3.3. SE-Res2Net模块
基于Res2Net与SE注意力机制构建SE-Res2Net模块,如图5所示。Res2Net输入的特征图为
,其中W × H为特征图尺寸,C为特征通道数。将特征图平均划分为4个特征子集
,
,然后通过3 × 3卷积滤波器对
进行卷积操作,获得
,如式(4)所示。

Figure 5. Diagram of the SE-Res2Net module
图5. SE-Res2Net模块图
(4)
通过1 × 1滤波器可以得到Res2Net的输出y,SE-Res2Net将y输入到嵌入的SE注意力机制中,通过Global pooling实现特征图的压缩,通过两层FC、ReLU和Sigmoid激活函数获得每个通道的权值,通过Scale操作完成特征图与相应通道权值的加权,进而完成SE注意力机制对y的处理,获得SE-Res2Net的残差映射。最后与输入的原始特征图
的恒等映射进行求和获得SE-Res2Net的输出。
3.4. S2Net36
在ResNet36网络的基础上使用SER模块分别替换ResNet36网络L3层的后两个BasicBlock结构以及L4层的BasicBlock结构,使用SE-Res2Net模块替换L5层的BasicBlock结构,进而获得新的重识别网络S2Net36,如图6所示。

Figure 6. Diagram of the S2Net36 network structure
图6. S2Net36重识别网络结构图
4. 损失优化
采用交叉熵损失函数(Cross Entropy Loss)对重识别网络分类层获得的分类预测值
进行训练。交叉熵损失函数常用于衡量真实值与网络预测值之间的距离,判定二者的接近程度,计算公式如(5)所示。
(5)
式中
为输入样本的真实值,y为真实分类标签,
为分类预测值,当样本i的真实类别等于y时
取1,否则取0。
采用三元组损失函数(Triplet loss) [17] 对重识别网络输出的512维特征进行训练。给定三元组训练数据
,
和
为ID相同车辆的不同样本,
和
互为不同ID车辆的样本,三元组函数公式如(6):
(6)
其中,
为正样本对之间的距离,
为负样本对之间的距离,margin为阈值,用以控制正负样本的距离。
5. 实验
实验基于Windows10操作系统,处理器配置为12 vCPU Intel(R) Xeon(R) Platinum 8255C CPU@ 2.50 GHZ,GPU为NVIDIA GeForce GTX2080Ti (11 GB),深度学习框架为PyTorch1.9.0。
5.1. 重识别训练
采用VeRi-776 [18] 车辆重识别数据集分别对ResNet36网络与S2Net36进行训练。VeRi-776为大规模城市交通监控车辆再识别图像数据集,该数据集包含20个监控摄像机采集的776辆车的图像,共50,000多张图片。
训练过程设置单次传递给模型用以训练的数据(batchsize)设置为64,采用随机梯度下降(SGD)作为优化器,SGD的momentum为设置为0.9,模型训练超参数中学习率设置为0.01,三元组损失函数的margin为0.3,分别使用准确率(Accuracy)与损失(Loss)用以衡量模型的准确度与性能。
准确率是指模型预测结果与真实结果的匹配度,准确率越高模型预测结果更准,计算公式如式(7)所示:
(7)
损失是指模型预测结果与真实结果之间的差距,损失越小模型性能越好,本文结合交叉熵损失函数与三元组损失函数对重识别网络进行训练,训练过程需使得交叉熵损失值与三元组损失值尽量小,损失计算公式如式(8)所示:
(8)
S2Net36网络的训练准确率与损失变化如图7所示,可以发现当训练迭代次数为40时,S2Net36网络的准确率和损失变化开始趋于平稳,其中准确率达到了94.7%,损失则降低到0.97,表明网络此时已具有较好的分类预测能力。
(a) 训练准确率变化图 (b) 训练损失变化图
Figure 7. Diagram of the S2Net36network re-identification training
图7. S2Net36重识别训练图
5.2. 跟踪评价
本文采用MOTA、MOTP、IDF1作为多目标跟踪的评价指标,其中MOTA衡量跟踪算法在检测物体与保持轨迹时的性能,MOTP用于衡量目标位置确定的精确程度,IDF1用于判断跟踪器在视频中长时间地对同一事物进行准确跟踪的能力。DeepSORT原始算法与本文改进算法在多目标跟踪评价指标上的对比结果如表1所示。

Table 1. Follow-up review results comparison
表1. 跟踪评价结果对比
由表1可知,本文改进算法相比于DeepSORT原始算法MOTA指标提升了1.18%,MOTP指标降低了0.28%,IDF1指标提升了0.80%。MOTA与IDF1的提升表明对重识别网络进行改进并优化损失函数,能够提升模型的跟踪效果。
5.3. 跟踪结果可视化
在不同的城市道路采集实际数据对比DeepSORT原始算法与本文改进算法的跟踪效果。图8与图9分别为部分遮挡场景和目标漏检场景下两种算法的跟踪效果。其中左侧为DeepSORT原始算法的跟踪结果,右侧为本文改进算法的跟踪结果。图中左上角为视频帧数,图中编号为车辆的分配ID。
根据图8可以发现DeepSORT原始算法在第48帧时检测到目标ID3,其后由于该车辆局部被遮挡,在第181帧时ID切换为24;而采用本文改进算法该车辆的ID始终保持为3,可见本文算法能够在部分遮挡情况下保持对车辆的跟踪能力。
从图9中可以发现DeepSORT原始算法在第122帧检测到目标ID28,在第142帧时该目标发生漏检,之后在第148帧时该目标重新被检测到,但其ID切换为37;而采用本文改进算法,在该车辆同样发生漏检情况下,ID始终保持为26,表明本文改进算法能够在发生漏检情况后依然对车辆保持良好的跟踪能力。
6. 结论
针对部分遮挡、目标漏检等导致车辆ID频繁切换的问题,本文提出了一种基于改进DeepSORT算法的道路前方车辆跟踪方法。该方法通过加深网络层数以提取深度特征,嵌入SE注意力机制以关注目标重要通道,融合Res2Net模块以提取目标区域特征,从而增强重识别网络对车辆外观特征的提取能力。此外,引入三元组损失函数对重识别网络进行训练,增强模型获取的车辆外观特征的辨别力。通过对DeepSORT原始算法和本文改进算法进行对比实验,发现本文改进算法能够改善因部分遮挡和目标漏检导致的ID切换问题,提高了对前方道路车辆的跟踪能力,但在MOTP指标的表现上有所不足,后续将进一步提升目标检测性能及卡尔曼滤波预测的目标位置准确度,进一步优化目标位置确定的精确程度。