基于机器视觉的指针式压力表智能检定系统研究

2022-12-20 07:57伍开宇朱海清沈晓东
计量学报 2022年11期
关键词:压力表读数指针

伍开宇, 朱海清, 沈晓东, 沈 伟, 方 明

(1. 江南大学机械工程学院, 江苏无锡214122; 2. 嘉兴市计量检定测试院, 浙江嘉兴314001)

1 引 言

指针式压力表由于结构简单、抗干扰能力强,在众多行业得到广泛应用, 为了保证其测量精度稳定可靠, 需进行定期检验(检定)。传统的手工操作,目视读表的指针压力表检定方法不仅效率低,检定精度及可靠性易受主观因素影响, 且存在检定数据无法自动记录,也无法进行核验与追溯等问题[1,2], 已经越来越难以适应计量检定行业的发展需求。随着人工智能技术的快速发展, 机器视觉技术逐渐发展成为了现代工业测量中的重要方法[3~7],采用图像识别技术替代人工来自动读取指针式压力表的示值已经成为共识, 且已经取得了相当多的研究成果[8~15]。但目前采用机器视觉技术的指针式压力表自动检定设备目前还处于初级阶段,设备多为双工位设计, 最多同时检定2块压力表, 工作效率没有得到显著提升, 且价格昂贵, 迄今仍未能得到市场的广泛认可[11,15]。

本文通过优化算法、提高图像解析过程的速度与适应能力, 结合计算机自动控制与信息化技术, 设计了一套基于机器视觉的指针压力表智能检定系统(以下简称:系统), 实现了用单台普通64位PC算力对多表(2~10块)进行自动检定, 并能对检定数据进行方便快捷的监测与复核, 从而使指针式压力表检定的工作效率与规范性得到了提升。

2 技术方案

2.1 系统组成

系统硬件搭配:海康威视MV-CE060-10UC工业相机加MVL-HF0824M-10MP镜头作为视觉传感器, 每个被检表与标准表前各安装1个; 西门子S7-1200 PLC,由1214C-DC CPU模块、CM1241-232通讯模块与SM1231模拟量输入模块组成, 与所需的低压电器等组成计算机自动控制模块(简称:自控模块), 通过RS232串口与上位机通讯进行数据交互; 0.05%精度数显压力表作为系统标准器, RS485压力信号输出接入自控模块作为控制信号; 系统压力源采用2.5 MPa外接气源, 如伺服控制的气缸或油缸提供中低压到高压的压力源, 由电磁阀控制气体介质通、断; 气缸与伺服电机组成的伺服控制模块控制介质压力精确地升、降到各检定点压力并满足保压要求; 上位机CPU为i7-10700频率2.9 GHz, 内存8 GB; 光源系统用来稳定光照环境,保证图像采集质量。

图1 系统原理图Fig.1 System schematic diagram

系统原理如图1所示。系统C-S模式的上位机软件采用C#语言编写; 图像识别算法采用C++编程, 调用OpenCV库函数, 实现对图像的处理与解析, 并将其封装成动态链接库嵌入上位机软件; 软件后台连接MYSQL数据库实现检定数据的存储与查询。软件用于检定任务管理、人机交互、图像处理与检定过程的自动控制。

2.2 图像解析算法

2.2.1 图像处理与指针识别

对图像进行预处理以抑制噪声,并保留指针及刻度边缘特征。采用中值滤波器对图像进行滤波处理,用一个预定义的像素领域中的灰度中值来替代该像素点的值, 以降低图像中椒盐噪声数量, 即:

(1)

如图2(a)所示, 由于检定过程中压力表图像只有指针旋转这一个动态特征, 故采用帧差法对2个不同检定点图像进行异或运算提取出指针区域:

I(x,y)=f1(x,y)-f2(x,y)

(2)

式中:f1(x,y),f2(x,y)分别为图像f1、f2在(x,y)处的像素值;I(x,y)为图像I在(x,y)处的像素值。

图2 指针特征图像Fig.2 Pointer feature image

P2(k)(m2(k)-mG)2

(3)

式中:P1(k)、P2(k)分别为像素在区间[0,k]与 [k+1,255]的概率;m1(k)、m2(k)分别为区间[0,k]与[k+1,255]间像素的平均灰度值;mG为图像的平均灰度。其中:

(4)

(5)

mG=P1(k)m1(k)+P2(k)m2(k)

(6)

将P1(k)、P2(k)与mG代入式(3),可得到最大类间方差计算公式:

(7)

(8)

对于指针边界存在噪声干扰或者因其他目标遮盖而引起指针图像发生间断问题, 可采用累计概率霍夫变换把图像空间中的检测问题转换到参数空间的方法, 并在进行直线检测前先对指针做细化处理提取出指针骨架如图3(a)所示, 这样不仅可得到较好的容错性和鲁棒性, 而且能大幅度地缩短运行时间。最终, 得到图3(b)所示的2条不同位置的指针拟合直线与圆心。

图3 指针检测Fig.3 Pointer feature image

2.2.2 刻度线识别与示值读取

首先, 通过查找刻度线轮廓分割刻度线对象[17]获取刻度线轮廓点集的最小外接矩形如图4所示, 并将最小外接矩形的中心{Pi[xi,yi]}作为刻度线的质心,其中i=1,2,…,n,n为刻度线数量。

图4 刻度识别Fig.4 Scale identification image

然后, 以指针旋转中心O[xO,yO]为极点, 图像坐标系纵轴正方向为极轴方向, 角度取顺时针方向为正, 建立极坐标系, 并将刻度线质心位置与指针位置从图像坐标系转换为极坐标。{Pi[xi,yi]}转换为{Pi[ρi,θi]}; 指针拟合直线方程y=kx+b转换为ρ=x·cosφ+y·sinφ。

当指针处于第i与i+1刻度线之间时, 可由式(9)计算出读数r。

(9)

式中:m为表的量程;φ为指针拟合直线与极轴夹角角度;θi、θi+1分别为指针相邻2刻度线质心与指针旋转中心的连线和极轴夹角角度。

本文提出的读数方法相较传统可以降低压力表零位缩格以及刻度线非线性分布所产生的累计误差。

3 检定过程智能控制

系统采用带RS485压力信号输出、精度为0.05%的数显压力表作为控制信号源, 用西门子S7-1200 PLC搭建的控制模块,C#编写的上位机程序与MYSQL数据库搭建的控制与任务管理系统来实现对全过程的自动控制, 图5所示为检定过程流程图。

图5 系统控制流程图Fig.5 System control flow chart

系统采用伺服系统对校验介质压力进行精确控制, 使升压、保压、降压过程完全执行压力表计量检定规程中的规定。2个相邻检定点之间的升压(卸压)时间间隔控制在20~30 s; 压力到达各个检定点时进行3~4 s保压, 以完成被检表与数显标准表的图像采集、轻敲动作操作, 压力达到最大量程时保压3 min, 进行耐压检定, 保压时的压力精度可达0.05%。

4 检定数据复核与追溯

检定过程及检定完成后, 由于数显标准表与被检表在各个检定点(含轻敲)的图像被同步采集并保存在指定位置, 通过上位机程序可随时将图像与检定数据进行比对。

检定过程中, 在程序检定界面, 双击检定数据所在的单元格, 对应的被检表图像将弹出, 检定数据是否准确可快速得到确认。检定结束后, 检验员提交审核以及后续对检定证书进行审核审批时, 同样可快捷地对检定数据的可靠性(精度)进行复核。在程序历史任务查询界面, 选择需要审核的检定任务, 界面列表中显示该表在各检定点的测试数据; 双击某个数据所在的单元格, 被检表在该检定点的实时照片就将弹出, 检定数据是否准确就有了可复核的原始凭证。

5 实测结果分析

本文基于VS 2019和OpenCV库为开发平台对图像处理算法进行了开发, 系统硬件环境为i7-10700@2.9 GHz CPU, 8 GB运行内存; 测试对象为0.4级2.5 MPa精密压力表、1.6级2.5 MPa一般压力表。

图6所示为图像解析结果的实例, 红色线条为图像解析得到的刻度线、黄点为指针旋转中心、绿色线条为拟合指针线。可以看出,通过本文算法能够获得理想的拟合结果, 这从直观上说明了本文算法对于压力表指针检测、指针旋心拟合与刻度线识别的有效性。

图6 特征识别结果Fig.6 Feature recognition result

在相同的测试条件下进行本系统算法,已成熟的基于Hough圆检测及Hough直线检测的指针式仪表读数方法[18]与人工目视检定的对比实验, 重复多次检定流程, 分别记录其图像处理耗时、检定速度与检定数据。系统读数识别图像处理每帧平均耗时为467 ms, Hough圆检测法平均耗时为1 232 ms/帧; 系统最高检定速度可达40块/h, 人工检定速度为12块/h。

2.5 MPa精密压力表检定数据如表1所示,以人工读数结果为参照, 在不同检定点处, Hough检测法绝对误差δH分布范围为±0.003 MPa之间, 相对误差为0.12%, 系统读数绝对误差δs集中分布在±0.002 MPa以内, 读数识别相对误差为0.08%。

对于2.5 MPa一般压力表, 检定数据如表2所示, Hough检测法绝对误差分布范围为±0.009 MPa之间, 相对误差为0.36%, 系统读数绝对误差集中分布在±0.005 MPa以内, 相对误差为0.2%。

本文读数识别算法相较Hough检测法, 图像解析速度提升62.1%, 且误差分布范围更小, 读数精度提升33.3%。对于精密压力表读数误差小于最小分度值的1/10, 对于一般压力表读数误差小于最小分度值的1/5, 因此系统满足压力表计量检定要求。

6 结束语

本文利用自控模块实现对检定过程中压力升降的自动控制; 到达检定点时并利用工业相机自动采集被检压力表表盘图像, 结合一系列算法对图像进行滤波、二值分割、指针检测、指针旋心拟合与刻度线识别, 实现对压力表指针示值的自动读取。

表12.5 MPa精密压力表检定结果Tab.1 Verification results of 2.5 MPa precision pressure gauge MPa

表22.5 MPa一般压力表检定结果Tab.2 Verification results of 2.5 MPa general pressure gauge MPa

1) 系统可同时完成10块检定点相同压力表的计量检定, 且检定过程完全自动化;最高检定速度可达40块/h, 工作效率较传统的人工检定方法提高2倍以上。

2) 检定数据能实现快速的追溯与复核, 改变传统的检定方法靠检验员目视读表、检定数据无法自动记录与难以追溯的问题; 同时, 也使得质检、计量等相关机构能快速对该系统的可靠性作出评价。

3) 提出基于机器视觉的指针式压力表读数识别方法,图像解析速度为每帧平均耗时467 ms, 对于精密压力表与一般压力表读数精度分别为0.08%和0.2%,精度满足压力表计量检定规程要求。本文方法相较Hough检测法图像解析速度提升62.1%, 读数精度提升33.3%, 并可推广应用至指针式真空表、真空压力表等圆盘指针式仪表的读数识别。

猜你喜欢
压力表读数指针
压力表计量检定中常见问题分析
垂悬指针检测与防御方法*
压力表检定中遇到的常见问题和解决对策
压力表在炼化装置上的应用
读数
读数
为什么表的指针都按照顺时针方向转动
读数
读数
浅析C语言指针