掌桥专利:专业的专利平台
掌桥专利
首页

基于yolov5的油气管道挖掘机占压检测方法及系统

文献发布时间:2024-04-18 19:57:31


基于yolov5的油气管道挖掘机占压检测方法及系统

技术领域

本发明属于图像处理技术领域,尤其涉及基于yolov5的油气管道挖掘机占压检测方法及系统。

背景技术

本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。

挖掘机违章占压一直是影响输油气管线正常运行的安全隐患,有关法规法律明确管线安全保护的重要性及挖掘机违章占压的危害性;做好违章占压的预防和管理工作,需要进一步研究和探讨。

在管道周边区域出现挖掘机占压的情况很可能出现安全隐患,若不对此加以检测,出现事故的时间不可避免。

目前仍常常采用传统人工巡线和摄像头监控的方式,对管道周边区域进行安全巡查,但人工巡线无法完全兼顾到管道区域是否有挖掘机进行违章占压的事件发生,且耗时耗力,无法实时对管道区域进行安全检测;摄像头检测拍摄的视频时长较长,没有有效地筛选也是需要耗费大量时间和人力来对挖掘机违章占压进行检测,且效率不高。

发明内容

为克服上述现有技术的不足,本发明提供了基于yolov5的油气管道挖掘机占压检测方法及系统,通过基于yolov5的检测模型对油气管道挖掘机占压进行快速自动检测,解决传统人工巡线和摄像头监控的方式耗时耗力、效率不高的问题。

为实现上述目的,本发明的一个或多个实施例提供了如下技术方案:

本发明第一方面提供了基于yolov5的油气管道挖掘机占压检测方法。

基于yolov5的油气管道挖掘机占压检测方法,包括:

获取实际的油气管道挖掘机占压图像,对油气管道挖掘机占压图像进行图像增强和边缘检测的预处理;

对预处理后的油气管道挖掘机占压图像进行挖掘机占压区域的标注,构建数据集;

利用数据集,对基于目标检测算法yolov5和多目标跟踪算法Deepsort的检测模型进行训练;

对摄像头采集的待检测油气管道挖掘机占压图像,根据摄像头的设置角度,划分识别区域,通过训练后的检测模型对识别区域进行挖掘机占压区域的检测,得到油气管道挖掘机占压检测结果;

其中,所述目标检测算法yolov5用于识别危险目标,多目标跟踪算法Deepsort对识别的危险目标进行跟踪检测和预警。

进一步的,所述获取实际的油气管道挖掘机占压图像,具体途径有:

从互联网中搜集油气管道挖掘机占压图像;

利用无人机和摄像设备,实际现场收集油气管道挖掘机占压图像。

进一步的,所述图像增强和边缘检测的预处理,具体为:

对夜间拍摄得到的图像,使用直方图均衡化的方法进行图像增强;

通过边缘检测,对于边缘特征不清晰的图像,利用sobel算子、Laplacian算子、Canny算子对图像进行边缘检测,改善图像的视觉效果,突出特征。

进一步的,所述进行挖掘机占压区域的标注,具体为:

利用标注软件对油气管道挖掘机占压图像中的挖掘机图像进行标注,对挖掘机占压区域进行标注,挑选训练集和验证集图像,制作数据集为训练做准备。

进一步的,所述对基于目标检测算法yolov5和多目标跟踪算法Deepsort的检测模型进行训练,具体为:

所述检测模型,通过数据加载器传递每一批训练数据,并同时增强训练数据,借助自适应锚框计算、自适应图片缩放两种方法辅助训练,直到训练出适合于检测挖掘机占压图像的模型;

其中,数据加载器进行三种数据增强:缩放、色彩空间调整和mosaic增强。

进一步的,所述自适应锚框计算,具体过程为:

获取数据集中所有目标的宽和高;

将每张图片中按照等比例缩放的方式到resize指定大小;

将bboxes从相对坐标改成绝对坐标;

筛选bboxes,保留宽高都大于等于两个像素的bboxes;

使用k-means聚类三方得到n个anchors;

使用遗传算法随机对anchors的宽高进行变异;倘若变异后的效果好,就将变异后的结果赋值给anchors;如果变异后效果变差就跳过,默认变异1000次;

所述自适应图片缩放,将原始的输入图片缩放到一个固定的尺寸,自适应地添加最少的黑边到缩放之后的图片中,具体步骤为:

根据原始图片大小与输入到网络的图片大小,计算缩放比例;

根据原始图片大小与缩放比例,计算缩放后的图片大小;

计算黑边填充数值。

进一步的,所述根据摄像头的设置角度,划分识别区域,具体为:

在进行预测前利用python进行编程,根据摄像头的设置角度,绘制出识别区域,只检测管道相关区域,无关区域则不检测。

本发明第二方面提供了基于yolov5的油气管道挖掘机占压检测系统。

基于yolov5的油气管道挖掘机占压检测系统,包括预处理模块、标注模块、训练模块和检测模块:

预处理模块,被配置为:获取实际的油气管道挖掘机占压图像,对油气管道挖掘机占压图像进行图像增强和边缘检测的预处理;

标注模块,被配置为:对预处理后的油气管道挖掘机占压图像进行挖掘机占压区域的标注,构建数据集;

训练模块,被配置为:利用数据集,对基于目标检测算法yolov5和多目标跟踪算法Deepsort的检测模型进行训练;

检测模块,被配置为:对摄像头采集的待检测油气管道挖掘机占压图像,根据摄像头的设置角度,划分识别区域,通过训练后的检测模型对识别区域进行挖掘机占压区域的检测,得到油气管道挖掘机占压检测结果;

其中,所述目标检测算法yolov5用于识别危险目标,多目标跟踪算法Deepsort对识别的危险目标进行跟踪检测和预警。

本发明第三方面提供了计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如本发明第一方面所述的基于yolov5的油气管道挖掘机占压检测方法中的步骤。

本发明第四方面提供了电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本发明第一方面所述的基于yolov5的油气管道挖掘机占压检测方法中的步骤。

以上一个或多个技术方案存在以下有益效果:

由于传统的排查挖掘机占压的方式例如人工巡线和摄像头排查等效率不高,管道的安全运行仍存在安全隐患,本发明通过检测模型对管道周边区域是否存在挖掘机占压行为进行快速、自动检测,在一定程度上帮助工作人员识别挖掘机占压的违章行为,减少人力成本、降低人员工作量,提高了对挖掘机占压的违章行为识别的准确性。

本发明对管道周边区域是否有挖掘机占压进行检测,获取管道挖掘机占压的关键识别区域,以排除其他区域的干扰,管道周边区域处于有挖掘机占压和没有挖掘机占压两个不同状态时,在图像特征上会出现不同的差异变化,通过获取图像中挖掘机部分的特征情况,利用图像增强和边缘检测技术强化挖掘机占压的图像特征,以提高图像中挖掘机的提取效果,为后续管道挖掘机占压提供较为准确的理论支撑。

本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。

图1为第一个实施例的方法流程图。

图2为第二个实施例的系统结构图。

具体实施方式

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本发明使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

实施例一

在一个或多个实施方式中,公开了基于yolov5的油气管道挖掘机占压检测方法,如图1所示,包括如下步骤:

步骤S1:获取实际的油气管道挖掘机占压图像,对油气管道挖掘机占压图像进行图像增强和边缘检测的预处理。

(1)获取油气管道挖掘机占压的实际图像,收集图像保存为原始数据,为制作数据集做好准备。

具体的,为了获取管道区域是否存在挖掘机占压的实际情况,尽可能避免侥幸心理引发的管道安全事故,利用无人机拍摄和海康威视摄像设备在模拟试验现场进行实况拍摄,以得到挖掘机占压的视频数据,获取得到的管道实验视频数据可以看作是短间隔的图像数据,利用专用播放软件进行图片截取,同时通过互联网和其他渠道收集油气管道挖掘机占压的图片并编入数据集中。

(2)对挖掘机占压的图像进行图像增强和边缘检测处理,对退化的某些图像特征,如边缘、轮廓、对比度等进行处理,以改善图像的视觉效果,提高图像的清晰度,将图像转换为更适合人或计算机分析处理的形式。

边缘检测的目的是去发现图像中关于形状和反射或透射比的信息,是图像处理、图像分析、模式识别、计算机视觉以及人类视觉的基本步骤之一。其结果的正确性和可靠性将直接影响到机器视觉系统对客观世界的理解。利用sobel算子,Laplacian算子,Canny算子等基础方法对图像进行边缘检测,改善图像的视觉效果,突出特征。

sobel算子是将图像中的每个像素将图像中的每个像素的上、下、左、右四邻域的灰度值加权差与之接近的邻域的权最大,因此,Sobel算子定义如下:

s

s

其中,把图像看成连续函数f(x,y),f(x,y)即是表示图像在(x,y)点处的灰度值。

sobel算子利用像素的上、下、左、右邻域的灰度加权算法,根据在边缘点处达到极值这一原理进行边缘检测;该方法不但产生较好的检测效果,而且对噪声具有平滑作用,可以提供较为精确的边缘方向信息;但是,在抗噪声好的同时增加了计算量,而且也会检测伪边缘,定位精度不高;如果检测中对精度的要求不高,该方法较为常用。

Laplacian算子是二阶微分算子,它具有旋转不变性,即各向同性的性质,表达公式为:

其中,把图像看成连续函数f(x,y),f(x,y)即是表示图像在(x,y)点处的灰度值。

在数字图像中可用数字差分近似为:

其中,把图像看成连续函数f(x,y),f(x,y)即是表示图像在(x,y)点处的灰度值。

数字图像函数的拉普拉斯算法也是借助各种模板卷积实现的,这里对模板的基本要求是对应中心像素的系数应是正的,而对应中心像素临近像素的系数应是负的,且所有系数的和应该是零,这样不会产生灰度偏移。

拉普拉斯边缘算子的缺点是:由于为二阶差分,双倍加强了噪声的影响;另外它产生双像素宽的边缘,且不能提供边缘方向的信息,因此,拉普拉斯算子很少直接用于边缘检测,而主要用于已知边缘像素,确定该像素是在图像的暗区还是在明区;其优点是各向同性,不但可以检测出绝大部分边缘,同时基本没有出现伪边缘,可以精确定位边缘。

Canny算子的基本思想是先将图像使用高斯函数Gauss进行平滑,再由一阶微分的极大值确定边缘点;二阶微分的零交叉点不仅对应着一阶导数的极大值,而且也对应着一阶导数的极小值;换句话说,图像中灰度变化剧烈的点与变化缓慢的点都对应着二阶导数零交叉点;因此,Canny算子可能会引入伪边缘点。

其定义为:对图像f(x,y)进行高斯函数滤波后得到f(x,y)*G

其中,把图像看成连续函数f(x,y),f(x,y)即是表示图像在(x,y)点处的灰度值。

图像的边缘点即为在A

图像增强有助于通过关注已识别的特征、调整明暗区域之间的对比度、减少噪点、升级相机焦距、减少运动模糊等来创建更好的图像;图像增强明确用于改善图像描述,例如边界、角落、对比度、边缘、强度等。

考虑到管道区域有夜间挖掘机占压的可能性,还需要对拍摄采集得到的图像进行图像增强,对所有图像使用直方图均衡化的方法进行图像增强,消除夜间拍摄得到的图像中光照较少导致挖掘机形状难以辨识的影响。

步骤S2:对预处理后的油气管道挖掘机占压图像进行挖掘机占压区域的标注,构建数据集。

利用标注软件labelimg对油气管道挖掘机占压图像中的挖掘机图像进行标注,对挖掘机占压区域进行标注,应用Python语言,编写分类出训练集和验证集的程序,通过此程序将标注好的图像按照训练集:验证集=8:2的比例进行随机分类,通过程序制作出训练集和验证集,制作数据集为训练做准备。

其中,Labelimg是一款开源的数据标注工具,有三种格式可供选择,这里选择yolo格式进行标注,标签保存为txt文件。

步骤S3:利用数据集,对基于目标检测算法yolov5和多目标跟踪算法Deepsort的检测模型进行训练。

检测模型是基于目标检测算法yolov5和多目标跟踪算法Deepsort构建的,yolov5(You Only Look Once)是由UitralyticsLLC公司发布的一种单阶段目标检测算法,yolov5相比yolov4而言,在检测平均精度降低不多的基础上,具有均值权重文件更小,训练时间和推理速度更短的特点;yolov5的网络结构分为输入端、Backbone、Neck、Head四个部分。

对于此场景可加入Deepsort多目标跟踪算法,目标追踪可联动目标检测算法YOLO-v5扩展其功能,目标检测算法确定目标是否为危险目标,而目标跟踪算法则对危险目标(可以多个)进行跟踪检测,在算法中编入管道所在区域的预警条件(时间或是多个危险目标同时进入管道区域),算法检测到满足预警条件即会发送预警信息告知工作人员,达到对管道挖掘机占压危险行为的预警目的。

Deepsort多目标跟踪算法的核心是卡尔曼滤波算法和匈牙利算法。

卡尔曼滤波算法作用:是利用当前的一系列运动变量去预测下一时刻的运动变量,初始所得的检测结果用来初始化卡尔曼滤波的运动变量。

匈牙利算法的作用:是解决分配问题,表述为算法会将不定数量的检测框与卡尔曼滤波算法的预测框进行匹配,让卡尔曼滤波算法的预测框会与自身最相符的检测框进行匹配,达到追踪的效果。

Deepsort算法拥有级联匹配功能和对新轨迹的确认功能,Tracks(轨迹)分为确认态(confirmed)和不确认态(unconfirmed),新产生的Tracks是不确认态的;不确认态的Tracks必须要和Detections(预测框)连续匹配一定的次数(默认3次)才可以转化成确认态;确认态的Tracks必须和Detections连续失配一定次数(默认30次),才会被删除。

Deepsort多目标跟踪算法的主要流程如下:

(1)将第一帧次检测到的结果创建其对应的Tracks;将卡尔曼滤波的运动变量初始化,通过卡尔曼滤波预测其对应的预测框,这时候的轨迹一定是不确认态的。

(2)将该帧目标检测的预测框和第上一帧通过Tracks预测的框一一进行IOU匹配,再通过IOU匹配的结果计算其代价矩阵(cost matrix,其计算方式是1-IOU,IOU为图像检测的评价指标,是指算法预测框和图像所在的真实框的重叠区域对算法预测框和真实框的总区域的比值)。

(3)将(2)中得到的所有的代价矩阵作为匈牙利算法的输入,得到线性的匹配的结果,这时候得到的结果有三种,第一种是Tracks失配,这时候需要直接将失配的Tracks删除;第二种是Detections失配,这时候需要将这样的Detections初始化为一个新的Tracks;第三种是检测框和预测框配对成功,这说明前一帧和后一帧追踪成功,将其对应的Detections通过卡尔曼滤波更新其对应的Tracks变量。

(4)反复循环(2)-(3)步骤,直到出现确认态的Tracks或者视频帧结束。

(5)通过卡尔曼滤波预测其确认态的Tracks和不确认态的Tracks对应的预测框;将确认态的Tracks的框与Detections进行级联匹配。

(6)进行级联匹配后有三种可能的结果:第一种,Tracks匹配,这样的Tracks通过卡尔曼滤波更新其对应的Tracks变量;第二种和第三种结果是Detections和Tracks失配,这时将之前的不确认状态的Tracks和失配的Tracks一起和未匹配的检测框一一进行IOU匹配,再通过IOU匹配的结果计算其代价矩阵(cost matrix,其计算方式是1-IOU)。

(7)将(6)中得到的所有的代价矩阵作为匈牙利算法的输入,得到线性的匹配的结果,这时得到的结果有三种:第一种是Tracks失配(Unmatched Tracks),直接将失配的Tracks删除;第二种是Detections失配(Unmatched Detections),将这样的Detections初始化为一个新的Tracks(new Tracks);第三种是检测框和预测的框配对成功,这说明我们前一帧和后一帧追踪成功,将其对应的Detections通过卡尔曼滤波更新其对应的Tracks变量。

(8)反复循环(5)-(7)步骤,直到视频帧结束。

检测模型通过数据加载器传递每一批训练数据,并同时增强训练数据,借助自适应锚框计算、自适应图片缩放两种方法辅助训练,直到训练出适合于检测挖掘机占压图像的模型。

其中,数据加载器进行三种数据增强:缩放、色彩空间调整和mosaic增强。

训练过程采用了如下两种方法来辅助训练:

(1)自适应锚框计算,其具体过程为:

1)获取数据集中所有目标的宽和高。

2)将每张图片中按照等比例缩放的方式到resize指定大小,这里保证宽高中的最大值符合指定大小。

3)将bboxes从相对坐标改成绝对坐标,这里乘以的是缩放后的宽高。

其中,bboxes即为锚框,是指对物体真实位置的进行猜测的框。算法会先设定多个锚框,然后根据锚框中是否存在物体进行相应处理。

4)筛选bboxes,保留宽高都大于等于两个像素的bboxes。

5)使用k-means聚类三方得到n个anchors。

6)使用遗传算法随机对anchors的宽高进行变异。倘若变异后的效果好,就将变异后的结果赋值给anchors;如果变异后效果变差就跳过,默认变异1000次。

(2)自适应图片缩放,其具体过程为:

针对不同的目标检测算法而言,通常需要执行图片缩放操作,即将原始的输入图片缩放到一个固定的尺寸,再将其送入检测网络中。YOLOv5算法中常用的尺寸包括416*416、608*608等尺寸。

原始的缩放方法存在着一些问题,因为在实际的使用中很多图片的长宽比不同,所以在进行缩放填充之后,两端的黑边大小都不相同,但是如果填充过多,则会存在大量的信息冗余,从而影响整体的推理速度。

本实施例采用如下方法来提升自己的推理速度,使得能够自适应的添加最少的黑边到缩放之后的图片中,方法如下:

1)根据原始图片大小与输入到网络的图片大小,计算缩放比例。

2)根据原始图片大小与缩放比例,计算缩放后的图片大小。

3)计算黑边填充数值。

利用数据集对基于目标检测算法yolov5和多目标跟踪算法Deepsort的检测模型进行训练,选择合适的迭代轮数,对训练结果进行分析,选出最合适的模型对管道周边区域的挖掘机占压事件进行识别。

对训练结果进行分析,是使用验证集图片对模型进行测试,观察模型的精度、召回率等指标,评判模型的精度是否能检测出管道区域内存在挖掘机违章占压的事件发生;如果模型精度合适,便能够用于检测是否存在挖掘机占压的情况,减少危险情况的发生,避免不必要的人员伤亡。

步骤S4:对摄像头采集的待检测油气管道挖掘机占压图像,根据摄像头的设置角度,划分识别区域,通过训练后的检测模型对识别区域进行挖掘机占压区域的检测,得到油气管道挖掘机占压检测结果。

由于管道区域的周边环境多变,为了减少其他物体对挖掘机占压行为的影响,限定识别区域,对识别区域内进行检测,排除其他区域内带来的影响。将图像通过检测模型对识别区域内的挖掘机占压进行检测识别。将待检测油气管道挖掘机占压图像的识别区域作为检测模型的输入,使用该检测模型可以得到挖掘机所处的位置,检测其违章占压的情况。

利用python构建识别区域,对限定管道区域内进行识别,避免检测到无关区域,再利用模型对管道挖掘机占压的情况进行检测,根据预测情况对油气管道挖掘机占压的危险行为进行识别。

具体地,先确定检测范围,利用画图软件打开待检测的图片中管道的区域范围,根据摄像头的设置角度,确定四个顶点的坐标,确定点的像素坐标,再分别计算点的像素坐标和图片总像素坐标的比例;

再利用python进行编程,在yolov5算法中添加所需要的区域线,在检测时只检测管道限定区域内是否发生挖掘机违章占压事件。

实施例二

在一个或多个实施例中,公开了基于yolov5的油气管道挖掘机占压检测系统,如图2所示,包括预处理模块、标注模块、训练模块和检测模块:

预处理模块,被配置为:获取实际的油气管道挖掘机占压图像,对油气管道挖掘机占压图像进行图像增强和边缘检测的预处理;

标注模块,被配置为:对预处理后的油气管道挖掘机占压图像进行挖掘机占压区域的标注,构建数据集;

训练模块,被配置为:利用数据集,对基于目标检测算法yolov5和多目标跟踪算法Deepsort的检测模型进行训练;

检测模块,被配置为:对摄像头采集的待检测油气管道挖掘机占压图像,根据摄像头的设置角度,划分识别区域,通过训练后的检测模型对识别区域进行挖掘机占压区域的检测,得到油气管道挖掘机占压检测结果。

实施例三

本实施例的目的是提供计算机可读存储介质。

计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开实施例一所述的基于yolov5的油气管道挖掘机占压检测方法中的步骤。

实施例四

本实施例的目的是提供电子设备。

电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本公开实施例一所述的基于yolov5的油气管道挖掘机占压检测方法中的步骤。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 基于YOLOV5的热红外气体泄漏检测方法、检测装置和检测系统
  • 一种基于多模态数据的油气管道泄漏信号检测方法及系统
技术分类

06120116458739