黄 露, 夏军勇, 吴庆华, 钟 飞
(湖北工业大学 机械工程学院, 湖北 武汉 430068)
编织袋的生产已逐步实现自动化,但编织袋缺陷检测仍以人工肉眼检测为主,是制约编织袋生产效率和质量提高的主要瓶颈之一。人工缺陷检测方式受主观因素影响大,效率低、漏检率高[1],研发编织袋缺陷自动检测技术和装备具有重要意义。编织袋是一种由单一颜色塑料丝制成的织品,纹理特征与其他织物类似,因此编织袋缺陷检测的方法可参照其他织物。近年来,针对织品的在线缺陷检测,学者们进行了大量研究并提出了不少新颖和实用的方法。张缓缓等[2]提出一种基于改进的加权中值滤波与K-means聚类相结合的纹理织物疵点检测方法。李小宁等[3]提出一种结合自适应中值滤波和灰度-梯度共生矩阵的织物质量检测方法。董蓉等[4]提出一种基于最优参数非线性灰度共生矩阵的织物瑕疵自动检测算法。赵树志等[5]提出一种基于改进判别性完整局部二值模式与格分割的织物瑕疵检测方法。鉴于上述情况,并根据编织袋缺陷图噪声大、灰度不明显的特点,课题组提出一种基于改进遗传算法与二维最大熵[6]的编织袋缺陷快速检测方法,以提高对噪声的鲁棒性和缺陷分割精度,能够高效地检测编织袋缺陷。
二维最大熵法同时统计像素自身和邻域灰度信息,相比一般阈值法,其抗噪性更强,分割编织袋缺陷图的效果更好。二维最大熵法的本质是搜索图像灰度直方图最大熵对应的阈值,而遗传算法能极大地缩短阈值搜索时间,将两者结合起来,就能对编织袋缺陷图进行快速、精准地分割。接着对分割出的缺陷进行连通域标记[7],提取缺陷质心、面积等几何参数,逐一将缺陷检测出来。
设编织袋缺陷图的大小为A×B,灰度变化范围为E∈{0,1,…,k-1},任意像素点(i,j)的灰度值为m,原图平滑处理后,平滑图像素点(i,j)的灰度值为n。Q表示灰度值为m且平滑灰度值为n的像素点个数,Pm,n表示缺陷图中灰度二元组(m,n)出现的概率,则Pm,n可由下式导出:
(1)
如图1所示,选取阈值(s,t),将Hist(m,n)分成4部分,区域R1,R2,R3和R4分别表示目标、背景、边界和噪声。则灰度二元组(m,n)出现在目标R1与背景R2区域的概率P1和P2分别为:
图1 灰度直方图投影Figure 1 Grayscale histogram projection map
(2)
(3)
R1与R2区域对应的熵H1和H2分别为:
(4)
(5)
边界R3和噪声R4占缺陷图像素的比例极小,因此边界与噪声的熵接近于零。则缺陷图的二维熵函数H(s,t)可定义为:
H(s,t)=H1+H2。
(6)
当熵函数值最大时,对应的最优阈值(s*,t*)为:
(s*,t*)=arc {max (H(s,t))}。
(7)
式中arc{}为反求函数。
遗传算法是一种基于自然选择和群体遗传机理的搜索算法。一般遗传算法在二维灰度空间搜索最佳阈值时,存在早熟、收敛性弱等缺点,通过对选择、交叉和变异等遗传算子进行参数优化,可减少算法的搜索时间,增强算法的收敛性。遗传算法改进如下:
1) 种群初始化。种群随机产生,种群数为20,最大搜索代数为100。
2) 编码。采用16位二进制编码,前8位为缺陷图的阈值,后8位为平滑图的阈值。
3) 适应度函数。选取式(6)作为适应度函数。
4) 优化选择。计算种群个体的适应度,将群体中15%适应度最高的个体作为子代直接保留,剩下的个体逐一通过轮盘赌法选出。
5) 优化交叉。交叉概率Pt取值大时,算法后期对最优个体的破坏性增强;反之,算法前期个体的更新速度慢,易陷入局部最优解。为确保算法前期有较强的全局搜索能力,而后期最优模式能得到保留,则阈值搜索前期取Pt=0.9,后期取Pt=0.6。
6) 优化变异。变异概率Pd采用分段函数的取值模式,随变异过程进行自适应变化。Pd分段取值为:
(8)
式中G为搜索代数,G∈[1,100]。
如图2所示,变异进程分为3个阶段,算法前期Pd取0.02,确保最优个体不被破坏;中期Pd最大取0.1,提高个体的更新速度,扩大算法的搜索空间;后期Pd取0.02,加快算法收敛进程。为确保搜索过程平稳进行,算法中期变异概率取值以抛物线形式变化,并与初期和后期的概率值衔接起来。
图2 变异概率取值曲线Figure 2 Curve of mutation probability value
7) 终止条件。当算法达到最大搜索代数或子代群体的平均适应度值与父代群体的平均适应度值的绝对值差小于0.03时,算法终止。
二维最大熵法分割编织袋缺陷图时,统计的像素灰度信息量很大,缺陷分割的时间长。如图3所示,将二维最大熵法与改进遗传算法相结合,利用改进遗传算法计算速度快、收敛性好的优点,克服二维最大熵法计算复杂度高的弊端,实现对编织袋缺陷图精确、高效地分割。
图3 结合改进遗传算法的二维最大熵运行框图Figure 3 Operational block diagram of two-dimensional maximum entropy combined with improved genetic algorithm
位置相邻且像素值相同的前景像素点组成的图像区域称为连通域。对编织袋缺陷分割图进行连通域标记,图中每个缺陷像素点赋予唯一的标识,且属于同一连通域的像素点标记相同,从而图中的缺陷区域转换成各自独立的标记块。获取每个标记块的数量、轮廓与质心等,实现缺陷的定位与统计。
在某厂复合编织袋生产线上搭建了编织袋缺陷检测软硬件系统,对褶皱、拉丝、小拉丝、孔洞以及漏针等常见的编织袋缺陷进行在线检测。编织袋缺陷检测流程如图4所示,算法先对采集的编织袋图进行预处理,消除图中存在的噪声以及细小的结构干扰,接着利用改进遗传算法获得区分前景与背景的最佳阈值,利用阈值精确分割出缺陷区域,最后利用连通域标记对图中缺陷进行统计和定位。
图4 编织袋缺陷检测流程Figure 4 Flow chart of woven bag defect detection
编织袋缺陷检测系统[8-9]由硬件和软件2部分组成。硬件系统主要由镜头、相机和光源构成。为确保采集的编织袋图能达到检测精度要求,相机采用分辨率为2 448×2 048 像素、帧速率为23 帧/s黑白工业相机。镜头选用靶面尺寸为16.93 mm(2/3 in)、焦距为8 mm工业镜头。根据编织袋丝线厚度改变会影响其透光性的特点,打光方式选择背光照射,光源采用功率为22 W,规格为600 mm×300 mm的LED面阵光源。软件部分由缺陷检测算法与界面程序组成。为验证算法的可行性和实时性,通过辅助软件MATLAB R2016b编写相关算法程序,在处理器为i5-4210U,主频为1.7 GHz,内存为8 GB的PC机上进行多次编织袋缺陷检测。编织袋缺陷检测系统如图5所示。
图5 编织袋缺陷检测系统Figure 5 Defect detection system for woven bags
图6分别为含有褶皱、拉丝、小拉丝、孔洞以及漏针等缺陷的编织袋。
图6 含不同缺陷的编织袋图Figure 6 Diagram of woven bags with different defects
预处理能够消除编织袋缺陷图中存在的噪声以及细微瑕疵,降低后续缺陷信息的检测难度。先对缺陷图进行形态学开运算,减少孤立的像素点和毛刺等,接着采用35×35的矩形掩码对开运算图进行均值滤波,再将开运算图与均值图作差,获得差分图像。经过差分运算,图像中具有干扰性的背景噪声得到抑制,缺陷部分进一步增强。最后通过灰度线性变换,突出差分图中的缺陷区域,利于编织袋缺陷的后续处理。
缺陷分割的目的就是将图中的感兴趣区域提取出来,分离目标与背景。为比较每种算法的分割精度,利用迭代阈值法[10]、一维最大熵法[11]以及结合一般遗传算法的二维最大熵法对相同缺陷图依次进行分割。图7~8分别为迭代阈值法和提出算法的缺陷分割效果。
图7 迭代阈值法的缺陷分割效果Figure 7 Defect segmentation effect of iterative threshold method
图8 提出算法的缺陷分割效果Figure 8 Defect segmentation effect of proposed algorithm
为体现提出算法的分割性能,引入IoU系数作为图像分割精度的度量指标。IoU系数表示算法分割缺陷与手工标记缺陷的交并比,IoU值越大,表明算法分割缺陷与手工标记缺陷的重合程度越高。式(9)中,X为手工标记的缺陷,Y为算法分割出的缺陷。表1为每种算法分割相同缺陷图20次的平均IoU系数。
(9)
从表1数据可以看出,迭代阈值法与一维最大熵法的分割精度相近,两者皆对编织袋缺陷图欠分割,分割的缺陷存在细节失真的情况;与一般遗传算法结合的二维最大熵的分割精度要略低于改进遗传算法,但分割效果要优于迭代阈值法与一维最大熵法,缺陷的主体信息均检测出来。提出算法对含有复杂结构干扰的褶皱缺陷的分割质量明显优于其他3种方法,IoU系数高于0.909,表明其对噪声的鲁棒性好,分割编织袋缺陷图的精度高。在编织袋缺陷检测中,缺陷分割的实时性与精度同样重要。比较上述几种算法的分割速度,统计每种方法分割相同缺陷图20次的平均时间,实验数据如表2所示。数据表明,结合一般遗传算法的二维最大熵的分割速度要优于迭代阈值法与一维最大熵法,尤其是相对于一维最大熵法,缺陷的平均分割时间由0.978 s缩短至0.652 s,极大地提高了分割效率。结合改进遗传算法的二维最大熵分割缺陷的时间比一般遗传算法要少0.048 s,分割时间降低了7.4%。综上所述,相较于其他3种分割方法,提出的算法具有更高的分割精度与速度,能够准确和快速地获取缺陷信息。
表1 不同算法分割精度对比Table 1 Comparison of segmentation accuracy of different algorithms
表2 不同算法缺陷分割耗时对比Table 2 Comparison of time-consuming defect segmentation of different algorithms
对分割出的编织袋缺陷区域进行连通域标记,提取标记区域的数量、轮廓以及质心等参数,进而获取缺陷的像素面积以及位置坐标。如图9所示,缺陷连通域的数量、像素面积以及质心像素坐标等均准确统计出来,表明算法能精确、快速地处理编织袋缺陷信息,编织袋缺陷检测效果好。
图9 编织袋缺陷的统计与定位Figure 9 Statistics and location of woven bag defects
课题组提出一种基于改进遗传算法与二维最大熵的编织袋缺陷检测方法,通过搭建编织袋缺陷检测软硬件系统,对某厂复合编织袋生产过程中产生的缺陷进行在线检测,达到了良好的效果。试验结果表明:
1) 预处理抑制了背景纹理,增大了缺陷与背景的区分度,利于后续的缺陷分割;
2) 结合改进遗传算法的二维最大熵分割预处理图所获得的质量缺陷细节清晰,结构干扰元素与细微瑕疵点被抑制,其缺陷分割精度要远高于一维最大熵法与迭代阈值法,IoU系数高于0.899,同时,相较于结合一般遗传算法的二维最大熵法,其分割速度更快,平均分割时间缩短了7.4%;
3) 对分割出的缺陷进行连通域标记,快速获取缺陷的数量、质心等参数,实现缺陷的精准统计与定位。