沈茂东,高 宏,付新阳,周 伟,张俊岭,公凡奎,冯志珍
1(国网山东省电力公司,济南 250001)
2(山东鲁能软件技术有限公司,济南 250001)
3(中国石油大学 计算机科学与技术学院,青岛 266580)
电力复杂场景下人员的检测跟踪,对于预防人员违规及保证检修人员的人身安全有极为重要的研究意义.目前流行的单目标追踪主要是Siamese 系列,在孪生网络的基础上通过增加改进全连接层、区域候选网络、Mask 分支来改进目标检测的准确度.本论文针对多目标人员跟踪现阶段算法进行了深刻的研究,对于电力场景下的人员检测跟踪方法相对较少,本论文针对电力检修特殊场景下进行行人追踪,有效地提高人员目标准确率,缓解目标之间的部分遮挡和位置突变问题.不同的视频跟踪算法,模型的建立与目标的更新方式都不一样.判定模型法对后验概率建模,对物体的跟踪效果较好,但其运算较复杂,判别式算法一般是通过分类器从图像中找出与目标表观最为相似的区域[1].摄像头下视频跟踪算法层出不穷,大致可分为生成式和判别式两类.
对于生成式跟踪方法,跟踪成为了在目标物体附近搜索最相似的区域.生成式可理解为先提取多目标的特征,学习出代表相应目标的外观模型,通过它依次搜索图像区域进行模式目标匹配,在图像中找到和模型最匹配的区域,即判别为目标[2–4].生成式算法大致流程:输入图像序列并初始化目标状态,提取目标特征生成表观模型,目标表示,建立目标模型,通过相邻帧间的时空特性,定位目标最可能出现的区域,在该候选区域提取目标特征,与待跟踪目标进行匹配,输出目标状态[5–10].
传统的跟踪算法均属于生成式跟踪算法.卡尔曼滤波跟踪方法是充分利用目标在相邻帧间的空间位置特性对目标进行快速预测定位.粒子滤波跟踪方法是通过非参数化的蒙特卡罗模拟(Monte Carlo)方法实现递推贝叶斯滤波,该类方法适用于非线性系统.CamShift 算法是在MeanShift 基础上改进的可以很好的适应多尺度变换的行人多目标跟踪算法.在目标匹配问题上,当目标匹配不准确时此方法容易引起检测漂移[10–17].对于生成模型法,其跟踪更新策略较简单,容易产生物体特征漂移等情况,跟踪效果相对较差.
对于判别式跟踪方法,通过训练分类器准确区分检测目标与背景,训练出一个分类器从背景中区分出检测目标物体.目前大部分的深度学习方法普遍使用的分类器主要有KNN、SVM、AdaBoost 等分类器.近年来,基于相关滤波的跟踪方法由于其运行速度快而颇受欢迎,相关滤波类方法主要是通过将输入特征回归为高斯分布来对滤波器进行训练,并且在后续的目标跟踪中寻找预测分布中的响应峰值来定位目标的位置.相关滤波器类算法巧妙地应用快速傅里叶变换算法使其速度大幅提升[18–21].由于相关滤波算法在单目标追踪领域的成功应用,提出核相关滤波算法把实数域的数据处理过程转为频率域处理,在处理速度上得到大大提升.
目前多目标运动跟踪算法大多是判别式方法,主要是从提升准确性和追踪速度两个方面提升目标追踪.提升准确性的算法有马尔科夫决策模型[22](MDP)、卷积网络的在线多目标追踪(AP_RCNN)[23]、多特征融合的相关滤波追踪(MAP-RF)[24]等;提升追踪速度的算法有交并比(IOU-tracker)[20,25](SORT)、深度关联简单在线实时追踪(DeepSORT)[26]等.
对于多目标追踪算法,一般准确率和追踪速度是呈反比的,如果仅利用目标的位置状态信息建立目标运动模型追踪速度相对较快,但实际追踪效果的准确性较差;当考虑外观模型进行追踪处理时,追踪准确性虽会提升,但又会使处理速度相对减慢[5].某些方法虽然对网络进行集成,提高了对遗漏和遮挡的鲁棒性,但多目标在实时运动过程中远小近大而产生的尺度大小变化现象并没有实际解决.本论文提出了基于改进SSD的电力检修多目标人员跟踪算法,根据目标检测、预测及匈牙利关联算法确定当前帧多目标行人跟踪位置.
电力检修视频下的人员安全监控跟踪,是大规模智能电力检修监控系统的重要研究方向.基于CSSD的电力检修多目标人员跟踪算法引入模块的出发点针对现阶段基于摄像头的目标尺寸、远近和角度改变的特点,通过增大感受野来加强网络的特征提取性能,在结构上增加了特征图的融合,注重目标的边缘特征,使提取的特征细粒化,提高了多目标检测的准确率和回归率.网络在前5 层中加入特征融合的模块,前5 层直接采用VGG 网络,第6、7 层由全连接层改为卷积层,利于参数共享,便于计算.Conv1-2 采用64 个3×3×3 卷积核,边缘填充padding=2,步长为s=1,得300×300×64;最大池化max pooling为2×2,s=2,得150×150×64;Conv2-3,Conv3-4,Conv4-5 同样采用3×3 卷积,卷积核数量分别为128、256、512,网络结构各个层级的卷积数量以及参数依次如图1所示.
本文基于行人多目标追踪技术为基础,提出了一种CSSD 网络来进行模型的检测,并使用卡尔曼滤波跟踪预测目标位置状态,基于预测检测框的位置和IOU的匈牙利算法来解决视频前后帧目标匹配问题.本论文利用CSSD 目标检测网络对图像序列进行特征提取并进行目标检测,在Conv6(19×19)层之前进行细化特征映射,该网络主要在SSD 网络[27]中引入1×1 Conv、2×2 pool、4×4 pool 3 个层进行处理,将卷积层得到的特征层进行2 次池化应用于网络前端的特征映射中,再将得到的特征图融合在一起,将此模块集成到SSD 网络结构的前端卷积层进行卷积池化训练,在控制计算损失的情况下准确度相对提高.
图1 CSSD 网络结构图
目标定位损失采用如式(1),避免梯度爆炸.
置信度损失采用式(2)Softmax 损失函数:
目标定位损失和置信度损失之和,式(3)为CSSD网络总损失函数:
在结构上CSSD 网络整体上是基于SSD 网络进行改进,主要是在SSD的基础上加入了卷积池化层,注重目标的边缘特征,加强网络的特征提取性能,使提取的特征细粒化,使用轻量级网络来实现其高准确性和高速率,改进后的网络检测速度比较快,通过增加网络的感受野加强网络的特征提取能力有效提高对于小目标的检测识别,同时对于多目标的检测速度和识别精度也有一定的提高.网络结构类似于金字塔结构,网络全部采用卷积层,加入的特征融合部分可以提高网络结构的感受野,网络特征提取全部采用3×3的卷积核,而且通过特征图的降采样方法,小的特征图对应小目标,大大特征图对应大目标,随着层数的加深,输出特征图尺寸变小,加强网络特征提取性能,最后直接用卷积神经网络来识别检测目标.轻量级模型部署简单便于优化,有利于电力检修复杂场景应用.
基于CSSD的电力检修多目标匹配匈牙利算法解决人员多目标跟踪中的前后帧数据关联问题,求得摄像头视频前后帧目标匹配问题的组合优化算法,实现人员的最准确匹配问题.将置信度较高的目标输入匈牙利算法进行匹配,这样才能得到较好的结果.为进一步提高跟踪准确率,跟踪器也使用了多种方法对运动多目标的外观特征状态进行建模.
匈牙利算法用来匹配前后两帧目标进行最大匹配,求出来的匹配不一定是饱和匹配,但却是最优关联匹配.如图2,t–1 帧的object{1,2,3,4,5,6,7}和t帧object{1,2,3,4,5}的人员匹配,匹配后object4 离开第t帧视频.跟踪人员目标的过程中,因人员的运动速度不是恒定的,即人员目标运动加减速,会产生相应的噪声.针对因噪音产生的检测边界框不准确和检测模型的非线性问题,本文采用卡尔曼滤波原理进行处理,处理完噪音后,再进行预测估计检测框位置,采用简单的卡尔曼滤波原理结合改进的SSD 网络模块,调整行人检测的边界框,有效提高目标检测框定位的准确性.
图2 匈牙利算法应用
对于SORT 算法,直接采用匈牙利算法进行目标关联分析,使用马氏距离计算检测物体和物体跟踪之间的距离.忽略了被检测物体的表面特征,且不能很好的解决长时间被遮掩的物体关联性问题[20].在DeepSORT中,采用卷积神经网络进行人员大规模数据集提取特征和训练,使用最近邻匹配算法,融合目标运动信息和目标特征信息的测量指标,有效改善了目标追踪过程中的遮掩问题[25].基于改进SSD的电力检修多目标人员跟踪在使用简单的卡尔曼滤波处理逐帧数据的关联性的基础上使用匈牙利算法进行关联度量,在电力检修高帧速率视频中获得了良好的多目标人员追踪性能.
本论文中使用了CSSD 网络来进行模型的检测,并使用卡尔曼滤波方法跟踪预测目标的位置状态,预测检测框位置,使用IOU 方法和匈牙利算法联合来解决视频连续前后帧目标匹配问题.使得算法具有很高的效率.目标追踪流程图3所示.
由于Kalman 滤波的自身特点,使得目标追踪具有很好的准确性和处理数据的快速性,本论文采用简单的卡尔曼滤波原理结合改进的SSD 网络模块,调整行人检测的边界框,利用Kalman 滤波建立目标的外观模型,并将其融合到多目标追踪中,针对多个目标建立多个追踪器进行目标训练和检测.用计算目标相似性距离解决目标重识别问题,求目标图像的平均像素,当两个目标平均像素误差小于特定阈值时,认为是同一个目标.对于追踪过程中目标消失问题,本论文设定一个最大丢失时间,当目标丢失时间超过此阈值则认为目标消失,即追踪结束.
图3 目标追踪整体流程图
训练模型时使用的软硬件设备为显卡:NVIDIA GeForce GTX 1080TI;CPU 版本 Intel Core i5-6500@3.2 GHZ×4;显存:16 GB;Ubuntu 16.04 LTS 64 位操作系统;CUDA8.0 版本.
(1)多目标跟踪准确度MOTA (Multiple Object Tracking Accuracy):
MOTA 度量算法中,FN为False Negative,FP为False Positive,IDSW为ID Switch,GT为Ground Truth物体的数量.FNt、FPt、IDSWt分别是缺失数、误判数和误配数.MOTA 考虑了追踪中所有帧中目标位置匹配错误.MOTA 给出了一个非常直观的衡量跟踪器在检测物体和保持轨迹时的性能,与物体位置的估计精度无关.MOTA 以及MOTP是计算所有帧的相关指标再进行平均.
(2)多目标跟踪精度MOTP (Multiple Object Tracking Precision):
MOTP 主要量化检测器的定位精度,是关于位置误差的评判指标.dt,i表示第t帧下目标和它配对假设位置之间的距离大小.MOTP 精度高低的好坏主要取决于度量距离d的定义方式,本论文中多目标算法精度越大越好,且不包含与跟踪器实际性能相关的信息.c为在当前帧匹配成功的数目.
(3)MT (Mostly Tracked):正确跟踪轨迹占80%以上的百分比,在所有跟踪目标中所占的比例.
(4)ML (Mostly Lost):目标跟丢的轨迹占20%以下的百分比,在所有跟踪目标中所占的比例.
(5)Recall:召回率是指正确匹配的检测目标数占总的正例的比重.
(6)Precision:精确度是指追踪时正确匹配的检测目标数/检测出的总目标数.
(7)FM (Frag Mentation):每当轨迹将其状态从跟踪状态改变为未跟踪状态,并且在稍后的时间点跟踪相同的轨迹时,就会对FM 进行计数.跳变数是指跟踪轨迹从“跟踪”到“不跟踪”状态的变化数.FM 计算的是跟踪有多少次被打断(即Ground Truth的track 没有被匹配上).
本文对帧差法、GMM、ViBe、SORT、DeepSORT等算法在MOT2017 数据集上进行了测试,测试结果如下,经过试验对比表明基于CSSD 网络的人形多目标追踪算法在追踪准确率上表现最好,如表1.
表1 各算法性能对比
对比了其它方法的差距,基于CSSD 网络的多目标追踪方法在公开行人视频数据集上测试取得了优化,特别是在MOTA和MOTP 测试上算法满足可靠鲁棒性.经实验测试表明,本方法在电力设备场景下取得了人员跟踪检测在准确率和速度两方面最优,跟踪时可有效处理视频帧中人员遮挡问题.以下是SORT、Deep SORT 及CSSD 算法截取连续帧的实验效果图,如图4.
图4 算法对比效果图
图4中绿色代表ViBe 算法的追踪;紫色代表DeepSORT 算法的追踪;红色是本文方法,图4(a)、图4(b)为MOT2017 数据集上的测试结果,图4(c)、图4(d)为电力现场数据集上的测试结果.实验分析表明本论文算法目标跟踪平均速度22 fps 接近实时,能够有效缓解追踪时因为表观突变或者部分遮挡导致的准确率下降问题,小目标跟踪精度和准确率都大大提升,能最大程度的适应目标的尺寸、远近和角度改变等.
本文基于改进SSD 网络的电力检修多目标人员跟踪算法,构建目标追踪外观模型,利用图形检测建模,构建目标追踪的运动模型,利用位置信息追踪,结合空间和时间多策略的匹配对电力检修特定场景的目标追踪有了很大提升.摄像头采集到大量视频数据,主要任务为检测图片中是否存在人员目标,可在各种复杂场景中快速实时的检测到图片中的工作人员,是一种鲁棒性的目标检测追踪算法.本论文结合实际项目需要,具体项目已部署于电力场地,为促进国民企业发展提供强有力的理论依据和技术支撑.