景军锋, 张君扬, 张缓缓, 苏泽斌
(西安工程大学 电子信息学院, 陕西 西安 710048)
丝饼[1]是由化学纤维长丝在纸管上缠绕,按照一定规律层层叠加形成的饼状体。化学纤维具有强力大、弹性高、耐辐射、耐高温、抗菌性能优异和不易缩水变形的特点,近年来其应用领域已逐渐从传统的纺织服装向交通运输、航空航天、医疗卫生和安全防护等产业用领域扩展[2]。丝饼作为化学纤维运输时的一种封装状态[3],从缠绕到封装过程中可能会由于误操作、工艺流程、环境因素等影响,在其表面形成污渍、压痕、起毛等多种类型的缺陷,这些缺陷将严重影响丝饼的外观和使用价值,进而影响丝饼质量定级。为剔除不合格产品,保证丝饼质量,在丝饼封装前需进行缺陷检测。
目前,大多数化纤企业仍采用手持强光照射的人工目测法来检测丝饼缺陷,该方法准确率低,漏检率高,劳动强度大且损伤工人视力。随着机器视觉技术和图像处理技术的成熟使用[4],从技术应用的角度看,不同物体的表面缺陷检测方法之间存在相似性,有一定的借鉴意义。Movafeghi A等[5]提出采用基于概率解释的稀疏编码模型以改善氨管道射线图像中的缺陷检测,应用稀疏编码(SC)算法增强图像对比度,有效地保留了成像细节,消除噪声的干扰,该方法可以准确检测出氨管裂纹、腐蚀、膨胀等多种类型的缺陷;景军锋等[6]利用遗传算法选择Gabor滤波器的最优参数组,用于过滤图像噪声,提出的最优Gabor预处理的黄金图像减法能实现纺织工业中织物疵点自动检测,整体检测成功率为95.62%;钱晓亮等[7]通过自学习特征提取模板计算太阳能电池板图像的特征矩阵,根据非精确增广拉格朗日乘子法(IALM)求解低秩矩阵和稀疏矩阵,得到图像像素点的显著值,初始定位出缺陷区域,利用简单线性迭代聚类超像素算法实现缺陷区域的精确分割,具有较高的准确率。
为满足工业生产中对丝饼质量控制的要求,本文提出了一种在梯度空间下根据图像信息熵变化和能量分布的差异来检测丝饼表面缺陷的方法。首先综合考虑丝饼图像在梯度空间[8]下的信息熵和能量特征,通过分析梯度空间下缺陷区域与正常区域图像的信息熵和能量值的差异,构建一个组合的特征向量来表征丝饼缺陷,克服了利用单一特征描述丝饼表面各种缺陷的局限性;其次设置合适的临界阈值用以区分缺陷区域与正常区域,利用阈值二值化、形态学处理分割出丝饼缺陷,得到最终的检测结果,以期解决丝饼表面缺陷检测的问题。
丝饼在加工成型后经流水线运动至封装区域进行包装,为保证生产效率,丝饼的质量检测需要在传输过程中完成。结合工业实际设计的丝饼表面图像采集装置如图1所示。该装置包括旋转载物台、工业相机、照明光源、光电传感器、可编程逻辑控制器(PLC)、步进电动机和工控机等。可以看出,1号相机为工业面阵相机,用于采集丝饼上表面图像;1号光源为LED环形光源,用于给上表面提供均匀的光照;2号相机为工业线阵相机,用于采集丝饼在旋转过程中的侧面图像;2号光源为LED条形光源,用于给侧面提供合适的亮度。丝饼图像采集装置工作方式如下。
图1 丝饼图像采集装置Fig.1 Image acquisition device for DTY packages
1)丝饼在传送滚筒上运动,光电传感器检测丝饼到达旋转载物台的中心位置后,PLC控制器 “点亮”1号LED环形光源,1号面阵相机触发拍照一次,1号光源灭,此时1号相机拍摄的是整个丝饼上表面图像。
2)同时PLC控制旋转载物台底部的电磁铁通电,吸住丝饼的支撑底座,步进电动机带动旋转载物台上升至指定位置后,旋转载物台开始转动,2号LED条形光源亮,2号线阵相机触发连续拍照;旋转载物台转动一圈后停止,2号线阵相机停止拍照,2号光源灭,此时2号相机拍摄的是丝饼侧面图像。
3)旋转载物台下降到初始位置,电磁铁断电,丝饼继续在传送滚筒上运动,一次完整的图像采集完毕。在丝饼图像采集过程中,工业相机将采集到的丝饼图像同步输入到工控机中,并进行实时处理得到检测结果。
丝饼在生产过程中形成的多种类型缺陷会随机出现在丝饼表面的各个部位,通过使用单一特征无法完全表征所有缺陷类型,从而造成漏检。因此需要分析丝饼图像的颜色特征[9]、纹理特征[10]、形状特征[11]等,找到一种组合的特征用来区分缺陷区域与正常区域[12]。
在丝饼表面缺陷检测中,缺陷分析部分重点研究了梯度空间下丝饼图像的信息熵和能量特征,文中以丝饼上表面的缺陷检测为例介绍算法,侧面检测流程中除去丝饼感兴趣区域(ROI)提取过程不需要极坐标变换展开图像这一操作,其他步骤与之类似。丝饼表面缺陷检测流程如图2所示,主要分为以下步骤。
步骤1:采集丝饼表面原始图像,同步输入到计算机中实时处理,丝饼上表面图像如图3所示。
图2 丝饼表面缺陷检测流程图Fig.2 Flow chart for surface defect detection of DTY packages
步骤2:采用SC算法对含有组合缺陷的丝饼图像进行预处理,增强丝饼图像细节同时去除CMOS相机采集图像时受到的噪声影响,增强后的丝饼上表面图像如图4所示。
步骤3:采用canny算子进行边缘检测,结果如图5(a)所示,确定纱管半径R1、丝饼半径R2和中心点O的位置,提取丝饼图像的感兴趣区域,如图5(b)所示,即以点O为中心,半径为R2-R1的圆环区域,由于提取的丝饼感兴趣区域呈圆环状,不利于后续图像的分块处理。为解决图像分块不均的问题,通过极坐标变换将图像从圆环区域展开为水平矩形区域,结果如图5(c)所示,并转换到梯度空间域进行后续操作,结果如图5(d)所示。
图3 丝饼上表面原始图像Fig.3 Upper surface original images of DTY packages.(a)Normal DTY packages;(b)Combination of defects; (c)Stain;(d)Indentation;(e)Hairiness
图4 图像预处理后的效果Fig.4 Effect of image preprocessing
步骤4:分析梯度空间下的丝饼图像信息熵变化和能量值差异,判断有无缺陷,比较丝饼的正常区域与缺陷区域,设置临界阈值分割出缺陷,形态学处理得到最终的检测结果。
信息熵[13]是用来度量信息的不确定程度,给定事件S1,S2,…,Sn以概率p(S1),p(S2),…,p(Sn)出现,其信息熵表达式如式(1)所示。
(1)
本文将信息熵运用到丝饼表面缺陷检测中,对于丝饼图像,图像信息熵[14]反映了丝饼图像灰度的统计特性,正常的丝饼图像表面纹理分布均匀,包含的信息量单一,图像信息熵值较小,当丝饼表面出现缺陷时,图像的不均匀程度增加,包含的信息量增多,图像的熵值将变大。然而在计算丝饼整幅图像的信息熵时发现,正常的丝饼与含有缺陷的丝饼图像信息熵值差异较小,难以区分;根据图像信息熵的可加性,整幅图像的信息熵值等于各个子块图像信息熵的和,因此采取图像分块策略,通过比较子块图像的信息熵变化判断缺陷是否存在。在丝饼图像中,以点(x,y)为中心,宽为a,高为b的小邻域Ωab的图像信息熵表达式如式(2)所示。
图5 丝饼图像的处理效果Fig.5 Processing effect of DTY packages image.(a)Edge detection;(b)Region of interest extraction; (c) Expansion map of polar coordinate transformation; (d) Image in gradient space
(2)
式中,Pf,Ωab为丝饼小邻域图像Ωab中点(x,y)的灰度分布,其表达式如式(3)所示。
(3)
式中,f(x,y)为图像邻域中点(x,y)处的灰度值。
计算丝饼小邻域内的图像信息熵Hf,当检测到其熵值变化超出一定范围时,认为该丝饼处存在缺陷。采取图像分块策略不仅可以放大丝饼图像信息熵值的差距,便于检测出缺陷,同时也将缺陷范围从整幅图像缩小到图像的小邻域块中,达到精确检测的目的。综合考虑算法的时间复杂度和空间复杂度,拟采用10×10的分块策略,将图像等分成100个子块,从左往右,从上往下求出各子块的熵值,依次排列成10行10列。图5(d)中含有组合缺陷丝饼的熵值分布如表1所示,其中黑色加粗部分是邻域内丝饼熵值变化范围较大区域。
表1 丝饼的图像信息熵分布Tab.1 Distribution of image information entropy of DTY packages
图像梯度[15]是图像中像素的灰度变化,本文在丝饼图像检测中采用多尺度形态学[16]计算梯度,其表达式如式(4)所示。
(4)
式中:g(x,y)为图像中点(x,y)处的梯度值;n为尺度个数,文中选取n=3;⊕为膨胀符号;Θ为腐蚀符号;bi为半径i的圆形结构元素。
梯度能量[17]反映图像连通区域中像素点灰度与梯度差异的变化特性,图像连通区域的能量表达式如式(5)所示。
(5)
式中,p和q为连通域大小。
当丝饼表面出现缺陷时,图像梯度值会在缺陷边缘处发生突变,图像的梯度差异变大,在缺陷处形成梯度极小区域,其能量值Ef将减小且发生明显突变。当检测到图像能量在某一梯度极小区域发生变化,Ef减小超出一定程度时表明该丝饼处有缺陷,梯度极小区域即为缺陷区域。图5(d)中含有组合缺陷丝饼的能量图如图6所示。其中X轴表示丝饼极坐标展开图的宽度,Y轴表示丝饼极坐标展开图的高度,Z轴表示丝饼图像的梯度能量,矩形框内是丝饼的梯度能量值下降范围较大的区域。
综合考虑丝饼图像的信息熵和能量特征,将这2种特征进行组合,构建一个组合特征用来表征缺陷,其表达形式如式(6)所示。
(Hentropy,Eenergy)=[Hf,Ef]
(6)
用组合特征对丝饼图像进行检测,对2种特征检测出来的区域取交集,分别计算图像信息熵和能量各自在丝饼的正常区域和缺陷区域处的平均值。通过实验发现,图像缺陷区域的信息熵均值高于正常区域,能量均值低于正常区域。为得到准确的分割阈值,利用最大类间方差法对特征值进行计算,得到丝饼组合特征的临界阈值[Hf-T,Ef-T],使得正常区域的特征均值、缺陷区域的特征均值与整幅图像的特征均值之间的差异最大;二值化分割出丝饼的缺陷区域,采用形态学处理方法得到最终的丝饼缺陷,含有组合缺陷的丝饼检测结果如图7所示。
图6 丝饼的能量图Fig.6 Energy diagram of DTY packages
图7 丝饼缺陷检测结果图Fig.7 Detection result of DTY packages defects
本文实验是在处理器为Intel(R)Core(TM)i7-6 800 K CPU@3.40 GHz,操作系统为64 位Windows 10的工控机上进行的,算法运行环境为 Visual Studio 2015,编程语言为C++,采用开源的OpenCV视觉库。为采集到高质量的丝饼图像且避免出现运动模糊,选取相机时需要综合考虑相机的分辨率和帧速率。文中选用的1号相机型号为Basler-acA3800-10gm,分辨率为3 840 像素×2 748像素,最大帧速率为10 fps;2号相机型号为Basler-raL4096-24gm,分辨率为4 000,最大行频26 kHz;相机均采用千兆网口接口和CMOS感光芯片;镜头选用Basler C125-0618-5 M 6 mm 和Nikon AF-NIKKOR 28 mm 2种,其中6 mm镜头用于采集丝饼上表面图像,28 mm镜头用于采集丝饼侧面图像。
为验证文中提出的丝饼表面缺陷检测方法的可行性和时效性,经多次测试,结合工业生产实际设计的丝饼图像采集装置,旋转载物台上升和下降时间各0.5 s,转动1圈的时间为4 s;采集的丝饼上表面图像大小为3 840 像素×2 748 像素,单张图像的检测时间约为87 ms,其中2.1节检测流程中步骤1耗时2 ms,步骤2耗时15 ms,步骤3耗时 28 ms,步骤4耗时42 ms。从丝饼图像采集到检测结果输出的整个过程中共计耗时约5.087 s,满足工厂对单个丝饼检测时间为5.2 s的要求。
在丝饼质量检测中,为验证算法性能的好坏,通常采取定性评估和精确评估2种客观评估方式。
定性评估是指只需要判断输入的产品中是否包含缺陷,若判断出有缺陷,则此产品被视为不合格。定性评估主要包含以下评价指标[18]:产品的检测准确率、误检率、漏检率和检测时间,其中检测准确率为检测结果正确的产品数量占所有待检测产品数量的比例;检测误检率为合格产品被检测为不合格产品的数量占合格产品数量的比例;检测漏检率为不合格产品被检测为合格产品的数量占不合格产品数量的比例。
在化纤丝饼生产中,工厂以丝饼缺陷的检测准确率、漏检率和检测时间作为检测指标,而不考虑丝饼的检测误检率,主要原因是工厂会对检测结果为有缺陷的丝饼进行人工复检,剔除误检丝饼后,再对含有缺陷的丝饼进行二次加工。为提高工厂的经济效益,减少客户投诉,丝饼的检测漏检率应严格控制在3%以内。
选取正常无缺陷以及含有污渍、压痕、起毛等异常有缺陷的丝饼样品共2 000个进行测试,其中正常无缺陷的丝饼数量为300个,含有污渍、压痕、起毛缺陷的丝饼数量各为500个,含有三类缺陷的组合丝饼数量为200个;按照丝饼检测流程进行检测,统计检测结果如表2所示。
表2 丝饼缺陷检测结果统计Tab.2 Statistics of defect detection results of DTY packages
从表2中的丝饼缺陷检测结果可以看出,本文算法将300个正常无缺陷的丝饼全部检测正确,对于1 700个异常有缺陷的丝饼,漏检数量为23个,检测准确率为98.85%,漏检率为1.35%,单张图像的检测时间为87 ms;其中含有压痕类缺陷的丝饼漏检数量相对较多,达到13个,主要原因是丝饼上表面轻微的压痕缺陷与其表面正常纹理类似,易在检测过程中被判断为正常纹理,造成漏检;总体来说,该方法具有较高的准确率,漏检率达到工厂要求低于3%的检测指标,基本上实现零误检,同时也降低了后续人工复检的难度。
利用文献[6]的Gabor滤波法、文献[7]的显著性检测法、迟滞阈值法[19]和自编码器[20]对上述相同的丝饼样本进行对比实验,文献[19]提出的迟滞阈值法是通过在垂直方向上进行投影确定出迟滞阈值,然后二值化分割出缺陷区域;文献[20]是利用去噪卷积自编码器建立织物图像的去噪重构模型,通过残差图像分析自动识别缺陷。与本文提出的算法进行比较,实验结果如表3所示。
从表3的对比结果可以看出,文献[6]的Gabor滤波法检测准确率为98.00%,漏检率为2.18%,检测效果略低于本文方法,但是单张图像的检测时间为1 036 ms,在利用遗传算法选取最优滤波器参数组耗时较长,约是本文算法检测时间的12倍左右,不能满足工厂对丝饼检测时间的要求;文献[7]显著性检测中自学习特征耗时太长,不能准确计算丝饼图像像素点的显著值,漏检率较高;文献[19]迟滞阈值法在垂直方向上投影效果较差,无法确定出最佳阈值;文献[20]利用去噪卷积自编码器构建的模型需要不断补充新样本,鲁棒性较差,无法满足工厂对丝饼检测漏检率和检测时间的需求。综合考虑,本文方法性能优于对比方法,选取的图像信息熵和能量的组合特征能够完全表征丝饼所有的缺陷类型,检测漏检率低,速度快,可以应用到实际的丝饼缺陷检测中。
表3 实验结果对比Tab.3 Comparison of experimental results
精确评估是指算法检测出的缺陷区域和人工标注的缺陷区域的接近程度,该方法以人工标注的缺陷区域作为真实缺陷,计算算法检测结果的精确率(P)、召回率(R)和调和平均数(F)。其中精确率是指算法检测出的缺陷区域中真正属于缺陷的部分占算法检测出的全部缺陷区域的比例,用于评价算法检测的精确程度;召回率是指算法检测出的缺陷区域中真正属于缺陷的部分占人工标注的缺陷区域的比例,用于评价算法查找缺陷的能力;调和平均数是精确率和召回率的综合指标,用于评价算法的总体检测效果。
P、R和F的计算公式如下:
(7)
式中:RD为算法检测出来的缺陷区域;RT是人工标注的缺陷区域;RTD为RD与RT的交集。
由于丝饼的压痕缺陷易出现漏检,因此对检测出的压痕缺陷进行精确评估,用来评价算法的检测效果,其结果将具有代表性,以图3(d)中含有压痕缺陷的丝饼检测结果为例进行精确评估,计算丝饼表面缺陷检测算法的精确率、召回率与调和平均数。人工标注的丝饼真实缺陷和本文算法检测出丝饼缺陷的局部放大图以及二者的对比结果如图8所示。
图8 丝饼缺陷的局部放大图和对比结果Fig.8 Enlarged images and comparison of result of defective region for DTY packages.(a)Manual labeling image;(b)Detection result for proposed method;(c)Comparison of results;(d) Detection result for Gabor filter;(e)Comparison of results 1;(f) Detection result for saliency;(g)Comparison of results 2;(h)Detection result for hysteresis thresholding segmentation;(i)Comparison of results 3;(j)Detection result for autoencoder;(k)Comparison of results 4
其中人工标注的丝饼缺陷区域RT的面积为 57 311,算法检测出缺陷区域RD的面积为 56 238,属于丝饼真实缺陷区域RTD的面积为 55 362。与最优Gabor滤波法、显著性检测法、迟滞阈值法和自编码器检测结果进行比较,检测出的丝饼缺陷的局部放大图和对比结果如图8(d)~(k)所示,检测精确评估对比结果如表4所示。
表4 精确评估结果对比Tab.4 Comparison of accurate evaluation results
从表4可以看出,本文算法的精确率为98.44%、召回率为96.60%,调和平均数为97.51%,均远高于对比的方法,能够准确地检测出真实缺陷,对丝饼缺陷具有较好的检测效果,实现丝饼表面缺陷的精准检测。
结合工业实际,设计了一套丝饼图像采集装置,并提出了一种在梯度空间下的丝饼表面缺陷检测方法,用来代替化纤生产中的人工检测。首先在实时处理过程中,将采集的丝饼图像转换到梯度空间域;其次再计算丝饼图像的信息熵和梯度能量,利用最大类间方差法确定阈值,分割出缺陷区域;最后形态学处理得到最终的丝饼表面缺陷的检测结果。实验结果表明,采用该方法对丝饼表面缺陷进行检测,检测准确率高达98.85%,漏检率为1.35%,单个丝饼的检测时间约为5.087 s,满足工厂对丝饼检测准确性和实时性的要求。本文方法不仅可以检测出丝饼是否存在缺陷,降低漏检率,而且可以较为精准地检测出缺陷区域,便于后续的缺陷统计,对化纤企业具有较高的工业推广价值。
FZXB