基于halcon的字符缺陷检测系统

2018-10-11 09:14汪成龙黄余凤陈铭泉陈泽涛
制造业自动化 2018年9期
关键词:字符高斯灰度

汪成龙,黄余凤,陈铭泉,陈泽涛,何 宣

(惠州学院 电子信息与电气工程学院,惠州 516015)

0 引言

在日常生活和工业生产中,大部分产品都印刷有各种字符,利用字符识别产品已成为主要途径。字符可以代表产品的品牌、型号、生产日期、长度和重量等,这些信息反映了产品的状况,因此字符印刷的正确性影响人类对产品的认识度和产品及质量。工业生产中,字符由机器印刷,由于产品漏放,偏放或机器误操作,都会导致产品字符缺陷。字符缺陷主要包括:字符印刷不清晰,字符相对位置不合格,字符漏印。这将导致产品信息的不完全甚至错误,因此在生产制造中,产品的字符检测尤为重要。

传统的质量检测主要依靠人眼检测,而在嘈杂的工厂环境中,大量的检测工作以及质量检测的高要求,单纯依靠人眼是难以满足。这使得以机器视觉代替人眼实现字符缺陷检测成为必然的发展趋势。

鉴于目前我国产品字符检测技术还不够成熟,而人工检测效率低、主观性强,国内字符缺陷检测多采用人工方式,缺乏客观性和科学性,劳动强度大,效率低[1],因此有必要研究一种速度快,准确率高的自动检测方法。

基于机器视觉的字符缺陷检测需要对字符用相机进行采集,然后运用图像处理的算法进行识别判断,最后控制电机进行相应操作。

本文首先对产品的字符图像进行采集,然后对采集到的图像进行预处理,将图片中的噪音消除并且将杂质过滤掉;接着设定字符检测区域,再选取7~10个正常样本进行训练,查看均值图像和标准差图像,并设定最小绝对阈值和基本阈值。最后对系统进行运行检测和数据分析实验表明,该方法能精准稳定地检测产品字符是否缺陷,且检测速度快,准确率高。

1 图像获取

在halcon中,获取图像有两种方法,一是通过摄像头实时采集,二是读取磁盘中的图片。halcon为百余种工业相机和图像采集卡提供接口,包括GenlCam,GigE和IIDC1394[2]。通过halcon自带的图像获取助手能快速的进行实时采集,步骤如下:

1)点击打开新的Image Acquisition;

2)选择图像获取接口;

3)点击自动检测接口;

4)实时连续采集;

5)代码生成;

6)插入代码。

由于已有相机采集的字符图片,本文直接采用第二种方法,即从磁盘中读取图片。利用halcon自带的算子read_image(:Image:FileName:)获取图片。

2 图像预处理

2.1 图像灰度化

图1 图像获取助手

图像的每个像素的颜色由R、G和B三个分量决定,每个分量有256种取值,如果直接进行处理,信息计算量非常大,因此对图像进行灰度化处理可降低图像处理时间。Halcon的rgb1_to_gray算子能够进行灰度化操作,其灰度图像根据下面公式所得[3]:

Red,Green,Blue分别表示红绿蓝三个通道,它们占的比例分别为29.9%,58.7%和11.4%。

图2 原始图像

图3 灰度图像

2.2 高斯滤波

滤波是图像处理中常用的一种算法,其主要原理是在指定图像上给定一个模板,该模板包括了目标像素及其周围的像素(一般模板的大小为3×3),而目标像素的灰度值由其他像素和自身像素的灰度值确定。均值滤波里的模板核中所有的系数都为1,虽然能够很好的取出图片中的噪点,但它却使图像变得模糊,并且破坏了图像中应有的结构特征[4]。相比于均值滤波,高斯滤波的模板核中的系数发生了变化,高斯滤波中的系数是根据式(2)得到的,其原型是二维高斯函数。

图4 均值滤波核结构

图5 高斯滤波核结构(σ=0.8)

经过高斯滤波的图像,不仅去除了图像中的高斯噪声,而且保持了图像中的细节部分和轮廓特征,但其所得效果也与系数有关,过小平滑效果不明显,达到1.8时其效果基本和平滑滤波相近,因此需要调好高斯滤波的系数。由于本文中所采取的图像打光效果好,图像噪声少,故采用σ=0.8的高斯滤波即可。

图6 原始图像

图7 高斯滤波图像

图8 均值滤波图像

3 基于halcon的字符缺陷检测方法

变化模型是halcon中检测字符缺陷常用的一种算法,用于区分好的对象和坏的对象,它仅仅依靠对象的灰度值进行判别。主要原理是对比字符上每个像素点的灰度值。不同位置上点的判断标准不一样,字符内部的点要求较高,允许范围较小,字符边缘部分的点允许范围较大。由于每个样本的灰度值都存在着些许差异,所以变化模型要用到不止一个好的样本,它有一个训练的过程,一般需要用到8~10好的样本,因此变化模型匹配的通用性好,稳定性高[5]。

固定字符的区域,根据以下公式设定需要得到的字符区域灰度值范围:

部分检测结果如图9所示。

图9 部分样品检测结果

4 基于halcon与C#软件设计

Create _ variation _model (::Width ,Height ,Type,Mode : ModelID )[6]

Width:输入需要对比图像的宽度;

Height:输入需要对比图像的高度;

Type:输入要对比图像的类型,默认:’byte’参考:’byte’,’int2’,’unit2’ ;

Mode:输入变换模型的计算方法,默认:’standard’,参 考:’standard’,’robust’,’direct’;

ModelID:输出变换模型的句柄。

在可变模型中,存在着理想图像和变换图像的概念。在创建对象时,需要注意Mode这个参数。当Mode=’standard’,将对象的理想图像表示为所有训练图像的平均值,相应的变化图像表示为所有训练图像的标准偏差。要确保只有良好对象的图像被训练,因为平均值和标准偏差对于异常值是不稳定的,如果不良对象的图像被无意地训练,则理想对象的精度可能会受到影响。其优点是可以迭代地对变化模型进行训练。

当Mode=’robust’,将对象的理想图像表示为所有训练图像的中值,相应的变化图像表示为所有训练图像的中值绝对偏差。这种模式的优点在于容错性较大,不会因为加入不良对象导致模型的不稳定。缺点在于不能进行迭代训练,所有的训练都是累积的。

4.1 训练过程

在创建变换模型对象中,选择’standard’模式,在下面的训练过程中加入的都是良好对象的图像,这里采用了10张图像进行训练。训练中特别需要注意的是,由于变换模型对灰度值要求很高,而每张图像中字符位置总有偏差,为了确保字符都在同一个区域,有必要进行匹配定位和放射变换,以矫正字符的位置。

4.2 查看训练结果并设定标准

训练完毕后,通过get_variation_model(:image Image,image VarImage:

Variation_model ModelID:)查找变化模型的理想图像和变换图像,结果如图11~图13所示。

图10 理想图像

图11 变换图像

图12 最暗灰度图像图

图13 最亮灰度图像

由于设定的模式为standard,理想图像即为均值图像,变化图像即为标准偏差图像。从图9(b)中可看出,理想图像基本上与良好对象的图像相同。从图9(c)中可看出,变换图像中字符边缘部分亮度较高,字符内部区域亮度较低,背景部分亮度最低,即反应了字符边缘灰度值变化较大,而其他地方灰度值变换较小或不变。上面两图符合预先设想的结果,表明加入训练的样本都为良好样本。接着要进行标准设定,即设定每个像素点灰度值的波动范围为多少,超过波动范围即算缺失。

根据多次实验结果表明,当AbsThreshold=20,VarThreshold=3时正确率最高。

5 结论

以60张产品字符图片为样本,利用halcon编写检测软件,软件界面如图10所示。

图14 字符缺陷检测系统

表1表明,该系统对四种缺陷类型和完整样本测试正确率均为100%。

表1 运行结果数据表

得到结论如下:

1)检测精度高,可检测细小的瑕疵。

2)检测速度快,检测时间一般在几百毫秒内。

3)稳定性高,对相似产品有一样的判断。

4)满足工业二十四小时生产的需求。

猜你喜欢
字符高斯灰度
采用改进导重法的拓扑结构灰度单元过滤技术
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
论高级用字阶段汉字系统选择字符的几个原则
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
数学王子高斯
天才数学家——高斯
基于最大加权投影求解的彩色图像灰度化对比度保留算法
从自卑到自信 瑞恩·高斯林