摘 要 压力表作为空气呼吸器使用中唯一直观展现空气压力大小,计算剩余空气量,间接提示使用时间的部件,在空气呼吸器中有着举足轻重的作用。压力表的好坏,直接决定着空气呼吸器的使用质量。目前国内的空气呼吸器压力表检测过程均为人工读数检测,检测过程中容易受到外界环境及人为因素影响检测结果,因此在呼吸器检测中应用机器视觉系统,用计算机来模拟人的视觉功能,从客观事物的图像中提取信息,进行处理,实现呼吸器用压力表的数值自动检测、读取,提高了检验质量和工作效率。
关键词 呼吸器;检测;压力表;机器视觉
空气呼吸器(以下简称呼吸器)广泛应用于消防、化工、石油、矿山等部门,供消防员或抢险救灾人员在浓烟、毒气、蒸汽或缺氧等各种环境下,对其呼吸器官进行保护的高性能个人防护装备[1]。压力表作为呼吸器的重要安全附件,不单单是显示几个压力数字,而是作为空气呼吸器中唯一直观展现空气压力大小,剩余空气量,间接提示使用时间,在空气呼吸器中有着举足轻重的作用。压力表的好坏,直接决定着空气呼吸器的使用质量,关乎生命、生产安全。压力表经过一段时间的使用,会出现一些变形与磨损,产生一定的误差和故障,所以必须定时进行检修与维护,保证使用安全可靠。
目前国内的空气呼吸器压力表检测过程均为人工读数检测,在仪表检测过程中工作人员从事着高重复性、易疲劳的乏味劳动。不仅工作量大、效率低,而且受人为干扰因素影响,精度不容易保证[2]。由于指针式仪表不是数字信号,不便于被采集进数字计算机系统,如何能对指针式仪表进行自动判读并转换为数字信号,就成为自动控制、智能检测迫切需要解决的问题[3]。笔者在呼吸器压力表的检测过程中应用了机器视觉系统,自动识别压力表指针位置,智能计算指针空间位置并得出当前压力数值,同时将数据自动上传至Posichek3呼吸器检测仪进行判断。
1 空气呼吸器压力表检测基本情况
1.1 常规空气呼吸器压力表检测流程
呼吸器压力表的定期检测依据AQ/T 6110—2012《工业空气呼吸器安全使用维护管理规范》进行。整个测试需要在呼吸器检测仪上进行,具体检测方法为:打开Posichek3呼吸器检测仪,进入呼吸器压力表校准程序,安装待检测空气呼吸器,达到测试压力值时关闭气源阀,检测人员正视压力表,当压力表示值依次达到20 MPa、15 MPa、10 MPa时,人工进行确认,计算机通过比对压力表数值和仪器内高压测量传感器数值,计算出压力表示值误差,判断是否合格[4]。
1.2 存在问题
空气呼吸器检测是高重复性工作,往往由于现场生产需要送检的空气呼吸器当天就要完成检验,工作量较大时每人每天需要检测近50套空气呼吸器,工作约13 h。检测过程中,检测人员需要人工确认压力表数值,目视判读易疲劳且易受天气、环境、人的健康(如视力、视疲劳)等状况影响,容易产生判读误差,检测效率低,劳动强度大。而且检测时气源压力在动态中进行检测,容易产生指针已超出范围检测人员才开始确定数据,造成检测失败,导致反复重新检测。因此通过研究机器视觉技术进行空气呼吸器压力表的检测有着重要意义。
2 机器视觉识别系统
机器视觉主要是用计算机来模拟人的视觉功能,从客观事物的图像中提取信息,进行处理并加以理解,最终用于实际检测、测量和控制。随着机器视觉的发展及广泛应用,机器视觉与指针式仪表自动读数相结合成为了研究的热点。在呼吸器压力表检测时应用机器视觉识别系统(图1)代替人眼来做测量和分析,消除了人为因素对检测结果的影响,极大地提高了生产效率和检验的自动化程度。
图1 空气呼吸器压力表智能识别系统
2.1 系统组成
2.1.1 呼吸器压力表安装固定部分
摄像机、压力表安装固定台,将压力表与摄像机安装于合适的位置,保证两者平行。由于呼吸器用压力表表盘均为60 mm,规格统一,可以将两者的安装位置固定,防止拍摄图像发生偏移而导致检测误差。
2.1.2 机器视觉识别部分
采用数字摄像机进行视频流采集抓取图像,采用C#语言编写图片识别程序对表盘图像进行处理计算,表盘图像处理主要包括图像预处理、表盘圆心的确定、刻线及指针的判读等[5],从而得到被测压力表的数值。
2.1.3 计算机数据传输部分
应用工控机与Posichek3呼吸器检测仪通过以太网通讯协议进行通讯,工控机将检测出的压力表读数实时传输至Posichek3呼吸器检测仪,由Posichek3呼吸器检测仪完成数据比对。
2.2 机器视觉识别原理
在Microsoft Visual Studio环境下应用C#语言编写图片识别程序,采用分割等方法完成有效区域筛选以及指针定位,根据表盘中心到指针中心的连线与表盘0刻度线的夹角等特征,计算出表盘0刻度线与指针指向线段的夹角,进一步识别并计算出指针读数,上传数值(图2)。
图2 呼吸器指针式压力表图像智能识别流程图
2.2.1 建立标准模型
创建压力值为0时的标准模型。首先由数字摄像机拍取仪表照片作为模型图片存储,对模型图片进行单通道图片处理,通过机器视觉算法将三通道(RGB)图像转换为3个具有相同定义域的单通道图像。应用视觉函数V(λ)=P(555)/P(λ)将单通道图像的定义域缩小到指定的区域,使用阈值分割等方式处理所选区域,使用C#语言的create_model_Name创建图像模型,在图像中选择一个形状区域作为匹配模型参数。同时应用多个图像金字塔等级生成模型并存储在内存中,应用函数GetAngleStart()返回弧的起始角度和使用GetAngleExtent()返回弧度角跨越,在每个级别上多次旋转生成模型,输出参数PutModelName作为该模型的模型句柄,用于调用find_shape_model进行模型匹配。
2.2.2 创建指针模型
使用阈值分割图像,通过Select_appearance_shape()算法获取像素值介于MinGrayList()和MaxGray-List()的区域。满足条件的图像所有点都作为一个区域返回,如果传递多个灰度值区间(MinGrayList()和MaxGrayList()的元组),则为每个区间返回一个单独的区域(图3),再通过算法根据颜色、大小、像素等参数,计算获得需要的区域。返回一个Put-ModelName的参数模型(指针)存入缓存中(图4)。为了获得理想的图像,对模型进行降噪,确保指针圆滑无噪点(图5)。
图3 图片处理
图4 提取指针
图5 指针降噪
2.2.3 建立指针坐标系
应用建立的标准模型建立坐标。首先对图像进行灰度处理、降噪,使获取的图片更加清晰好辨认,接着进行图像分割、二值化、细化处理,应用HALCON软件计算表盘圆心,以指针顶端小矩形到圆心画直线作为X轴,再以圆心为基点,将X轴进行顺时针旋转90°作为Y坐标轴创建坐标系。以最小、最大量程刻度及圆心计算满量程圆弧弧度,使用编写算法计算弧度,除以表盘最大量程(40 MPa)从而得到单位弧度压力值。
2.2.4 压力表图像采集
使用计算机串口连接摄像机进行实时图像采集(图6),计算机通过处理视频流,获取当前帧数所出现的图片,抓取当前图片进行处理。使用机器识别软件对压力表进行图像分割,通过软件计算实时匹配是否符合当前图片要求。通过find_model_Name算法将模板分割出来的模块进行旋转匹配,确定当前检测的视频流符合标准。
2.2.5 图像处理
由于拍摄的压力表表盘为真彩色图像,需要机器视觉通过真彩色图像的R、G、B 3个颜色分量提取,获得单通道图像(图7),灰化RGB处理,由于图片还会有其他噪点,对图片进行灰化降噪,使获取的图片更加清晰好辨认,再进行膨胀处理、二值灰度处理,获得清晰的图像(图8)。
图6 采集的图像
图7 单通道图像
图8 二值灰度处理
2.2.6 指针数值分析
图片处理后使用算法进行区域关联选择,将创建的指针模型与分割出来的膨胀处理图像指针对比,获取当前图片指针位置,通过坐标系对应当前指针位置所在的坐标(assign(sin(x)+cos(y)),u)计算得到指针当前弧度,使用当前度数乘以每度所对应的值计算出压力值。
2.2.7 压力表数值实时读取
通过对摄像头获得的视频流进行实时抓取图片,处理图片。使用find_model_Name算法进行实时模板匹配,算出指针位置进行读数,通过使用TCP通讯传输指针读取的数据到检测软件,在系统压力降到特定的检测点(20 MPa、15 MPa、10 MPa)时发送确认指令,并与呼吸器检测仪传感器进行对比完成压力表检测。
3 检测数据对比分析
表1 机器识别压力与人工读数对比数据 /M P a
3.1 压力表读数对比
为了测试压力表数值机器识别与人工读数差别,采用了霍尼韦尔空气呼吸器压力表一块,压力表量程为40 MPa,精度为1.6级,分别在压力为20 MPa、15 MPa、10 MPa时进行10次测试读数,计算出示值误差。其结果见表1。
从表1可以看出人工读数与智能检测读数示值误差平均值相差不大,从图9正态分布曲线可以看出机器识别与人工识别示值误差均符合正态分布规律,但机器识别压力数值更集中,稳定性更高,效果更好。
图9 正态分布曲线
3.2 应用效果
该系统的研究应用,填补了国内呼吸器压力表智能检测的空白,降低了人为因素影响,提高了检验效率,降低了劳动强度,提高了自动化程度。
1)降低了人为因素影响。目前呼吸器压力表检测中需要人工读取压力表数值,目视判读易受人为因素影响,产生判读误差,使判读准确度不易保证,甚至产生误读,通过该系统的应用,可以杜绝这种现象的发生,降低人为因素影响。
2)提高了检验效率。原有检测设备检测时需要人工一直看着压力表刻度进行检测,一旦受外围环境因素影响,容易导致检测失败,需要重新检测,耗费较长时间。而该系统的应用,检验的准确性好、稳定性高,未出现检测失败现象,不会受到其他因素影响测试,提高了检验效率。
3)降低了劳动强度。在原检测过程中,人眼长时间读表盘易于疲劳,应用该系统检验人员不需要操作设备,检验过程均由计算机控制完成,降低了劳动强度。
4)提高了自动化程度。该检验系统的应用,实现了一键式操作,压力表指针数值自动识别、读取并上传至检测仪,结果自动判识,不再需要人工检测压力表。
4 结论
该系统的应用,实现了呼吸器压力表的自动识别、自动检测,提高了检验质量、检验效率,降低了劳动强度,避免了人为因素对检测结果的影响,有助于国内呼吸器生产厂商、检测单位对呼吸器压力表检测质量的进一步提高,有效减少不合格品流入市场。