多纹理分级融合的织物缺陷检测算法

2019-07-04 01:14尚媛园邵珠宏
纺织学报 2019年6期
关键词:经纬粗糙度纹理

朱 浩, 丁 辉,2,3, 尚媛园,2,3, 邵珠宏,2,4

(1. 首都师范大学 信息工程学院, 北京 100048; 2. 高可靠嵌入式系统技术北京市工程技术研究中心,北京 100048; 3. 北京成像理论与技术高精尖创新中心, 北京 100048;4. 北京数学与信息交叉科学协同创新中心, 北京 100048)

织物缺陷对纺织品质量和价格产生直接影响,据统计,织物的缺陷致使织物产品价格降低45%~65%[1]。生产过程中,织物的缺陷检测仍然大量采用传统的人工检测方法,存在效率低、结果一致性差、漏检和误检等缺点,不利于大规模工业化生产。随着计算机技术的发展,利用图像处理技术进行智能化、自动化检测成为织物缺陷检测的研究热点[2]。

在织物缺陷检测过程中,常用的检测方法有:利用傅里叶的功能谱特性、Gabor空域特性提取特征等频谱法[3]检测织物缺陷;利用区域的几何形状、纹理的自相关性等数理统计法[4-5]检测织物缺陷;利用不同像素间的线性相关特性等模型法[6]检测织物缺陷。近年来,国内外学者对织物缺陷检测进一步做了大量研究:直接利用阈值分割[7]的方法检测织物缺陷,方法简单,检测效率较高,但仅对简单的、灰度分布均匀的纹理图案检测有效;利用频谱法检测织物缺陷,例如:小波预处理的黄金图进行模板匹配[8]、双树复小波变换(DTCWT)[9]等,为避免织物缺陷尺度方向不确定带来的问题,通常提取多个尺度和方向上的检测结果作为织物纹理的特征向量,但提取纹理特征耗时较多[10];利用统计的方法检测织物缺陷,例如:二进制模式(LBP)和灰度共生矩阵(GLCM)[11]、无缺陷图像构建的滤波器对图像缺陷检测[12]等,提取的织物图像特征具有较好的鲁棒性,提取特征的过程中,需要统计邻域中多个像素值,计算量较大;利用织物纹理建模的方法检测织物缺陷,在一定程度上会受到模型精度的限制,不易于识别小的缺陷[13]。目前的织物缺陷检测算法很难实现检测效率和检测精度上的兼容,同时,针对某一类具体织物缺陷检测时,现有的织物缺陷检测方法具有较好的检测效果,但是面对织物纹理差异性、缺陷形态复杂多样性等情况,经常出现漏检或错检的情况,如何提高对不同织物缺陷检测的通用性仍然是个难题。

本文主要讨论具有周期性分布的纹理织物缺陷检测,将采用TILDA织物纹理数据库中4种不同的周期性纹理织物进行分析和测试,提出了一种多纹理特征分级融合的由粗到精的物缺陷检测方法。首先设计固定大小窗口对图像进行Tamura纹理检测,初步确定缺陷区域;然后完成对缺陷区域Tamura纹理特征、LPQ纹理特征和经纬向纹理特征的分级融合,使不同织物纹理特征得到有效表达,提高织物缺陷检测的检测效率和准确度。

1 相关纹理特征原理

织物图像纹理是由经、纬向纱线按照组织结构规则和一定密度交织组成,反映了织物表面具有周期性变化的结构组织排列属性,因此,纹理成为织物缺陷检测中一种重要的研究线索。

1.1 Tamura纹理特征

织物的纹理特征在织物的缺陷检测过程中具有重要意义,基于人类对纹理的视觉感知的心理学研究,Tamura等[14]提出了纹理特征表达,对应于心理学角度上纹理特征的6个属性,即粗糙度、对比度、方向度、线性度、规整度和粗略度。粗糙度是一种纹理特征,是反映纹理中粒度的一个量。粗糙度的计算分为以下3个步骤。

1) 在织物样本图像中,计算活动窗口为2k×2k的像素平均灰度值为:

(1)

式中:x表示图像的宽;y表示图像的高;g(i,j)表示坐标是(i,j)的像素灰度值,k=0,1,2,…,7,经实验测试,选取k的最大取值为7。

2) 分别计算每个像素点在水平和垂直方向上不相重叠的窗口之间的平均灰度差:

Ek,h=|Ak(x+2k-1,y)-Ak(x-2k-1,y)|

(2)

Ek,v=|Ak(x,y+2k-1)-Ak(x,y-2k-1)|

(3)

式中:Ek,h表示水平平均灰度差;Ek,v表示垂直平均灰度差。

对于每个像素,设计最佳尺寸Sbest(i,j)=2k,能够使E值达到最大值,如下式:

Ek=Emax=max(E1,E2,…,Eh)

(4)

式中:E1,E2,…,Eh表示同一坐标位置上不同窗口大小的灰度差。

3) 图像的粗糙度Rcrs可通过计算整幅图像中Sbest的平均值来获取:

(5)

式中:m和n是图像的长和宽;Sbest为计算的最佳尺寸。

本文主要是利用粗糙度属性计算织物图像的粗糙度图,通过粗糙度图对织物缺陷区域进行预测。图1示出同一纹理织物,选取不同窗口大小的粗糙度图。

图1 不同窗口大小的粗糙度图

Fig.1 Roughness image of different window sizes.(a) Original image; (b) A results;(c)B results; (d) C results

为提高织物纹理的分辨能力,将窗口的大小设置成为:(2k-1)×(2k-1),k=1,2,…,Tmax。通过实验验证,当Tmax=5时,效果最好,如图1中结果图B所示,能够将缺陷区域和非缺陷区域区分,降低了非缺陷区域暗点和亮点的干扰。

1.2 局部相位量化

局部相位量化(LPQ)是由Ville Ojansivu等提出的一个具有模糊不变性的纹理特征描述算子,称为LPQ[15]算子。局部相位量化特征是基于离散的短时傅里叶变换[16],给定图像f(x),在像素点x=(x1,x2),取其M×M邻域Nx,对邻域Nx中的局部图像做二维离散傅里叶变换

F(u,x)=∑y∈Nxf(x-y)e-j2πuTy

(6)

F(x)=[F(u1,x),F(u2,x),F(u3,x),F(u4,x)]

(7)

傅里叶系数相位可通过每个部分的实部和虚部的符号函数来表示,见下式:

(8)

式中:用gj表示向量G(x)=[Re{F(x)},Im{F(x)}]的第j个部分;Re{}和Im{}分别表示F(x)对应的实部和虚部。

对G(x)进行量化之后,得到一个8位的二进制数的向量,在将权系数分配给每一个部分,计算出其对应的LPQ值

(9)

式中:qj对G(x)的二进制编码;2j-1表示的是权重系数;fLPQ(x)为计算出对应的LPQ值。

1.3 经纬向纹理特征

织物纹理信息主要是集中在经纱和纬纱2个方向,其所产生的多数缺陷也呈现较强的经纬取向性[17-18]。通过将局部织物图像沿经向(水平)和纬向(垂直)进行投影,对织物经纬向纹理特征进行表达。设I(i,j)为w×h的图像块,其在经向和纬向方向投影所得一维向量分别为Pu和Pv:

(10)

(11)

式中:I(i,j)表示图像块区域;w和h分别表示图像块的宽和高;Pu反映了纬向纹理特征;Pv反映了经向纹理特征。

由于织物图像的正常纹理图像投影向量仍具有规则稳定的性质,而缺陷纹理图像的经、纬向投影向量则呈现出突变的或不规则的情况。计算经向和纬向的投影向量的差分平方和,可以度量瑕疵异常程度[17]。因此,增加经纬向织物纹理特征提取有益于整体瑕疵的检测。

1.4 纹理特征向量融合

为实现对不同织物纹理特征有效融合,本文设计了一种特征融合方法:分别对织物图像LPQ和Tamura纹理图进行分块,提取块的直方图特征,对2种不同纹理块的直方图特征进行归一化处理,根据式(12)对归一化后的特征进行加权融合,获取特征相似度融合图,特征融合公式为:

(12)

式中:Lk、Tt分别为LPQ和Tamura纹理图分块图像的直方图归一化特征,w1和w2分别为LPQ和Tamura纹理图分块图像的直方图特征的方差。Dn为最终的融合结果,作为特征相似度度量向量。

由于不同特征对缺陷响应程度不同,本文对特征相似度融合图和经纬向特征图进行加权融合,以保证缺陷区域在融合后被削弱,提高检测精度,利用文献[17]提到的融合方法

Slast(i,j)=wwtHL(i,j)+(1-wwt)Mp(i,j)

(13)

式中:HL(i,j)为特征相似度融合图;Mp(i,j)为经纬向特征图;wwt为融合权重值,取值范围(0,1);Slast为最后结果图。

2 织物缺陷检测

利用织物图像纹理特征,提出一种多纹理特征分级融合的由粗到精的分级检测算法,本文利用TILDA织物纹理数据库,筛选数据的主要依据是织物纹理的周期性分布特征,本文研究了4种不同织物纹理图像,编号记为试样1#,试样2#,试样3#,试样4#,如图2所示。在瑕疵检测过程中包括5个步骤:织物图像预处理;针对某一类正常织物纹理样本数据,学习织物纹理分布特征;针对某一类缺陷织物样本数据,对缺陷区域进行初步定位;提取织物图像初步定位区域的LPQ纹理、Tamura纹理、经纬向纹理特征;对不同纹理特征进行分级融合,生成多特征融合图,然后对缺陷进行检测。

2.1 织物图像纹理分析

织物图像纹理最大的特点就是重复的纹理结构成周期性排列,如图2所示。由于织物在生产过程中织物表面所产生的结头、毛絮及灰尘等易产生成像噪声,在一定程度上模糊了织物纹理的特征。因此,单一的纹理特征不能很好地对织物纹理特征进行有效表达,也不适应对不同织物纹理情况进行检测。采用多特征分级融合的方法,能够保留LPQ纹理、Tamura纹理和经纬向纹理特征的检测优势,具有更好的检测能力。

图2 不同纹理、周期分布织物图像

Fig.2 Fabric images with different textures and cycles

2.2 织物缺陷区域初步定位

在织物缺陷检测过程中,针对不同的织物纹理图像,通常利用Tamura、LPQ等单一的纹理特征[17]。用多纹理特征融合的方法全局检测织物图像时耗时较高,不利于实际的生产应用,因此,本文提出了缺陷区域初步定位方法,通过降低织物图像处理的冗余度,提高多特征融合的检测效率,如图3所示。

图3 织物缺陷区域初步定位和自适应生长框图

Fig.3 Fabric defect area coarse positioning and adaptive growth

首先,对输入图像进行预处理;其次,利用Tamura粗糙度属性,计算图像粗糙度图;然后,设定阈值对粗糙度进行增强;最后,设计滑动窗对织物增强图进行卷积操作,标记最大响应区域所在位置。在缺陷区域扩充过程中,以缺陷区域占据最多的块为扩充依据,对相邻邻域进行扩充。由于缺陷区域大小不一,本文设计了一个自适应的缺陷区域扩充方法,当相邻2次扩充完成时,缺陷主要分布区域无变化时,扩充结束。

2.3 织物缺陷区域检测

织物缺陷的初步定位,能初步估计缺陷存在位置,不能精确地对缺陷进行精细化描述和定位,因此,需要结合不同纹理特征,对织物缺陷进行检测。织物缺陷区域检测过程,如图4所示。

图4 缺陷识别结构图

Fig.4 Defect identification structure image

将织物缺陷初步定位的区域映射到原始的织物图像中,根据织物纹理周期性分布特点分块,提取图像块LPQ和Tamura纹理特征,并进行特征融合。利用相同的方法,提取正常图像块LPQ和Tamura纹理特征,并进行融合,计算二者融合特征的相似度,形成特征相似度图。计算织物图像的经纬向特征图,根据式(13)提到的融合方法,将其与特征相似度图融合,形成特征融合图。不同纹理分级融合结果反映了图像块的缺陷分布情况,选取最佳分割阈值,对缺陷区域进行精确识别。

3 实验结果与分析

本文的实验环境:Window10操作系统,内存为 4 G,实验平台为MatLab2015b,所选用的织物缺陷样本图像来源于TILDA织物纹理库,数量为1 400张。数据库中含有4种不同织物纹理,每类样本数据为350张。原始图像尺寸为768像素×512像素。本文对图像样本进行了处理,将原图像裁剪为4块384像素×256像素,保留存有缺陷的图像块。实验结果显示,人眼能观察到的瑕疵,本文有较好的检测能力。

3.1 缺陷区域初步定位结果分析

利用缺陷区域初步定位方法,提高了检测效率。在实验过程中,滤波器的大小对实验结果产生重要影响,当使用较小的滤波器时,由于噪声等影响,可能会导致缺陷区域初步定位错误,最终不能对织物缺陷进行有效检测;当使用较大的滤波器时,导致缺陷初步定位区域中,正常纹理所占区域远远大于缺陷区域,会产生较大耗时,不利于检测效率的提高。

图5示出缺陷区域初步定位结果。其中:图5(a)为织物缺陷样本原图,图5(b)为经过Tamura纹理处理之后,缺陷初步定位效果图,图5(c) 为经过缺陷区域自适应生长后的图像。可以看出,织物缺陷初步定位对缺陷存在的中心位置进行了良好的可视化展示,但是,它不能有效描述缺陷的整体分布和缺陷区域的实际大小。因此,需要将初步定位的缺陷区域映射到原始图像中,利用多特征融合的方法进行有效检测。

注:图中2~7列分别对应同一行中织物原图的检测结果。图6 织物缺陷图检测结果

Fig.6 Testing results of fabric defect map. (a) Original image; (b) LBP segmentation results; (c) LPQ segmentation results; (d)Longitude and latitude segmentation results; (e) Tamura segmentation results; (f) Literature [17] segmentation results; (g) Paper segmentation results

图5 缺陷初步定位和自适应生长结果

Fig.5 Coarse positioning and adaptive growth of defect result. (a) Original image; (b) Defect location image; (c) Adaptive growth image

本文利用Tamura纹理增强图,对缺陷区域进行初步定位,经过实验验证,设计滤波器大小为16像素×16像素,缺陷初步定位区域中,正常区域所占比例较小,检测效果较好。同时,为尽可能能将织物缺陷所存在的区域描绘出,本文对缺陷区域进行自适应生长。首先,对16像素×16像素的区域均分为4块,根据最近邻原则进行扩充。最后,将扩充后的缺陷区域映射到原织物图像中,对织物缺陷进行检测。

3.2 缺陷检测结果分析

针对不同纹理和缺陷类型的织物图像,单一的纹理特征不能拟合缺陷区域的分布,对缺陷检测效果较差,利用多特征将LPQ、经纬向和Tamura纹理特征进行分级融合策略,能更好的对织物缺陷区域进行有效响应,本文利用上述方法,分别利用LBP、LPQ、Tamura、经纬向纹理特征做了实验,结果如图6所示。

根据4种不同纹理的织物图像缺陷分布,LBP方法对织物细纹理的检测效果较好;LPQ方法对织物不同纹理都有较好的检测效果;经纬向纹理特征有效缓解了单一特征在描述图像时的局限性;Tamura的粗糙度属性提高了检测的精确度和通用性。从实验结果可以看出:多种纹理特征融合提高了织物图像缺陷检测的精细度,对缺陷区域响应较好。为进一步验证在多特征融合过程中,LBP和LPQ对不同织物纹理缺陷检测效果进一步做了对比实验,结果如图7所示。

图7 实验对比图

Fig.7 Experimental comparison image. (a) Sample 1#original image; (b) LTJ segmentation of sample 1#; (c) Paper segmentation of sample 1#; (d) Sample 2#original image; (e) LTJ segmentation of sample 2#; (f) Paper segmentation of sample 2#; (g) Sample 3#original image; (h) LTJ segmentation of sample 3#; (i) Paper segmentation of sample 3#; (j) Sample 4#original image; (k) LTJ segmentation of sample 4#; (l) Paper segmentation of sample 4#

利用LBP、Tamura和经纬向(LTJ)多特征分级融合方法对织物缺陷检测和本文所用方法LPQ、Tamura和经纬向多特征分级融合方法做了对比。如图7所示。可见,2种方法对织物细纹理的缺陷有较好的检测效果,LTJ对织物粗纹理的检测效果较差,而本文利用的LPQ纹理特征融合对织物粗纹理有较好检测效果。

3.3 缺陷检测时间效率和瑕疵检出率分析

利用图2中的试样1#、2#、3#和4#,4种不同织物纹理图像,分析了不同纹理特征对织物缺陷的检测效率。在单纹理检测过程中,用到了LBP、LPQ、经纬向和Tamura纹理特征,检测方法保持一致;在多纹理融合过程中,用到了文献[17]的方法:LBP和经纬向2种不同纹理融合和本文的方法(LPQ、Tamura和经纬向纹理特征3种不同纹理融合),在多特征融合对织物缺陷检测过程中,纹理特征的提取顺序是串行的。

表1示出不同纹理缺陷检测的平均耗时。可见,在单特征和多特征对比实验中,利用缺陷区域初步定位的方法,降低了织物缺陷检测区域,提高了多特征融合对缺陷检测的运行效率。

表1 不同纹理缺陷检测平均耗时

Tab.1 Average time of different texturedefect detectionss

织物编号LBPLPQ经纬向TamuraLBP+经纬向本文试样1#14.9630.976.697.9119.8113.65试样2#14.7331.126.727.8919.9313.15试样3#14.6031.046.717.9219.9412.95试样4#15.1031.266.727.9019.7413.28

通过统计不同的瑕疵检测算法的误检率和检出率,进一步比较不同算法的优缺点。针对4种不同织物纹理图像,本文总的实验数据为864张图像。其中,每一类织物纹理筛选出216张图像,包含200张瑕疵图像,16张正常图像。筛选的原则是同一类纹理图像中,具有相似大小的瑕疵图,在实验过程中仅保留了1张。利用下式进行检测准确性分析。

误检率Pfr为:

(14)

式中:Swd为瑕疵区域误判样本数;Sall为总的样本数。

检出率Pdr为

(15)

式中:Srd为瑕疵区域正确判别样本数;Sall为总的样本数。

由纹理分割的对比实验图6可知,Tamura粗糙度特征在瑕疵检测过程,检测结果包括较多织物的非瑕疵区域检,这里没有统计检测率结果。经过对比发现,本文提出的方法,有较高的检出率和较低的误检率,结果如表2所示。

表2 不同纹理缺陷误检率和检出率

Tab.2 Different texture defect detection probability%

织物编号LBP算法LPQ算法经纬向算法LBP+经纬向算法本文算法检出率误检率检出率误检率检出率误检率检出率误检率检出率误检率试样1#84.7215.2785.6414.3581.9418.0591.668.3393.056.94试样2#83.3316.6683.7916.2080.5519.4494.445.5593.056.94试样3#61.1138.8863.8836.1143.0556.9458.3341.6665.2734.72试样4#54.1645.8356.0143.9841.6658.3369.4430.5572.7727.77

4 结 论

织物的缺陷检测在工业生成过程中作为一个重要环节,有重要的研究价值。纹理成为了织物缺陷检测的重要线索,因此,本文采用了多特征分级融合的织物缺陷检测算法,融合了不同纹理对织物缺陷的表达优势,降低了缺陷检测过程中漏检和误检情况发生,提高了织物缺陷检测的通用性和效率。实验结果表明:缺陷区域初步定位和自适应生长的方法,大大降低了计算的冗余度,提高了检测效率和精确度;纹理特征的分级融合对织物纹理表达能力得到增强。本文检测方法,在一定程度上提高了检测效率,缩短了检测时间,为达到实际生产应用高速检测的要求,需要讨论如何在保证算法精度的情况下进一步地提高检测速度。

FZXB

猜你喜欢
经纬粗糙度纹理
青藏高原高寒草甸的空气动力学粗糙度特征
经纬股份
工会经纬
基于BM3D的复杂纹理区域图像去噪
基于无人机影像的岩体结构面粗糙度获取
冷冲模磨削表面粗糙度的加工试验与应用
使用纹理叠加添加艺术画特效
市场经纬
TEXTURE ON TEXTURE质地上的纹理
基于BP神经网络的面齿轮齿面粗糙度研究