基于YOLOv5-Deepsort算法的矿井人员目标视频跟踪方法及存储介质
文献发布时间:2024-01-17 01:27:33
技术领域
本发明属于计算机视觉领域,具体涉及一种基于YOLOv5-Deepsort算法的矿井人员目标视频跟踪方法。
背景技术
矿井环境恶劣,光线昏暗,并且存在着一些危险区域,矿井人员在作业过程中随时都会有事故发生特别是井下一些危险区域,不允许工作人员在未采取保护措施的情况下进入,但由于一些环境与人为的因素,并不能完全防范,对人员安全有着严重隐患。所以为了实现安全生产,需要采取有效的人员目标跟踪手段。由于井下采用的是人工照明的方式,缺乏色彩信息,并且目标的颜色与背景的颜色相似,所以将智能监控技术用于井下时面临着很大的困难。传统的井下人员跟踪方法主要采用ZigBee、RFID、UWB、WIFI以及蓝牙连接等技术,而这些技术在使用过程中较易受环境的影响,操作性不高,且还易丢失目标。近些年来涌现了视频跟踪方法,在井下人员定位与跟踪领域取得了良好效果。但受井下光线、粉尘等因素影响,需要研究针对性的视频跟踪方法来解决井下人员跟踪难题。而实现对矿井人员的准确目标跟踪,对于提升煤矿安全预警水平、提高生产效率发挥了巨大作用。
发明内容
本发明提出的一种基于YOLOv5-Deepsort算法的矿井人员目标视频跟踪方法,以解决上述技术问题。
为实现上述目的,本发明采用了以下技术方案:
一种基于YOLOv5-Deepsort算法的矿井人员目标视频跟踪方法,包括以下6个步骤:
步骤1:获取井下工作人员的图片,通过使用限制对比度自适应直方图均衡算法和中值滤波算法对图片进行优化处理;
步骤2:标记优化后的图片制作井下人员的数据集,将数据集划分为训练集和验证集;
步骤3:对YOLOv5算法进行优化处理,将其骨干网络更换为PP-LCNet网络结构,在YOLOv5算法颈部引入Selective Kernel Attention注意力机制模块,对原预测框的损失函数更改为GIOU_Loss;
步骤4:使用改进的YOLOv5模型训练井下人员数据集,在训练完成后得到最优权重,获取训练中目标检测的各项指标数据,测试井下人员的目标检测结果;
步骤5:将目标检测结果输入到Deepsort中,利用卡尔曼滤波完成对井下人员轨迹的预测和状态估计;
步骤6:对井下人员利用马氏距离计算运动匹配,利用余弦距离计算外观匹配,基于匈牙利算法对井下人员进行级联匹配和IOU匹配,通过卡尔曼滤波参数更新确定跟踪结果,并对井下人员分配ID编号,实现井下人员的目标跟踪;
进一步的,步骤1、获取井下工作人员的图片,通过使用限制对比度自适应直方图均衡算法和中值滤波算法对图片进行优化处理,具体包括:
所述井下工作人员的图片信息是通过监控视频和摄像头拍照等方式获取井下不同工作场景下人员的图像视频;
所述限制对比度自适应直方图均衡算法通过在计算累积直方图函数前,用预先定义的阈值来裁剪直方图以达到限制放大幅度的目的,其公式如下:
式中m(i)为局部映射函数,M×M为滑动窗口大小,C
式中H
限制对比度自适应直方图均衡算法通过限制局部直方图的高度来限制局部对比度的增强幅度,限制噪声的放大和局部对比度的过增强;
所述中值滤波算法是把数字图像或数字序列中一点的值用该点的一个领域中各点值的中值代换,使得周围像素灰度值的差比较大的像素改取与周围的像素值接近的值;
进一步的,步骤2、标记优化后图片制作井下人员的数据集,将数据集划分为训练集和验证集:
所述图片的优化后,本发明标注了1000张优化图像用于训练与测试检测网络,采用旋转、镜像翻转、亮度变换和对比度增强的方式对原始图像数据进行扩增;
所述井下人员数据集是由Labelimg工具标记图像制作而成,并转换为训练所需的TXT格式;
所述训练集为总标记数据的80%,验证集为总标记数据的20%;
进一步的,步骤3、对YOLOv5算法进行优化处理,将其骨干网络更换为PP-LCNet网络结构,在YOLOv5算法颈部引入Selective Kernel Attention注意力机制模块,对原预测框的损失函数更改为GIOU_Loss,具体包括:
所述YOLOv5目标检测模型,由Input、Backbone、Neck已及Output四个部分组成;
所述Input部分包括Mosaic数据增强、自适应锚框计算、自适应图片缩放三部分;Mosaic数据增强是指随机使用4张图片,随机缩放,再随机分布进行拼接;自适应锚框计算是指计算不同训练集中的最佳锚框值;自适应图片缩放三部分是指通过对原始图像自适应添加最少的黑边,使图像高度上两端的黑边减少,减少计算量;
所述Backbone(骨干网络)替换为PP-LCNet网络结构;所述PP-LCNet网络结构包括CBL结构和DepthSepConv结构;所述CBL结构为普通卷积层、归一化层和激活函数组成;所述DepthSepConv结构是将卷积操作分成了两层,一层做filter计算,一层做合并计算,标准卷积运算和DepthSepConv结构卷积运算计算量的比例为:
式中,D
所述Neck(颈部)部分包括FPN和PAN的结构并引入Selective Kernel Attention注意力机制模块;FPN结构是指自顶而下的把高层的特征向下传递,补充低层的语义;PAN结构是指自底向上的将低层的定位特征传递上去;所述Selective Kernel Attention注意力机制模块包括Split分割、Fuse融合和Select选择;所述Split分割是指对于给定的特征图,分别以3和5的卷积核进行转换,分割算子生成不同核大小的多条路径,对应不同的神经元感受野大小;所述Fuse融合是指融合运算符结合和聚合来自多个路径的信息,获得选择权重的全局和综合表示;所述Select选择是指在紧凑的特征描述的引导下,使用跨通道的Soft attention自适应地选择不同空间尺度的信息,选择操作符根据选择权重将不同大小的核的特征映射进行聚合;
所述Output部分Bounding box损失函数改用为GIOU_Loss函数,NMS非极大值抑制采用DIOU_nms函数;
所述GIOU_Loss函数公式如下:
式中A
所述DIOU_nms函数公式如下:
式中,s
进一步的,步骤4、使用改进的YOLOv5模型训练井下人员数据集,在训练完成后得到最优权重,获取训练中目标检测的各项指标数据,测试井下人员的目标检测结果;
所述训练数据集,本发明设置训练轮数为100轮,所述最优权重为训练100轮过程中其中训练结果最好的一轮;
所述各目标检测的各项指标数据从Tensorboard中获得,具体的指标有精确率(Precision)、召回率(Recall)、平均精度的均值(mAP)、训练损失值以及Precision与Recall的调和平均数(F1 score);其中公式如下:
TP指正确检测出的目标,FP指错误检测出的目标,FN指漏检的物体数。
进一步的,步骤5、将目标检测结果输入到Deepsort中,利用卡尔曼滤波完成对井下人员轨迹的预测和状态估计,具体包括,
所述卡尔曼滤波是指是一种对目标运动过程的递归预测,首先获取目标前一时间点的状态预测值和此刻目标状态的观测值,之后得到此刻状态下的预测值,其公式如下:
预测阶段:
式中,
更新阶段:
式中,K
进一步的,步骤6、对井下人员利用马氏距离计算运动匹配,利用余弦距离计算外观匹配,基于匈牙利算法对井下人员进行级联匹配和IOU匹配,具体包括,
所述运动匹配是指用马氏距离计算经卡尔曼滤波后的预测位置和检测位置的匹配程度,公式如下:
式中,y
所述外观匹配则是使用余弦距离进行计算的,其公式如下:
式中,d
如式(21)所示,所计算出的余弦距离值要小于设置的阈值,才算关联成功;以上两种度量方式计算完成后,还需要对二者进行线性加权,以此作为最终的度量值;
c
其中,λ为权重系数,若λ设置为0,余弦距离的阈值仍然有效;
门限函数为:
又一方面,本发明还公开一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述方法的步骤。
综上所述,本发明的基于YOLOv5-Deepsort算法的矿井人员目标视频跟踪方法,采用限制对比度自适应直方图均衡算法和中值滤波算法对井下人员图片进行处理,限制对比度自适应直方图均衡算法通过对图像局部对比度的改进,可以获得更多的图像细节,使的图像的特征更加明显,中值滤波算法通过采用非线性的方法,保护图像尖锐的边缘,选择适当的点来替代污染点的值,实现对图像噪声的降低。
本发明对YOLOv5算法进行了改进,采用PP-LCNet网络结构替换了YOLOv5的骨干网络,使得YOLOv5算法的计算参数大大减少,加快了YOLOv5的推理速度,对于井下光线昏暗的环境下,在不增加推理时间的情况下提高准确率;并对YOLOv5的颈部添加了SelectiveKernel Attention注意力机制模块,SK模块通过软核方式通过自适应内核选择提高对象识别的效率和有效性,从而增加了YOLOv5算法对井下人员特征提取的性能;通过将YOLOv5的预测框的损失函数更改为GIOU_Loss,缓解边界框不重合的问题,提高了YOLOv5的检测精度。
本发明使用Deepsort算法对井下人员进行目标跟踪,采用改进的YOLOv5模型作为检测器,利用卡尔曼滤波完成对井下人员轨迹的预测和状态估计,通过匈牙利算法对井下人员进行级联匹配和IOU匹配,最终实现井下人员目标的准确跟踪,本发明实现了矿井的智能化、无人化以及保护矿工的安全生产具有积极重要的意义。
附图说明
图1为本发明实施例的矿井人员目标跟踪步骤图;
图2为本发明实施例的矿井人员图片优化图;
图3为本发明实施例的改进的YOLOv5网络结构图;
图4为本发明实施例的精确率曲线图;
图5为本发明实施例的召回率曲线图;
图6为本发明实施例的mAP曲线图;
图7为本发明实施例的损失值曲线图;
图8为本发明实施例的井下目标检测结果图;
图9为本发明实施例的Deepsort算法流程图;
图10为本发明实施例的明亮场景下的目标跟踪图;
图11为本发明实施例的昏暗场景下的目标跟踪图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
如图1所示,一种基于YOLOv5-Deepsort算法的矿井人员目标视频跟踪方法包括以下六个步骤:
步骤1:获取井下工作人员的图片,通过使用限制对比度自适应直方图均衡算法和中值滤波算法对图片进行优化处理。
所述井下工作人员的图片信息是通过监控视频和摄像头拍照等方式获取井下不同工作场景下人员的图像视频;
所述限制对比度自适应直方图均衡算法通过在计算累积直方图函数前,用预先定义的阈值来裁剪直方图以达到限制放大幅度的目的,其公式如下:
式中m(i)为局部映射函数,M×M为滑动窗口大小,C
式中H
限制对比度自适应直方图均衡算法通过限制局部直方图的高度来限制局部对比度的增强幅度,限制噪声的放大和局部对比度的过增强;
所述中值滤波算法是把数字图像或数字序列中一点的值用该点的一个领域中各点值的中值代换,使得周围像素灰度值的差比较大的像素改取与周围的像素值接近的值;
所述优化后图片效果如图2所示;
步骤2:标记优化后图片制作井下人员的数据集,将数据集划分为训练集和验证集。
所述井下图片优化后,本发明标注了1000张优化图像用于训练与测试检测网络,采用旋转、镜像翻转、亮度变换和对比度增强的方式对原始图像数据进行扩增,使用图片编辑软件将1000张原始数据扩增至4000张;
所述井下人员数据集是由Labelimg工具标记图像制作而成,并转换为训练所需的TXT格式;
所述训练集为总标记数据的80%,验证集为总标记数据的20%。
步骤3:对YOLOv5算法进行优化处理,将其骨干网络跟换为PP-LCNet网络结构,在YOLOv5算法颈部引入Selective Kernel Attention注意力机制模块,对原预测框的损失函数更改为GIOU_Loss。
如图3所示,所述改进的YOLOv5目标检测网络结构模型,由Input、Backbone、Neck已及Output四个部分组成;
所述Input部分包括Mosaic数据增强、自适应锚框计算、自适应图片缩放三部分;Mosaic数据增强是指随机使用4张图片,随机缩放,再随机分布进行拼接;自适应锚框计算是指计算不同训练集中的最佳锚框值;自适应图片缩放三部分是指通过对原始图像自适应添加最少的黑边,使图像高度上两端的黑边减少,减少计算量;
所述Backbone(骨干网络)替换为PP-LCNet网络结构;所述PP-LCNet网络结构包括CBL结构和DepthSepConv结构;所述CBL结构为普通卷积层、归一化层和激活函数组成;所述DepthSepConv结构是将卷积操作分成了两层,一层做filter计算,一层做合并计算,标准卷积运算和DepthSepConv结构卷积运算计算量的比例为:
式中,D
所述Neck(颈部)部分包括FPN和PAN的结构,并引入Selective Kernel Attention注意力机制模块;FPN结构是指自顶而下的把高层的特征向下传递,补充低层的语义;PAN结构是指自底向上的将低层的定位特征传递上去;所述Selective Kernel Attention注意力机制模块包括Split分割、Fuse融合和Select选择;所述Split分割是指对于给定的特征图,分别以3和5的卷积核进行转换,分割算子生成不同核大小的多条路径,对应不同的神经元感受野大小;所述Fuse融合是指融合运算符结合和聚合来自多个路径的信息,获得选择权重的全局和综合表示;所述Select选择是指在紧凑的特征描述的引导下,使用跨通道的Soft attention自适应地选择不同空间尺度的信息,选择操作符根据选择权重将不同大小的核的特征映射进行聚合;
所述Output部分Bounding box损失函数改用为GIOU_Loss函数,NMS非极大值抑制采用DIOU_nms函数;
所述GIOU_Loss函数公式如下:
式中A
所述DIOU_nms函数公式如下:
式中,s
步骤4:使用改进的YOLOv5模型训练井下人员数据集,在训练完成后得到最优权重,获取训练中目标检测的各项指标数据,测试井下人员的目标检测结果。
所述训练数据集,本发明设置训练轮数为100轮,所述最优权重为训练100轮过程中其中训练结果最好的一轮;
所述各目标检测的各项指标数据从Tensorboard中获得,具体的指标有精确率(Precision)、召回率(Recall)、平均精度的均值(mAP)、训练损失值以及Precision与Recall的调和平均数(F1 score);
所述精确率即为查准率,衡量的是一个分类器分出来的正类的确是正类的概率,公式如下所示:
图4为精确率曲线图,如图所示,精确率曲线在第10轮左右就开始在小范围中波动,最终结果稳定在98%左右;
所述召回率即为查全率,衡量的是一个分类器能把所有的正类都找出来的能力,公式如下所示:
所述mAP值是用于度量模型预测框类别和位置是否准确的指标;
图5为召回率曲线图,图6为平均精度均值曲线图,如图所示,两者曲线在第15轮左右趋于平缓,最终训练结果也趋于稳定,分别稳定在98%左右和99%左右;
所述F1 score是用于评价算法的优劣的指标,公式如下所示:
TP指正确检测出的目标,FP指错误检测出的目标,FN指漏检的物体数;经过公式(12)可以得出,F1 score的值为98%左右,这表示精确率和召回率较为均衡;
图7为损失值曲线图,如图所示,而损失值的曲线经过30轮训练之后则稳步下降,最终趋于0.02;
所述目标检测的井下测试结果如图8所示,本发明选取了井下常见的场景作为测试对象,图8有两种环境的检测结果,如左图所示,该环境光线较为明亮且工作人员的着装颜色清晰,没有遮挡,所以改进的YOLOv5算法检测效果较好,两个目标框的置信度均在0.8以上;而右图的环境则是截然相反,光线昏暗,工人着装灰黑,还时有遮挡,而昏暗环境下并没出现目标丢失的情况。
步骤5:将目标检测结果输入到Deepsort中,利用卡尔曼滤波完成对井下人员轨迹的预测和状态估计。
所述Deepsort算法流程如图9所示,检测器首先将检测框以及目标框内部所提取到的数据与卡尔曼滤波器的估计结果相结合,完成一次初始化工作,之后利用匈牙利匹配算法进行目标物体的结果对比,若匹配成功,预测成功,即完成了一次目标物体关联过程;如果两帧图片之间对比之后没有小于设置好的数据,则进入与下一个ID框的联结过程。如果匹配成功,则对两个目标框使用IOU匹配;若仍未成功,则使用卡尔曼滤波器更新。重新计算之后的数据用作对下一帧数据进行计算的依据;若多次匹配过程结束之后仍未在其他帧中成功找到目标物体与之配对,那么算法将会为该ID分配一个新的目标轨迹,对其进行重新编号;
所述卡尔曼滤波是指是一种对目标运动过程的递归预测,首先获取目标前一时间点的状态预测值和此刻目标状态的观测值,之后得到此刻状态下的预测值,其公式如下:
预测阶段:
式中,
更新阶段:
式中,K
步骤6:对井下人员利用马氏距离计算运动匹配,利用余弦距离计算外观匹配,基于匈牙利算法对井下人员进行级联匹配和IOU匹配,通过卡尔曼滤波参数更新确定跟踪结果,并对井下人员分配ID编号,实现井下人员的目标跟踪。
所述运动匹配是指用马氏距离计算经卡尔曼滤波后的预测位置和检测位置的匹配程度,公式如下:
式中,y
所述外观匹配则是使用余弦距离进行计算的,其公式如下:
式中,d
如式(21)所示,所计算出的余弦距离值要小于设置的阈值,才算关联成功;以上两种度量方式计算完成后,还需要对二者进行线性加权,以此作为最终的度量值;
c
其中,λ为权重系数,若λ设置为0,余弦距离的阈值仍然有效;
门限函数为:
本发明实施例选取两个不同的环境作为目标跟踪对象,图10为明亮场景下的目标跟踪图,如图所示,在第3帧时,跟踪器已经对目标进行了准确的跟踪,并对井下工作人员分配ID号为1,在第157帧时该名工作人员因为定义井下装备的检查而转换了姿势,而其ID号并没有发生跳动,依然为1;而在第512帧时工作人员因为远去而使得身影变小,但Deepsort算法仍然实现对其的跟踪,ID号依旧没有发生改变;在第1032帧时,工作人员的下半身已经被异物遮挡,而ID号依旧为1;
图11为昏暗场景下的目标跟踪图,如图所示,在光线较为昏暗的恶劣场景下,在该场景视频下第3帧时,Deepsort算法对两位井下人员分配了ID号;而在第20帧时,由于工人头灯所造成的强光环境下,因而使工人身影模糊,目标出现了短暂的丢失,而在第23帧跟踪框再次出现,且ID号仍然为1和2,并没有切换;当在第196帧时,右侧工人的影子对左侧的工人产生了一定的遮挡,而在第198帧后确依旧出现跟踪框,而ID号依旧没有切换。
综上所述,本发明实施例的基于YOLOv5-Deepsort算法的矿井人员目标视频跟踪方法,采用限制对比度自适应直方图均衡算法和中值滤波算法对井下人员图片进行处理,限制对比度自适应直方图均衡算法通过对图像局部对比度的改进,可以获得更多的图像细节,使的图像的特征更加明显,中值滤波算法通过采用非线性的方法,保护图像尖锐的边缘,选择适当的点来替代污染点的值,实现对图像噪声的降低。
又一方面,本发明还公开一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述方法的步骤。
再一方面,本发明还公开一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一基于YOLOv5-Deepsort算法的矿井人员目标视频跟踪方法。
可理解的是,本发明实施例提供的系统与本发明实施例提供的方法相对应,相关内容的解释、举例和有益效果可以参考上述方法中的相应部分。
本申请实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信,
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述基于YOLOv5-Deepsort算法的矿井人员目标视频跟踪方法。
上述电子设备提到的通信总线可以是外设部件互连标准(英文:PeripheralComponent Interconnect,简称:PCI)总线或扩展工业标准结构(英文:Extended IndustryStandard Architecture,简称:EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(英文:Random Access Memory,简称:RAM),也可以包括非易失性存储器(英文:Non-Volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processing,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
- 基于高阶累积量的目标跟踪方法、装置及存储介质
- 目标跟踪的方法、装置和存储介质
- 目标跟踪方法、装置、设备及计算机可读存储介质
- 基于深度学习与多目标跟踪算法的视频SAR动目标检测方法
- 一种基于强化学习算法SAC的目标跟踪方法、装置及存储介质