- 07/06
- 2015
-
QQ扫一扫
-
Vision小助手
(CMVU)
引言
布匹的疵点检测是纺织工业中一项十分重要的环节。传统的布匹疵点检测通常是由人工完成,其劳动强度大,且缺乏一致性与稳定性,存在检测速率低、漏检与误检率高、检测精度低等问题。调查表明,即使是熟练工人,其检测精度也只有70%左右,其检测速率只有15 ~ 20 m/min.随着计算机图像处理技术的不断发展,基于机器视觉的检测方法被越来越多的用于布匹疵点检测中。
该研究采用图像处理与模式识别方法来完成布匹疵点的自动检测任务,设计了布匹疵点检测系统的结构,并提出了一种以灰度共生矩阵为纹理特征,以支持向量机为机器学习方法的布匹疵点检测算法。
1.布匹疵点自动检测系统结构
布匹疵点检测系统主要由光源、CCD线阵相机、图像采集处理卡、PC主机与编码器构成。CCD线阵相机选用DALSA的SP-14相机,分辨率为2048像素,其每次扫描一行图像,用其对在传送带上沿垂直方向运动的布匹进行成像从而形成一幅二维图像。光源选用稳压直流光源以克服相机高频扫描时的频闪问题,并采用透射的方式进行照明,该方式可同时突显出布匹正反两面的纹理信息。相机输出的图像数据通过Camera Link接口发送到图像采集处理卡中,图像采集处理卡将这些图像数据进行存储及处理,判别其中是否含有疵点,其内部数据缓存与处理方式在先前的工作中有详细描述。然后将检测的结果与原始图像数据通过千兆以太网发送到PC主机上进行显示。系统采用增量式光电编码器来对相机扫描频率与布匹的运动速度进行同步,传送带的运动速度越快,编码器输出的脉冲的频率越高,通过该脉冲的频率来控制相机的扫描频率便可以使得相机等比例的采集布匹表面纹理图像。系统在布匹表面的分辨率为0.2mm/像素,单个相机的视场为400mm,而一般的工业布匹的幅宽为1.5m左右,因此需要4台相机与4块图像采集处理卡来完成疵点检测任务。
2 布匹疵点检测算法
布匹疵点检测可认为是一个两类分类问题:一类为正常布匹纹理;一类为疵点布匹纹理。如图2所示。文中采用的疵点检测算法是一种基于机器学习的算法,其需要预先对正常纹理与疵点纹理的样本进行学习,从而生成一个分类器,并通过该分类器对新的未知样本的类别进行判定,其基本流程如图3所示。首先,将正常纹理与疵点纹理图像样本分割为若干个不重叠的子窗口,窗口大小设定为64×64像素。然后,计算每个窗口图像的灰度共生矩阵作并从中提取一组特征向量用以描述其纹理特性。最后将正常纹理与疵点纹理的特征向量分别标记为1与-1,并送入支持向量机进行学习,从而得到一个分类器。该分类器可对未知测试样本的特征向量进行分类,判定其是否为疵点纹理。
2.1 灰度共生矩阵特征提取
每个子窗口都会提取其灰度共生矩阵特征。灰度共生矩阵是一种二阶统计量,并被认为是最有效的纹理描述特征之一。灰度共生矩阵是一个方阵,其每个元素表示图像中相距某一距离,某一方向上的两个像素的灰度级出现的频率。一个间距参数为d=(dx,dy),大小为G×G的灰度共生矩阵的定义如式(1)所示:Pd(ij)=|{((x1,y1),(x2,y2)):I(x1,y1)=i,I(x2y2)=j}| (1)式中:I表示大小为U×V的图像,其每个像素拥有G个灰度级别,且(x1,y1),(x2,y2)∈U×V,(x2,y2)=(x1+dx,y1+dy);|.|为卡迪尔集;Pd(i,j)表示在图像I中相距为d的两个像素灰度级分别为i和j这种情况所出现的次数。
间距d 为灰度共生矩阵中的重要参数,一般选用(0,1),(1,0),(1,1),(-1,1)等4个近邻参数,因为近邻像素具有较强的相关性,可以很好地描述布匹纹理特性,其分别对应与0°,45°,90°以及135°。由于布匹编织的规律性,其图像在空间上有较强的周期性,该周期性可以从布匹图像的频谱上得到。图3 显示了如图2(a)所示的布匹纹理在0°方向上的一维傅里叶谱。从中可以看到在该方向上存在明显的频率响应峰值f0,其纹理周期为T0 = 1/f0。由于相距为纹理周期的两个像素之间也具有较强的相关性,因此除了上述4 个间距参数之外,检测算法还采用了两个额外的间距参数(0,T0) 以及(T90,0)得到两个新的灰度共生矩阵,其中T0和T90分别为布匹图像在0°及90°上的纹理周期。
从灰度共生矩阵中,Haralick提出了14 个特征用以描述纹理特性,文中选取其中4 个来完成布匹疵点检测任务,分别为对比度CON,熵ENT,角二阶矩ASM 以及逆差力矩IDM,分别由式(2)-(5) 给出:式中:p(i,j)为归一化后共生矩阵元素,即p(i,j)= Pd(i,j)/R;R 为共生矩阵Pd中所有元素之和。
对于一个8位数字图像,其含有256个灰度级别,因此其灰度共生矩阵的大小为256 × 256,在如此大的矩阵中计算上述4个特征其计算量将会十分巨大,因此在计算灰度共生矩阵之前会将原始图像的灰度级从256 个等分量化到N( N<256)个级别,及减小灰度共生矩阵的大小,降低计算量。在特征提取过程中,会采用6 个间距参数生成6 个灰度共生矩阵,并从每个灰度共生矩阵中提取4 个纹理特征,一共24 个特征组成一个特征向量用以描述一个64 × 64 的纹理图像。图2(a)中布匹纹理在0°方向上的维傅里叶谱如图4 所示。
2.2 分类器设计
系统选用支持向量机作为分类器,它是一种由Vapnik提出的两类分类器。它将输入的两类特征向量向高维空间中映射,并在该空间中寻求一个最优分割超平面,使得该超平面到两类特征
之间的间距达到最大。令( xi,yi),i = 1,2,..,M 为待学习的样本。xi∈Re 为特征向量,e 为样本空间的维数,其类别为yi∈{ - 1,1} ,则寻求最优超平面问题可转化为如下优化问题:
3 试验结果及分析
大量的布匹与疵点样本用于检验该系统的可靠性,这些样本都是在实际的工业环境中对生产线上的布匹进行成像得到的,其详细信息如表1 所示,其中每个样本的大小都是64 × 64的纹理图像块。支持向量机的训练及分类过程使用SVMLIB库实现,其中训练集被均分为4 组进行交叉验证,得到的最优分类器参数分别为C=210,σ=2-9。在计算灰度共生矩阵之前会将原始图像的灰度级从256个等分量化到N(N <256)个级别,即减小灰度共生矩阵的大小,降低计算量。N 的取值越大,其纹理描述能力越强,但计算量也越大,算法的实时性越差。表2 中给出了N 取不同值时的检测结果,可以看出当N<16 时,检测精度随着N的增加也大幅提高,但N>16时,检测精度并没有随着N的增加显著提高,而其计算时间却一直随着N的增加呈现非线性的增长。因此N=16 是一个关于检测精度与实时性之间良好的折中。
显示了一些典型的布匹疵点样例,分别为缺经、缺纬、乱纬、油污以及破洞,图4(f)-(j)分别显示了当N=16时图4(a)~图(e)中各个子窗口的部分特征值。
图4(f)~图4(j)中的特征值分别对应为d=(1,0)时的ASM,d=(0,T0)时的ENT,d= (1,0)时的CON,d=(0,1) 时的ASM以及d=(1,0) 时的CON。其最终的检测结果由粗实线矩形框标记出来。
从图4(f)~图4(j)中可看出疵点区域的特征值与正常纹理的特征值有较大差异,因此这些特征能够有效地描述疵点纹理,将其与正常纹理区分开来,达到检测疵点的目的。
4 结束语
文中论述了一种基于机器视觉的布匹检测系统结构,通过线阵CCD 相机对在传送带上运动的布匹进行成像,并将生成的图像送往图像采集处理卡进行疵点检测处理。疵点检测算法采用类别共生矩阵为纹理特征来描述布匹纹理,采用支持向量机作为分类器。该分类器可克服在全局寻优过程中的局部极小问题,从而增强系统的稳定性。
在不同的参数条件下,对系统的检测精度与实时性进行了讨论,用户可根据实际的要求选择参数。该系统可以替代传统的人工检测方法,在工业环境中完成布匹疵点的在线检测任务。
- 上一条:视清科技教您:工业镜头的选型
- 下一条:万众创新时代,中关村亮出智慧新品