基于MBLBPV算法的布匹瑕疵检测方法

2019-09-20 02:04
测控技术 2019年1期
关键词:布匹二值瑕疵

(河南理工大学 计算机科学与技术学院,河南 焦作 454003)

布匹瑕疵是影响布匹质量的重要因素。据统计,布匹瑕疵导致的劣等纺织品价格仅为一等纺织品的45%~65%[1],因此,布匹瑕疵检测是布匹生产过程中至关重要的环节。传统的基于人眼的检测方法存在费用高、效率低、准确性差和主观性强的问题。为了提高布匹瑕疵检测的准确率,基于计算机视觉的检测方法[2]成为研究的焦点。目前,基于计算机视觉的检测方法主要分为频谱法、统计法和模型法3种类型[3-4]。基于频谱的检测算法主要基于傅里叶变换、Gabor变换[5]或小波变换[6]等将布匹图像转换到频域来实现瑕疵检测,但该类方法具有较高的计算复杂度;基于模型的方法需要对各种布匹瑕疵进行全面训练,因此增加了在线检测的困难度,较难满足检测的实时性要求;基于统计方法是利用像素的统计特征进行瑕疵检测,该类方法简单明了,但容易受噪声和外界条件的干扰。

作为一种简单有效的统计方法,局部二值模式(Local Binary Patterns,LBP)[7]已被广泛用于纹理分类、人脸识别及图像匹配等领域,多种针对LBP的扩展方法也被提了出来[8]。在文献[9]中,Tajeripour等人基于LBP算法实现了布匹瑕疵检测,该方法有效地降低了LBP的特征维数,同时又保证了LBP特征对瑕疵图像的有效表达。但该方法对应的纹理边缘弯曲度小,造成正常样本与瑕疵样本的特征区分不明显。为此,付蓉等人[10]提出了自适应局部二值模式的检测方法,项明等人[11]提出了基于局部二值模式方差(LBP Variance,LBPV)[12]的检测方法。虽然上述方法取得了较好的检测效果,但仍对图像尺度变化考虑不足,同时仍存在噪声敏感的问题。

针对上述LBP及改进方法在布匹瑕疵检测中存在的问题,提出一种基于多尺度分块局部二值模式方差(Multi-Scale Block Local Binary Patterns Variance,MBLBPV)算子。该算子仍然基于局部二值模式方差LBPV[12],但在特征提取时,融入多尺度分块思想,将特征提取扩展到任意大小的“子块区域”。该方法在较好描述不同尺度分块纹理信息的同时,用局部灰度方差反应图像灰度分布对比度的变化,削弱了噪声对特征提取的干扰,也使瑕疵样本与正常样本能够明显区分。实验结果表明,该方法可以有效地实现瑕疵检测,并对图像噪声具有较好的抑制作用。

1 多尺度分块局部二值模式方差

1.1 局部二值模式

基本LBP算子是针对图像3×3的矩形邻域,以中心像素的灰度值为阈值与其邻域像素的灰度值进行比较,若邻域像素的灰度值不小于阈值,则将该点标记为1,否则标记为0。从而,该矩形邻域的8个像素点可以产生一个8位的二进制数,将这个二进制数转换为十进制无符号整数,即为该邻域中心像素的LBP值。LBP值的定义如下:

(1)

(2)

式中,ROR(x,i)为旋转函数,表示将x循环右移i位。

为了降低特征维数,Ojala等人又提出了一致局部二值模式(Uniform Local Binary Patterns,ULBP)。设U表示LBP算子中从1到0或从0到1跳变的次数,定义如下:

U(LBPP,R)=|s(gi-1-gc)-s(g0-gc)|+

(3)

若U(LBPP,R)≤2,就把这个模式归为一致模式,否则记为非一致模式。

结合旋转不变模式与一致模式,Ojala等人给出了旋转不变一致局部二值模式:

(4)

式中,上标riu2表示旋转不变一致模式。

1.2 局部二值模式方差

为了突出局部空间结构和对比度信息,Ojala等人[13]提出了局部邻域灰度方差(VAR):

(5)

在此基础上,将LBP和VAR的联合分布LBP/VAR作为图像的纹理特征。然而VAR是一系列连续的值,在具体应用中需要量化处理,并且该量化过程中不可避免地出现误差,影响分类效率。为此,Guo等人[12]提出了LBPV算子。该方法将每个像素的方差作为LBP子模式的权重,有效地将局部空间模式和局部对比度差异融为一体,且无需量化,避免了量化过程中的问题。LBPV的定义如下:

(6)

式中,

其中,k为具体的纹理模式值;N及M表示图像尺寸。

1.3 多尺度分块局部二值模式

基本LBP特征的计算是针对单个像素的,像素灰度值微小的变化就可能导致LBP值的不同,易受噪声的影响。而多尺度分块局部二值模式(Multi-Block Local Binary Patterns,MBLBP)[14]正好可以弥补LBP的不足之处。该算子采用“子块区域”的像素灰度平均值之间的比较代替单个像素之间的比较进行LBP特征计算,增加了像素之间的相关性,同时“子块区域”均值的比较有利于削弱噪声的干扰。对于9×9的邻域,首先,计算每个“子块区域”(3×3邻域)的灰度均值,然后,以中心子块区域的灰度均值为阈值,按照基本LBP算法,得到MBLBP特征值。

1.4 多尺度分块局部二值模式方差

MBLBPV在LBPV的基础上,融入多尺度分块的思想[14],将布匹特征提取由孤立的像素点扩展到适当尺度的子块区域。其基本过程是:首先给定大小为t×t的子块,并将图像中任意3t×3t大小的邻域窗口转化为3×3邻域,对于转化后3×3邻域的每个点的值采用对应子块的灰度均值代替。图1给出了针对2×2的子块,将6×6邻域转化为3×3邻域的示例。其次,基于LBPV算子提取转化后的布匹图像特征并进行瑕疵检测。显然,当t取不同的值时,可以得到不同尺度下的MBLBPV特征,而当t取1时,则退化为LBPV算子。

图1 2×2子块邻域均值化示意图

针对转化后的3×3邻域,设Mgc代表中心子块邻域灰度均值,Mgi(i=0,1,…,7)代表其8个相邻子块灰度均值,则MBLBPV值的提取过程如下:

(7)

其中:

2 瑕疵检测

2.1 训练

在训练和检测中,取t=2。在训练阶段,首先将MBLBPV算子应用于无瑕疵布匹图像,得到标准特征向量V。其次,把无瑕疵布匹图像分割成互不重叠且大小为Wd×Wd的检测块,并分别提取每个检测块MBLBPV特征。同时,检测块划分的大小应适中,检测块太小计算的准确性不够,而检测块太大将导致瑕疵的检测能力下降。为了保证检测块可以提供丰富、可靠的特征信息,每个检测块的MBLBPV算子数目应该足够多,根据经验将算子数目设为100。设提取MBLBPV特征的掩模的大小为m×m,则Wd应满足,

(8)

对于前面提到的LBP及相关改进方法,在进行瑕疵检测时都基于3×3邻域,本文测试时也采用同样掩模,因此由式(8)可知,Wd≥12。

在提取检测块特征后,基于Chi-square统计函数度量每个检测块的特征向量与标准特征向量V的相似度。设Sb为第b个检测块的MBLBPV特征,与标准特征V间的距离度量表示如下:

(9)

式中,Lb为第b个检测块的特征向量与标准特征向量V的相似度;B为划分的块数。Lb越小说明检测块的纹理特征与图像全局纹理特征越相似。在具体检测时,选取最大的Lb值作为测试阶段判断瑕疵块的阈值,

T=max(Lb),b=1,2,…,B

(10)

2.2 检测

在测试阶段,首先将待测试的布匹图像分割成相互重叠的检测块,用MBLBPV算子计算各个检测块的特征向量Sb,并通过式(9)计算每个检测块的特征向量Sb与标准特征向量V的相似度,标记为Ltest;然后通过比较Ltest与阈值T判断是否为瑕疵块。

(11)

在进行检测块划分时,移动步长越小、重叠区域越多,检测块中包含的纹理信息就越多,检测准确率也会越高。但是,计算时间也会相应地增加。考虑到检测精度和系统实时性要求,采用Wd/2作为移动步长。

3 实验结果及分析

为了有效验证本文方法的有效性,将MBLBPV算子与LBP、LBPV和MBLBP 3种算子的检测效果进行了对比。实验中选择了3类瑕疵图像:点状瑕疵、线状瑕疵和面状瑕疵,并分别在无噪声和加入高斯噪声的情况下进行对比验证,实验图像大小为204像素×143像素。实验中,首先基于无瑕疵的同类布匹图像进行训练,得到判断瑕疵块的阈值,然后对待测图像进行瑕疵检测。在实验结果中,有瑕疵的检测块标记为白色,判断为无瑕疵的检测块标记为黑色。

首先针对点状瑕疵、线状瑕疵和面状瑕疵的无噪声图像,检测结果如图2所示。可以看出,相对于其他3种方法,MBLBPV能明显区分瑕疵区域和正常区域,对于点状瑕疵、线状瑕疵和面状瑕疵都有比较理想的检测效果。

其次,测试了噪声情况下,不同算法的检测效果,实验中采用的噪声模型为高斯白噪声(方差为0.01)。针对3类不同的瑕疵图像,4种方法的检测效果如图3所示。可以看出,MBLBPV算法在加入高斯噪声的布匹图像中的瑕疵检测效果明显优于其他算法,且噪声对其他3种方法的影响较大。因此,MBLBPV算法对噪声不敏感,具有良好的抗噪能力。

图2 3种瑕疵类型检测对比

最后,为了客观地比较不同算法对布匹瑕疵检测效果,实验选取错检率、漏检率和正检率对算法的性能进行客观评价。其中,错检率定义为将无瑕疵检测块误判为有瑕疵检测块的数目与测试图像按照算法要求所划分的检测块总数目的比值;漏检率定义为将有瑕疵检测块误判为无瑕疵检测块的数目与测试图像按照算法要求所划分的检测块总数目的比值;正检率定义为正确判断有瑕疵检测块和无瑕疵检测块的检测块数目与测试图像按照算法要求所划分的检测块总数目的比值。显然,错检率、漏检率越小,正检率越大表示算法检测效果越好。

(12)

(13)

(14)

图3 噪声情况下3种类型瑕疵检测对比

其中:

Nt=Nf+Nl+Nc

式中,Rf为错检率;Rl为漏检率;Rc为正检率;Nf为检测过程中将无瑕疵检测块误判为有瑕疵检测块的数目;Nl为检测过程中将有瑕疵检测块误判为无瑕疵检测块的数目;Nc为检测过程中正确判断有瑕疵检测块和无瑕疵检测块的检测块数目;Nt为测试图像中按照算法要求所划分的检测块的总数目。

表1给出了4种方法的检测效果对比,可以看出,本文算法在无噪声的布匹图像和加入噪声的布匹图像中均有较好的识别能力,其检测正确率均能够达到96%以上,对常见的点状瑕疵、线状瑕疵和面状瑕疵都有较好的检测效果。

表1 4种方法实验结果对比 单位:%

4 结束语

在分析利用LBP及其扩展方法进行布匹瑕疵检测存在的问题的基础上,提出了基于多尺度分块局部二值模式方差的布匹瑕疵检测方法,引入多尺度分块思想,通过选取适当尺度的分块区域代替单个像素进行特征提取,解决了局部二值模式的易受噪声干扰的问题。同时,融合局部方差解决了局部二值模式进行瑕疵检测效果不理想的问题。实验表明,MBLBPV算子取得了比传统方法更好的瑕疵检测效果,并具有更好的抗噪性能。

猜你喜欢
布匹二值瑕疵
登记行为瑕疵与善意取得排除的解释论
哦,瑕疵
哦,瑕疵
面向网络边缘应用的新一代神经网络
基于二值图像数字水印算法研究
基于稀疏表示的二值图像超分辨率重建算法
独 坐
基于曲率局部二值模式的深度图像手势特征提取
选择的价值
毫无瑕疵的推理