基于改进Canny算法的化工厂指针仪表读数方法研究

2024-09-12 00:00:00崔文广张宝宝陈峰任佳亮臧亚宁
物联网技术 2024年4期

摘 要:针对当前化工厂指针仪表读数方法效率低、误差大等问题,本文提出了一种基于改进Canny算法的指针仪表读数方法。首先,采用目标检测算法YOLOv5对仪表表盘及指针进行定位检测,从而能够更加准确的得到指针所在位置;其次,采用导向滤波方法对图像进行预处理,得到清晰的仪表图像,同时利用改进的Canny算法对指针边缘进行提取;最后,利用霍夫变换方法得到指针所在直线,并计算倾斜角度,采用角度法计算出实际读数。通过实验验证,本文所提出的仪表读数方法的读数精度为93.6%,较改进前提升了3.1%,该方法有效提升了化工厂的指针仪表读数效率,具有较高的实用价值。

关键词:YOLOv5;导向滤波;Canny算法;霍夫变换;角度法;MATLAB

中图分类号:TP391 文献标识码:A 文章编号:2095-1302(2024)04-00-03

DOI:10.16667/j.issn.2095-1302.2024.04.005

0 引 言

在化工厂的日常生产过程中,每个设备所对应的仪表检测数据对于生产过程控制以及生产安全具有重要意义。在化工厂中,不同设备的仪表也会有所不同,常见的有数字仪表、指针式仪表等。相对于指针式仪表,数字仪表的读数更加方便,且智能化程度更高。但是数字仪表的缺陷在于,在恶劣的环境中,数字仪表寿命较短,维护成本高。而指针仪表的结构简单、有较强的抗干扰能力且后期维护简单,使用成本低,因此在化工厂中,常见的仪表均为指针式仪表。

目前,指针式仪表的读数方法多为人工读数,因此存在较大局限性。如在高温、高压的环境下,人工读数付出的成本较大,且读数准确率不高。此外,在一些具有辐射的环境中,人工读数风险较高。随着信息技术的发展,人工读数的方式越来越无法满足化工园区的智能化需求,因此采用智能化手段实现指针式仪表读数对化工厂的发展具有重要意义。彭昆福[1]等提出了一种基于深度回归的指针仪表读数识别方法,该方法首先获取仪表图像的特征,然后利用方向回归对指针的方向进行预测,最后利用角度法计算仪表的读数。该方法准确性较高,但是计算复杂,时效性差。汤亮[2]等提出了基于空间变换的指针式仪表读数识别算法,该方法首先获取指针所在圆形区域的轮廓,其次对指针的刻度线进行校正,并得到刻度线的坐标,最后采用减影法来获取指针与刻度线的相对位置得到指针读数。Haojing Bao[3]等提出了一种基于逆透视映射的多指针式仪表计算机视觉测量方法,该方法通过视觉检测获取指针式仪表的读数,具有一定的有效性,但是该方法的泛化性不高。为了解决指针式仪表读数方法存在的问题,本文提出了一种基于改进Canny算法的指针仪表读数方法,以提高化工厂指针式仪表的读数效率。

1 YOLOv5算法

YOLOv5算法是当前性能较强的目标检测方法,其网络结构采用卷积神经网络的特征提取模块。YOLOv5的输入端采用Mosaic方法对输入数据集进行处理[4-5]。其主干网络为CSPDarknet53,其主要用于提取特征信息,便于对表盘及指针进行定位。此外,YOLOv5结构还包括Backbone及Neck结构,Backbone结构引用Focus模块,该模块能够在下采样阶段提取目标特征时,避免部分特征信息丢失。Neck结构是由FPN和PAN两个模块组成,两种模块能够在不同的方向上对特征信息进行传输,从而将不同层次的特征进行融合,提高模型的检测性能。仪表指针检测流程如下:

(1)对输入的仪表图像进行单元格划分,然后针对不同尺度的输入目标生成先验框,先验框负责检测相应的目标

物体。

(1)

式中:c表示置信度的值;P为预测框内的目标概率;H表示预测框与真实框之间的交并比。

(2)对输入端的指针仪表图像进行归一化操作,然后送入特征提取网络中提取相应的特征信息。

(3)计算被检测物体的中心点位置及标注框的信息。

(4)输出检测结果。

指针仪表检测图如图1所示。

2 图像预处理

2.1 导向滤波

由于指针仪表长期暴露在露天环境,受雨水侵蚀、阳光暴晒等因素的影响,指针仪表表面的清晰度退化,导致读数不准确、误差大。为了提高仪表的读数精度,采用导向滤波算法对指针仪表图像进行滤波处理,使得图像更加清晰。

导向滤波[6-7]是一种具有平滑效果的图像处理方式,在保持图像边界的同时实现平滑的处理。与其他滤波方式相比较,导向滤波方法具有处理速度快和无梯度反转的优势。导向滤波算法实现的一般步骤如下:

(1)分别读取输入及导向图像P和I;

(2)分别计算I的均值与方差、输入图像P的均值以及I与P的乘积;

(3)对线性相关因子a与b的值分别进行计算:

(2)

(3)

(4)分别计算a与b的均值;

(5)得到导向滤波结果Q:

(4)

图2为导向滤波的处理效果图,将图(a)、图(b)对比可以看出,经过导向滤波处理后的仪表图像更加清晰,特征信息更加丰富,有利于提高仪表的识别精度。

2.2 改进Canny算法

Canny是一种成熟的用于目标边缘检测的方法,其核心方法是将目标进行平滑后再求导,从而检测出边缘信息,该方法具有较好的去噪和边缘检测效果[8-10]。传统的Canny算法包括以下3个计算部分:

(1)采用高斯滤波对图像去噪;

(2)计算梯度值及梯度方向;

(3)采用非极大值抑制及双阈值连接对检测边缘进行

处理。

由于传统Canny算法的梯度方向比较单一,容易造成梯度变化缓慢及梯度信息丢失等问题。本文采用四方向Sobel算子对传统Canny算法中的梯度计算方法进行改进,解决传统方法中存在的不足。边缘检测结果如图3所示。

(5)

式中:Gx代表横向边缘信息;Gy代表纵向边缘信息。

由检测结果图可以看出,Canny算法改进前检测的边缘存在缺失,改进后的算法检测效果更好。

2.3 霍夫变换法直线检测

霍夫变换(Hough Transform)法常用于检测直线,但该方法不仅能够检测直线,还能够进行椭圆拟合等[11]。霍夫变换法的核心是将被检测的复杂目标转化为计算峰值的问题,将复杂的问题简单化。检测直线时,假设原点距离直线的垂直长度为ρ,且垂线与横坐标轴之间的夹角为θ,则该直线的表达式为:

(6)

得到直线的极坐标方程后,将直线进行参数映射,即将r轴和θ轴进行离散化,得到直线的正弦曲线形式[12-13]。具体分为以下几个步骤:

(1)将参数空间的坐标轴离散化;

(2)对图像中不为0的像素点进行映射,并得到像素点在参数空间中的方格;

(3)统计每个方格出现的次数,并确定阈值,若某一个方格出现的次数大于阈值时,则用其表示直线;

(4)将表示直线方格的参数作为图像中检测直线的参数。

直线检测效果如图4所示。

2.4 角度法读数

角度法是一种常见的仪表读数方法[14],该方法较为简单,其具体步骤为:

(1)得到仪表的最大量程角度θmax;

(2)得到指针仪表的最大量程Nmax;

(3)得到指针上边缘角度θ1与下边缘角度θ2的平均值θmean,并通过下式计算得到仪表的读数N。

(7)

(8)

3 实验结果及分析

为了验证本文提出的指针仪表读数方法的有效性及实用性,本文在MATLAB环境下进行模拟实验。本文的实验数据一方面来源于化工厂实际仪表图像,同时为了提升算法的泛化性,还采用网络工具获得其他指针仪表图像,实验数据图像共5 000张。实验步骤如下:

(1)为了快速对仪表表盘及指针所在位置进行定位,降低背景信息干扰,实验首先采用LabelImg工具对仪表数据集进行标注,然后采用YOLOv5算法进行检测。

(2)为了解决由于指针仪表的清晰度退化,造成读数不准确、误差大的问题,在完成指针定位后对指针仪表图像进行滤波处理,提高读数精度。

(3)最后采用改进的Canny算法及霍夫变换法对指针进行直线检测,并采用角度法读数。

表1为部分仪表的读数结果,由表中读数结果可以得到,改进后的算法读数结果更加准确。图5为准确率曲线图,其中深灰色曲线表示算法改进前的准确率曲线,浅灰色曲线表示算法改进后的准确率曲线。从图中可以看出,算法改进前的识别准确率为90.5%,算法改进后的识别准确率为93.6%,相比之下准确率提升了3.1%,指针仪表读数的效率得到了提升。

4 结 语

为了提高化工厂的指针仪表读数效率,本文提出了一种基于改进Canny算法的读数方法。

(1)采用YOLOv5算法对仪表指针进行定位,该方法具有较好的定位效果。

(2)采用导向滤波对图像进行预处理,提高图像的细节信息,同时对Canny算法进行改进,以提取仪表指针的边缘信息。利用改进后的算法提取的边缘信息更全面,提取效果更好。

(3)利用霍夫变换法进行直线检测并采用角度法计算读数。实验结果表明,本文所提方法的读数精度为93.6%,较改进前提升了3.1%,具有较高的实用价值。

注:本文通讯作者为张宝宝。

参考文献

[1]彭昆福,王子磊,王磊,等. 基于深度回归的指针仪表读数识别方法[J].信息技术与网络安全,2020,39(12):7.

[2]汤亮,何稳,李倩,等.基于空间变换的指针式仪表读数识别算法研究[J].电测与仪表,2018,55(6):6.

[3] BAO H J,TAN Q C,LIU S Y,et al. Computer vision measurement of pointer meter readings based on inverse perspective mapping [J]. Applied sciences,2019,9(18).

[4]郭磊,薛伟,王邱龙,等. 一种基于改进YOLOv5的小目标检测算法[J]. 电子科技大学学报,2022,51(2):8.

[5]田枫,贾昊鹏,刘芳. 改进YOLOv5的油田作业现场安全着装小目标检测[J]. 计算机系统应用,2022,31(3):10.

[6]韩正汀,路文,杨舒羽,等. 基于导向滤波优化的自然图像去雾新方法[J]. 计算机科学与探索,2015,9(10):7.

[7] PHAM C C,JEON J W. Efficient image sharpening and denoising using adaptive guided image filtering [J]. Image processing Iet,2015,9(1):71-79.

[8] KIEU S T H,BADE A,HIJAZI M H A. Modified canny edge detection technique for identifying endpoints [J]. Journal of physics: conference series,2022,2314(1).

[9]刘双龙,金晓怡,范瑜,等.基于霍夫变换和Canny算子的表壳中心定位方法[J].农业装备与车辆工程,2022,60(8):32-35.

[10]沈卫东,李文韬,刘娟,等.基于改进Canny边缘检测的指针式仪表自动读数算法研究[J].国外电子测量技术,2021,40(2):60-66.

[11] AHMAD R,NAZ S,RAZZAK I. Efficient skew detection and correction in scanned document images through clustering of probabilistic hough transforms [J]. Pattern recognition letters,2021,152.

[12] LI N,WANG J,DONG X A,et al. Pointer meter recognition method based on improved Hough transform [J]. Chinese journal of liquid crystals and displays,2021,36(8).

[13] IQBAL B,IQBAL W,KHAN N,et al. Canny edge detection and hough transform for high resolution video streams using Hadoop and Spark [J]. Cluster computing,2020,23(1).

[14]王瑞,李琦,方彦军. 一种基于改进角度法的指针式仪表图像自动读数方法[J]. 电测与仪表,2013,50(11):115-118.

收稿日期:2023-03-31 修回日期:2023-05-05