APP下载

基于轻量化深度学习网络的数字仪表识别

2023-02-25陈开峰俞伟聪唐雁文吴仲

科学技术与工程 2023年2期
关键词:仪表边缘数字

陈开峰, 俞伟聪, 唐雁文, 吴仲

(1.中国大唐集团科学技术研究总院有限公司华东电力试验研究院, 合肥 230093; 2.安徽智寰科技有限公司, 合肥 230601; 3.大唐万宁天然气发电有限责任公司, 万宁 571500)

当前数字互联网经济作为新兴经济发展的排头兵,得到了全社会的瞩目。然而传统工业项目向互联网数字化转型之路并不容易,仍有许多大型设备依赖于人力巡检,工程师自身经验判断来决定设备的健康程度。如何将指标数字化,用人工智能算法替代机械重复的劳动,一直是工业界研究的重点。

对工厂等环境下的数字式仪表进行智能化监测和管理能有效增强实时性,可以有效降低安全隐患[1]。仪表又分为指针式和数字显示式两种类型,本文的研究对象为数字显示仪表。近年来,相关研究人员提出了多种数字式仪表数据进行实时读取的方式,如采用穿线法、图像分割、特征提取、支持向量机、深度学习等。祝长生等[2]提出了一种基于不变矩信息融合的温湿度计数字自动识别算法,对数字识别问题提出了新的理论思路,降低了模型的复杂度,提高了检测效率,但是存在较大的局限性和针对性。陈家翔等[3]提出将仪表盘分为几个区域对应不同的数码管,根据数码管点亮或者熄灭设计不同的特征。但是存在区域划分繁琐,必须根据不同显示类型分别设计不能复用。宋一言等[4]提出改进穿线法与梯度直方图(histogram of oriented gradient,HOG)与支持向量机(support vector machine,SVM)结合的方式,采用基于轮廓提取与轮廓排序的相结合的数码管图像分割方法。刘晶[5]提出采用一对一(one-against-one,OAO)分类法将最小二乘支持向量机算法(least squares support vector machine,LSSVM)拓展到多分类,并引入粒子群优化算法(particle swarm optimization,PSO)对LSSVM参数进行优化。这两种方法虽然精度较高但是实时性较差。最近几年,随着深度学习卷积神经网络(convolutional neural network,CNN)[6-7]技术的兴起,将深度学习算法迁移到数字仪表识别已是大势所趋。如赵辉等[8]基于改进YOLO v3算法对变电站环境中的指标仪表进行了监测与识别,能够满足变电站的实际需求,且识别结果相对于Faster R-CNN(faster region-convolutional neural network)和原始的YOLO v3网络,速度分别有了73.7%和45.8%的提升。汤鹏等[9]提出基于Mask-RCNN(mask-region convolutional neural network)海上升压站数字式仪表读数的自动识别,将不同类型的数字仪表原始图像制作成数据集,利用深度学习算法进行训练,再进行识别分析。但仍然存在过于依赖计算资源的问题,不利于在边缘平台上实习部署的不足。

数字仪表识别是无人点巡检系统的重要组成模块,针对人员难以常态化巡检的位置,通过架设高清摄像头,实现数据的实时采集,异常数据指标的精确报警。当前数字仪表识别的研究在以下几个方面存在困难:一是对表盘的定位问题。有读数的表盘区域在整个图像中占比较低,存在难定位的问题;二是目标尺度分布不均衡。例如,对于数字8,在不同图像上的大小不一致。算法识别数字后,还需要对识别后的数字排序,还原其本来的意思。

因此,现提出一种基于深度学习YOLOv5s的轻量化、易部署的改进模型,在第一部分主干网络进行有目标的ROI提取,并将提取的区域统一到相同的尺度;第二部分网络在这些区域上将数字提取出来,并进行相应的排序。在损失函数上,应用一种新型的损失评价函数DIoU(distance intersection over union)。最终在NVIDIA Xavier NX边缘计算板上实现部署,部署后在电厂无人点巡检系统落地实现,实现真实环境下的商用运行。

1 数字仪表识别方法

常用的目标检测算法有一阶段(如YOLO)[10]与二阶段(如Faster-RCNN)[11]之分,二阶段的方法利用区域建议网络(region proposal network,RPN)首先产生提议框,然后对提议框的形状进行修正,以及对提议框内的目标类别进行预测。二阶段的方法由于运行过程中需要产生的大量的提议框需要进行分类和修正,因此运行速度较慢,很难做到实时检测。本文研究则选择使用运行速度较快的一阶段方法YOLOv5目标检测框架作为基线(baseline),并针对本文任务进行改进。

1.1 基于YOLOv5的数字仪表识别方法

YOLOv5通过一个全卷积网络将输出的特征图划分为S×S个网格,通过目标物体中心所处的网格来负责单个实例的 检测。通过将目标信息编码在输出张量的不同通道上,来同时预测目标的置信度,类别和目标框相对于锚框的偏移量。因此相较于二阶段的网络,YOLOv5在速度上有着较大的优势。

YOLOv5采用CSPDarknet53[12]作为主干网络,相较于原版的CSPDarknet53,YOLOv5删除最后的池化层、全链接层和SoftMax层,并在网络结构中添加了跨层模块。本文研究中采用YOLOv5s作为基线网络,YOLOv5s是YOLOv5的一个版本,区别在于模型深度和宽度和YOLOv5不一样,在YOLOv5s的基础上进行改进。

YOLOv5的损失函数[13]如式(1)所示,主体为3个部分的累加:

(1)

式(1)中:Gw、Gh为网格的长、宽;n为目标框的数量;qi,j为坐标点(i,j)存在目标的概率;lobj(i,j)用来计算当前网格内目标的置信度;lbox(i,j)用于计算目标的位置以及目标框的长宽相对于锚框的偏移;lcls(i,j)用来计算目标的类别损失。

(2)

(3)

(4)

1.2 迭代监测网络

本文研究提出一种基于YOLOv5s的迭代检测

网络,用于针对天然气表的数字检测,网络整体结构图如图1所示。

图1中大体分为两部分,均为改进后的YOLOv5s目标检测网络其中主干网络部分C3~C5为输入特征金字塔的特征图,特征金字塔部分对应的P3~P5为检测头进行检测的特征图。本文研究利用了多尺度信息进行检测,按照大中小目标共设计了3个检测头分别为{20×20,40×40,80×80},分别对应大中小目标。迭代检测网络的工作首先由一张图像x∈RW×H×3开始,将图像输入主干网络1后,由主干网络提取图像特征并按照不同尺度输入特征金字塔1中进行多尺度信息的融合,随后检测头1将对燃气表数字区域ROI进行识别,在提取到ROI后,将ROI送入网络2,进行迭代检测。网络2与网络1共享权重,经过相同的步骤之后,将ROI内对应的数字分别检测出来,并按照先后顺序进行排序。

数字尺寸分布的统计如图2所示,由图2(a)可以看见,在将图像输入网络前,数据标注尺寸分布极为分散,网络需要由多个尺度获取信息,导致网络较难收敛,检测效果较差。因此首先利用网络1检测尺度范围较为统一的ROI,随后将ROI从原图2中进行截取,随后再利用ROI对图2中的数字进行迭代检测,图2(b)显示了截取ROI之后数据标签的分布情况,可以看到,数据标注尺寸分步变得较为集中,有利于网络进行检测,对于此部分的实验,在第4节中进行说明。

图1 迭代检测网络架构Fig.1 Architecture of iterative detection network

图2 不同数字的尺寸分布统计Fig.2 Size distribution statistics for different numbers

为了提升对多尺度语义信息的提取效果,将主干网络中的残差模块进行了替换,换为对多尺度信息提取更好的Res2Net[14]模块,具体结构如图3所示,Res2Net结构通过对特征图中的部分通道进行分别卷积后累加,从而达到了更强的多尺度特征提取能力,同时保持了相似的计算负载。

X1~X4为Res2Net结构中维度值为4的特征组;Y1~Y4 表示X1~ X4分别经过不同类型的卷积计算输出的融合特征结果图3 Res2Net模块Fig.3 Res2Net structure

1.3 定位损失函数的改进

IoU为目标检测中的两个目标框的交并比,IoU Loss为定位损失函数,用于计算预测目标框与真实目标框之间的差距。IoU计算的是“预测的边框”和“真实的边框”的交集和并集的比值,计算公式为

(5)

式中:A、B为预测的边框、真实的边框。在计算得到IoU后,可以进一步计算出总体的损失函数loss=1-IoU,然而这种定位损失函数也存在着两点不足。

(1)当预测框和目标框不相交时IoU(A,B)=0此时没有梯度,不能进行梯度回传,梯度下降法失效。

(2)IoU在存在相交情况下的比例大小进行评价,通过反向传播优化损失,对于相交方式和不相交情况下的位置关系则无法评价。GIoU[15]是对原始IoU的改进,然而也存在两个框属于包含关系时,两个框中心点位置关系无法评价的缺点。

如图4所示,在同样为IoU(A,B)=0的情况下,图4(a)两个预测框比图4(b)两个预测框位置关系更近。当IoU(A,B)=0.14时,图4(c)相比图4(d)两框相交的更整齐,对于回归效果的计算更好。如图5所示,当绿色的目标框和红色的预测框是包含的位置关系,GIoU退化成IoU,无法进行指标衡量。

考虑到IoU和GIoU的不足之处,本文研究采用一种新型的损失评价函数DIoU作为评价指标。由于IoU损失在候选框和真实框没有重叠时不提供任何移动梯度,于是DIoU引入一个惩罚项,由于惩罚项的引入,在不重叠的情况下,预测框会向目标框移动,具体公式为

图4 IoU=0和IoU=0.14情况下两种位置关系Fig.4 Two positional relationships in the case of IoU=0 and IoU=0.14

图5 DIoU函数在包含情况下的评价效果Fig.5 The evaluation effect of the DIoU function in the case of inclusion

(6)

式(6)中:b、bgt为锚点框、目标框的中心点;ρ为计算两个中心点间的欧式距离;c为能够同时覆盖锚点框和目标框的最小矩形的对角线距离。

DIoU不仅关注到存在重叠的情况,还关注到非重叠的目标框。相比IoU在没有相交的情况下,克服了IoU梯度为0无法优化的情况,目标框不重叠时,仍然可以为边界框提供移动方向。DIoU可以直接最小化框与框之间的距离,收敛速度比GIoU更快。

2 实验与结果分析

采集265张数字燃气表图像,划分为训练集200张,测试集65张,主干网络使用ImageNet数据集[6]进行预训练,随后在MS-COCO(microsoft common objects in context)数据集[16]上进行整体网络的预训练,并将得到的权重进行迁移学习,作为的初始权重。框架依托在英伟达GTX1080Ti显卡上进行训练,网络1共迭代500轮,网络2利用网络1的权重进行微调(finetune),训练轮次为300轮,训练过程损失函数如图6所示。

为衡量模型性能,本文研究采用通用的目标检测指标来评价模型性能优劣,包括精确度(Precision)、召回率(Recall)、置信度在0.5的各数字平均精确度[mAP(0.5)],置信度在0.5~0.95的各数字平均精确度[mAP(0.5~0.95)],每秒浮点运算次数(giga floating-point operations per second,GFLOPs)。

图6 损失函数的变化Fig.6 Change of model loss function

Precision是模型对某一类数字正确预测数量占所有被模型判定为该类型的比值,即

(7)

Recall是模型对某一类数字正确预测数量占真实情况正例数量的比值,即

(8)

式(7)中:TP表示真正例样本的真实类别是正例,并且模型预测的结果也是正例;TN表示真反例样本的真实类别是负例,并且模型将其预测成为负例;FP表示假正例样本的真实类别是负例,但是模型将其预测成为正例;FN表示假反例样本的真实类别是正例,但是模型将其预测成为负例。

设计了3组实验来验证,首先是仅使用YOLOv5s网络,而不使用迭代检测网络,由表1可以看出,网络在经过训练之后仅仅达到了12%的准确率与53%的查全率,原因是目标尺度太过于分散,导致网络不易收敛。在进行迭代检测之后,可以看见,网络的准确率提升到了86.9%,召回率提升到了93.7%,相较于原始网络有了极大的提升。在替换Res2Net模块之后,可以看到,网络最终达到了99.62%的准确率和99.55%的查全率。对于平均准确率(mAP)0.5的区间上达到99.52%的置信度,GFlOPs降至12.3,能够实现在边缘设备平台的实时性要求。

图7展示了在边缘设备平台运行数字仪表识别方法的效果,可见无论在燃气表黑色区域的数字还是在红色区域的数字,包括最后一位在转动数字,都能准确的识别出来,说明该算法在数字识别性能上具有较好的鲁棒性和适用性。

图7 燃气表读数识别效果图Fig.7 Effect drawing of gas meter reading recognition

表1 三组模型网络的对比实验Table 1 The result of three algorithms were used to detect

3 平台的移植与验证

边缘智能计算的想法来源于将数据在接近于数据源头的地方进行处理,不同于云计算将计算发生在云平台利用超大型计算机实现运算,边缘计算在整个网络的边缘节点以分布式部署的硬件作为平台,实现数据的存储和处理。边缘计算解决了对云计算过度依赖,有效解决了海量数据传输对网络资源占用的问题。然而边缘计算并不能取代云计算,而是作为云计算在网络终端的延伸和拓展。边缘计算主要用在对实时性要求较高的行业,云计算主要用在对可靠性准确性要求较高的行业,将二者结合,边缘平台为云平台提供了数据采集,数据预处理等便利,同时也是硬件部署的平台,云平台为边缘平台提供了大数据处理和相应规则的建立,也可以将训练好的模型在边缘平台上部署,提高边缘平台的业务处理性能。如图8所示,边缘平台与云平台协作成为云边协作平台的组织结构。

为进一步在边缘设备上进行比照分析实验,将在服务器上训练好的模型部署在边缘计算设备NVIDIA Xavier NX上,检测模型在边缘平台上的业务处理能力。Xavier NX是英伟达公司开发的专门为人工智能平台打造的边缘计算设备,在10 W功率下可提供14TOPS,而在15 W功率下可提供21TOPS,非常适合在大小和功率方面受限的系统。Xavier NX只有一张信用卡大小,可以采用直接集成的方式,通过树莓派与监控摄像头建立联系,Xavier NX系统结构示意图如图8所示。

将算法植入边缘计算平台后,各算法识别准确度和速度如表2所示。本文改进的YOLOv5s算法在边缘计算平台上检测速度比YOLOV4提升了52%,检测精度略有降低,但是仍然高于YOLOv3的识别准确度。YOLOv5s在参数数量上的优势体现在模型需要的内存远小于YOLOv4和YOLOv3,下降了接近90%,相比后两者,YOLOv5s在边缘计算平台上具有明显的不占内存容量、易部署的特点。总而言之,改进后的YOLOv5s进一步降低了模型的参数量,在不过分牺牲精度的前提下,可以满足工业互联网对于数字显示仪表实时性、准确性的识别要求,符合商业应用标准。接近90%,相比后两者,YOLOv5s在边缘计算平台上具有明显的不占内存容量、易部署的特点。总而言之,改进后的YOLOv5s进一步降低了模型的参数量,在不过分牺牲精度的前提下,可以满足工业互联网对于数字显示仪表实时性、准确性的识别要求,符合商业应用标准。

图8 云边协作平台的结构Fig.8 Structure of cloud-edge platform collaboration platform

将应用改进后YOLOv5s模型部署到实际的电厂无人点巡检系统上,系统集合了摄像头、树莓派、NVIDIA Xavier NX等设备,图9是运行后系统的软件界面。

表2 算法在边缘平台上的性能指标对比Table 2 Comparison of performance indicators of algorithms on edge platforms

图9 后台管理平台系统画面Fig.9 System screen of background management platform

4 结论

针对传统巡检依靠人力记录仪器显示数字的问题,提出了一种基于YOLOv5s轻量化的目标检测网络,得出如下结论。

(1)算法改进了CSPDarknet53网络结构,通过两层迭代检测网络,解决原图像数据上感兴趣区域占原图比例不一样的问题和感兴趣区域内相同数字统一到相同的尺度的问题。

(2)改进了YOLOv5残差模块,用对多尺度语义信息提取更好的Res2Net网络结构。在燃气仪表数据集上达到了mAP为99.52%的优秀结果。

(3)通过在边缘计算平台NVIDIA Xavier NX上实际部署,实现了在生产环境中的仪表数字读数。

本文算法改进了传统仪表盘识别算法准确率较低的问题,提高了工业现场的巡检效率,对传统行业到数字化转型具有一定的贡献,并且本文算法已经在边缘计算平台上的终端进行部署,实现了稳定的商业化运行,取得了较好的实际检测成果和经济效益。

猜你喜欢

仪表边缘数字
◆ 仪表
仪表
热工仪表自动化安装探讨的认识
答数字
一张图看懂边缘计算
数字看G20
奔驰E260车行驶过程中仪表灯熄灭
成双成对
数字变变变
在边缘寻找自我