基于YOLOv5和重识别的行人多目标跟踪方法
多目标跟踪(Multiple Target Tracking,MTT)主要任务是在给定视频中同时对多个特定目标进行定位,同时保持目标的ID稳定,最后跟踪记录他们的轨迹[
行人重识别(Person re-identification,ReID)被认为是图像检索的子问题[
基于TBD范式,Bewley等人[
综上所述,行人重识别技术提取出的有效特征为目标跟踪任务提供了强有力的支撑,且与目标检测算法的有效结合使目标跟踪的速度也有了很大提升,满足实时性的要求。因此本文提出一种基于YOLOv5与重识别的行人多目标跟踪方法,同时对检测算法与特征提取网络部分进行改进。
2 行人重识别特征提取网络
2.1 深度特征提取网络
为了使多目标跟踪算法具有更有鉴别力的目标特征,本文采用ResNeXt50网络作为主干网络。ResNeXt网络[
2.2 GAN网络进行数据增强
本文在行人再识别算法的公开数据集Market1501上进行实验。为了防止模型过拟合,基于Pytorch深度框架搭建了生成式对抗网络[
图1 生成图示例
Fig.1 Generate image examples
将GAN网络扩增后的Market1501数据集送入ResNeXt50中进行特征提取,实验结果如
Model | Market1501 | GAN(Market1501) |
---|---|---|
ResNeXt50 | 98.2% | 98.8% |
2.3 CBAM注意力机制
在多目标跟踪过程中,往往会面临遮挡问题,这种遮挡可能来自不同行人之间的遮挡,也可能来自固定物体的遮挡。遮挡极大可能导致目标在跟踪过程中前一帧的目标ID与后一帧的目标ID发生切换,这样网络就会认为这时出现了新的目标,导致跟踪中断,影响跟踪精度。因此考虑采用添加卷积注意力机制[
图2 CBAM注意力机制
Fig.2 Convolutional block attention
2.4 基于CBAM注意力机制的行人重识别特征提取网络
本文设计的行人重识别特征提取网络结构如
图3 特征提取网络结构
Fig.3 Feature extraction network structure
本文采用GAN技术扩充大型行人重识别公开数据集Market1501,重构新的数据集,以ResNeXt50为主干网络。分析对比之后,将注意力模块添加在ResNeXt50网络的第一个卷积层以及Layer1的残差块之后(
(3) |
图4 CBAM模块嵌入到ResNeXt
Fig.4 CBAM module embedded to ResNeXt
图5 改进前算法与改进后算法跟踪过程前后帧目标ID对比
Fig.5 Contrast of the target ID before and after frame in the tracking process using the prealgorithm and improved algorithm
3 YOLOv5检测算法的改进
本文采用基于检测的多目标跟踪范式,因此检测作为第一步十分关键。目标检测旨在判断给定的视频帧中除背景信息以外的目标的尺寸和位置。本文研究的目标对象是行人,因此需要检测出行人的位置并用矩形框进行标注。2020年,Glenn Jocher发布了YOLOv5算法,该目标检测模型运行准确度较高,且运行速度快。YOLOv5基于PyTorch实现,可以有效地应用于嵌入式设备和移动端。根据模型的深度以及卷积核的个数,模型共有4个版本:YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,模型体积越大,相应的检测精度越高,但是复杂的模型也导致检测速度变慢。
针对当前行人检测方法精度和实时性不能同时兼顾的问题,本文采用以YOLOv5s[
3.1 添加小目标检测头
由于在实际场景中人们处于摄像机网络中的不同位置,因此映射到不同帧图像中的行人尺寸不断发生变化。由远及近,行人的尺寸在整幅图中比例不一,尤其是包含很多行人目标的密集图像。在一帧图像中,距离当前摄像头较远的行人在整个图像中可能仅占几个像素的大小,在检测过程中提取的特征信息较少、噪声多,极大地影响了检测结果。原始的YOLOv5s模型有3个检测层,分别在8,16,32倍下采样处对3个尺度的特征图进行预测。输入图像的尺寸为640×640,因此经过3种下采样后的特征图尺寸分别为80×80,40×40,20×20,对应检测8×8,16×16,32×32以上的目标。但是该模型对远距离行人目标的检测仍然会出现检测不到的情况,因此,针对这一现象,本文考虑再添加一个检测层以增加模型对尺度的包容性。改进后的网络结构如
图6 改进后的网络结构
Fig.6 Improved network structure
图7 特征图可视化
Fig.7 Feature map visualization
Model | Precision/% | Recall/% | mAP/% | mAP@0.5∶0.95/% |
---|---|---|---|---|
YOLOv5 | 93.5 | 92.1 | 95.8 | 76.4 |
YOLOv5+上采样 | 98.6 | 95.7 | 99.4 | 87.1 |
由
3.2 CA注意力机制
在CV领域,注意力机制被广泛应用于图像分类、目标检测、分割任务[
图8 CA模块
Fig.8 CA module
坐标注意力机制首先对输入沿水平方向和垂直方向对通道进行编码,沿两个方向聚合特征获得一对具有方向感知能力的特征图。将两个方向感知特征图拼接在一起,再送入卷积核为1×1的卷积模块进行降维操作,然后经过批量归一化处理送入Sigmoid激活函数得到中间特征图。接着沿空间维度将中间特征图分成沿水平方向和垂直方向的独立的张量。最后利用另外两个1×1卷积变换函数对两个张量进行处理得到通道数相同的输出,分别展开并用作注意力权重。
本文将CA模块集成到改进后的YOLOv5s网络中,经过实验验证,考虑将CA模块添加在Neck网络中卷积层之间,添加注意力机制赋予目标信息更大的权重,使得网络对目标信息更加关注,对检测结果有一定的修正作用。
本文随机选取在MOT16训练集中的图像验证改进模型的效果,原始模型与改进模型的检测效果对比如
图9 可视化结果对比
Fig.9 Visual results comparison
不难看出,原始的网络检测有很多漏检的情况(为了更加直观,我们使用绿色框进行了标注),发现主要有两个问题:遮挡和远距离导致的目标比例小的问题。因此,本文对原始网络进行改进,从
4 基于改进的YOLOv5和重识别的多目标跟踪方法
本文采用的多目标跟踪算法是基于检测的跟踪范式,且为了满足实时性的要求,对目标行人进行在线跟踪。多目标跟踪任务基本是由目标检测、运动预测、外观模型、数据关联模块组成。上文已经获得了精确的目标检测框以及外观模型,然后利用卡尔曼滤波和匈牙利算法完成关联和匹配。本文整体网络架构如
图10 整体网络构架
Fig.10 Overall network architecture
具体工作流程如下。第一步:输入的视频序列首先经过YOLOv5s检测出前景对象,得到行人的位置响应,并通过检测响应裁剪出当前帧图像中目标对象位置所在的图像块。为了使得检测结果更加精确,本文在此处加入检测层以满足多尺度检测任务,同时加入CA注意力机制使得模型更加优化。第二步:将裁剪出来的包含目标的图像块送入线下训练好的行人重识别模型来提取深度外观特征信息,本文在此处也做出改进,将主干网络更换为ResNeXt50,以采用相对少的参数达到较好的效果。另外,考虑到实际情况中的遮挡问题给特征提取带来的困难,添加注意力机制CBAM,再用GAN网络扩增后的行人重识别公开数据集Market1501训练模型,生成的权重文件作为新的外观模型。第三步:将上一步提取到的ReID特征与经过卡尔曼预测的确定轨迹上的ReID信息进行级联匹配建立数据关联,得到3种结果:匹配成功、未匹配的轨迹、未匹配的检测。针对未匹配的检测、未匹配的轨迹以及卡尔曼预测的不确定轨迹再采用匈牙利算法进行二次匹配,同样得到前面提到的3种结果。第四步:通过级联匹配和匈牙利匹配,对于匹配成功的轨迹,将其送入卡尔曼滤波中更新轨迹信息。对于未匹配的检测,将其初始化作为新的轨迹,并且该轨迹必须满足连续3帧都能匹配到目标对象才能被定为确定轨迹。对于未匹配的轨迹,若其是确定轨迹且连续失配帧数少于max_age,则将其加入跟踪序列中;若连续失配帧数大于max_age,则删除轨迹。若未匹配且是未确定轨迹,则直接删除轨迹。第五步:将得到的所有跟踪送入卡尔曼滤波进行预测,得到确定轨迹和不确定轨迹,重复上述步骤。
5 实验结果与分析
5.1 数据集与实验环境
本文提取大型目标检测公开数据集COCO中的行人类数据子集作为训练集,用MOT16的训练集[
5.2 评价指标
为了使模型的评价更加客观准确,并与其他算法进行合理比较,本文采用多目标跟踪领域通用的评估指标进行评估:多目标跟踪准确度(Multi-object Tracking Accuracy,MOTA)、多目标跟踪精度(Multi-object Tracking Precision,MOTP)、多目标跟踪器ID维持能力(Identification F1 Score,IDF1)、行人ID切换次数(ID Switch,IDs)、大多数跟踪目标百分比(Mostly Tracked,MT)、大多数丢失目标百分比(Mostly Lost,ML)。部分评价指标的公式如
(4) |
(5) |
式中的表示当前帧为第帧,;表示真实边界框数量;表示整个视频的漏检数;表示整个视频的误检数;表示总的行人ID切换次数;表示第t帧中第i个预测框与真实框之间的重叠率,即IoU(Intersection-Over-Union)距离;表示目标成功匹配数量。
5.3 结果分析
对于多目标跟踪,本文选择MOT16数据集进行实验,与几种先进多目标跟踪算法结果进行对比。受文献[
Algorithm | MOTA | MOTP | IDF1 | MT/% | ML/% | IDs↓ | 帧率/Hz |
---|---|---|---|---|---|---|---|
SORT[ | 59.8 | 79.6 | 53.8 | 25.4 | 22.7 | 1 423 | 8.6 |
DeepSORT[ | 61.4 | 79.1 | 62.2 | 32.8 | 18.2 | 781 | 6.4 |
JDE[ | 64.4 | — | 55.8 | 35.4 | 20.0 | 1 544 | 18.5 |
POI[ | 66.1 | 79.5 | 65.1 | 34.0 | 20.8 | 805 | 5.0 |
TubeTK[ | 64.9 | 59.4 | 59.4 | 33.5 | 19.4 | 1 117 | 1.0 |
Ours | 66.2 | 80.8 | 65.8 | 35.3 | 17.6 | 760 | 5.8 |
综合分析指标可知,本文算法与部分先进算法相比有相对优势,但是与JDE算法相比,在实时性方面优势并不突出。JDE算法属于一阶段跟踪算法,实时性相对较高,但ID切换相对频繁,这是在大量密集行人场景下,由于目标相互遮挡导致的。而本文着重考虑遮挡情况下跟踪效果差的问题,同时考虑到数据集中行人密集且动态变化,增强了对小目标对象的检测能力,因此改进算法在MOTA、MOTP等指标上都有所提升。MOTA相较于JDE算法提升了1.8%,MOTP相较于SORT算法提升了1.2%,IDF1相较于DeepSort算法提升了3.6%,MT提升了2.5%,ID切换频次下降。综上,可以验证本文算法的良好性能,且在实际跟踪场景中具有一定的优势。多目标跟踪效果如
图11 多目标跟踪效果。(a) MOT16-03; (b) MOT16-09。
Fig.11 Multi-target tracking effect.(a) MOT16-03; (b) MOT16-09.
6 结论
本文针对行人多目标跟踪过程中因为遮挡导致的行人ID频繁切换,跟踪效果差的问题,提出一种改进算法。该算法选用TBD跟踪范式,设计新的特征提取网络,并且通过引入卷积注意力机制,提升了模型对目标对象的表征能力。同时改进了YOLOv5目标检测算法,考虑加入小目标检测层和坐标注意力机制使得检测更加准确,进而提升了跟踪的精度和准确度。实验表明,本文算法有效缓解了遮挡导致的行人ID频繁切换的问题,相较于DeepSort算法,ID切换减少了21,MOTA提升了4.8%,并且跟踪速度也达到了实时性的要求。
- 2025年中科院分区表已公布!Scientific Reports降至三区
- 官方认定!CSSCI南大核心首批191家“青年学者友好期刊名单”
- 2023JCR影响因子正式公布!
- 国内核心期刊分级情况概览及说明!本篇适用人群:需要发南核、北核、CSCD、科核、AMI、SCD、RCCSE期刊的学者
- 我用了一个很复杂的图,帮你们解释下“23版最新北大核心目录有效期问题”。
- 重磅!CSSCI来源期刊(2023-2024版)最新期刊目录看点分析!全网首发!
- CSSCI官方早就公布了最新南核目录,有心的人已经拿到并且投入使用!附南核目录新增期刊!
- 北大核心期刊目录换届,我们应该熟知的10个知识点。
- 注意,最新期刊论文格式标准已发布,论文写作规则发生重大变化!文字版GB/T 7713.2—2022 学术论文编写规则
- 盘点那些评职称超管用的资源,1,3和5已经“绝种”了