APP下载

基于改进KCF 的多目标人员检测与动态跟踪方法

2023-12-06刘毅庞大为田煜

工矿自动化 2023年11期
关键词:光照矿井阈值

刘毅,庞大为,田煜

(中国矿业大学(北京)机电与信息工程学院,北京 100089)

0 引言

通过矿井监视监控、通信技术,可提升煤矿生产的安全性[1-3]。运用视频处理、感知和跟踪技术[4-5],研究适用于煤矿井下基于机器视觉的人员识别与跟踪方法,可实现基于视觉的人员定位、井下实时工况显示,为井下工作人员的安全提供保障。

视频目标跟踪技术已在日常生产和生活中得到应用,目前比较公认的方法主要包括判别式法和生成式法。判别式法的代表算法包括相关滤波[6-7]和深度学习算法;生成式法的代表算法包括稀疏表示算法[8-9]、粒子滤波算法[10]和卡尔曼滤波算法[11]等。由于煤矿监控环境的特殊性,现有地面监控技术直接应用于井下人员跟踪并不能达到预期效果,主要原因如下:①煤矿巷道较长,目标尺度变化大,且矿井照明的巷道灯是间隔排列的,目标总是处在光照不均的环境中,目标特征变化大;② 矿工穿着统一的服装,在矿工相互穿梭遮挡过程中,容易丢失跟踪目标;③矿工头部的安全帽矿灯容易直射镜头,会产生较大光晕,致使视频画面过曝光[12]。为解决以上问题,国内外科研工作者作了大量研究。贾澎涛等[13]基于小波变换和背景差分法对监控视频进行去噪处理,提升了人员定位初始阶段的目标识别率,但当多目标同时出现时会出现识别失败或漏识别的情况。陈伟等[14]采用色度和亮度分离的颜色模型快速判断目标信息,在井下人员工作区域亮度变化剧烈时,能持续对人员进行识别与跟踪,但在光照环境较差的情况下易出现识别错误与定位偏差。刘海仓[8]利用图像局部特征与全局特征提出了元素与结构联合特征稀疏表示的图像目标检测方法,提升了较远距离时对小目标的识别能力,但对人员信息的持续跟踪能力较差。白中浩等[9]提出了多模型融合和重新检测的高精度鲁棒目标跟踪算法,提升了目标所处环境变化时对目标的持续跟踪能力,但多目标同时出现时,易出现漏识别与人员信息识别错误的情况。针对井下这一光照条件变化较大、人员信息密集的环境,缺少能同时满足目标识别快、目标识别准确、持续跟踪能力强的算法。

针对上述问题,本文提出了一种基于改进核相关滤波(Kernel Correlation Filter,KCF)算法[15]的多目标人员检测与动态跟踪方法,对于井下人员密集、井下光照条件不佳、井下工作人员位于巷道深处等多种复杂工况,优化目标检测部分,以提升多目标检测精度和对复杂环境的抗干扰能力,调整置信度阈值、核函数系数等参数,以提升检测算法对井下光照条件的适应能力,通过不断调整迭代模型参数,找到适应井下环境的最优参数,以实现矿井人员多目标检测和跟踪,在保障实时性的前提下有效提高井下目标跟踪的准确性,减小目标丢失概率。

1 改进KCF 算法

1.1 KCF 原理

KCF 采用岭回归方法,是一种放弃无偏性的最小二乘法,通过损失一部分精度和信息换取更可靠的回归系数。对目标区域进行循环采样并获取样本集,通过训练寻找最合适的目标函数,使回归目标与样本的平均误差最小化,建立目标函数,然后通过最小二乘法求解,损失函数为

式中:n为选取的样本个数;m为样本总个数;B(f(hn)-xn)2为回归目标与样本的平均误差,f(hn)为目标函数,hn为回归目标值,xn为选取的第n个样本值;λ为正则化强度系数;ω为最优解。

一般来说目标和背景的分类问题都是非线性的,引入高维求解方法和核函数的概念,在高维空间中 ω的求解可转换为线性问题,通过在二维空间中引入一个核函数k(x,x′),其中x为选取的样本值,x′为二维空间中对应的样本值,将核函数代入式(1)后,再利用傅里叶矩阵的对角化性质变换,得到频域中的损失比例系数 αˆ,根据核相关函数的概念,将输入样本与滤波器匹配后再引入回归系数,得到复频域中待测样本的回归值:

1.2 改进KCF 算法

在井下复杂工况中,传统KCF 算法对目标尺度更新不及时,当目标尺寸发生变化时,预测框不能有效覆盖目标区域,在迭代过程中,学习率调整速率慢且样本质量下降导致更新策略不稳定,不能对目标的变化及时做出反应,容易跟丢目标。鉴此,本文对KCF 算法进行改进,算法框架如图1 所示。

图1 改进KCF 算法框架Fig.1 Framework of improved kernel correlation filter algorithm

首先,读取待跟踪视频序列,使用经过井下数据集训练后的SSD 算法检测图像中的目标,若没有发现目标则继续读取下一帧。其次,将检测到的目标放入跟踪器中,对图像进行预处理,通过比较将所有检测框按照设定的阈值进行打分,并根据分值从高到低依次排列,高分的检测结果直接输出,低分的检测结果用于滤除不良信息,以提升检测速度。然后,通过KCF 跟踪预测目标M帧后清空跟踪器,再重新进行目标检测,经过检测算法和跟踪算法的叠加,保证对目标的跟踪。最后,将输出结果上传至上位机,在上位机终端显示并存储数据。

煤矿巷道存在光照不足、目标尺度变化剧烈、目标容易被遮挡和矿灯干扰等多种复杂工况,易导致目标信息短暂消失和识别错误等情况,为解决这一问题,本文在KCF 算法中引入图像预处理,对目标图像进行特征提取,并对提取后的特征进行加权,将强相关的特征直接用于目标检测,以实现由于人员转身、建筑物遮挡等导致目标消失时对目标的持续检测能力,当目标重新出现后,保持对目标信息的持续跟踪和读取,实现目标的持续跟踪。

2 井下SSD 目标检测算法

2.1 SSD 目标检测模型

SSD 是一种基于回归和分类的新型目标检测算法[16],主要功能是检测图像内的物体并对其进行分类,其特点是利用多种尺寸的特征图检测目标,以提高目标检测的正确率。SSD 网络结构如图2 所示。SSD 的主干特征提取网络是VGG16,在VGG 网络中最后2 个全连接层中加入4 个卷积小组,以进一步提取特征,抽取SSD 整个网络中的6 层特征图作为有效特征层进行回归和分类预测,从整体上看,这些特征层尺寸不断减小,特征不断浓缩,浅层特征图因所含信息量大,常用于检测较小目标,深层特征图由于经过压缩,主要用来检测大物体。

图2 SSD 网络结构Fig.2 SSD structure

为提升目标尺度变化时的检测准确率,对SSD模型参数进行调整,调整流程如图3 所示。配置模型参数prior boxes 的尺寸和比例,通过增加小尺寸和高比例的prior boxes,增加对小目标的敏感性。使用set Preferable Target()模块将计算目标设置为CPU,以提高小目标的检测性能。使用set Confidence Threshold()模块设置置信度阈值为0.5,并过滤低置信度的检测结果。

图3 SSD 模型参数调整流程Fig.3 The SSD model parameter adjustment process

为避免井下复杂环境中由于光照不均引起检测失败,在改进的KCF 算法中引入SSD 检测算法,以提升算法对多目标人员的检测能力,SSD 引入方法步骤如下:首先,加载SSD 模型,并指定模型的配置文件和权重文件。其次,初始化KCF 跟踪器,并选择初始目标进行跟踪。然后,从视频中读取帧,并使用改进KCF 进行目标跟踪。如果跟踪成功,就在图像上绘制跟踪结果。最后,将当前帧传递给SSD 模型进行目标检测和识别。根据置信度阈值和类别筛选每个检测到的目标,实现目标检测并显示结果。

2.2 SSD 算法先验框优化

SSD 算法中每个有效特征层上都会生成一定数量宽高比不同的先验框,但这些先验框不适合井下环境中的目标检测。根据特征层深度的不同所对应特征强弱也不同的特性,将有效特征层划分为对应数量的网格,在每个网格的中心处建立先验框,随卷积的深度不断加深,预选框的总量不断减少,卷积程度较深的特征图用于预测大物体,卷积程度较浅的特征图用于预测小目标。通过引入不同卷积深度的特征层,提升井下复杂工况下的信息处理速度,滤除大部分无效信息,以减少对有效信息识别的干扰。

2.3 检测算法损失函数

SSD 算法的损失函数L包括预测框的位置回归损失函数Lloc和类别置信度的分类损失函数Lconf。

3 实验过程

3.1 矿井多目标人员检测数据集

为了研究和验证本文提出的基于改进KCF 的多目标人员检测与动态跟踪方法的性能,采集国家能源集团神东煤炭集团有限责任公司大柳塔煤矿井下数据。在深度学习算法中,数据集的大小和适配度会直接影响训练后算法的效果,而获取足够数量且适配度较高的数据集比较困难,为了应对井下多种环境,达到更好的实验效果,使用数据扩增的方法扩增煤矿井下的图像和视频,并对图像进行人工标注,构建矿井多目标人员检测数据集MMPDDS(Mine Multi-Personnel Detection Data Set)。

3.2 实验环境

为了验证本文方法的性能,对改进KCF 算法和相关算法进行仿真实验验证。基于Win10 64 位操作系统下开发,深度学习框架选择Pytorch_1.7.0,并使用计算框架CUDA_11.0 和深度学习加速库CUDNN_7.4.1.5,使用PyCharm 平台进行编程,安装图像处理专用库OpenCV-4.6.0.66,训练模型所用电脑CPU 为英特尔酷睿i7-12700H CPU @ 2.30 GHz,16 GiB 内存,显卡为GTX 2060。

在实验训练过程中,采用数据增强技术来增加训练数据的多样性,调用图像处理库OpenCV 对图像进行随机缩放、裁剪和旋转处理,部分数据扩增结果如图4 所示。

图4 部分数据扩增结果Fig.4 Results of amplification of some data

3.3 目标位置预测与检测

检测过程中,在重叠的检测框中选择得分最高的检测框,并抑制其他重叠的框,以消除冗余的检测结果。非极大值抑制(Non Maximum Suppression,NMS)算法通常根据重叠区域的IoU 来评估框的重叠程度,并根据设定的阈值来进行抑制,本文使用OpenCV 的cv2.dnn.NMSBoxes()函数实现NMS,根据实际需求调整阈值参数score_threshold 和nms_threshold,以控制抑制的严格程度,具体实现步骤:①根据得分对所有检测框进行排序,得分最高的排在前面;② 选择得分最高的检测框,并将其作为最终的检测结果;③计算其他检测框(除得分最高的检测框)与最终检测结果的IoU 值;④ 如果某个检测框的IoU 值大于设定的阈值,则将该检测框抑制,否则保留该检测框;⑤ 重复步骤②-步骤④,直到所有检测框都被处理。

通过加权平均法来融合检测和跟踪结果,计算融合后的目标位置,并将融合后的目标位置作为最终的检测结果。

式中:bt1为t1时刻的检测结果;ct1为t1时刻的跟踪结果;bt2为t2时刻的检测结果;ct2为t2时刻的跟踪结果;(b1,c1,b2,c2)为SSD 模型检测到的目标位置;(bq1,cq1,bq2,cq2)为KCF 跟踪到的目标位置。

4 实验结果及分析

4.1 SSD 目标检测算法训练曲线

SSD 损失训练变化如图5 所示。可看出前5 次训练损失值下降较为明显,迭代次数增加至30 次后,损失值变化幅度减小并趋于稳定,通过计算可知改进KFC 算法最后的损失值稳定在1.675 附近,在目标检测算法损失函数的允许值内,且迭代次数较少。

图5 SSD 损失训练变化Fig.5 SSD loss training changes

4.2 SSD 目标检测算法精度

采用识别精度作为衡量目标检测性能的指标,识别精度达到50%即可认为该目标被成功识别。使用MMPDDS 中的测试集进行算法比较,分析得到SSD 目标检测算法训练前后的识别精度和检测速度,对比结果见表1。可看出经过训练后SSD 算法的识别精度较训练前训练前后提高了52.7%。

表1 训练前后算法性能对比Table 1 Algorithm performance comparison before and after training

4.3 性能分析

当前在井下这一复杂工作环境中的检测算法,大部分是基于高对比度或高亮度,且在井下环境中的性能表现欠佳,为了能够更有效衡量本文算法在井下环境中的性能表现,分别与目前应用成熟度较高、在复杂环境下表现稳定的4 种算法进行对比[17]。①KCF 算法在持续跟踪能力方面表现很好,目标动作剧烈时仍能持续检测,可通过比较看出本文改进KCF 算法是否能够在持续跟踪能力方面有所提升;② 通道和空间可靠性跟踪(Channel and Spatial Reliability Tracking,CSRT)[18]算法在光照条件不均的情况下目标检测能力较强,可通过对比目标检测精度的大小来判别本文方法在光照条件不均等工况下的检测能力;③跟踪学习检测算法(Tracking-Learning-Detection,TLD)[19]在目标消失后重新出现或被遮挡的情况下能够准确识别出目标的全部信息,通过对比可看出本文方法在目标遮挡情况下的目标检测能力;④ 多示例学习算法(Multiple Instance Learning,MIL)[20]对多目标的检测能力较强,能够在光照条件不佳的情况下完整检测出所有目标信息,通过对比不同工况下的多目标检测能力,判别出本文方法在多目标检测中的性能表现。

分别对比各算法对矿井人员检测成功率、跟踪准确率,客观评价算法性能。

1)矿井人员检测成功率。比较预测框和真实框的重合比例是否超过设定阈值,大于等于阈值为检测成功,低于阈值为检测失败。

2)矿井人员跟踪准确率。矿井人员跟踪准确率基于中心像素偏移进行判定,关注目标预测框的中心位置,不考虑框的边界尺寸,认为小于像素偏移阈值的为精确预测框,并判定为跟踪成功,反之为跟踪失败。

5 种算法性能对比结果见表2。可看出改进KCF 算法对矿井人员检测成功率、跟踪准确率明显高于其他4 种跟踪算法。

表2 5 种算法性能对比Table 2 Performance comparison of the 5 algorithms

在不同重叠阈值下矿井人员检测成功率如图6所示。可看出KCF、CSRT、MIL、TLD 算法在重叠阈值较低时,可保持较高成功率,随着阈值的增大,成功率大幅下降。本文方法在重叠阈值较低时,具有较高成功率,重叠阈值大于0.8 时,成功率大幅下降,这是因为矿井中环境多样,想要目标形状完全符合标注框有一定难度,且标注图像是由人工完成的,目标边界也没有完全正确的答案。

图6 矿井人员检测成功率Fig.6 The success rate of mine personnel detection

矿井人员跟踪准确率如图7 所示,可看出KCF、CSRT、TLD 算法并不能很好地适应井下目标跟踪系统,准确率在50%以下,MIL 算法的精度略高,改进KCF 算法和训练后的SSD 算法在误差阈值像素大于6 时,准确率有了明显提升,且改进KCF 算法对目标跟踪的准确率最高。

图7 矿井人员跟踪准确率Fig.7 The accuracy rate of the mine personnel in tracking

衡量算法每秒能处理多少张图像的指标是帧速率,处理速度与算法的复杂程度、模型的参数总量和计算机的性能有直接关系。不同算法帧速率对比如图8 所示。由于本文目标检测部分引入了SSD 算法,为了对比引入后性能是否变化,这里额外添加与SSD 算法的对比。可看出CSRT 算法在初始阶段帧速率上升较为稳定,但2 s 之后出现下降,是因为此时CSRT 算法丢失了目标;KCF 算法帧速率上升较为稳定且帧速率较高,这是由于KCF 算法检测精度低,图像处理速度快;MIL 算法、TLD 算法帧速率基本与SSD 算法帧速率相同且较快趋于稳定;本文方法较原始SSD 算法降低了系统的复杂程度,减少了模型参数,处理速度远高于原始SSD 算法。

图8 不同算法帧速率对比Fig.8 The FPS comparison between the different algorithms

4.4 井下实际应用分析

为了更直观地展示本文方法在井下多目标检测和跟踪中的适应能力,与SSD、KCF、CSRT、TLD 及MIL 进行对比实验,详细分析不同算法在人员检测成功率和跟踪准确率这2 个方面的表现。随机选择4 帧图像进行视频实验,由于不同算法的识别精度和跟踪效果不同,将这些结果全部显示在一张图像上会导致跟踪框重合,影响算法性能的比较,本文通过对比多轮实验结果,按对应的算法性能进行排序并依次展示,每组用2 个算法进行比较,最后将同一照片下的跟踪结果进行横向对比。

1)多目标及尺度变化状况下对目标持续跟踪,检测结果如图9 所示。所有测试算法对所有目标的跟踪分别放入不同线程单独计算,不会影响跟踪程序的稳定性。由于矿井巷道狭长,横向移动距离有限,所以大多情况人员目标都是纵向移动,人员目标的尺度会发生几倍甚至几十倍的变化,检测结果中第279 帧中右上方矿工位于距离摄像装置较远位置,第418 帧中矿工位于距摄像装置较近位置,在第279 帧-418 帧中矿工变化尺度较大。

图9 目标尺度剧烈变化下跟踪准确度Fig.9 Tracking accuracy under drastic changes in object scale

根据检测结果可看出:①本文方法和SSD 算法能够完整识别并跟踪到3 名矿工;② KCF 和CSRT算法能大概跟踪到目标位置,但尺度更新不及时,并未标记出目标全部轮廓;③MIL 和TLD 算法在长时间跟踪后,预测框的位置已发生了较大偏移,导致最终跟丢目标。

2)光照不均情况下对多目标进行检测,检测结果如图10 所示。由于井下照明灯间隔分布,矿工在明暗交替的环境下走动,视频中的矿工最开始是在光照条件较弱的环境中,然后不断朝着光照条件较好的地方走去,在第215 帧处,矿工处于光照条件不足且距离较远位置,前4 种算法识别效果较好,在第289-307 帧处进入稍暗区域,矿工所处环境光照条件发生变化,KCF、CSRT、MIL、TLD 算法已经产生了一定误差,在第389 帧处进入较亮区域,可看到在目标进入光照变化区域后,由于算法学习了过多黑色背景信息,导致矿工走出昏暗区域时丢失跟踪目标。由检测结果可以看出:①KCF 算法完全丢失了目标,且丢失后无法重新检测;② CSRT、MIL、TLD算法表现稍好,但是也不能够识别出目标的全身;③本文方法能够保持对多目标的持续跟踪且抗干扰能力较强。

图10 光照不均时目标跟踪准确度Fig.10 Object tracking accuracy during uneven illumination

3)测试矿灯直射对目标检测与跟踪的影响,检测结果如图11 所示。视频画面中第61 帧、第91 帧处矿工在前进或转身的过程中,有矿灯直射摄像头的情况,此时会在视频画面中产生较大光晕,如在第61 帧处产生的大面积白色光晕会影响对目标的检测跟踪。由检测结果可看出:①传统SSD 算法检测不到目标位置,直到白色光晕消失才正确捕捉到目标;② KCF、CSRT 和MIL 算法受到光晕的影响,依靠迭代计算进行目标匹配,发生了一定的位移,跟踪效果稍差,光晕减弱后恢复正常;③TLD 算法在第61 帧之前受到灯光影响直接丢失了目标,未能准确识别完整目标,在光晕出现的时候,只实现了对矿工下半身的跟踪,未能在光晕影响下完整跟踪到矿灯和矿工;④ 本文方法有较好的跟踪表现。

图11 矿灯直射时目标检测与跟踪准确度Fig.11 The accuracy of object detection and tracking during direct mine light

5 结论

1)通过MMPDDS 不断优化改进KCF 井下目标跟踪算法,使改进KCF 算法不断迭代学习井下目标特征,持续对网络参数进行优化,使得最终训练后的网络对目标检测的成功率从32.6%提高到了85.3%,并通过不断改进算法的适配性,最终对矿井人员检测的成功率达到87.9%。

2)改进KCF 算法对矿井人员跟踪准确率为88.9%,算法性能明显优于传统KCF、CSRT 等跟踪算法,跟踪算法的综合表现优秀,另外平均每秒处理帧数为19.01,可实现实时跟踪。

3)基于改进KCF 的多目标人员检测与动态跟踪方法在井下煤矿巷道光照不足、目标尺度变化剧烈、容易被遮挡和受矿灯干扰等复杂环境中,具有较高的适用性。在光照不足的情况下,该方法能够准确地检测和识别目标,有效地应对巷道内的暗区。同时,由于目标尺度变化剧烈和容易被遮挡的特点,该方法具备较强的鲁棒性,能够在目标尺度变化和遮挡情况下依然保持较高准确性。此外,该方法还能够有效地抑制矿灯的干扰,确保目标的准确识别。

猜你喜欢

光照矿井阈值
节能环保 光照万家(公益宣传)
节能环保光照万家(公益宣传)
小波阈值去噪在深小孔钻削声发射信号处理中的应用
建立三大长效机制 保障矿井长治久安
春光照瑶乡
煤矿矿井技术改造探讨
基于自适应阈值和连通域的隧道裂缝提取
比值遥感蚀变信息提取及阈值确定(插图)
室内表面平均氡析出率阈值探讨
矿井提升自动化改造