APP下载

基于BP神经网络和随机森林的织物图像疵点判别网络

2021-05-07冯晓霞陈剑威柳成林

关键词:特征向量灰度织物

冯晓霞,陈剑威,柳成林

(闽南师范大学数学与统计学院,福建 漳州 363000)

随着计算机和图像处理技术的发展,应用人工神经网络代替人脑[1]进行织物疵点判别成为可能.BP神经网络由以Rumelhar和McClelland为首的科学家在1986年提出[2].该网络具有很强的非线性拟合能力,被广泛应用于织物疵点判别.李鹏飞等[3]借助织物图像的灰度共生矩阵提取特征,用两层BP神经网络检测图像疵点;周继坤[4]借助玻纤布图像的奇异分解提取特征,用两层BP神经网络判别图像中是否存在疵点;YIN等[5]借助斜纹织物图像的灰度直方图提取特征,用两层BP神经网络判别图像中是否存在两种疵点(破洞和油污).上述方法在应用BP神经网络对疵点进行检测或判断时,均只使用了织物图像的1类特征向量.BREIMAN[6]于2001年提出了随机森林的概念,常被用作分类器;吕岚[7]将图像中兴趣点的检测归结为模式识别中的分类问题,采用随机森林检测图像兴趣点;DEOTALE等[8]利用灰度图像的共生矩阵和Gabor小波特征分别生成随机树,应用随机森林判别图像中是否存在疵点.仅考虑1类特征描述图像纹理过于单一,综合多种特征刻画图像纹理,结合随机森林对疵点进行检测或判断也许能提高检测效果或正确率.为提高运用BP神经网络判别织物疵点时的准确率,本文受文献[3-8]启发,借助频谱图滤波、灰度共生矩阵和局部二值模式分别提取织物图像的3个特征向量,通过3个两层BP神经网络并联,结合随机森林,设计出一种用于判别织物图像疵点的新网络.

1 图像特征向量选取

在确定图像的特征向量后,BP神经网络输入向量和输入层的神经元数量也随之确定.本文借助频率域滤波、灰度共生矩阵以及局部二值模式提取织物图像的3类特征,得到3个特征向量作为BP神经网络的输入向量.

1.1 基于频谱图滤波图像的特征向量选取

为在频率域上选取特征向量,需要先研究织物疵点图像的频谱图.为此,对100幅织物疵点图像做傅里叶变换得到相应的频谱图.观察不同类型织物疵点图像的频谱图发现,其亮点分布方式大致有3种,见图1.其中,图1 a~c为不同类型的织物疵点图像,图1 d~f为相应的频谱图.由图1 d~f可知,频谱图上的亮点具有对称性,且主要分布在4个方向,即水平、竖直以及45°和135°方向.

考虑到多尺度、多方向的圆形Gabor滤波器具有优秀的局部特征表示能力[9],文献[10]在频率域中设计了同一尺度的4个Gabor滤波器G1t和1个中心掩模F,从中确定2个最优滤波器,与中心掩模相加构成1个频率域滤波器,用于织物疵点检测,但疵点细节检测不理想.为此,本研究在4个Gabor滤波器外侧增加1个尺度的4个滤波器G2t,t=1,2,3,4,用于捕捉疵点细节信息.相关设计见图2.

(1)

1.2 基于灰度共生矩阵的特征向量选取

1)角二阶矩(Angular Second Moment)

.

(2)

角二阶矩又被称为能量,其数值大小能够反映图像灰度分布的均匀性以及纹理粗细程度.

2)对比度(Contrast)

.

(3)

对比度又被称为惯性矩,其数值能够反映图像纹理的清晰度.

3)相关度(Correlation)

(4)

4)熵(Entropy)

.

(5)

熵是对图像包含信息量的随机性度量,其数值能反映图像灰度分布的复杂程度.

(6)

1.3 基于LBP算子的特征向量选取

局部二值模式(简称LBP算子)是描述图像局部空间结构的非参数算子,在纹理分类中具有强区分能力[12].将织物图像I上任意给定点(xc,yc)的灰度值ic与其8邻域灰度值in(n=0,1,…,7)进行比较,若in>ic,则对应位置为1;否则对应位置为0,由此得到的有序二值集合称为LBP,I上的每个点都对应一个LBP,借助它们来反映图像的局部纹理特征.

(7)

图3 两层BP神经网络的拓扑结构

1.4 BP神经网络的相关知识

BP神经网络具有很强的非线性拟合能力,可映射任意复杂的非线性关系[13],一般包括1层输入层、若干层隐含层以及1层输出层,其中,隐含层和输出层均含有若干神经元.BP神经网络具有信号前向传递和误差反向传递的特点,信号前向传递将输入向量从输入层经隐含层到达输出层;反向传播是将误差信号从输出层经隐含层到输入层逐层反传,依次调整各层的权值和偏置值,直至网络的输出向量与期望输出之间误差满足条件.

令函数f1、f2分别为隐含层和输出层的激励函数,则隐含层第j个输出

.

(8)

由于hj(j=1,2,…,l)又是输出层的输入,故输出层中第k个输出

.

(9)

设期望输出为(y1,y2,…,ym)T,则由式(9)获得的输出向量(o1,o2,…,om)T与(y1,y2,…,ym)T之间的误差值

(10)

引入变量

(11)

(12)

(13)

其中:i=1,2,…,n;j=1,2,…,l;k=1,2,…,m.

(14)

(15)

其中:i=1,2,…,n;j=1,2,…,l;k=1,2,…,m.

(16)

(17)

(18)

(19)

其中:学习速率η∈(0,1);i=1,2,…,n;j=1,2,…,l;k=1,2,…,m;s=1,2,….

应用BP神经网络有训练和测试两个阶段.训练阶段应用训练集和式(16)~(19)反复更新各层每个神经元的权值和偏置值,直到输出向量(o1,o2,…,om)T与期望输出(y1,y2,…,ym)T的误差值E小于误差阈值,训练停止;测试阶段应用训练阶段得到的网络对测试集进行测试,并以测试准确率衡量网络的好坏,若准确率达到要求,则表明该网络设计合理.

2 BP神经网络和随机森林的织物疵点判别

借助由1.1~1.3得到的3个织物图像特征向量,本文设计了3个两层BP神经网络,根据每个网络输入向量的维数确定其各层相应神经元的数量.由于3个BP神经网络的判别结果相互独立,所以借鉴随机森林的思想,将3个独立的判别结果关联起来,以期得到判别结果.

2.1 特征向量归一化

2.2 BP神经网络中相关参数的确定

在应用两层BP神经网络判别织物图像疵点时,需要确定网络中各层神经元的数量.首先,由1.1~1.3可知,3个网络输入向量的维数分别为k1=k2=8和k3=9,则输入层神经元的数量分别为n1=n2=8和n3=9.其次,本文旨在判别织物图像中有无疵点,可用(1,0)和(0,1)分别表示图像中含疵点和不含疵点,故输出层神经元的数量都是li=2(i=1,2,3).最后,确定隐含层神经元数量,这是至关重要的.借助文献[4]的方法,第i个网络中隐含层神经元的数量mi与其输入层神经元的数量ni之间满足li=log2ni,经四舍五入可得隐含层神经元的数量都为li=3(i=1,2,3).

2.3 随机森林

随机森林[6]是一种常见的分类器,它可综合多个输出得到1个最终输出.受文献[7-8]启发,本文根据3个BP神经网络的3个输出向量,借助随机森林判别织物图像中是否存在疵点.

由于3个BP神经网络的输出qi(i=1,2,3)∈{0,1},从而随机森林的输出值Q∈{0,1,2,3}.当至少有2个BP神经网络的输出都为1时,判定织物图像含疵点;否则,判定为不含疵点.因此,设定阈值为1,当Q>1时,判定织物图像中含疵点;当Q≤1时,判定织物图像中不含疵点.

2.4 基于BP神经网络和随机森林的织物疵点判别流程

在1.1~1.3的基础上,基于BP神经网络和随机森林,设计判别织物图像中是否存在疵点的流程,见图4.

图4 基于BP神经网络和随机森林的织物疵点判别流程

3 试验结果与分析

为了验证本文提出方法的有效性,在the online database of Standard Fabric Defect Glossary中选取175幅大小均为150×150的织物图像进行试验,并与文献[4]中的网络进行对比.其中,有145幅织物图像含疵点,30幅织物图像不含疵点.包含的几种常见织物疵点有断经、破洞、断纬、水印、污渍等,见图5.

图5 常见织物疵点图像

图6 本文网络与3个BP神经网络的判别准确率

图7 易被误检的织物图像

3.1 织物图像疵点判别

由图6中的红色曲线可知,本文设计的网络整体判别准确率P随试验次数N的增加变化基本平稳,均超过了99.9%.图6中的蓝色、黄色和绿色折线代表独立应用基于频率域滤波、灰度共生矩阵以及LBP算子3个BP神经网络判别织物图像疵点得到的整体判别准确率.从4条折线的位置关系可见,本文网络的整体判别准确率均高于其他3个网络.综上表明,本文提出的网络能有效且稳定地判别织物图像是否含有疵点.

应用本文网络对测试集中的织物图像进行判别时发现,该网络在判别无疵点的织物图像时,Q值均为0或1,即全部判别正确;判别含疵点的织物图像时,Q值多为2或3,但存在Q值为0或1的情况,这就意味着有部分含疵点的织物图像被误检.给出3幅Q值出现0或1次相对较多的含疵点织物图像,见图7.其中,图7 a是3幅中Q值出现0或1次数最多的.

应用训练好的3个BP神经网络对图7中3幅织物图像分别作500次判别试验.因Q值由qi值决定,故统计网络误检时相应的qi值,i=1,2,3.结果显示:图7 a共被误检11次,其中,q1=q2=0有6次,q1=q2=q3=0有3次;图7 b、c的情况类似,故认为前两个BP神经网络是造成误检的主要原因,而另一个原因可能是织物疵点与背景纹理的对比度太小,导致应用3种方法提取的织物图像特征向量未能完整地描述疵点的特征,进而影响到判别的准确性.

3.2 本文设计的网络与文献[4]网络比较

为了进一步验证本文设计的基于BP神经网络和随机森林的网络性能,从两个方面将本文网络与文献[4]网络进行比较.

1)特征向量提取.文献[4]针对玻纤布的图像应用奇异值分解的方法提取了1个特征向量;针对织物图像,本文应用频谱图滤波、灰度共生矩阵和LBP算子的方法提取了3个特征向量,多样化的特征向量可以更全面地对织物图像进行描述.

2)网络复杂性.文献[4]中BP神经网络的输入向量为35维,隐含层有8个神经元;本文3个独立BP神经网络的输入向量维数分别为8、8、9,隐含层的神经元数量均为3,输出层的神经元数量与文献[4]相同,都为两个,即使应用随机森林做最终判别,从输入层与隐含层以及隐含层与输出层之间的连接角度看,本文的网络比文献[4]的网络更加简单、更有效率.

4 小 结

针对织物图像疵点的判别问题,本文设计了一个基于3个两层BP神经网络和随机森林的判别网络,其中3个BP神经网络的输入向量是通过频谱图滤波、灰度共生矩阵和LBP算子分别提取并归一化得到的,综合独立的3个BP神经网络的测试结果,结合随机森林得到最终的判别结果.

针对the online database of Standard Fabric Defect Glossary中的175幅织物图像(包含145幅含疵点的织物图像和30幅不含疵点的织物图像),应用本文设计的网络对织物图像进行判别.试验结果表明,该网络的判别能力强,整体判别准确率高达99.9%;针对3幅易被误检的含疵点织物图像,分析了造成误检的可能原因;从两个方面将本文设计的网络与文献[4]中的BP神经网络进行了比较,结果可见,本文的网络更加简单、更有效率.

猜你喜欢

特征向量灰度织物
航空滤光片阵列多光谱图像条带灰度调整算法
无Sn-Pd活化法制备PANI/Cu导电织物
《丝绒织物》等103项纺织行业标准发布
水洗对织物透湿性能试验结果的影响
采用改进导重法的拓扑结构灰度单元过滤技术
克罗内克积的特征向量
高中数学特征值和特征向量解题策略
天津港智慧工作平台灰度发布系统和流程设计
Arduino小车巡线程序的灰度阈值优化方案
三个高阶微分方程的解法研究