融合改进YOLOv2网络的视觉多目标跟踪方法

2020-12-09 09:45:46昝珊珊
小型微型计算机系统 2020年12期
关键词:边框变化率卡尔曼滤波

昝珊珊,李 波

(辽宁工业大学 电子与信息工程学院,辽宁 锦州 121001)

1 引 言

近年来,深度神经网络[1]为图像检测分类[2,3]、人脸检测与识别[4]和语音识别[5]等实际应用做出了巨大贡献.相比于传统方式所提取的目标特征信息,深度特征[6]拥有更丰富与完整的信息,具有较强的特征提取能力.深度神经网络推动了视觉跟踪技术的发展,为多目标跟踪提供了更广阔的发展方向.因此,融合深度神经网络与目标跟踪方法可有效提升视觉多目标的跟踪性能.

在深度学习[7]飞速发展的今天,涌现出诸多性能优越的深度神经网络模型.文献[8]提出了R-CNN(Region-based Convolutional Neural Network)模型.文献[9,10]分别讨论了Fast R-CNN模型和Faster R-CNN模型.常见的网络模型还有SSD(Single Shot Detector)模型[11]和YOLO(You Only Look Once)模型[12].文献[13]提出了一种性能更优的YOLOv2模型.随后,Redmon等提出一种具有更多网络层数的YOLOv3模型(1)https://arxiv.org/abs/1804.02767.通常,YOLOv2网络基于贯序式结构,由卷积层与池化层组成,较YOLOv3网络更容易实现和训练.因此,本文对YOLOv2网络进行改进,将其作为目标检测模型,充分利用特征信息以提高目标跟踪可靠性.

视觉的多目标跟踪方法主要包括SORT(Simple Online And Realtime Tracking)[14]方法和Deep-SORT(SORT with a Deep Association Metric)方法.SORT方法由标准卡尔曼滤波获取目标信息,通过评估跟踪与检测结果的重叠率完成目标跟踪.尽管该方法实时性较高,但只有当目标状态估计偏差较小时才有较好的效果.于是,文献[15]在SORT基础上引入了神经网络模型用于目标表观匹配,提出了Deep-SORT多目标跟踪方法.但该方法在表观匹配过程需要一定的时间.针对上述问题,本文利用MobileNet网络结构(2)https://arxiv.org/abs/1704.04861中的深度可分离卷积重新构造表观匹配部分的特征提取网络,提取匹配部分的特征向量,以提高目标跟踪有效性.

综合考虑目标跟踪系统对有效性和可靠性的需求,本文提出一种融合改进YOLOv2网络的视觉多目标跟踪方法.首先,利用改进的深度学习网络检测视频流的帧目标,提出改进的并联结构YOLOv2网络.利用以Deep-SORT为核心的视觉多目标跟踪方法,推导修正目标状态变化率的数学体系,解决目标遮挡的实际问题.其次,采用基于马氏距离的运动匹配和特征向量最小余弦相似度的表观匹配的加权融合方法确定目标位置,在表观匹配部分采用了MobileNet深度可分离卷积.最后,由数据关联结果将检测位置作为目标的位置信息,实现视觉多目标跟踪.本文结构如下:第2节阐述了改进YOLOv2网络的结构与原理;第3节推导出目标遮挡情况下的状态变化率修正策略;第4节论证了Deep-SORT方法与数据关联过程;第5节验证了本文方法的综合性能;最后,总结全文并给出了未来的研究与展望.

2 改进的YOLOv2

2.1 YOLOv2原理

YOLOv2网络去掉了YOLO网络的全连接层与最后的池化层,利用19个卷积层和5个最大池化层搭建出特征提取网络,引入批量标准化处理,保证了稳定训练与加速收敛.YOLOv2网络的贯序式结构将提取的特征信息直接作为分类器的输入来获取目标的位置.然而,该网络未能充分利用特征信息,在一定程度上制约着目标跟踪的可靠性.

2.2 改进YOLOv2的结构

改进的并联YOLOv2网络结构如图1所示.该结构主要由卷积层、池化层和批量标准化层组成特征提取网络,将获得的目标特征信息复制为两份:一份输入到由卷积层和批量标准化层搭建的分类器;另一份输入到由残差块搭建的判别器.这里,残差块将输入的特征信息由卷积—残差函数—卷积输出,并将原始输入加到输出结果中;分类器对检测目标分类与关注,得出目标的大致位置;判别器则对输入的特征信息进行判断.融合判别器和分类器的输出结果后,可进行池化和归一化指数操作.

利用YOLOv2网络检测目标时,将输入原始图像分割为S×S个网格,每个网格预测D个边框,每个边框再预测中心坐标、长宽和置信度.利用分类器对提取的特征展开分类,由判别器进行特征判断,去除无用的边框,获得准确的目标检测边框.

注释 1.改进的并联YOLOv2网络不但完成了分类器与判别器的训练,还对特征信息实现了多路复用,在不显著增加网络参数前提下,简化了原有网络模型结构.

3 目标遮挡时的状态变化率修正

3.1 卡尔曼滤波

基于线性递推最小方差估计[16]的卡尔曼滤波[17]主要涵盖状态预测与状态更新两个重要步骤.

假定离散时间的线性状态模型为:

Xt=AXt-1+qt

(1)

Zt=HXt+rt

(2)

式中,A为状态转移矩阵,状态向量Xt满足Xt~N(mt,Pt),mt和Pt分别为状态的均值与协方差,qt为状态噪声且满足qt~N(0,Qt),Qt为状态噪声方差.Zt为观测向量,H为观测矩阵,rt为观测噪声且满足rt~N(0,Rt),Rt为观测噪声方差.

在t-1时刻,状态预测值Xt|t-1和协方差预测值Pt|t-1为:

Xt|t-1=AXt-1|t-1

(3)

Pt|t-1=APt-1|t-1AT+Qt

(4)

在t时刻,状态估计值Xt|t与卡尔曼增益Kt为:

Xt|t=Xt|t-1+Kt(Zt-HXt|t-1)

(5)

Kt=Pt|t-1HT(HPt|t-1HT+Rt)-1

(6)

系统的协方差可由式(7)更新:

Pt|t=(I-KtH)Pt|t-1

(7)

注释 2.虽然卡尔曼滤波方法的速度很快,但应用于目标遮挡时的可靠性较低,性能需进一步提高.

3.2 修正状态变化率

在视觉多目标的跟踪过程中,目标遮挡情况较为常见.此时,遮挡目标并未消失,依旧在检测范围内,这需要继续对遮挡目标的轨迹进行预测,提升其再次出现的跟踪效果.本文采用的方法为:当目标被遮挡时,调整遮挡目标的状态变化率来预估运动状态,并存储预估的位置信息.当下一帧视频输入时,先判断是否能检测到该目标.若能,利用卡尔曼滤波跟踪;否则,判断遮挡帧数是否超过预设值.若超过,则删除该目标轨迹;否则,继续预测该目标状态.

(8)

(9)

由式(9)计算遮挡目标的状态变化率,所得的仅是粗略结果.要获取更可靠的目标状态信息,应该考虑距遮挡时刻较近的目标状态变化率,通过修正式(9)中权重系数加以实现.于是,将每项都乘不同的权重系数得出不同时刻遮挡目标的状态变化率,即将所选时长N内的目标状态变化率乘相应的权重系数来代替式(9)中的权重系数1/N.利用系数加权法,选取权重系数γn使其满足:

(10)

式中,δ(0<δ<1)为遗忘因子,由上式知,γn有如下性质:

(11)

(12)

(13)

(14)

将式(14)代入式(8),由于距离遮挡较近时刻的状态变化率对遮挡目标的状态会产生影响,需增加相邻时刻的权重系数.根据修正后的目标状态变化率可实现遮挡时刻的目标状态估计.最后,利用式(1)~式(7)所示的卡尔曼滤波完成视觉多目标跟踪.

4 数据关联

当改进的YOLOv2网络获取第1帧目标位置后,由卡尔曼滤波实现各目标跟踪,再对每帧视频序列进行检测,将卡尔曼滤波获取的跟踪信息和YOLOv2网络获取的检测信息关联匹配.一旦匹配成功,其检测到的目标位置即为此帧目标跟踪位置.

在关联匹配阶段,首先计算本文YOLOv2网络得到的位置和卡尔曼滤波获取目标位置的马氏距离[19]比,然后求取检测框和跟踪框对应特征的最小余弦相似度,将上述两个结果加权求和作为评价指标,评价检测框和跟踪框之间的匹配程度,成功匹配的位置边框即为最优的目标位置输出.

Deep-Sort方法可由马氏距离来度量跟踪位置与检测位置之间的运动匹配程度.根据式(15)计算第j个目标检测边框与第i个目标跟踪框之间的马氏距离:

(15)

假定检测时长N内的最大马氏距离值为max{Mi,j},则当前马氏距离的归一化值为:

(16)

由于目标被遮挡后可能再次出现在检测区域,Deep-SORT方法利用目标特征信息度量第j个检测边框与第i个跟踪边框之间的匹配程度.同时,轻量级卷积神经网络提取目标特征的过程减少了网络参数的使用.MobileNet网络不再使用池化层,并将卷积操作分两步:深度可分离卷积用于特征信息提取;逐点卷积则用于特征信息融合.上述操作有效降低了网络计算量,对于一个尺寸为3×3的卷积核,可降低7~9倍的计算量.

在标准卷积操作中,卷积核的通道数与对应特征图的通道数相同.例如,输入的特征图为64×64×32,则标准卷积核的通道数为32.相比之下,在轻量级神经网络中的深度可分离卷积的通道数为1,逐点卷积的通道数与标准卷积相同.于是,利用深度可分离卷积提升网络的运算速度.

接下来,求取检测边框与跟踪边框之间特征向量的余弦值[20]作为目标表观匹配部分的权衡指标.检测边框的特征向量αj和跟踪边框的特征向量βi的相似程度为:

(17)

若两个向量之间夹角的余弦值越接近1,它们之间的差异就越小.因此,利用最小余弦相似度度量两类特征向量的差异:

(18)

最后,融合式(16)所述的运动匹配指标和式(18)所述的表观匹配指标,得到新的度量指标Di,j:

(19)

式中,λ(0<λ<1)为加权系数.因此,式(19)可用来衡量跟踪边框和检测边框的匹配程度.

综上,融合改进YOLOv2网络的视觉多目标跟踪方法总结如下:

1)利用改进的YOLOv2网络获取目标的初始位置;

2)利用卡尔曼滤波跟踪各目标,对每帧视频序列进行检测和跟踪,利用检测信息更新卡尔曼滤波.如果目标被遮挡,执行步骤3);否则执行步骤4);

3)当目标被遮挡时,修正遮挡目标的状态变化率,获取更精确的状态信息;

4)计算改进YOLOv2网络和卡尔曼滤波所提供位置的马氏距离,获取运动匹配的评价指标;

5)计算检测边框与跟踪边框之间特征向量的最小余弦相似度,获取表观匹配的评价指标;

6)融合步骤4)和步骤5)得出的两类评价指标,获取新的评价指标;

7)当检测结果与跟踪结果匹配时,输出检测位置作为该时刻的目标位置;

8)重复上述操作步骤,直到完成跟踪任务.

5 实验分析与性能评价

本文实验环境为Windows 10操作系统,8G内存,采用Python开发环境下的Anaconda管理工具包和PyCharm编辑器.实验场景包括行人数据集跟踪与实测车辆视频跟踪.其中,行人跟踪的图像采集速率为15帧/秒,帧尺寸为640像素×480像素;车辆跟踪的图像采集速率为25帧/秒,帧尺寸为1280像素×720像素.实验截取的图像帧主要涵盖关注目标的出现区域.

本文实验δ取0.96,对调整系数λ的不同数值在MOT(The Multiple Object Tracking)数据集上进行测试,实验结果如表1所示.其中,recall为检测目标数与真实目标数的正确匹配比;precision为正确匹配的检测目标数与检测目标数之比.当λ取0.1时的匹配效果更为理想.随着训练次数的增加,本文改进的YOLOv2网络在准确度和召回率方面均有所改善.当网络训练次数达到50000次时,网络准确度和召回率变化幅度很小;当训练次数达到70000次时,本文YOLOv2网络准确度达到95%,召回率达到90%.

表1 调整系数的选取Table 1 Selection of adjustment coefficient

5.1 行人跟踪

图2是本文方法在跟踪行人目标时随机截取的图像帧.可以看出,该方法有效地跟踪了视频中的多目标,给出了准确的目标框与目标编号.

图2 本文算法跟踪行人的效果Fig.2 Effect of proposed algorithm that tracks pedestrians

接下来,将本文方法与KCF(Kernel Correlation Filter)、MIL(Multiple Instance Learning)、GOTURN(Generic Object Tracking Using Regression Networks)和MOSSE(Minimum Output Sum of Squared Error filter)等常用方法进行对比.图3给出了目标5在第67~99帧的中心位置与各类跟踪方法获取的中心位置.本文方法基于改进YOLOv2网络结构充分利用特征信息,得到了更准确的目标位置区域.由匹配成功的检测结果作为目标位置输出,其可靠性也进一步提高.尤其,本文方法在大多数帧情况下比KCF方法和MOSSE方法更接近目标的真实位置.

图3 目标5的中心位置估计Fig.3 Estimated center position of target 5

图4进一步给出了行人目标遮挡时的跟踪结果.场景1中目标10即将被目标9遮挡;场景2中目标10完全被目标9遮挡,但并没有离开检测区域,需继续预测其运动轨迹.本文对目标10的状态变化率进行加权修正预测位置.当场景3中的目标10再次出现时,由改进的YOLOv2网络获取位置,通过数据关联匹配确认该目标后继续跟踪.

图4 行人被遮挡时跟踪结果Fig.4 Tracking results of occluded pedestrians

表2给出了遮挡情况下目标10的状态修正结果.在第126帧无法获取目标10的检测结果;目标10在第145帧再次被检测;在第126~144帧均无法得到遮挡目标的检测信息,影响了目标10再次出现时的跟踪结果.在目标遮挡期间,本文将修正遮挡目标的状态变化率,由修正后的目标位置计算遮挡目标10在x方向上的状态变化率为0.5像素/帧,在y方向的状态变化率为0.25像素/帧.当它出现在视频中,本文方法用检测结果更新卡尔曼滤波模型.

表2 目标10的状态修正情况Table 2 State correction of target 10

表3对比了各类跟踪方法在行人跟踪实验中处理每帧图像的平均运算时间.可以看出,MOSSE方法的运算时间最短.而本文方法融合了卡尔曼滤波与数据关联步骤,较其KCF和MOSSE方法的运算时间长,与MIL方法的运算时间相近,可满足常见视觉多目标跟踪的时间需求.

5.2 车辆跟踪

图5给出了本文方法在遮挡情况下的车辆跟踪结果.场景1中,本文方法由目标检测框与跟踪框之间的运动匹配与特征相似度,获取到目标1与目标2的准确位置;场景2中,目标2完全被目标1遮挡,由修正后的目标2状态变化率估计目标2的运动状态;场景3中,遮挡目标再次出现,根据运动匹配与特征相似度结果将其作为原目标继续跟踪.

表3 平均运算时间Table 3 Average computation time

图5 车辆被遮挡跟踪结果Fig.5 Tracking results of occluded vehicles

图6对比了各类跟踪方法对目标1的中心位置估计.可以看出,本文方法由改进YOLOv2网络结构将判别器和分类器的结果融合后得到了准确的目标检测位置.同时,基于马氏距离的运动匹配与特征向量最小余弦相似度的表观匹配加权融合方法,较其他跟踪方法可靠性有显著提高.

图6 目标1的中心位置估计Fig.6 Estimated center position of target 1

遮挡期间的目标2状态修正结果如表4所示.当目标2被遮挡时,由修正权重系数调整状态变化率,并计算状态信息.当它再次出现时,YOLOv2网络获取其检测信息,进而更新卡尔曼滤波模型.实验中的目标2在第8帧被目标1遮挡住,无法得出遮挡目标的检测信息,需利用状态变化率修正方法获取目标位置;目标2在第28帧再次被检测到,将其作为原目标跟踪.因此,第8~27帧需要修正遮挡目标的状态变化率.表4给出了目标2修正后的中心位置.可以看出,目标2在x方向的状态变化率为5像素/帧,在y方向的状态变化率为0.1像素/帧.

表4 目标2的状态修正情况Table 4 State correction of target 2

表5 平均运算时间Table 5 Average computation time

表5对比了各类常见方法在跟踪车辆目标实验中每帧图像的平均运算时间.其中,MOSSE方法的平均运算时间最短,而KCF方法和GOTURN方法的时间居中.本文方法所需的时间比MIL方法更短.

6 结束语

本文提出了一种融合改进YOLOv2网络的视觉多目标跟踪方法.首先,利用改进的YOLOv2网络检测每帧视频中的目标.其次,通过修正遮挡目标的状态变化率解决目标遮挡问题.当遮挡目标再次出现时,本文方法将该目标作为原目标并利用卡尔曼滤波进行跟踪.然后,通过运动匹配与表观匹配加权融合的结果将检测信息与跟踪信息进行关联匹配.由于表观匹配步骤需要一定时长,采用了深度可分离卷积重建特征提取网络,减少了计算量.最后,将匹配成功的检测结果作为该帧的目标位置输出.实验证明,本文方法能提高视觉多目标跟踪的综合性能.

本文方法改善了目标遮挡时的跟踪效果,但当目标特征发生突变时还需继续完善,接下来将在目标跟踪步骤引入异类传感器以提升复杂场景下的跟踪性能.另一方面,本文方法在表观匹配步骤花费了一定的时长,接下来将从降低目标特征维度方面提升实时跟踪的有效性,使其更为广泛地适用于各类视频目标跟踪领域,如船舶动态跟踪及航行轨迹规划等.

猜你喜欢
边框变化率卡尔曼滤波
一模六产品筛板模具的设计与应用
智能制造(2022年4期)2022-08-18 16:21:14
基于电流变化率的交流滤波器失谐元件在线辨识方法
湖南电力(2021年4期)2021-11-05 06:44:42
例谈中考题中的变化率问题
用Lightroom添加宝丽来边框
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
给照片制作专业级的边框
摆脱边框的束缚优派
中国照明(2016年6期)2016-06-15 20:30:14
利用基波相量变化率的快速选相方法
基于模糊卡尔曼滤波算法的动力电池SOC估计
电源技术(2016年9期)2016-02-27 09:05:39
川滇地区地壳应变能密度变化率与强震复发间隔的数值模拟
地震地质(2015年3期)2015-12-25 03:29:53