基于Halcon的智能电能表显示屏信息缺失的检测
共 7556字,需浏览 16分钟
·
2021-05-29 00:04
作者简介 王敏, 郑鹏, 常景景
(郑州大学 机械与动力工程学院, 郑州 450001) 文章简介 摘要:针对在智能电能表日常使用过程中,显示屏区域的信息出现数字符号信息显示错误,文字、符号信息显示不完整的问题,提出了基于机器视觉技术,利用Halcon软件对智能电能表显示屏字符信息显示完整度进行检测,对智能电能表显示屏区域图像提取,对提取后的显示屏区域图像进行直方图均衡化处理后,采用边缘检测去除目标区域中无意义或者过小的物体,利用形态学开运算和闭运算的结合对智能电能表显示屏进行字符信息分割,进而对智能电能表显示屏区域字符信息进行检测,根据显示屏区域信息的不同类型采用分块处理识别,将检测结果与工业库中的信息进行模板匹配,标记出信息缺失区域,通过实验分析验证了智能电能表显示屏信息缺失的检测方法的可行性。
关键词:机器视觉;Halcon;智能电能表;显示屏信息检测
文章详情 0 引 言
“电网2.0”,指的是电网发展过程中的一种智能化方式即智能电网,智能电网拥有卓越的测量技术和计量手段,精度和准确性能极高,机器设备等级处于较高水平,通过高速双向通信网络保障电网能够在使用过程中安全、高效、以及绿色环保的运转。随着科技不断发展突破,智能电网逐渐成为未来电网行业的整体发展趋势,以其所拥有的激励、自愈,以及使用条件简便易行的特征,满足了电力市场的需求。 智能电能表是智能电网的智能终端,智能电能表主要功能是对用户的用电量进行记录与计算,其中包含有电量计量、控制以及用户交互的信息等。智能电能表除了具有传统电能表进行用户电量计量的功能外,还拥有独特的双向通信网络和双向电量计量的功能,此外能够对用户端实时监测,防止出现漏电窃电的情况。智能电能表将会成为未来智能化服务终端发展行业的整体趋势。 机器视觉是一门新兴技术,其包括计算机科学技术、图像处理等学科,是当下具有较好发展前景的方向。机器视觉因为其拥有的良好性能,在图像处理的过程中发挥了不可或缺的作用。机器视觉具有缺陷检测、尺寸测量、物体识别等功能, 具有智能化程度高、非接触和精度高等优点, 已被各工业检测领域广泛采纳。机器视觉系统能够迅速处理短时间内获取的众多信息,同时对信息中加工和检测部分进行整合处理。因此,在自动化、智能化普及的日常生产中,机器视觉技术在产品质量检测、产品加工状态检测等众多方面应用广泛。在生产过程中遇到的一些问题需要采用柔性的解决方式,机器视觉技术能够很好地适应工作环境,完成一些特殊情况下人为检测很难实现的工作,因此,相比于人工检测来说,机器视觉技术对产品的检测效率、精度都有很大程度的提高和改善,同时节省了大量劳动力资源,在自动化程度方面更有优势。 因此基于机器视觉技术,利用Halcon软件对显示屏进行信息检测,先对显示屏区域进行图像提取,消除无用信息的干扰,完成目标区域提取后,采用直方图均衡化增强图像背景与字符信息之间的对比度,通过对显示屏区域不同字符信息进行分块处理,完成不同类别的字符信息检测,最终实现了对智能电能表显示屏的信息缺失检测。 1 智能电能表显示屏信息检测
在智能电能表正式投入使用之前,需要对智能电能表进行质量检测,智能电能表显示屏信息检测是质量检测流程中的一个关键步骤。如果在检测过程中发现显示屏字符信息显示不全,出现缺失的情况,需要对缺陷电能表进行收集并维修。智能电能表显示屏信息检测先要对显示屏的字符信息进行分割处理,便于后续信息提取,包括图像提取、采用直方图均衡化进行图像增强、边缘检测、利用形态学开运算与闭运算结合的算法进行字符分割等,之后对智能电能表显示屏字符信息(数字符号信息、文字、符号信息)进行检测,检测字符信息的方案如下:对智能电能表显示屏中的字符信息部分进行检测。对于数字信息,读取八个“8”字符,并将每个数字“8”分割出来,与工业库中的数字进行匹配,若检测结果一致则不存在缺失,反之存信息缺失;对于文字和符号信息,需要将检测出的字符信息就近连接在一起,形成一个“块”,剩余未连接成块的空缺区域为信息缺失部分。经实验验证分析,此方案能够完成对智能电能表显示屏字符信息的检测,对显示屏信息缺失部分进行标记,且检测方法准确率高,操作方便,因此采用这种检测方式进行智能电能表显示屏字符信息的检测,反馈出是否为存在显示屏信息缺失问题的电能表。
图1 智能电能表显示屏信息检测流程图
Fig.1 Flow chart of smart meter display information detection1.1 智能电能表显示屏字符区域分割
智能电能表进行显示屏信息检测的准确率的大小,取决于是否能够完整地分割出显示屏区域中的字符信息,如数字符号信息,文字与符号信息。另外,在使用工业相机进行图像采集时,图像质量以及后续信息识别会受到外部环境影响,如光照不均、暗影等。图像中字符与背景对比度较低,不易准确识别出显示屏区域字符信息,因此智能电能表显示屏字符区域分割时,需要以智能电能表显示屏区域图像增强为基础,再进行后续处理。采集的电能表图像如图2所示。
1.1.1 显示屏区域图像提取
为了能够准确获取目标区域,消除背景中无用信息的干扰,需要进行感兴趣区域(ROI)提取,即智能电能表显示屏区域图像。需要对电能表原始图像利用算子find_model_contous进行ROI区域外轮廓的定位;利用gen_region_contour_xld算子和smallest_rectangle算子选取感兴趣区域ROI,如果存在方向倾斜的问题,需要使用rotate_image算子进行位置调整,再使用find_model_contous算子与reduce_domain算子得到感兴趣区域 ROI 在电能表图像中的准确位置,从而完成感兴趣区域(ROI)提取。ROI提取后如图3所示。
图2 电能表原始图像
Fig.2 Original image of the electricity meter图3 智能电能表显示屏区域提取
Fig.3 Extraction of smart meter display area1.1.2 显示屏区域信息图像增强
通过对提取出的智能电能表显示屏区域分析可以看出,字符信息和显示屏背景之间的对比度比较低,字符信息不清晰,并且显示屏灰度分布不均匀。因此需要对显示屏区域进行图像增强,增加显示屏区域的字符和背景之间的对比度,便于识别。直方图均衡化是一种典型的图像增强方法,以累积分布函数作为参考理论基础。通过直方图均衡化能够增强显示屏背景和字符信息之间的对比度,凸显出字符信息的轮廓特征,易于信息的检测和识别,为字符检测提供较好的外部环境。在直方图中,L为图像中灰度级数量的不确定值,rk为图像的原始灰度,N为图像的像素总数,T(rk)为离散函数,Pr表示图像灰度级的概率值,nj为灰度rj的图像的像素个数,一副图像中灰度级出现的概率如下:
图像原始灰度rk的概率函数Pr(r)和变换函数T(r)之间存在一种特殊关系,称之为累积分布函数,即:
(2)
使用数学求和公式来表示累计分布求和函数,即:
(3)
原始灰度rk在[0,1]区间内取值时,计算公式如式(2)、式(3)所示,当原始灰度级rk的取值范围变化为[0,L-1]时,计算公式也需要发生相应变化以达到统一,即:
(4)
对智能电能表显示屏区域进行均衡化处理,如图4所示。
图4 直方图均衡化
Fig.4 Histogram equalization1.1.3 显示屏区域信息边缘检测
边缘检测能够准确地检测出感兴趣区域的外在轮廓特征,去除很多无意义或者很小的无用信息,消除了目标区域存在的外界干扰信息。通过对Halcon软件中的边缘检测算子进行筛选,Canny算子和Sobel算子检测性能较为适合,Sobel算子检测效率高、操作简便,但是识别信息的准确率低于Canny算子,且Canny算子能够对目标区域边缘进行准确定位,检测结果与实际图像边缘相似度最高,因此采用Canny检测算子进行边缘检测。Canny检测算子对目标区域采用先平滑后求导的方法,具体分为以下几个步骤:
Step 1:高斯模糊。这一步骤的目的是去除噪声,平滑图像。噪声位于信号高频区,与实际图像边缘很接近,容易被误识为伪边缘。因此,在高斯模糊的半径选择方面要根据边缘信息来选择;
Step 2:对高斯模糊后的图像边缘信息进行梯度幅值和方向的计算。设高斯函数,原始图像,被平滑后的图像通过二者卷积求得,即:
Fs(x,y)=G(x,y)·F(x,y)(5)
此时图像的边缘梯度如式(6)、式(7)所示,边缘幅值和方向如式(8)、式(9)所示。
P[i,j]=(Fs[i,j+1]-Fs[i,j]+Fs[i+1,j+1]-Fs[i+1,j])/2(6)
Q[i,j]=Fs[i,j]-Fs[i+1,j]+Fs[i,j+1]-Fs[i+1,j+1])/2 (7)
(8)
θ[i,j]=arctan(Q[i,j]/P[i,j])(9)
Step 3:非极大值抑制处理。将相邻边缘幅值与像素点的局部最大值进行比较,若幅值小于局部最大值,则将其对应灰度值赋值为0,此步骤可以去除绝大多数的伪边缘点;
Step 4:双阈值算法检测和连接边缘。在边缘检测中,选取两个不同的高阈值和低阈值,针对伪边缘采用高阈值进行处理,处理后的图像边缘信息经低阈值连接后,实现边缘闭合。从而完成显示屏区域字符信息外观轮廓的边缘检测,如图5所示。
图5 Canny边缘检测提取图
Fig.5 Canny edge detection extraction map1.1.4 显示屏区域字符分割
在1.1.2中介绍了对智能电能表显示屏区域进行了直方图均衡化,增加了字符信息的对比度,但是会出现部分信息的丢失,如字符边缘部分的信息量减少。为了更好地检测显示屏区域的字符信息,采用形态学处理方法对显示屏区域字符信息进行边缘信息扩充。形态学处理中最核心的步骤是结构元素的运算,此步骤发挥了与信号处理中的“滤波窗口”同样的作用。假设图像有A、B二个元素,A为待处理的输入元素,B为信号处理过程中具有关键性作用的结构元素,运用腐蚀和膨胀二种较为基础的形态学处理方法,结合出多种其他算法。
腐蚀:用A和B表示为AΘB,腐蚀是对图像中的目标区域进行滤除,筛选掉一部分无意义或过小的物体的信息,同时收缩图像边界范围。腐蚀示意如图6所示,定义如公式(10)所示。
AΘB={X:B(X)⊂E}(10)
图6 形态学腐蚀图
Fig.6 Morphological corrosion map膨胀:同理用A和B 表示为A⊕B,膨胀对目标区域的边界范围进行扩充,合并图像和背景,填充目标区域中的“空洞”,消除噪声。膨胀示意图如图7所示,定义如公式(11)所示。
A⊕B={Y:B(Y)∩E≠θ}(11)
图7 形态学膨胀图
Fig.7 Morphological expansion map对腐蚀和膨胀二种基本运算进行复合可以得出二种典型算法:开运算和闭运算。开运算定义为对图像腐蚀运算后,继而进行膨胀处理,用于剔除小物体对图像带来的干扰、将连接处较少的二个区域分割开、平滑较大物体的边缘且对其区域大小不作太大改变。闭运算定义为对图像先采用膨胀算法处理后,再进行腐蚀运算,用于填充区域间断处和细长的缺失区域、对一些较小的孔进行抚平、将外轮廓线中的残缺处填补完整并平滑处理。根据开运算与闭运算的功能特点,将二者进行结合,实现了对智能电能表显示屏信息检测的修正与完善。开运算和闭运算的定义分别如式(12)和式(13)所示。
开运算:OPEN(A,B)=(AΘB)⊕B (12)
闭运算:CLOSE(A,B)=(A⊕B)ΘB (13)
对显示屏区域字符信息进行分割,使用dilation算子对区域中的字符信息进行膨胀,利用connection算子和select_shape算子进行膨胀后的区域连通,再使用erosion算子对连通区域进行腐蚀处理,最后使用dilation算子进行膨胀,并且对分割后的字符使用sort_region算子进行排序,进而完成显示屏区域字符分割。采用开运算对图像进行去噪处理,处理后的图像运用闭运算进行填充,通过二者相互结合,实现了对智能电能表显示屏区域字符信息的分割,为智能电能表显示屏信息检测提供更好地检测环境。
1.2 智能电能表显示屏字符信息检测
检测时,智能电能表需要处于充电状态,在接通电源的瞬间瞬显示屏各部分字符信息会在短时间内显示出来,此时采集电能表显示屏区域照片并做后续图像处理。智能电能表显示屏区域包括三种类型的字符信息:数字、文字、符号。若显示屏区域的文字和符号信息存在显示不完整的问题,会检测出空缺区域。但是与前二者不同的是,对于智能电能表显示屏字符区域中的数字符号信息,只有数字部分的七段数码管均正常显示时,才会出现完整的字符“8”。若数码管存在问题,显示出的数字便不是“8”。因此,对智能电能表显示屏字符区域的信息进行检测需要根据信息类型分为二部分:数字符号信息检测和文字、符号信息检测。
智能电能表显示屏信息检测是对显示屏区域的字符信息进行识别校验,但是显示屏中的字符信息包括数字、符号、文字,此时无法使用同一个检测标准来进行外观检测,因此需要对智能电能表显示屏区域字符信息进行分块检测。
1.2.1 数字符号信息检测
对智能电能表显示屏区域数字符号信息进行检测,主要识别二部分:数字识别、小数点和冒号识别。数字部分主要是检测数码管是否显示为“8”,使用dilation_rectangle算子对有字符区域进行膨胀处理后,接着使用connection算子和select_shape算子进行区域连通,并使用sort_region算子对数字信息进行排序后,采用OCR识别,运用read_ocr_class_mlp和do_ocr_multi_class_mlp算子将被检测数字与工业库中的数字进行模板匹配,若二者相同,则显示完整,反之为缺失字符。小数点和冒号的识别则需要将八个数字“8”平均分割,每二个“8”字符间存在一个固定宽度,若检测出的二个字符之间宽度小于固定宽度,则为小数点或冒号,反之存在缺失。
1.2.2 文字、符号信息检测
对智能电能表显示屏区域文字和符号信息进行检测,根据分割出的七个块,把每个“块”中有字符的区域利用形态学处理进行膨胀,连接起来形成小矩形区域。由于得到的缺陷区域可能含有杂乱的东西或者部分区域不连通的现象,采用1.2.1中所述区域膨胀、求连通域、字符信息排序的方法对文字和符号信息进行处理后,根据区域面积的大小来判定字符信息是否完整。这种方法简单有效,准确率高,满足智能电能表显示屏区域字符信息检测要求。
2 检测结果与分析 检测智能电能表需要提取出智能电能表显示屏区域图像,消除不相干区域的干扰。智能电能表采集的原始图像如图8(a)所示,对显示屏区域提取后的图像如图8(b)所示。由于提取后的图像背景与字符信息之间对比度较低,字符信息的轮廓特征不明显,因此采用均衡化来处理提取出的图像,如图8(c)所示。进一步需要对图像进行边缘检测以减小无意义信息或小物体的干扰,将图像的自身轮廓特征保留下来,如图8(d)所示,之后通过形态学中开运算与闭运算二者结合,完成图像中信息的字符分割,如图8(e)所示。最后根据信息类型的不同,对显示屏区域图像采用分块处理的方式,以达到字符信息检测的目的,如图9所示,最终实现对智能电能表显示屏的信息检测。
采用了一种通过把智能电能表显示屏区域分割成“块”来实现智能电能表显示屏信息检测的方法。在对显示屏区域进行图像提取,直方图均衡化,形态学处理之后,将对比度较高的图像根据字符信息的类别分割成七小块,如图9所示,按照从左向右,从上至下的顺序将七小块区域分别编号。2,3,7为同一类别,即文字信息检测,1,4,6为符号信息检测,5为数字符号信息检测。检测文字和符号字符信息是否有缺失,可以根据字符大小设定一个目标区域(m为区域的宽width,n为区域的高hight)。若块的字符信息大小和设定区域相符合,则智能电能表显示屏不存在缺失,反之存在缺失。检测数字符号信息时,需将第5块区域中的由八个七段数码管组成的数字分别进行分割处理,按照顺序分别与模板库进行匹配,检测是否有显示缺失。
图8 智能电能表显示屏信息检测
Fig.8 Smart meter display information detection图9 显示屏区域分块
Fig.9 Display area block分块检测完成后,智能电能表显示屏字符信息检测的缺失部分如图10所示,将缺失部分就近连接成一个区域标记出来,符号字符信息的缺失使用圆形标记,文字和数字符号信息的缺失使用方形标记,实现了对智能电能表显示屏信息的检测。因此,这种通过把智能电能表显示屏区域分割成“块”来实现智能电能表显示屏外观检测的方法切实可用,满足了对智能电能表信息检测的要求。
图10 智能电能表显示屏检测结果图
Fig.10 Test results of smart meter display3 结束语 针对在智能电能表正常使用时显示屏上的信息显示会出现异常的问题,提出了基于机器视觉技术,利用Halcon软件对智能电能表显示屏进行外观检测。对智能电能表显示屏区域图像提取后,采用均衡化进行图像增强处理,增加字符信息与背景之间的对比度,对图像的干扰信息采用边缘检测处理,将部分无意义或者过小的物体筛选掉,保留图像重要的结构特征,再通过形态学算法中开运算与闭运算二者结合的方法,完成对图像区域的字符分割,最后对显示屏区域图像进行分块处理,根据字符信息的不同进行分类识别,最终完成了对智能电能表显示屏信息的检测,能够准确检测出存在显示缺失的智能电能表,实现了对智能电能表显示屏缺失的检测,能够满足实际工程上的需求,具有一定的推广价值。
(详见《电测与仪表》杂志2021年第01期,可查看公众号底部导航:期刊杂志--《电测与仪表》选择相应期刊进入阅读) 来源/《电测与仪表》杂志
End
声明:部分内容来源于网络,仅供读者学术交流之目的。文章版权归原作者所有。如有不妥,请联系删除。