基于Halcon的指针式仪表的读数

2016-09-20 07:11尹红敏葛广英肖海俊张如如
现代电子技术 2016年17期
关键词:指针式极坐标读数

尹红敏,葛广英,肖海俊,张如如

(1.聊城大学 物理科学与信息工程学院,山东 聊城 252059;2.山东省光通信科学与技术重点实验室,山东 聊城 252059)

基于Halcon的指针式仪表的读数

尹红敏1,2,葛广英1,2,肖海俊1,2,张如如1,2

(1.聊城大学 物理科学与信息工程学院,山东 聊城252059;2.山东省光通信科学与技术重点实验室,山东 聊城252059)

为了实现指针式仪表的自动读数,提出了一种基于Halcon的极坐标变换、BP神经网络、形态学处理、几何计算相结合的方法。该方法考虑了仪表的圆心特征,对于各种不同的指针仪表,仅仅依赖仪表的图像信息,检测精度较高。实验证明该方法简单快捷,且有利于提高效率和精确度。

指针式仪表;极坐标变换;BP神经网络;形态学处理

0引 言

指针式仪表因具有价格便宜、结构和维护简单等诸多优点被广泛应用于很多领域,如工业领域和实验领域。对于指针式仪表的读数,传统的方法是通过目测完成,劳动强度大,受人为因素影响大,容易产生误差,存在可靠性差的隐患,并且效率低[1]。

指针的提取是指针式仪表自动读数的关键,目前指针提取有以下几种常用方法:基于图像形态骨架细化和改进的Hough变换的方法[2]、模板匹配的方法[3]、基于收敛映射CM-Hough变换的方法[4]、基于减影和Hough变换的方法[5]等。实践表明,以上每种方法都有其优缺点。例如模板匹配的方法具有较强的抗干扰性能,但过程复杂;Hough变换的方法受噪声和曲线间断的影响较小,但Hough变换的计算量大,提取参数受空间量化间隔的制约。

本文采用基于Halcon的机器视觉技术,实现图像的自动采集、处理、识别以及显示读数,解决目前人工判读的不足[6],且可以应用到各类指针式仪表的读数中。

1 指针式仪表读数系统

指针式仪表读数系统在德国MVTec公司研发的图像处理软件平台Halcon上实现,此软件以最新科技为基础,提供功能强大的视觉算法开发包,包含有1 100个以上的独立函数,具有快速、全面、精确、鲁棒性等特点,应用领域几乎没有限制,涵盖医学、遥感探测、监控及工业上的各类自动化检测。

系统算法流程为:首先采集图像并对图像进行一系列处理,提取指针后根据公式计算获取读数,包括图像采集、图像预处理、极坐标变换、仪表刻度线的获取、BP神经网络最大值字符识别、指针定位、几何计算等部分,如图1所示。

2 指针式仪表图像的处理

采集图像后,首先根据指针在RGB颜色模式中R通道的纹理特征进行一次阈值分割,得到仪表的中心坐标;通过极坐标变换把圆型仪表盘转换成矩形;然后根据region的行、列、面积特征获取刻度线位置;为实现仪表自动读数,需先经过BP神经网络识别出仪表的最大值;然后经过形态学处理获得指针位置;最后根据公式计算得到表盘的读数,并将结果显示在屏幕上。

图1 系统的算法流程

2.1图像采集

适当的光源照明设计,使图像中的目标、背景信息得到最佳分离,可大大降低图像处理算法分割、识别的难度,提高系统的定位、测量精度,所以光源对图像的质量影响很大。相机作为机器视觉系统中的核心部件,对于系统的重要性是不言而喻的。在选择好光源和相机类型、位置后,调用Halcon软件中的算子read_image()加载已获取的图像,采集的图像如图2(a)所示。

2.2图像预处理

采集的图像指针是红色的,在RGB颜色模式中,R通道中指针的灰度值明显大于其他通道,调用算子decompose3()把彩色图像转化为3个单通道的R,G,B图像,R通道图像如图2(b)所示。对R通道图像进行图像增强,突出图像中的感兴趣区域,增强感兴趣区域与背景的对比度,使图像比原始图像更加适合处理,然后根据R通道的纹理特征,经全局阈值分割得到仪表盘的region,如图2(c)所示。

图2 图像预处理后的图像

2.3极坐标变换

Halcon中调用极坐标变换算子 polar_trans_image_ext()把圆形仪表刻度线转化为水平方向[7-8],然后经过形态学处理获取指针,弥补Hough变换计算时间长、占用内存大的缺陷。

直角坐标系与极坐标系之间的互换公式为:

极点与直角坐标系重合是互换公式的前提条件之一,故首先要进行坐标平移、翻转,然后将直角坐标系中圆心为原点、半径为R的圆,变换到极坐标系中r=R的一条直线,实现圆形转化成水平方向,极坐标变换原理如图3(a)所示。

图3 极坐标变换的图像

图3(a)中,O为同心圆的圆心,θ为内圆上点的极角,ρ为内圆上点的极径。点 A与点B之间的极角不同,但由于在同一个圆内,所以两者之间的极径是一样的,故点A与点B在极坐标系中位于同一条直线上。

阈值分割后的region是一个整体的region,使用算子connection()进行连通域操作,把整个region中不同的连通域化为单个的region,然后就可以对单个的region进行操作;根据面积特征,提取包含仪表刻度线的最小外圆;然后获取最小外圆的圆心坐标和半径,即仪表盘的圆心坐标和半径;把获得的圆心坐标和半径作为polar_trans_image_ext()算子的参数,使之仅仅依赖仪表的图像信息,以适用于各种不同的指针仪表。

调用算子polar_trans_image_ext()时,输出图像左上角像素总是对应于由开始半径和开始角度决定的输入图像的点。类似地,输出图像右下角像素总是对应于由最终半径和最终角度决定的输入图像的点。一般情况下都是进行正方向(逆时针)的极坐标变换,变换后的图像数字位于刻度线上边,本文中进行顺时针方向的变换,使刻度线位于数字上边,如图3(b)所示。

2.4仪表刻度线的获取

从图像3(b)可以看出,图像光照不均匀。为更好地提取刻度线、最大值和指针,应使用动态阈值算子var_threshold(),否则字符周围会出现光晕;计算区域的连通域后,根据区域的面积、行、列特征,提取刻度线;调用区域排列算子,根据从左至右按列排序的方法对刻度线依次排序,使左边第一个刻度线的索引值为1;计算排序后刻度线的数量,选出第一个刻度线作为一个region,然后再获取该region的中心坐标(R1,C1),同理获取最后一个刻度线的中心坐标(R2,C2),阈值后的region和提取的刻度线分别如图4(a),4(b)所示。

图4 仪表刻度线提取过程的图像

2.5仪表最大值字符的识别

不同的仪表最大刻度值是不同的,为实现非人工输入最大值,识别仪表最大值是非常有必要的。极坐标变换后的region区域大,为减少运行时间,先创建一个与坐标轴平行的长方形,位置为刻度线从0到最大值的区域;然后调用算子intersection()计算长方形和经过极坐标变换后区域的交叉区域,处理后得到的region如图5(a)所示;最后再根据面积、行、列特征,获得最大值所在区域,如图5(b)所示。

2.5.1字符校正与分割

虽然利用极坐标变换把圆形仪表盘变换成水平方向,但获得的最大值不是水平方向的,需要先使其校正到水平位置。

(1)使用算子union1()获得最大值区域的并值,然后获得该区域的中心坐标(R3,C3)。

(2)仿射变换是一种简单的变换,它的变换包括平移、旋转、伸缩变换。旋转变换为物体上的各点绕一固定点沿圆周路径作转动,原理图如图5(c)所示。

在图5(c)中,点(x,y)旋转到(x′,y′)的旋转角度为ψ,其中:

(3)把字符分割成不同的区域,然后通过对面积和高度进行过滤得到只包含字符的区域;最后调用sort_region()算子排列分割出的单个字符,如图5(d)所示。

图5 字符校正与分割过程的图像

2.5.2BP神经网络字符识别

Halcon中有多种字体的字符库,但有时直接利用已有库识别字符,识别率和预期有差别,所以要对分割出的字符进行训练,这里使用三层BP神经网络[9-11]的识别算法。

BP神经网络是一种按误差逆传播算法训练的多层前馈网络,包含信息的正向传播和误差的反向传播两个学习过程,由输入层、隐层和输出层组成,结构如图6所示。

图6 BP神经网络结构

将分割后大小不一的字符统一成6×8大小的图像进行训练,输入层节点个数是训练字符提取的字符特征的数目,所以输入神经元为48个。隐层神经元个数一般为输入神经元个数的2倍,由实验得隐层神经元个数为98时效果最好,输出神经元个数为1。

Halcon字符识别的过程如下:

(1)在for循环内,先对图像进行预处理,再调用算子append_ocr_trainf()训练样本文件,然后添加到训练文件中;

(2)由算子creat_ocr_class_mlp()创建分类文件,使用trainf_ocr_class_mlp()算子训练已创建的训练文件;

(3)调用算子write_ocr_class_mlp()写入分类器;

(4)用算子read_ocr_class_mlp()调出创建好的分类器;再用do_ocr_multi_class_mlp()算子根据字符的特征进行字符分类,并将类返还到字符数组中;

(5)把识别出来的单个字符通过算子tuple_number()变换成数字,按公式赋值给变量MaxValue,公式为:

MaxValue:=Number1*100+Number2*10+Number3(4)式中:Number1为识别出的第一个字符,即最大值的百位;Number2,Number3分别为识别出的第二个、第三个字符。

2.6指针的定位

数学形态学作为一种有效的图像处理工具,可以从图像中提取出表达和描绘区域形状的有用图像分量,如边界、骨架和凸壳等[12]。开运算是先腐蚀后膨胀的过程,具有消除小物体,分离物体和平滑较大物体边界的作用,其定义为:

式(5)表示所有完全被A容纳的B的平移的并集。

使用开运算算子opening_circle()获得有指针关键部分的region,再根据面积特征提取合适的指针区域,如图7所示。再使用算子smallest_circle()获取指针的中心(R4,C4)。

2.7几何计算

指针到第一条刻度线的距离与刻度线的总长度的比值乘以刻度最大值得到的数值即为指针的读数,几何表达式为:

式中:S为指针的读数;MaxValue为该指针式仪表的最大刻度值;C1为左边第一条刻度线的列坐标;C2为最后第一条刻度线的列坐标;C4为指针所在位置的列坐标。识别出的数字显示在原图中,如图8所示。

图7 指针关键部分的region

图8 表盘读数

3结 语

指针式仪表的自动读数系统应满足实时性和准确性的要求,本文利用机器视觉软件Halcon对采集到的不同刻度值的仪表图像进行处理,平均每0.348 s识别一幅图像,读数误差小于1%。实验结果表明该方法检测精度较高,实时性令人满意。该系统可以大大提高产品的读数效率,同时节约劳动力成本,系统节能,安全稳定,具有很好的扩展性和适应性,可广泛应用于各类指针式仪表的读数中,具有很大的市场价值和应用前景。

[1]宋人杰,赵立亚.Hough变换的改进及其在电厂指针式仪表自动识别中的应用[J].东北电力大学学报,2011(3):42-46.

[2]李盛阳,叶梧,冯穗利.基于Hough变换的视觉识别方法在仪表自动检测中的应用研究[J].科学技术与工程,2005(2):82-85.

[3]SABLATNIG R,HANSEN C.Machine vision for automatic calibration of analog display instruments[J].Machine vision applications in industrial inspection,1995(2423):356-366.

[4]张永强,邸金红,马鹏阁.基于机器视觉的汽车仪表盘指针检测[J].计算机测量与控制,2015(6):1922-1924.

[5]晁阳.基于特征识别的指针式仪表自动识别研究[D].济南:山东大学,2008.

[6]袁勇.基于机器视觉的轿车仪表自动校验技术与系统开发[D].上海:上海交通大学,2008.

[7]邵蕊.指针式仪表识别方法的研究[D].沈阳:沈阳工业大学,2009.

[8]黄剑航.基于HALCON的圆环区域字符识别实现[J].现代计算机(专版),2010(7):58-60.

[9]张银苹,葛广英.基于HALCON的车牌识别研究[J].现代电子技术,2014,37(16):92-95.

[10]肖海俊,葛广英,姚坤,等.基于HALCON的喷码字符识别技术的研究与实现[J].现代电子技术,2015,38(15):95-98.

[11]朱正礼.基于三层BP神经网络的字符识别系统的实现[J].现代计算机,2006(10):93-95.

[12]GONZALEZ R C,WOODS R E.Digital image processing [M].3rd ed.Upper Saddle River:Prentice Hall,2011.

Pointer instrument reading based on Halcon

YIN Hongmin1,2,GE Guangying1,2,XIAO Haijun1,2,ZHANG Ruru1,2
(1.School of Physics Science and Information Engineering,Liaocheng University,Liaocheng 252059,China;2.Shandong Key Laboratory of Optical Communication Science and Technology,Liaocheng 252059,China)

In order to realize the automatic reading of pointer instrument,a Halcon-based method combining polar coordinate transformation,BP neural network,morphological processing and geometric computation is proposed.According to the circle center feature of the instrument,this method is suitable for the reading of different pointer instruments only relying on the image information,and has wide application.The experimental results show that the method is simple and quick,and beneficial to the improvement of accuracy and efficiency.

pointer instrument;polar coordinate transformation;BP neural network;morphological processing

TN911.73-34

A

1004-373X(2016)17-0016-04

10.16652/j.issn.1004-373x.2016.17.004

2015-10-28

国家自然科学基金项目(10874063)

尹红敏(1991—),女,山东菏泽人,硕士研究生。研究方向为信号与信息处理。葛广英(1964—),男,山东聊城人,硕士生导师,教授。主要从事图像处理、物联网方向的研究。

猜你喜欢
指针式极坐标读数
不同搂草方式对苜蓿草品质的影响
基于MobileNetV2的圆形指针式仪表识别系统
巧用极坐标解决圆锥曲线的一类定值问题
极坐标视角下的圆锥曲线
读数
读数
读数
读数
浅谈指针式万用表的测量方法与使用要点
基于提升小波变换的指针式仪表图像边缘检测