APP下载

复杂环境下基于改进DeepSORT的行人实时稳定跟踪方法

2023-08-16张丽娟张紫薇姜雨彤李东明胡梦达刘英雪

液晶与显示 2023年8期
关键词:行人注意力轨迹

张丽娟, 张紫薇, 姜雨彤, 李东明, 胡梦达, 刘英雪

(1.无锡学院 物联网工程学院, 江苏 无锡 214105;2.长春工业大学 计算机科学与工程学院, 吉林 长春 130012;3.中国北方车辆研究所, 北京 100072;4.吉林农业大学 信息技术学院, 吉林 长春 130118)

1 引言

多目标跟踪(Multiple Object Tracking, MOT)是指输入一段视频,在没有任何对目标的先验知识(外形或数量)的前提下,追踪其中一类或多类物体的运动轨迹。多目标跟踪作为计算机视觉中的一项重要任务,在智能监视、自动驾驶、医疗诊断和军事视觉引导等方面具有极其重要的应用价值[1]。Aydogan Ozcan等人[2]提出一种全新的方法,无需计算机和任何数字处理即可立即透过未知、随机生成的相位漫射介质,全光学重建被扭曲的物体图像。本文主要研究行人多目标跟踪任务。

在多目标跟踪问题中,首先需要通过目标检测器如Faster R-CNN[3]、YOLOv3[4]、SSD[5]等对输入帧完成目标检测;进行ROI区域特征提取;然后进行相似度计算,计算前后两帧目标之间的匹配程度(前后属于同一目标的之间的距离比较小,不同目标的距离比较大);最后进行数据关联,为每个对象分配目标的ID。基于上述步骤的算法可以归为基于检测算法(Tracking by Detection, TBD)的跟踪,此类跟踪算法的准确率依赖于检测器精度。在Bewley A等人[6]的研究中提到,仅换一个更好的检测器就可将目标跟踪表现提升18.9%。

目前有许多相关方法用于实时多目标的检测跟踪,但是仍存在很多问题。首先,多目标跟踪精度还有待提高。当视频中出现遮挡或者目标框的特征不明确时,易造成误检、漏检或匹配错误,这些会大幅削弱模型跟踪的精度,应着眼目标检测的精度以及检测框和轨迹的匹配两部分来提升多目标跟踪的精度。其次,多目标跟踪的速度仍需提升。基于深度学习的方法相比于传统的跟踪方法,虽然精度有明显的优势,但深度学习的运行速度较慢,尤其Re-identification(Re-ID)极大地增加了模型的复杂度和时间成本,跟踪的帧率较低。

为了解决上述问题,本文基于Deep SORT[7]的框架提出了改进的行人多目标跟踪算法。首先给定视频初始帧;然后使用目标检测器进行检测,本文使用YOLOv5来提取检测框;将检测框中对应的目标进行特征提取;进行相似度计算,计算前后两帧目标之间的匹配程度,这里会设定一个阈值,大于这个阈值的认为匹配成功,将更新这个轨迹;最后为每个对象分配ID。

本文算法的贡献如下:

(1)在检测分支的主干网络设计融入注意力机制,帮助模型更加精准地定位和识别感兴趣的目标,进而提升目标跟踪的精度。

(2)数据关联部分设计预测轨迹算法并行,该机制配合Deep SORT中的级联匹配形成了预测-跟踪-校准体系。

(3)在MOT16、MOT17数据集上评估本文算法,并在MOT16(MOTA达到66.5%,IDF1达到64.2%,IDSW达到641)和MOT17(MOTA达到65.7%,IDF1达到62.8%,IDSW达到2072)上获得了竞争性的结果。

2 相关工作

2.1 相关滤波跟踪算法

在相关滤波和深度学习出现之前,传统的视觉跟踪方法研究进展较慢且跟踪精度差。相关滤波的跟踪方法打破了当时算法研究的局限性,成为该领域最被认可的算法研究方向之一。MOSSE算法[8]利用快速傅里叶变换(Fast Fourier Transform,FFT)处理图像和滤波器,跟踪速度极快并且在实时跟踪下也能保持良好的鲁棒性。核相关滤波算法(Kernelized Correlation Filters, KCF)[9]第一次证明了脊回归与周期性变化的样本和经典相关滤波器之间的联系。KCF使用循环矩阵采集样本,使用FFT加速算法运算。KCF不论在跟踪效果还是在跟踪速度上都有十分亮眼的表现。李等人[10]提出了自适应多滤波器的目标跟踪算法。

2.2 深度学习跟踪算法

近些年,深度学习受到了广泛关注。左超等人[11]认为深度学习在光学计量中受到越来越多的关注,为光学计量技术的概念带来了颠覆性的变革。司徒等人[12]认为深度神经网络(DNN)已经成为解决许多在不同的领域具有挑战性问题的方法。随着目标检测领域深度学习算法的不断发展,更多的跟踪算法采用基于检测跟踪的框架,即先对视频的每一帧进行目标的检测,再对不同帧的检测对象之间建立对应关系以获得轨迹。

基于TBD范式,Bewley A等人[6]提出的在线实时跟踪算法SORT是最早利用卷积神经网络检测行人的多目标跟踪算法之一。该算法将多目标跟踪问题分为目标检测部分、状态预测部分和数据关联部分。该算法经过目标检测部分得到目标的位置和类别,再通过卡尔曼滤波对每个检测目标预测和更新,最后使用匈牙利算法求解预测后的目标和当前帧中检测到的目标IOU匹配的代价矩阵。SORT运行速度极快,但易出现漏跟踪或误跟踪的情况。Wojke等人[7]对SORT算法进行了改进,提出了DeepSORT算法。DeepSORT算法在SORT算法基础上加入卷积神经网络来提取外观特征,并加入级联匹配策略。DeepSORT算法在精度上有所提升,但运行速度较慢。Bergmann等人[13]提出了一种基于锚框和检测器回归的方式进行下一帧的跟踪预测的模型Tracktor。同时,提出的跟踪器甚至不需要额外的跟踪数据训练、仅仅依靠训练好的两阶段(Two-stage)检测器就能实现。其次,通过添加ReID模型和CMC相机补偿模型将提出的模型扩展为Tracktor++。但该算法仍有许多局限,跟踪中若存在严重的遮挡时不能较好地处理,对尺寸较小的目标的跟踪没有较好的鲁棒性。贺等人[14]改进外观模型,将原始的宽残差网络更换为ResNeXt网络,在主干网络上引入卷积注意力机制,构造新的行人重识别网络。席等人[15]针对复杂场景下目标之间遮挡造成跟踪精度降低的问题,提出基于Fairmot框架的多目标跟踪改进算法。

目前的跟踪算法的检测分支分为二步检测和一步到位检测两种。其中二步检测需要先生成建议框,然后再进行细致的目标检测和分类;一步检测会直接在网络中提取特征来预测目标位置,仅送入网络一次就可以预测出所有的检测框。显然,目标检测中二步检测算法相较于一步到位算法的速度会较慢,所以本文用YOLOv5来作为我们的检测器。

3 行人多目标稳定跟踪模型

本文采用的多目标跟踪算法是基于检测的跟踪范式,在复杂环境下对行人可以进行在线跟踪且满足实时性的要求。如图1所示,轨迹预测分支采用卡尔曼滤波和核相关滤波并行预测轨迹。目标检测分支采用YOLOv5框架完成行人检测,数据关联分支采用Deep SORT算法的框架实现行人跟踪。

图1 本文提出的行人多目标算法框架Fig.1 Pedestrian multi-objective algorithm framework proposed in this paper

多目标跟踪首先需要通过目标检测器YOLOv5对输入帧完成目标检测;进行ROI区域特征提取;然后进行相似度计算,计算前后两帧目标之间的匹配程度;最后进行数据关联,为每个对象分配目标的ID。本文提出的算法在YOLOv5检测器中引入了注意力机制,并采用多任务并行的数据关联来实现行人多目标跟踪。首先通过得到的跟踪序列(第一帧得到的检测框默认为跟踪序列)通过卡尔曼滤波和核相关滤波两种算法并行预测视频跟踪序列得到预测轨迹,预测轨迹和这一帧的检测框进行级联匹配或者IOU匹配成功后的轨迹和新轨迹纳入跟踪序列,若不确定轨迹连续匹配失败且超出最大时间则删除该轨迹。

3.1 轨迹预测分支

本文的跟踪场景定义在八维状态空间(u,v,γ,h,x',y',γ',h')上,其中(u,v)是检测框中心点坐标,γ是长宽比,h为检测框高度,(x',y',γ',h')是在图像坐标中的各自速度。然后使用卡尔曼滤波更新,其观测变量为(u,v,γ,h)。预测部分的完整表达式如式(1)所示:

匹配成功的轨迹将更新为检测框的信息,卡尔曼滤波更新公式如式(2)所示:

其中:Pk是协方差矩阵,K是卡尔曼增益矩阵,H是测量矩阵,I是单位矩阵,R是噪声,z是测量值。

目标跟踪中实时性是非常重要的。为了保证一定的帧率,我们考虑将核相关滤波和卡尔曼滤波并行预测轨迹序列。因为目标跟踪中目标和背景是非线性的,在二维图像我们不能做到将目标和背景相分离,所以我们使用核函数k将图像从低维转换到高维,将目标和背景线性可分,如式(3)所示:

其中:(xi,xj)是训练样本,测试集z转换成线性的ϕ(z)。假设要预测第二帧图中目标的位置,就在上一帧框的附近划分一个感兴趣区域z,对这个感兴趣区域进行移位操作。KCF中引入了循环矩阵,巧妙地规避了矩阵的逆运算,大幅减少了运算量。并引入高斯核函数,可以将非线性问题转换为高维空间中的线性问题,如式(4)所示,使算法更具有一般性。

其中:α∈n×1,ϕ(x)∈n×n。

选择f(z)值最大的区域作为新目标区域,由z可知目标移动的位置,由此得到α=(K+λI)-1y。K是所有训练样本的和相关矩阵,通过傅里叶变换FFT得到式(5),其中是核相关矩阵第一行。

接下来使用HOG来提取特征。将样本区域划分若干区域,并在每个区域提取32维特征。同样对f(z)进行傅里叶变换得到式(6):

其中:λ是权重,y是维度输入,kxz是高斯核函数,x、z是任意两组循环移位得到的样本集,F是循环矩阵。

KCF使用目标周围区域的循环矩阵采集正负样本,利用脊回归训练目标检测器,并利用循环矩阵在傅里叶空间可对角化的性质将矩阵的运算转化为向量的Hadamad积,降低了运算量,提高了跟踪速度,使算法满足实时性要求[16]。

检测和跟踪是两个相辅相成的问题,良好的跟踪可以弥补检测的漏检,良好的检测可以防止跟踪的轨迹偏离。所以我们考虑加入预测来解决目标轨迹丢失、目标编号跳转等问题,提升目标跟踪的稳定性。

KCF中用到的是HOG特征,主要包括高空间分辨率和高目标定位精度的纹理信息。但是在复杂的跟踪背景下,仅依靠HOG特征无法实现精确的目标跟踪。考虑到复杂背景和光照变化情况下的深度特征,CNN特征具有丰富的纹理信息和较强的鲁棒性,但对目标的空间分辨率和定位精度较低,所以融合手工制作和深度特征相应,利用它们的互补性来提升跟踪的鲁棒性。HOG表示的是梯度特征,可以表示局部的形状信息。位置和方向空间的量化可以限制平移和旋转的负面影响,所以HOG特征在跟踪具有明显边沿轮廓的运动目标,比如行人时效果较优。KCF在目标的一些规则运动中对目标也能稳定跟踪,弥补了DeepSORT中使用马氏距离处理运动信息的缺陷。KCF跟踪速度较快,不会对实时跟踪处理过程造成太大压力。

3.2 目标检测分支

本文使用YOLOv5模型完成目标检测。YOLOv5的网络结构如图2所示,主要包括特征提取网络、加强特征提取网络和预测网络。其中,主干特征提取网络(图2中Backbone)的功能是进行初步特征提取,利用主干网络得到3个有效特征层;加强特征提取网络(图2中Neck)的功能是进行进一步的特征提取,利用特征金字塔加强特征提取网络,YOLOv5对从主干网络中得到的有效特征层进行特征融合,提取更有效的特征,获得3个更加有效的特征层;预测网络(图2中Head)的功能是利用更有效的有效特征层获得预测结果。YOLOv5主干网络使用的是Focus结构和跨阶段局部网络(CSPDarkNet),加强特征提取网络采用路径聚合网络(PANet),预测网络是YOLOv5通用检测层。

图2 YOLOv5框架Fig.2 YOLOv5 framework

视频跟踪中往往存在摄像头的运动和行人运动。运动的不确定性会导致目标跟踪的精度大幅降低。YOLOv5网络的特点是精度高、速度快。但视频中若是人流量密度较高或是跟踪背景复杂,跟踪中会出现一定的漏检、误检等情况。尤其是目标被遮挡或目标特征信息较少时,YOLOv5很难将目标的位置检测准确。

通道注意力给模型带来显著的性能提升,但通道注意力通常会忽略位置信息。因此,Hou等人[17]设计了一种新的注意力机制(Coordinate Attention,CA),将位置信息嵌入到通道注意力。

CA模块可以看作是一个用来增强特征表示能力的计算单元。如图3所示,CA模块进行了平均池化、拼接、卷积等操作后输出同尺寸的张量。CA模块简单灵活而且高效,可在几乎不带来额外计算开销的前提下提升网络的精度。

图3 CA模块结构图架Fig.3 Coordinate attention structure diagram

为了改善目标检测中的误检漏检,在YOLOv5网络中考虑采用添加注意力机制(CA)的方法来强化目标对象的位置信息,增强特征表示能力,如图4所示。注意力机制(CA)不仅可以捕获跨通道信息,还可以捕获方向感知和位置敏感信息,这可以帮助模型更准确地定位和识别目标并且可以轻松插入移动网络的经典构建块。除此之外,作为预训练模型还可以有效提升模型的精度,并为下游的跟踪任务带来显著的性能提升。坐标注意力机制将通道注意力分解为两个并行的一维特征编码过程,可以有效地将空间坐标信息整合到生成的注意力图中。在实时目标跟踪中,尽管精度是我们一直努力追求的目标,但是能够实时跟踪保持画面流畅度是第一前提,所以我们将坐标注意力机制融合进检测模型,在不大量降低跟踪速度的前提下提升检测的精度。

图4 YOLOv5主干网络Fig.4 Improved YOLOv5 backbone network

3.3 数据关联分支

在对被测图元进行测量之前,本文的跟踪场景定义在八维状态空间(u,v,γ,h,x',y',γ',h')上,其中(u,v)是检测框中心点坐标,γ是长宽比,h为检测框高度,(x',y',γ',h')是它们在图像坐标中的各自速度。然后使用卡尔曼滤波预测更新,其观测变量为(u,v,γ,h)。DeepSORT首先采用卡尔曼滤波来预测已经存在的轨迹,对预测得到的预测框和当前帧的检测框进行级联匹配和IOU匹配,图5所示为匹配成功的轨迹序列。

图5 成功匹配的轨迹Fig.5 Successfully matched tracks

如图6所示,级联匹配主要分为两部分,一部分主要是使用外观模型和运动模型来计算相似度,得到代价矩阵,并通过门控矩阵来限制代价矩阵中的最大值,经多次实验,本文将阈值设置为9.487 7。

图6 DeepSORT中的级联匹配Fig.6 Cascade matching in DeepSORT

马氏距离度量如式(7)所示:

其中:dj代表第j个检测框信息(u,v,y,h),Si是轨迹卡尔曼滤波器在当前时刻观测空间的协方差矩阵。yi是轨迹在当前时刻的预测观测量。式(7)表示第j个预测结果与第i条轨迹的适配度。使用马氏距离可以考虑状态估计的不确定度,通过阈值来排除不可能的关联。如果第i个轨迹和第j个预测之间的关联是可接受的,则其计算结果为1。

除马氏距离外,使用余弦距离衡量外观差异。对于每个检测框dj,计算外观描述符rj,其中||rj||=1。此外,对于每个轨迹k,存放最近的100个外观描述符。最后,度量第i个轨迹和第j个探测之间的最小余弦距离,如式(8)所示:

如果第i个轨迹和第j个预测之间的关联是可接受的,则其计算结果为1。

上述两个度量是相互补充的。马氏距离提供了目标的可能位置信息,对短期预测有用;余弦距离更多考虑预测信息和轨迹的外观特征。将二者加权相加,得到代价矩阵,如式(9)所示:

其中λ是权重系数,可以有效控制两者的占比。

当目标被长时间遮挡、卡尔曼滤波的预测较长时间不更新时,仅进行匈牙利算法匹配具有不准确性。DeepSORT中的级联匹配有效避免了这种情况,提升了轨迹的精准度。但是,当目标在远距离快速移动时,目标可能会发生尺度变化或被遮挡,而这时跟踪的轨迹将不再准确。

本文设计了KCF和KF双轨道预测机制,该机制配合DeepSORT中的级联匹配形成了预测-跟踪-校准体系。当跟踪过程中卡尔曼滤波出现跟踪目标轨迹与检测框位置差别较大时,这个预测轨迹则被认为是未被匹配的轨迹。若KCF中此目标轨迹的预测框和当前帧的检测框匹配成功,那么目标轨迹在当前帧被认为是仍存在的轨迹,同时跟踪框更新为当前帧的检测框,并学习框内目标的特征返回给卡尔曼滤波进行更新。否则,目标轨迹在当前帧跟踪失败,设定为非确定的轨迹,但仍旧保存轨迹70帧且进行轨迹的预测操作。这段时间内若有任何一帧目标的预测框和检测框匹配成功,目标轨迹则被重新认为是确认的轨迹。预测轨迹的准确连续是跟踪算法稳定跟踪目标的前提,而这种预测与跟踪并行的机制极大地提升了预测轨迹的准确性和连续性。

4 实验结果与分析

4.1 实验环境与数据集

实验环境为Ubantu16.04操作系统,Nvidia GeForce RTX 2080Ti显卡,运行内存为64 GB,采用Pytorch1.5.0深度学习框架,在python3.7的服务器上实现。本文算法目标检测训练数据集使用CrowdHuman数据集。CrowdHuman数据集[18]包含训练集15 000张,测试集5 000张,验证集4 370张。训练集和验证集中共有470 000个实例,约每张图片包含23个人,同时存在各种各样的遮挡。特征提取中的训练集用到的是Market-1501数据集。Market-1501数据集[19]的训练集中有12 936张图片,标注751个行人,测试集中有19 732张图片,标注750个行人,训练集和测试集中没有重复的行人ID。

为验证本文算法在复杂环境下行人多目标稳定跟踪任务的有效性,选择在公开数据集MOT16数据集上进行消融实验,在MOT16、MOT17数据集上与其他先进算法进行对比实验。该数据集中包含室内外复杂的环境。实验评价指标如表1所示。

表1 多目标跟踪的评价指标Tab.1 Evaluation index of multi-target tracking

4.2 消融实验和对比实验

对YOLOv5检测器采用坐标注意力机制进行消融实验,得到的热力图如图7所示。第一列为CrowdHuman数据集中原始图像,第二列为YOLOv5检测器原始模型的热力图,第三列为改进后的模型的热力图。归一化后,网络在颜色越红的地方分配的权重越大。第二列原始模型的热力图中红色不集中,且部分分布在复杂背景中;改进后的模型较好地改善了这一问题,第三列热力图中红色集中在目标上,背景为浅蓝色。所以,引入注意力机制后的模型可以更加精准地定位和识别感兴趣的目标,检测效果更优。

图7 检测算法的消融实验Fig.7 Ablation experiment of detection algorithm

对基于YOLOv5检测器的DeepSORT模型,采用坐标注意力机制和核相关滤波的模型(YOLOv5+CoorATT+DeepSORT+KCF)进行实验,结果如表2所示。

表2 3种模型在MOT16数据集上的消融实验结果Tab.2 Ablation experiment results of three models on MOT16 dataset

由表2可知,相比于原始YOLOv5算法,采用坐标注意力机制后的MOTA达到60.6%,提升了7.1%,并减少了大约200个轨迹碎片。坐标注意力机制能够提供更可靠的目标检测,进而提升跟踪精度。在此基础上,融合了KCF的本文算法在HOTA上达到53.1%,与原模型相比,提升了近10%,且在MOTA、IDF1、MT、ML上的指标都明显优于原模型,身份跳转次数也由原模型的1 051降低至641,轨迹碎片数减少到620。可见,改进的模型在检测精度和轨迹关联上的指标明显优于原模型,证明了本文所提出的改进算法对跟踪网络具有很好的优化效果。

为了充分验证本文改进算法的结果,本文选择在MOT16、MOT17数据集上与几种先进的多目标跟踪算法结果进行对比。表3和表4分别为在MOT16、MOT17数据集上的测试对比结果。

表3 本文算法与其他先进算法在MOT16数据集上的对比结果Tab.3 Comparison results between the algorithm in this paper and other advanced algorithms on MOT16 dataset

表4 本文算法与其他先进算法在MOT17数据集上的对比结果Tab.4 Comparison results between the algorithm in this paper and other advanced algorithms on MOT17 dataset

可以看出,对比其他主流算法,本文算法在接近实时跟踪的同时具有更好的检测精度和跟踪效果。在MOT16数据集中,就检测精度而言,FairMOT跟踪算法对比本文算法的MOTA值高于1.6%。但综合其他指标来看,本文算法比Fair-MOT的IDSW值减少约230,身份跳转次数的大幅减少会降低目标的误检。就目标检测和数据关联精度的平均性测量来看,HOTA值提升了0.9%。本文算法以24.0帧/s接近实时跟踪速率的同时拥有较高的跟踪精度。

以MOT16数据集中的MOT16-04为例,FPS与GPU占用如图8所示。在MOT17数据集上,本文算法在领先CenterTrack跟踪算法7帧/s的情况下,MOTA值提升了4.2%,IDF1提升了5.4%,IDSW值减少了826,再次验证了本文引入坐标注意力机制和KCF模块的有效性,更高维跟踪精度提升8.1%以及正确轨迹跟踪数的提升证明了本文设计的多级匹配关联模块具有简单、有效的优点。

4.3 模型改进前后的跟踪效果可视化

图9展示了原模型和本文改进的模型在MOT16数据集上对行人跟踪结果的可视化。从MOT16-02中截取出5帧连续帧作为对比。视频背景较为复杂,有高度参差不齐的树木,建筑物前摆放有石桩木桩,街边有圣诞树等。当路边出现干扰物体时,易将此检测为目标进行跟踪,形成漏检误检,影响检测精度,如图9中箭头所示,将建筑物检测为目标并在接下来的帧图片中继续进行检测跟踪,形成大量的误检和不正确的跟踪轨迹,而左侧坐在椅子上的行人没有被检测跟踪,遗失了正确的目标轨迹。图9(c)改进算法能够有效地改善在复杂环境中背景部分被误检为目标以及正确目标的漏检。一方面检测分支引入了坐标注意力机制,丰富了特征信息,有了更好的检测效果;另一方面数据关联引入KCF算法构建了新的匹配体系,提升了轨迹的跟踪稳定性。从可视化图中可知,改进算法有更好的跟踪精度。

图9 改进算法在MOT16-02中的跟踪效果可视化Fig.9 Visualization of tracking effect of improved algorithm in MOT16-02

5 结论

本文针对复杂背景下行人跟踪易出现的漏检误检,跟踪效果差的问题,提出了一种改进算法。该算法改进了YOLOv5目标检测算法,加入了坐标注意力机制来提升检测精度,在复杂环境下减少了目标的误检和漏检;改进了关联分支,引入KCF算法构建多级匹配机制,确保正确跟踪的轨迹个数,进而提升跟踪的精度。实验结果表明,本文所提模型明显优于其他模型,在MOT16、MOT17数据集中,本文模型MOTA达到了66.5%;IDF1达到了64.2%;IDSW达到了641;跟踪速率达到24 FPS,接近实时跟踪的跟踪速率;且有效改善了复杂环境下跟踪中出现的漏检误检的问题。

猜你喜欢

行人注意力轨迹
让注意力“飞”回来
毒舌出没,行人避让
轨迹
轨迹
路不为寻找者而设
轨迹
“扬眼”APP:让注意力“变现”
进化的轨迹(一)——进化,无尽的适应
我是行人
A Beautiful Way Of Looking At Things