谭智仁,卢 军
(陕西科技大学 机电工程学院,西安 710021)
投影仪壳体在生产过程中需要贴上产品标签,由于这项工艺存在任务量大、劳动密集,在粘贴的过程中很容易出现标签贴错、损坏等缺陷,因此在出厂之前必须要剔除。然而目前,国内对于标签的这些缺陷检测,主要还停留在人工目测的阶段,效率低下,而且还很容易出现误、漏检。如何提高检测准确性和检测效率是目前需要解决的问题,而机器视觉技术凭借其速度快、精度高、非接触式、永不疲劳等优点[1],逐渐在这个领域内被越来越多的人们所重视。有很多的学者提出了不同类型的标签缺陷检测的方法,这些方法根据它的检测对象和工具大致可以分为三类:①远距离RFID射频识别。它是一种非接触式的自动识别技术,通过射频信号自动识别目标对象并获取相关信息,无需人工干预,具有防水、防磁、耐高温、读取距离大、存储信息更改自如、标签信息加密等优点;②基于声表面波延迟线式的无线标签识别,它是以不同的无源编码标签代表不同的对象,通过对标签的传感达到目标识别的目的,具有获取信息快的特点;③条码标签识别,它是在计算机应用和实践中产生并发展起来的一种广泛应用于商业、邮政、图书管理、仓储、工业生产过程控制、交通等领域的自动识别技术,具有输入速度快、准确度高、采集信息量大、灵活实用等优点,在当今的标签自动识别技术中占有重要的地位[2]。
在众多的标签识别和检测应用研究中,单个信息识别都已经不成问题,有比较成熟的光学字符识别(OCR)软件和条码阅读器就可以解决问题,但是将这些信息的识别都采用视觉的方法在一个系统中实现就是一个全新的问题。鉴于投影仪壳体标签可能出现的缺陷情况进行分析,大致可能存在四种缺陷形式:检测标签是否贴错;检测标签是否上下颠倒;检测标签是否标错;检测标签是否存在部分文字缺失。因此,本文阐述了一种利用特征匹配和模板匹配相结合的自动检测算法。单纯的利用机器视觉技术提取面积、重心、方向这些关键特征进行特征匹配,可以粗略的判别待检测的标签是否符合出厂要求,实现简单的自动化检测。但是,对于检测标签中某些字符是否标错这种情况,仅仅只利用特征匹配的方法不能很好的达到检测效果,因此,在检测的过程中结合了模板匹配技术对字符容易识别的部分单独进行缺陷检测。这就是本文提出的将所有可能出现的缺陷分为两类进行检测:字符区域标签缺陷检测与非字符区域标签缺陷检测。字符区域标签检测采用模板匹配的方法进行缺陷检测;而非字符区域标签检测则通过提取标签区域的面积、重心、方向这些特征量进行特征检测。
图像的采集系统如图1 所示。由于对产品进行在线检测,因此系统选用具有异步复位功能的黑白CCD摄像机进行拍摄。所得图像通过图像采集卡送入计算机中进行图像处理,同时在屏幕上显示当前进行检测的标签图像,检测人员可以进行目测和人工判断。
图1 图像采集系统结构
光源的选取是影响标签缺陷检测的重要因素,光源必须满足亮度大、均匀性好、稳定性高等要求,以抑制光线对图像质量产生的不良影响。系统的光源选用节能光管,它具有寿命长、亮度高等特点[3]。
在本系统中,每个投影仪壳体产品在传送带上的运行过程中位置是固定不变的,且粘有标签的检测面与镜头正对,以保证在获取的图像中只有标签发生变化。
有些标签区域印有字符,而且在图像中清晰可见,对于标签标错的检测,如果对整个标签进行整体检测效果往往不理想,本文所提的算法是将检测标签内字符是否清晰可见分为字符标签区域、非字符标签区域两部分,两部分是否存在缺陷分别进行检测。字符标签区域,通过Blob(斑点)检测分离标签上待检测的字符,然后利用模板匹配的最小距离判别法进行字符缺陷检测。非字符标签区域,分别提取每个标签区域的面积、重心、方向三个特征量,分别与模板进行特征匹配,判断是否存在缺陷。具体检测算法流程如图2 所示。
图2 检测算法流程图
原始图像或多或少存在噪声,为了突出检测目标物,减少噪声干扰,有必要对图像进行预处理,利用最大类间方差法(Otsu)阈值分割图像。
(1)采用线性拉伸的方法对原图灰度进行变换,使原图整体变亮,这样可以突出要处理的标签区域亮度带。r表示原始图像中对应点(x,y)的亮度,s表示变换后图像中对应点(x,y)的亮度,拉伸函数为:
(2)Otsu 的基本思想是选取最优阈值使分割后的得到的前景与背景两个大类的类间方差最大。对于图像I(x,y),前景和背景的分割阈值记为T,属于前景的像素点占整幅图像的比例记为ω0,其平均灰度为μ0;属于背景的像素点占整幅图像的比例记ω1,其平均灰度记为μ1;图像的总平均灰度记为ū,类间方差记为δ。
求取δ 的最大值,对应的阈值T就是要寻找的最优阈值。利用这个阈值T可以对原始图像进行分割处理。预处理效果如图3 所示。
图3 投影仪壳体预处理前、后对比
字符标签区域标错缺陷可以通过模板匹配来进行缺陷判别。实现步骤如下所示:
(1)利用Blob 技术将字符标签图像进行分割。
Blob 算法:首先标定每一个字符的连通域,然后通过连通域计算它的最小外接矩,以最小外接矩为单位,将每一个字符单独分离。
(2)将待检测的字符与训练模板集的字符一一进行模板匹配,计算两者之间匹配的距离,如果距离大于0.3,则判断待检测的字符与模板集对应的字符不符,即为缺陷。
匹配距离算法:首先将单个字符的最小外接矩区域划分成N×N个均匀等分;然后对每一个小区域的黑像素个数进行统计,除以该小区域的面积总数,即作为特征值;最后将这些特征值构成一个N×N矩阵。通过大量的实验证明,N通常取5,因为N值太小,无法进行正确的分类;如果N值太大,尽管区分能力更强,但是计算量增加,运行时间更长[4]。最后计算匹配距离:
xi与yi分别表示待检测字符矩阵元素值和模板集字符矩阵元素值;d表示矩阵的元素个数。
标签缺陷的判别依据是缺陷面积、大小和方向。标签若存在贴错、缺失、上下颠倒等情况,它的面积、重心以及方向都会发生明显的变化。根据这种现象,可以通过计算标签的这些特征量来进行特征匹配,判断标签是否存在缺陷。
2.3.1 面积计算
通过逐行扫描,计算出标签像素点总数,即为标签面积A。计算由下式得出:
其中B[i,j]表示二值图像。当标签出现缺失、贴错、标错等缺陷情况出现的时候,检测出来的标签面积必然会发生变化,通过与标准合格产品对应的标签区域的面积值进行比较,当超出设定的误差范围时,就可以判定该标签存在缺陷。
2.3.2 重心计算
重心是物体区域的中心值。重心(X0,Y0)的计算公式如下:
当标签存在上述缺陷等情况,检测出来的标签区域重心必然发生改变,通过与标准合格产品对应的标签区域重心值进行比较,当超过设定的误差范围时,就可以判定该标签为不合格。
2.3.3 方向计算
物体方向的计算比较复杂,在1987 年Kass[5]等人提出了基于梯度的指纹纹线方向场计算方法,其计算简单有效,很快就被很多学者采用计算物体的方向场[6-7]。基于方向场的应用,可以为物体定义方向,我们可以把每个物体看作椭圆,在笛卡尔坐标平面上与最小惯量轴相同方向的最小二阶矩轴定义为长轴[8]。通过计算获得物体的长轴,并把长轴方向定义为物体的方向。
图像中物体的最小二阶矩轴就是物体上所有的点到该线的距离的平方和最小。给出一幅二值图像B[i,j],物体所有的点到直线进行最小二乘拟合,获得物体的最小二阶矩轴方程。
其中rij是物体上某点[i,j]到直线的距离,用极坐标表示直线是:
θ 是直线与法线的夹角,ρ 是直线到原点的距离,由上面两个公式可以得到
对上式求导,可以得到:
两公式进行整合,得到:
其中参数:
这样表达式可以重新写成:
对上式求微分,并置微分结果为0,求解θ
这样我们就可以通过计算θ 来判断标签是否发生旋转以及旋转的角度。θ 定义为长轴与x轴的夹角,设定允许旋转的变化量为±5°(即±0.087222),将计算得到的待检测标签θ 与标准模板相对应的标签θ 进行比较,如果超过了这个范围,则可以判定其不合格,存在缺陷。
测试图片共100 张,标签缺失缺陷20 张,标签上下颠倒缺陷20 张,标签贴错位置缺陷20 张,标签标错缺陷20 张,合格产品20 张。针对标签的缺失、上下颠倒以及贴错位置这些缺陷可以进行整体检测,因此定义为非字符缺陷;而标签标错是对具体的某个数字或字符进行检测,因此可以定义为字符缺陷。为了提高检测的准确性,将字符缺陷和非字符缺陷分开检测,互不干扰。
字符标签区域缺陷检测:
图4 投影仪壳体字符标签区域缺陷检测
分别检测局部字符区域:DX140 与DX120,检测结果分析如下:
表1 匹配距离值数据
根据公式(3)对待检测标签区域每一个分割字符的匹配距离值进行统计,如表1 所示。
对表1 中的数据进行对比分析,正确的字符(如D、X、1、0)与标准模板集字符(如D、X、1、0)的匹配距离值都小于0.3,而标错的字符(如2)与标准模板集字符(如4)的匹配距离值则远大于0.3,发生了很大的变化。因此通过OCR 识别将待检测的字符与训练模板集的字符一一进行模板匹配,计算两者之间的匹配距离的方法可以实现对字符标签区域缺陷检测。
非字符标签缺陷检测:
以图5a 作为标准模板,分别对各类非字符标签缺陷和合格标签进行检测,实验测试结果分析如下。
图5 投影仪壳体非字符标签区域缺陷检测
图5a 为标准标签模板,图5b、c、d 分别为上下颠倒、缺失以及标签贴错缺陷,检测结果分析如下。
分别计算标准标签和待检测标签的面积、重心与方向三个特征量,并对其结果进行统计,数据如表2 所示。
表2 特征量计算数据
对表中的数据进行分析比较,合格标签与标准标签三种特征值数据相差不大;而有缺陷的标签,三种特征值与标准模板相比都发生了很大变化,超过了给定的误差范围。因此以这三个特征值作为判断依据,我们可以进行非字符标签缺陷检测。
本检测算法正确率如表3 所示。
表3 算法检测结果
本文针对投影仪壳体标签自身的特点提出了一种基于机器视觉的标签缺陷检测方法,该方法结合了模板匹配技术和特征匹配技术。由于该方法对采集的图像质量要求比较高,因此设计了一套缺陷自动检测系统,保证采集到的图片清晰、稳定,便于进行缺陷检测。另外,该缺陷检测方法针对字符标签区域和非字符标签区域缺陷各自的特点,分别利用了模板匹配和特征匹配,有效的提高了缺陷检测的正确率和稳定性。实验表明:该标签缺陷检测算法正确率达到95%以上,虽未能彻底的检测出所有的缺陷情况,但具有很高的实用价值,若用于实际生产,可以实现投影仪壳体标签缺陷的自动检测,具有广阔的应用前景。
[1]张扬. 基于图像处理的轴承防尘盖表面缺陷检测研究[D].杭州:浙江大学,2010.
[2]王增春.基于视觉的标签动态检测识别系统研究及应用[D].河北:河北工业大学,2006.
[3]张晓波,刘文耀,王兵振,等.汽车自动阀内地面质量检测仪的设计[J]. 计算机测量与控制,2005,13(6):1671 -4598.
[4]杨淑滢.图像模式识别-VC++技术实现[M]. 北京:北京交通大学出版社,2005.
[5]Kass M,Witkin A.Analyzing oriented patterns[J].Computer vision,Graphics,and Image Processing,1987,37(3):362 -385.
[6]Jain A K,Hong L,Pankanti S,etal.An dentity-authentication system using fingerprints[C]. Proc. IEEE,1997,85(9):1365 -1388.
[7]GU Jin-wei,ZHOU Jie,David ZHANG.A combination model for orientation Field of Fingerprints[J].Pattern Recognition,2004,37(3):542 -553.
[8]贾云德.机器视觉[M].北京:科学出版社,2000.