Reading Method of Pointer Instrument Based on Improved U2-Net
At present, there are some problems in the reading process of industrial pointer instruments, such as relying on manual work and low reasoning accuracy. This paper proposes a reading method for pointer instruments based on improved U2-Net. Aiming at the problems of poor reasoning accuracy and too many model parameters in the current instrument identification algorithm, the deepest two convolutions of RSU4 and RSU5 in the U2-Net coding stage are replaced by deep separable convolutions, and the ECA attention module is added after each RSU coding stage, which made the model pay more attention to the pointer and scale area and improved the recognition accuracy of pointer and scale. In this paper, the collected data sets are evaluated. Compared with SegNet, Deeplabv3+ and U2-Net methods, the accuracy of the improved model in this paper reaches 94.58%, and the reference error of pressure instruments with two measuring ranges of 25 MPa and 1.6 MPa reaches 1.012%, which has good performance.
Pointer Instrument
复杂的工业环境中存在辐射、毒性、高温等恶劣环境,需要借助仪器对生产条件进行检查以确保安全。传统上,获取的数据通常是由人工读取的,此类方法能够从各种形状、形式和风格的复杂仪表中获得精确的读数。然而,人工方法耗时且费力。相比之下,依靠巡检机器人和计算机视觉技术进行自动抄表具有重要的现实意义
目前,指针式仪表的识别方法主要分为传统方法和深度学习方法。传统的指针式仪表识别方法主要依赖于传统的图像处理技术和特定的算法。房桦等人提出了一种用于设备仪表检测机器人的仪表识别算法
针对以上问题,本文提出一种基于改进U2-Net的指针式仪表读数方法。本文设计了基于加入深度可分离卷积配合ECA注意力模块的特征融合模块,自适应分割和学习指针仪表的刻度和指针等特征。为了解决模型编码过程中模型参数过多的问题,本文将部分模块的较深层次部分卷积替换为深度可分离卷积,同时在编码阶段后加入ECA注意力模块用于关注小目标区域。通过将U2-Net进行改进,将U2-Net的优点进行有效结合,从而提高指针式仪表检测识别网络的推理精度和速度。
在本文研究的指针仪表提取特征过程中,更加重视细节信息和全局对比性信息。鉴于U2-Net网络是针对显著性目标检测任务提出的,能够将图像中最具有吸引力的目标提取出来
U2-Net
网络的主体类似于U-Net的网络结构,在大的U-Net中,每一个小的block都是一个小型的类似于U-Net的结构。整体结构由一个编码器和一个解码器组成,编码器负责提取图像的特征,而解码器则负责将特征映射回原始图像尺寸在编码器阶段,每通过一个模块后都会下采样2倍,在解码器阶段,每通过一个block前会上采样2倍。
U2-Net的En_1和De_1阶段,使用RSU-7模块,RSU-7的网络结构图如
图像经过En_1-En_4下采样处理后对应特征图的高与宽相对较小,如果再进行下采样操作不免会丢失有用性数据,为了保留上下文信息,En_5、En_6、De_5不再进行下采样,且RSU-4F的模块中,将下采样、上采样结构换成了膨胀卷积。
本文提出的基于改进U2-Net的指针式仪表语义分割算法,能有效提高模型的查准度,如
U2-Net基于Encode-Decode编码形式,编码过程中存在细节特征损失和模型参数过多问题,针对该问题,将编码阶段的RSU4和RSU5模块的最深层次的两个普通卷积更换为深度可分离卷积
深度可分离卷积(Depthwise Separable Convolution, DSConv)由逐深度卷积和逐点卷积组成,深度卷积用于提取空间特征,逐点卷积用于提取通道特征。深度可分离卷积在特征维度上分组卷积,对每个通道进行独立的逐深度卷积,并在输出前使用一个1 × 1卷积将所有通道进行聚合。
深度可分离卷积和普通卷积的参数量和计算量对比如下:
参数量比值:
计算量比值:
深度可分离卷积的结构如
从以上公式和结构图中,可以观察到,按如上改进后的总参数量比普通卷积的总参数量更低。本次改进通过提高计算效率和优化网络结构,减少了过拟合的风险和计算资源的消耗。
为了帮助模型在特征融合时更好地关注感兴趣区域,提高指针分割精度,将各编码RSU拼接下采样时加入ECA注意力模块,以RSU-7为例,改进模型如
ECANet
使用改进后的U2-Net模型将训练集仪表的指针和刻度分割出来后,经过读数后处理得到最终的读数。
读数后处理的流程图如
主要包含以下步骤:
第一步,对语义分割的预测类别图进行图像腐蚀操作,以达到刻度细分的目的。
第二步,把环形的表盘展开为矩形图像,根据图像中类别信息生成一维的刻度数组和一维的指针数组。
第三步,接着计算刻度数组的均值,用均值对刻度数组进行二值化操作。
第四步,根据刻度分割得到总体刻度格数,大于40格归类为25 MPa类型(50格),小于40格归类为1.6 MPa (32格),根据指针分割得到指针相对位置,最后将指针相对位置与分类量程做乘积得到表盘的读数。
本文在对指针仪表上标注了刻度和指针两个类别,并将指针和刻度分开输入到语义分割网络中,故将图像划分成双通道分别处理,取出掩码图第一通道的特征图,像素等于1的为指针,像素等于2的为刻度。输入图像经过模型语义分割和图像处理后的掩码图,如
图7. 指针和刻度的掩码图
通过对比输入图像与模型推理后的图像,可以明显看出模型的推理效果相当出色。模型对于表盘内的指针和刻度等关键特征的提取非常精确,充分证明了经过改进后的U2-Net模型在仪表识别任务中展现出了卓越的处理能力,验证了模型的有效性。
交叉熵损失是一个常用于多分类问题的损失函数。交叉熵损失函数使用在单个类中,使得多分类任务计算损失变得更加高效和简单,如公式1所示。
(1)
xi是变量,p (x)、q (x)为x的两个概率分布,交叉熵越小,p和q两分布越相似。本文设置背景类别的权重是1,指针和刻度类别的权重为1.5。
本文使用的操作系统为Windows11,GPU选用NVIDIA GTX-1080,深度学习框架为Pytorch 2.2.2。表计识别网络使用工厂实拍数据图像,本次实验共包含了2种量程的仪表,分别为1.6 MPa和25 MPa,训练集为374张,测试集为37张。部分数据集图像及掩码图可视化如
图8. 数据集及掩码图
本文采用查准率(Precision, P)、平均交并比(Mean Intersection over Union, mIoU)、召回率(Recall, R)作为评价指标,对图像分割模型结果进行分析,公式如下:
(2)
(3)
(4)
其中,n表示类别总数,pii指像素类别为i被预测为类别i的总数量,pij指像素类别为i被预测为类别j的总数量,pji指像素类别为j被预测为类别i的总数量。
为判定仪表读数的准确性,选择引用误差率来判断模型的推理效果,引用误差越小,模型推理越准确。引用误差e的表达式如下:
(5)
其中,模型推理读数为value,仪表的人眼读数为 ,仪表的分类量程为l。
为了验证所提方法的有效性,本文对测试集进行了消融实验,并使用查准率P、平均交并比mIOU、召回率R来评价各模型,实验结果如
1) U2-Net:U2-Net进行指针仪表数据集训练推理。
2) U2-Net + DSConv:利用DSConv改进的U2-Net进行指针仪表数据集训练推理。
3) U2-Net + ECA注意力:利用ECA注意力改进的U2-Net进行指针仪表数据集训练推理。
4) 本文方法:使用改进的U2-Net进行指针仪表数据集训练推理。
序号 | 方法 | P | mIOU | R |
1 | U2-Net | 90.13% | 82.83% | 89.18% |
2 | U2-Net + DSConv | 92.21% | 83.70% | 90.55% |
3 | U2-Net + ECA注意力 | 93.62% | 85.37% | 90.26% |
4 | 本文方法 | 94.73% | 85.49% | 92.65% |
从
为了证明本文所提方法的真实有效性,将本文方法与SegNet
序号 | 方法 | p | mIOU | R |
1 | SegNet | 88.23% | 80.97% | 88.60% |
2 | Deeplabv3+ | 89.13% | 81.89% | 88.85% |
3 | U2-Net | 90.13% | 82.83% | 89.18% |
4 | 本文方法 | 94.73% | 85.49% | 92.65% |
根据
本实验共包含2种量程的压力仪表,分别为25 MPa和1.6 MPa,测试集共37张图片。为准确评估仪表读数的精确性,本实验采用引用误差率作为评价模型推理效果的重要指标。引用误差率通过衡量模型预测值与真实值之间差距来说明模型推理的准确性,值越小,模型的推理效果越准确,预测值与真实值之间的偏差越小。本文详细记录了部分推理结果,呈现在
序号 | 人眼读数 | 推理读数 | 引用误差e (%) |
1 | 1.11 | 1.1827 | 4.544 |
2 | 6.25 | 6.3368 | 0.347 |
3 | 6.4 | 6.3559 | 0.176 |
4 | 0.63 | 0.6113 | 1.117 |
5 | 0.613 | 0.6235 | 0.656 |
6 | 6.2 | 6.0919 | 0.432 |
序号 | 方法 | P | e (%) |
1 | SegNet | 88.23% | 3.207 |
2 | Deeplabv3+ | 89.13% | 3.431 |
3 | U2-Net | 90.13% | 1.686 |
4 | 本文方法 | 94.73% | 1.012 |
由
针对指针式仪表在工业生产中遇到的复杂环境下人工读数难以实现和读数误差较大的问题,本文提出了一种基于人工智能的指针式仪表自动读数方法,通过改进的U2-Net语义分割模型分割指针和刻度,为了在提高识别精度的同时减少计算量,改进普通卷积并加入注意力机制。经实验验证,该模型能够高效地将各仪表的指针和刻度分割出来,并且能够通过分割效果识别仪表类型和指针相对位置从而计算读数,最终改进的U2-Net模型的查准率达到94.58%,针对两种量程25 MPa和1.6 MPa的压力仪表读数引用误差达到1.012%,相较于原U2-Net模型和目前主流语义分割模型均有显著提升。
然而,尽管本文方法在比较清晰的数据集情况下表现出色,但其读数后处理阶段仍采用传统的角度法,并且目前不能适用于更广泛的其他类型指针式仪表,在处理反光和异物遮挡等复杂图像时,可能导致处理效果不佳。为了进一步提高识别性能,我们将对仪表读数的计算方法进行深入研究,并积极探索和开发新的读数方法,以应对各种复杂的实际应用场景。