行人重识别(Personre-identification,ReID)被认为是图像检索的子问题[2],可以依据行人的外观特征实现跨摄像头无重叠视域下的目标行人的检索。行人重识别中的特征提取和度量学习可以为目标跟踪提供强有力的支撑。现在许多研究将行人重识别技术与检测/跟踪技术相结合,并广泛应用于智能安防系统。
综上所述,行人重识别技术提取出的有效特征为目标跟踪任务提供了强有力的支撑,且与目标检测算法的有效结合使目标跟踪的速度也有了很大提升,满足实时性的要求。因此本文提出一种基于YOLOv5与重识别的行人多目标跟踪方法,同时对检测算法与特征提取网络部分进行改进。
为了使多目标跟踪算法具有更有鉴别力的目标特征,本文采用ResNeXt50网络作为主干网络。ResNeXt网络[9]的提出是由于传统的提高模型准确率方法都是选择加深网络,这样会导致模型越来越复杂,超参数的数量随之增加,加大计算成本。因此Xie等人[10]设计用一种平行堆叠相同拓扑结构的blocks替换了ResNet[10]中的block,并且对ResNet进行了基数扩充。实验表明:在相同的模型大小和计算复杂度的条件下ResNeXt网络相比较原残差网络有更高的精度。因此为了获得更优的外观模型,本文采用ResNeXt50作为新的特征提取网络。
本文在行人再识别算法的公开数据集Market1501上进行实验。为了防止模型过拟合,基于Pytorch深度框架搭建了生成式对抗网络[11](Generativeadversarialnetwork,GAN)模型,参见文献[12]中的相同的参数训练网络。使用GAN网络对Market1501数据集的训练集进行了扩充,由原来的12936张图片扩充至77616张图片,使用新的训练集对网络进行训练。如图1所示,原始图像经过GAN网络之后生成了其他5个相机风格的伪图像。
图1生成图示例
Fig.1Generateimageexamples
将GAN网络扩增后的Market1501数据集送入ResNeXt50中进行特征提取,实验结果如表1所示。
图2CBAM注意力机制
Fig.2Convolutionalblockattention
2.3.1通道注意力机制
通道注意力模块对每个输入通道的权重进行重新标定,使得包含目标对象的关键区域特征通道对最终卷积特征有更大的贡献[14]。核心思想就是增大有效通道权重,减少无效通道权重。具体实现如式(1)所示:
2.3.2空间注意力机制
通道注意力机制告诉网络需要注意的部分,空间注意力机制给出关键特征的位置。具体实现如公式(2)所示:
本文设计的行人重识别特征提取网络结构如图3所示。首先是对输入的图像集进行预处理,使用GAN网络进行扩增。然后将处理好的图像送入主干网络ResNeXt中进行特征提取,同时在不同位置加入注意力机制,得到有鉴别力的特征,对行人进行分类识别。
图3特征提取网络结构
Fig.3Featureextractionnetworkstructure
本文采用GAN技术扩充大型行人重识别公开数据集Market1501,重构新的数据集,以ResNeXt50为主干网络。分析对比之后,将注意力模块添加在ResNeXt50网络的第一个卷积层以及Layer1的残差块之后(图4),并使用交叉熵损失训练网络,损失函数如式(3)所示:
图4CBAM模块嵌入到ResNeXt
Fig.4CBAMmoduleembeddedtoResNeXt
图5改进前算法与改进后算法跟踪过程前后帧目标ID对比
Fig.5ContrastofthetargetIDbeforeandafterframeinthetrackingprocessusingtheprealgorithmandimprovedalgorithm
本文采用基于检测的多目标跟踪范式,因此检测作为第一步十分关键。目标检测旨在判断给定的视频帧中除背景信息以外的目标的尺寸和位置。本文研究的目标对象是行人,因此需要检测出行人的位置并用矩形框进行标注。2020年,GlennJocher发布了YOLOv5算法,该目标检测模型运行准确度较高,且运行速度快。YOLOv5基于PyTorch实现,可以有效地应用于嵌入式设备和移动端。根据模型的深度以及卷积核的个数,模型共有4个版本:YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,模型体积越大,相应的检测精度越高,但是复杂的模型也导致检测速度变慢。
针对当前行人检测方法精度和实时性不能同时兼顾的问题,本文采用以YOLOv5s[15]模型为基础的目标检测算法。YOLOv5s模型主要由4部分组成。输入端首先对原始图像进行预处理,预处理操作包括Mosaic数据增强、自适应图像缩放、自适应锚框计算等。Backbone部分由Focus结构、CBL结构、CSP结构等模块组成,从图像中提取不同细粒度特征的卷积神经网络。Neck网络部分主要由特征金字塔(FeaturePyramidNetworks,FPN)和路径聚合网络(PathAggregationNetworks,PAN)组成,FPN在网络中自上而下传递语义信息,PAN自下而上传递位置信息。Neck部分借鉴了CSP结构,加强了特征融合能力。Head部分对处理后的图像特征进行3个尺寸上的预测,生成边界框并预测目标的类别[16]。
由于在实际场景中人们处于摄像机网络中的不同位置,因此映射到不同帧图像中的行人尺寸不断发生变化。由远及近,行人的尺寸在整幅图中比例不一,尤其是包含很多行人目标的密集图像。在一帧图像中,距离当前摄像头较远的行人在整个图像中可能仅占几个像素的大小,在检测过程中提取的特征信息较少、噪声多,极大地影响了检测结果。原始的YOLOv5s模型有3个检测层,分别在8,16,32倍下采样处对3个尺度的特征图进行预测。输入图像的尺寸为640×640,因此经过3种下采样后的特征图尺寸分别为80×80,40×40,20×20,对应检测8×8,16×16,32×32以上的目标。但是该模型对远距离行人目标的检测仍然会出现检测不到的情况,因此,针对这一现象,本文考虑再添加一个检测层以增加模型对尺度的包容性。改进后的网络结构如图6所示。在原来的Neck网络中两次上采样之后再增加一个上采样操作,得到大小为160×160的特征图并将其与主干网络的第二层特征图进行融合(图7),进而获取更大的特征图来进行小目标检测;然后在检测层将小目标检测层添加进去,最终使用4层检测层执行检测任务。在MOT16数据集上对改进算法进行实验验证,结果如表2所示。
图6改进后的网络结构
Fig.6Improvednetworkstructure
图7特征图可视化
Fig.7Featuremapvisualization
由表2可知,本文在YOLOv5s基础算法中添加上采样操作,构成小目标检测层。改进模型的各项指标相较于YOLOv5s均有明显提高。
图8CA模块
Fig.8CAmodule
坐标注意力机制首先对输入沿水平方向和垂直方向对通道进行编码,沿两个方向聚合特征获得一对具有方向感知能力的特征图。将两个方向感知特征图拼接在一起,再送入卷积核为1×1的卷积模块进行降维操作,然后经过批量归一化处理送入Sigmoid激活函数得到中间特征图。接着沿空间维度将中间特征图分成沿水平方向和垂直方向的独立的张量。最后利用另外两个1×1卷积变换函数对两个张量进行处理得到通道数相同的输出,分别展开并用作注意力权重。
本文随机选取在MOT16训练集中的图像验证改进模型的效果,原始模型与改进模型的检测效果对比如图9所示。
图9可视化结果对比
Fig.9Visualresultscomparison
不难看出,原始的网络检测有很多漏检的情况(为了更加直观,我们使用绿色框进行了标注),发现主要有两个问题:遮挡和远距离导致的目标比例小的问题。因此,本文对原始网络进行改进,从图9可以看出,改进后的模型检测效果更好,尤其是检测到了原来未检测出的远距离行人目标,验证了改进算法的正确性,为后续多目标跟踪任务奠定了基础。
本文采用的多目标跟踪算法是基于检测的跟踪范式,且为了满足实时性的要求,对目标行人进行在线跟踪。多目标跟踪任务基本是由目标检测、运动预测、外观模型、数据关联模块组成。上文已经获得了精确的目标检测框以及外观模型,然后利用卡尔曼滤波和匈牙利算法完成关联和匹配。本文整体网络架构如图10所示。
图10整体网络构架
Fig.10Overallnetworkarchitecture
本文提取大型目标检测公开数据集COCO中的行人类数据子集作为训练集,用MOT16的训练集[21]作为验证集验证算法性能。实验环境基于Ubuntu16.04操作系统,NvidiaGeForceRTX2080Ti显卡,运行内存为64G,采用Pytorch1.6.0深度学习框架,在Python3.7的服务器下实现。选择多目标跟踪公开数据MOT16测试集测试本文算法,并将测试结果提交MOTChallenge官网进行评估,与其他先进算法进行对比,并分析模型性能。
为了使模型的评价更加客观准确,并与其他算法进行合理比较,本文采用多目标跟踪领域通用的评估指标进行评估:多目标跟踪准确度(Multi-objectTrackingAccuracy,MOTA)、多目标跟踪精度(Multi-objectTrackingPrecision,MOTP)、多目标跟踪器ID维持能力(IdentificationF1Score,IDF1)、行人ID切换次数(IDSwitch,IDs)、大多数跟踪目标百分比(MostlyTracked,MT)、大多数丢失目标百分比(MostlyLost,ML)。部分评价指标的公式如公式(4)和(5)所示:
综合分析指标可知,本文算法与部分先进算法相比有相对优势,但是与JDE算法相比,在实时性方面优势并不突出。JDE算法属于一阶段跟踪算法,实时性相对较高,但ID切换相对频繁,这是在大量密集行人场景下,由于目标相互遮挡导致的。而本文着重考虑遮挡情况下跟踪效果差的问题,同时考虑到数据集中行人密集且动态变化,增强了对小目标对象的检测能力,因此改进算法在MOTA、MOTP等指标上都有所提升。MOTA相较于JDE算法提升了1.8%,MOTP相较于SORT算法提升了1.2%,IDF1相较于DeepSort算法提升了3.6%,MT提升了2.5%,ID切换频次下降。综上,可以验证本文算法的良好性能,且在实际跟踪场景中具有一定的优势。多目标跟踪效果如图11所示。
图11多目标跟踪效果。(a)MOT16-03;(b)MOT16-09。
Fig.11Multi-targettrackingeffect.(a)MOT16-03;(b)MOT16-09.
本文针对行人多目标跟踪过程中因为遮挡导致的行人ID频繁切换,跟踪效果差的问题,提出一种改进算法。该算法选用TBD跟踪范式,设计新的特征提取网络,并且通过引入卷积注意力机制,提升了模型对目标对象的表征能力。同时改进了YOLOv5目标检测算法,考虑加入小目标检测层和坐标注意力机制使得检测更加准确,进而提升了跟踪的精度和准确度。实验表明,本文算法有效缓解了遮挡导致的行人ID频繁切换的问题,相较于DeepSort算法,ID切换减少了21,MOTA提升了4.8%,并且跟踪速度也达到了实时性的要求。