APP下载

基于模板匹配单色布匹瑕疵检测算法

2021-07-30周晓敏唐武弟

测控技术 2021年7期
关键词:布匹瑕疵纹理

周晓敏, 李 东, 唐武弟, 韦 虎, 黄 炫*

(1.中国科学院 合肥物质科学研究院,安徽 合肥 230031; 2.中国科学技术大学,安徽 合肥 230026)

织物疵点的检验是织物评定质量优劣、评定等级的主要依据,通常按疵点的影响程度、大小、对后加工要求评定分数,进行疵点的清除、修复或开剪,保证后加工产品的正品率,对纺织生产企业具有重要的经济意义。传统的人工验布速度不快、产量低、效率差。提高织物疵点的检出率、准确率和检验速度已成为当前纺织行业的发展瓶颈,高效、准确的自动验布技术成为日益迫切的需求。

然而,自动验布技术存在一定的难度,近年来国内外已有相关的研究,很多学者提出多种布匹瑕疵检测算法。其中主要的瑕疵检测算法分为频谱分析法和模型分析法,实际使用最多的是基于Gabor滤波的方法。赵宏威等[1]采用Gabor滤波方法进行图像处理,通过改进代价函数实现优化选择,但本质上并没有改变Gabor滤波算法过度依赖图像纹理的缺点,导致在纹理模糊布匹上检测效果欠佳。薛婷婷等[2]提出一种基于学习的Gabor滤波器检测方法,通过判别式提取瑕疵特征,对特征图分块处理再融合使得Gabor滤波在图像上的处理更加精细,从而实现了检测精度和时间效率的提高,该方法的缺点在于对线性瑕疵这类本身纹理特征与瑕疵形状相似的瑕疵,检测效果较差。邓超等[3]提出一种基于边缘检测的算法,通过利用Sobel算子的方向性对织物疵点在水平和垂直方向进行增强,计算出RGB水平与垂直方向的梯度后进行边缘检测,再将水平方向和垂直方向的梯度特征进行融合和二值化完成最终检测,缺点在于因边缘检测缘故,只能检测出一些素色布匹的瑕疵。荆辰未等[4]提出一种基于改进视觉显著性的布匹瑕疵检测方法,通过超像素处理和区域对比得到布匹瑕疵显著图,对显著图进行阈值分割来识别出布匹瑕疵,该方法的优势在于它综合了大尺度检测稳定性高和小尺度检测敏感性强的优点,缺点在于该方法仅在平纹布、格子布、条纹布上有较好的通用性,且对光照敏感。Ngan等[5]提出一种基于小波预处理的黄金图像减影方法来检测花纹织物上的瑕疵,对常见的花式提花织物进行检测的准确率达到96.7%。田承泰等[6]提出一种基于时间序列分形特征的织物瑕疵检测算法,该算法充分利用织物纹理特点,大幅度减少计算量,将织物纹理图像的灰度值分别沿纵、横方向投影得到一维时间序列,提取分形特征。在一定的阈值范围内,误检率和漏检率可控制在10%以内。张波等[7]提出一种基于结构-纹理模型与自适应数学形态学的织物瑕疵检测算法,解决了目前基于图像处理的织物瑕疵检测算法中,因织物纹理的多样性与瑕疵形状尺寸的不确定性所造成的检测效果差的问题。Tajeripour等[8]提出一种基于图像纹理特征的织物疵点检测方法,使用LBP算子与参考的特征向量进行比较,找到无瑕疵缺陷窗的阈值,利用阈值对缺陷窗口进行检测,同时适用于有图案和无图案布匹的瑕疵检测。项明等[9]提出了一种基于LBPV模式的瑕疵检测算法,通过削弱正常纹理信息来突出疵点信息,最终检测正确率达到90%以上。

基于传统视觉的布匹瑕疵检测技术已经发展成熟,但是由于织物瑕疵类型多种多样,传统机器视觉往往无法针对性地就不同类型的瑕疵对阈值进行灵活的调整,因此传统机器视觉在布匹瑕疵检测领域表现比较一般,效率不高。然而,深度学习出现后,因其学习特性使布匹瑕疵检测的灵活性极大地增加。

Bu等[10]为了克服织物疵点单一分形特征无法处理的缺点,提出一种在SVDD(Support Vector Data Description,支持向量数据描述)模型训练中涉及的高斯核函数的最优参数选择方案。Xie等[11]提出了一种检测和定位随机颜色纹理缺陷的方法,该方法只需要少量的无缺陷样本进行无监督训练。采用混合模型进行多尺度分析,以降低计算代价。通过多尺度下基于数据似然的同源相似性检测,对缺陷候选对象进行逻辑组合,实现对颜色纹理表面的新颖性检测。许玉格等[12]提出一种基于深度卷积神经网络(Convolutional Neural Networks,CNN)的分类不平衡纹理布匹瑕疵检测方法,该方法能有效提升布匹瑕疵检测的准确率及定位精度,同时降低了布匹瑕疵检测的误检率和漏检率。Jeyaraj等[13]为了对织物进行快速有效的分类,利用深度CNN对织物颜色特征进行学习,在6种不同材料上测试缺陷分类准确率,平均准确率达到96.55%。赵志勇[14]提出基于改进Inception-ResNet-V2网络的布匹瑕疵分类算法。该算法根据工厂的实际需求,将任务分为两大部分进行,一方面是正常布匹和瑕疵布匹的二分类问题;另一方面是7种瑕疵的分类识别。为了提取到更丰富的布匹特征,他采用对网络加深层数和改进网络中卷积核尺寸的方法,使改进后的算法在二分类任务中达到94%以上的准确率,在7种瑕疵分类识别的任务中实现了达到86%以上的准确率。景军锋等[15]提出一种基于深度学习的瑕疵检测算法,对织物各种类瑕疵平均的检测准确率可达到87.5%。但是这种方法仅实现了瑕疵检测,未实现瑕疵分类。Yang等[16]提出基于CNN的SAR图像目标检测算法来检测多场景下的多尺度目标。这种算法首先对深层特征进行上采样操作,然后将该采样的结果与底层特征进行融合。在该算法中作者使用了一种新的二分类损失函数来实现对不同场景下多尺度舰船目标的检测,但该算法的检测速度较慢。为了解决如何精确定位细小结构和怎么处理不平衡数据集的问题,Ouyang等[17]提出了一种嵌入CNN的布匹瑕疵检测方法。该方法在网络中引入一种新的双电位激活层,实现了对复杂特征织物的高精度缺陷分割。但是该方法的缺陷在于检测速度较慢。Li等[18]提出了一种基于紧凑的CNN结构来识别几种常见的布匹瑕疵的方法,通过多尺度分析、滤波因子分解和参数归约等技术构造出微体系结构。虽然这种结构提高了模型检测准确率,但没有实现对复杂的布匹瑕疵的检测。Wei等[19]提出一种将压缩传感与CNN相结合的织物缺陷分类算法。该算法根据压缩采样定理来压缩扩充小样本数据,最后利用CNN对布匹瑕疵进行直接分类。但该算法的缺点在于这种方法不能对织物缺陷进行检测。

综上所述,无论是基于传统机器视觉还是基于深度学习的布匹瑕疵检测算法各有优缺点,在实际应用中面临着各种问题,因而有很大的应用和发展空间。

模板匹配是一种在较大图像中搜索和查找模板图像位置的方法。在实际验布场景中,相机和光源位置固定,相机曝光时间与光源亮度均不变,所以在验布过程中,相同光照条件下的布匹可以尝试利用模板匹配算法来进行瑕疵检测。这种方法可以克服传统Gabor算法对布匹纹理高度依赖的缺点,光源位置不变也在一定程度上减少了光照对模板匹配的影响。首先对待测图与模板图进行分块,然后对模板分块区域进行扩充,再将样本图与对应的模板扩充图进行模板匹配,该方法可得到分块模板图在对应待检图上的最佳匹配位置,将得到的新的模板图与待检图做差值运算,二值化处理分割出布匹的瑕疵区域。

本文首先介绍整体的算法流程以及模板匹配的几种匹配方法,对不同匹配方法的适用场景进行阐述。然后介绍模板匹配在布匹瑕疵检测中的实现,通过实验分析确定最适合布匹瑕疵检测的匹配方法。最后对模板匹配的参数进行定量分析。通过和传统Gabor算法进行实验对比,验证模板匹配算法的先进性。

1 整体算法流程

算法整体流程如图1所示,读取待测图和模板图,对图像进行灰度化处理,处理后的待测图与模板图进行等比例分块,得到的模板图经过扩展与相对应的待测图分块区域进行模板匹配,从而得到各个分块区域的最优匹配结果,将匹配结果进行组合,得到与待测图匹配效果最好的模板图,新的模板图与待测图进行差值运算以及二值化操作,得到瑕疵位置,最终实现瑕疵检测。

图1 算法整体流程图

2 相关理论

在不同的光线照射下,通过不同的图像采集设备,在不同的位置采集到的同一物体的图像所表现出来的几何特性、光学特性、空间位置都会有很大的不同。模板匹配就是在一幅大图中查找是否存在已知的模板图像,通过相关搜索策略在大图中找到与模板图像相似的子图像,并确定其位置。本文的视觉检测装置固定,可以保证光照强度、相机位置不变,满足使用模板匹配的条件。

本文采用OpenCV库中的模板匹配函数,设得到的矩阵为R(x,y),模板图像矩阵为T(x′,y′),源图像矩阵为在R中的每个位置(x,y)都包含匹配度量值。该模板匹配函数有6种衡量匹配优劣的方法。

① TM_SQDIFF:该方法使用平方差进行匹配,匹配值最小时为最佳的匹配结果,匹配值越大表示匹配效果越差。

(1)

② TM_SQDIFF_NORMED:该方法使用归一化的平方差进行匹配,匹配值最小时为最佳的匹配结果,匹配值越大表示匹配结果越差。

(2)

方法①和方法②是基于平方差的匹配方法,一般适用于模板图像与待测图像之间具有相同外界条件、灰度变化不大的情况。

③ TM_CCORR:相关性匹配方法,匹配值最大时为最佳的匹配结果,匹配值越小表示匹配效果越差。

(3)

④ TM_CCORR_NORMED:归一化的相关性匹配方法,匹配值最大时为最佳匹配结果,匹配值越小表示匹配效果越差。

(4)

式中,

I′(x+x′,y+y′)=I(x+x′,y+y′)-1/(w·h)·

方法③和方法④是基于相关性的匹配算法,适用于灰度变化较大的情况。

⑤ TM_CCOEFF:相关性系数匹配方法,该方法使用源图像与其均值的差、模板与其均值的差二者之间的相关性进行匹配,最佳匹配结果在匹配值最大处,最差匹配结果在匹配值最小处。

(5)

⑥ TM_CCOEFF_NORMED:归一化的相关性系数匹配方法,正值表示匹配的结果较好,负值则表示匹配的效果较差,值越大,匹配效果也好。

(6)

方法⑤和方法⑥是基于相关性系数的匹配算法,抗干扰能力强,在灰度变化和几何畸变不大的情况下精度较高。

为了确定最适合纹理模糊布匹瑕疵检测的匹配方法,本文在第4节进行了一系列测试实验来确定兼顾速度和精度的匹配方法。

3 布匹瑕疵检测

在本系统中,为了减少布匹位置偏移以及布匹检测过程中纹理变化带来的模板匹配不准确问题,将模板图像和待测图像平均分割为若干个长为Xstep、宽为Ystep的子区域,子区域横向扩充xextend的大小,竖向扩充yextend的大小,每个原图分割块srcRt与对应的模板图分割块modRt进行模板匹配,得到匹配度最好的模板块,将各个模板块进行组合,得到最佳模板。将待检图和得到的重组模板图进行差值运算,得到的差值图进行二值化处理,最终得到瑕疵图,分割结果如图2、图3所示。

图2 待测图分割示意

图3 模板图分割示意

在检测过程中,若将Xstep、Ystep的值设置得过小,则模板匹配所需运算量过大,不满足实时性要求;若将Xstep、Ystep的值设置过大,不满足精度要求。为了确定Xstep、Ystep的值,本文第4节通过实验对其进行定量分析。

另外,在检测过程中,同一位置布匹的纹理在不断变化,为了增加匹配精度,本文引入xextend、yextend参数,引入这两个参数的目的是为了进行区域的模板匹配,使待测图在模板图上找到最优匹配位置。一般根据布匹的纹理特点,将xextend设置为2根经线宽度,yextend设置为3根纬线宽度,根据实际测量,通常经纬线的宽度约为2~3个像素,本文统一设置xextend=6,yextend=9。

4 实验分析

4.1 确定Xstep和Ystep的参数值

为便于实验,本文将分块区域的Xstep、Ystep设置为同一参数值,以stepNum代替Xstep、Ystep的值。根据多次实验结果得到,当stepNum<15时,平均检测时间大于188.65 ms,不满足实时性要求;当stepNum>35时,瑕疵检测准确率低于90%,不满足准确精度要求。本节将stepNum设置在[15,35]区间进行实验,随机抽取100组图片,每隔5个像素为一组,分别以瑕疵检测准确率、平均检测时间为评价标准,测试stepNum的最优值。实验结果如表1所示,

表1 stepNum平均检测时间和准确率测试结果

实验结果表明,当stepNum在[20,30]区间时,可以同时满足瑕疵检测的准确率和实时性要求,当stepNum=25时,检测准确率最高,所以本文将stepNum的值设置为25。

4.2 模板匹配方法选择

本文采用4k线阵相机,视野为600 mm,原验布机速度最大值为0.4 m/s,经过计算,4096像素×512像素分辨率的图片检测时间上限为188 ms。

为了确定OpenCV的模板匹配函数最合适的匹配方法,本节选取破洞、染色不均、异经、油污4类瑕疵图各100张,以各类瑕疵的平均检测时间、各类瑕疵检测准确率为评价标准,检验符合实时性要求的模板匹配方法。实验结果如表2和表3所示。

表2 模板匹配平均检测时间表 单位:ms

表3 瑕疵检测准确率表

由表2可知,在实际模板匹配过程中,该6种模板匹配方法均能满足工业检测对实时性的要求。如表3所示,6种模板匹配方法对不同类型布匹都能得到较好的匹配效果,但对于油污,相对于其他5种匹配方法,TM_SQDIFF_NORMED方法准确率最高。因此,本文采用TM_SQDIFF_NORMED模板匹配方法。

4.3 对比实验

基于破洞、染色不均、异经、油污4种瑕疵,分别使用Gabor滤波和模板匹配对其进行检测,检测效果如图4所示。

图4 对比实验效果图

由图4可知,基于Gabor的瑕疵检测对破洞和染色不均检测效果良好,对于油污和异经检测效果较差;本文方法即基于模板匹配的瑕疵检测对各类瑕疵检测效果良好,表现稳定。

为了检验本文提出的算法对多种瑕疵的检测效率,在样本中选取100组纹理模糊的瑕疵图片进行测试,以检测准确率为评价标准,与基于Gabor的布匹瑕疵检测算法作对比,实验结果如表4所示。

表4 算法检测准确率对比表

实验结果表明,本文方法即基于模板匹配的瑕疵检测算法对于纹理模糊布匹的破洞、染色不均、异经、油污瑕疵有着稳定的检测能力,基于Gabor的布匹瑕疵检测算法对纹理模糊布匹的瑕疵检测效率普遍偏低。基于模板匹配的算法在纹理模糊的布匹瑕疵检测方面表现出较大优势,弥补了传统的基于Gabor的布匹瑕疵检测算法高度依赖纹理特征的缺陷。

5 结束语

本文提出一种基于模板匹配的布匹瑕疵检测算法,通过对待测图、模板图做分块的模板匹配,得到最优匹配图,最后对最优匹配图与待测图的差值运算结果进行二值化处理,得到瑕疵区域。本文创新性地将模板匹配算法应用在布匹瑕疵检测上,对纹理模糊类的多种瑕疵类型的检测效果表现良好,提出的算法在实时性和检测效率方面都能满足实际检测要求,具有工业应用价值。但模板匹配算法对纹理较强的布匹瑕疵检测准确率较低,有待进一步提高。

猜你喜欢

布匹瑕疵纹理
登记行为瑕疵与善意取得排除的解释论
基于BM3D的复杂纹理区域图像去噪
哦,瑕疵
哦,瑕疵
使用纹理叠加添加艺术画特效
独 坐
TEXTURE ON TEXTURE质地上的纹理
消除凹凸纹理有妙招!
选择的价值
毫无瑕疵的推理