刘素一1 刘晶璟2 章乐多1
(1武汉科技学院电信系 湖北 武汉 430074
2武汉职业技术学院商学院 湖北 武汉 430074)
摘要:本文将粒子群优化算法运用于BP神经网络的训练,更合理地确定神经网络的连接权重和阈值,提高解决实际问题的能力。同时将PSO-BP神经网络的模型用于织物疵点的分类中。采用正交小波变换的方法对织物图像进行单层分解,并提取水平和垂直两个方向的子图像,分别代表织物的纬向和经向纹理,然后计算其经、纬向的能量、方差、熵等特征值,做为神经网络的输入值。将PSO-BP神经网络与BP神经网络分类的结果相比较,其结果表明PSO-BP神经网络能够取得较好的效果。
关键词:织物;疵点检测;小波变换;粒子群优化算法;BP神经网络,分类
中图分类号: TP274+.5
文献标识码:A
Classification of Fabric Defect Based on PSO-BP Neural Network
Liu Suyi1 Liu Jingjing2 Zhang Leduo1
(1The electronics and information department of Wuhan University of science
and engineering,430074, Wuhan, china.
2 Business School of Wuhan Institute of Technology, 430074,Wuhan, china)
Abstract: In this paper, particle swarm optimization was applied in BP neural network training. It reasonably confirms threshold and connection weight of neural network, and improves capability of solving problems in realities. Meanwhile, PSO-BP neural network is applied into classification of fabric defect. The method of orthogonal wavelet transform was used to decompose monolayer from fabric image. And the sub-images of horizontal and vertical direction are extracted to represent respectively the textures of fabric in warp and weft. Compared classification of PSO-BP neural network to classification of BP neural network, it is shown that PSO-BP neural network achieves favorable results.
Key words: Fabric; Defect Detection; Wavelet transform; Particle swarm optimization; BP neural network ;Classification
1 引言
长期以来,国内外学者对织物疵点的分类进行了大量的研究工作,但由于织物疵点种类繁杂以及织疵的其它特点决定了织疵分类是一个有相当难度的问题[1]。目前较多地应用BP神经网络进行分类。
BP(back propagation) 神经网络具有结构简单、工作状态稳定、易于硬件实现等优点,但其网络训练问题属于超高维的优化问题,存在时间长、容易陷入局部极小值等缺点,影响了算法的精度[2]。
粒子群优化算法(particle swarm optimization,PSO) [3-4]是一种全局优化算法,且搜索速度较快,可以得到比较好的优化结果。
因此本文将粒子群优化算法运用于BP神经网络的训练,更合理地确定神经
*湖北省数字化纺织装备重点实验室项目(编号DTI200606)
作者简介:刘素一(1962.12——),女,博士,副教授。研究方向:非线性理论与复杂系统,检测技术等。
网络的连接权重和阈值,提高解决实际问题的能力。同时将PSO结合BP神经网
络的模型用于织物疵点的分类中,与BP神经网络分类的结果相比较,取得了良
好的效果。
2 粒子群神经网络的建立
2.1 粒子群优化算法
PSO是基于群体和适应度的概念,源于对鸟类捕食行为的模拟,群体中的每个个体(粒子)代表一个可能的解,粒子具有位置和速度特征,算法通过适应度衡量粒子的优劣。随机初始化一群粒通过迭代找到最优解。每次迭代,粒子通过跟踪两个“极值”更新,一是粒子本身的最优解,这个最优解叫做个体极值pi=(pi1,pi2,…..pid),二是整个种群目前找到的最优解,称为全局极值g=(g1,g2,…..gd)。在寻找这两个最优值时,粒子根据如下的公式来更新自己的速度和位置[5]:
(1)
其中:和——当前粒子的速度和位置;
rand( )是均匀分布在(0,1)之间的随机数;
c1、c2是学习因子,通常。
2.2、BP神经网络
设3层BP神经网络,隐层神经元和输出层神经元的激活函数都是s型函数
(2)
为了满足Sigmoid函数要求,将样本数据进行归一化处理,当实际输出与期望输出的误差小于预定值或达到预定的训练周期数时,停止训练。
2.3粒子群优化算法与BP神经网络的结合
用PSO训练BP网络时,定义粒子的位置为BP网络在全连接结构下的所有权重和隐含层节点的阈值,权重范围定为(1,1),粒子使用实数编码。初始隐层节点数设为3,最大隐层节点数设为20,网络训练使用逐步增长法逐渐增加隐层节点数直至满足要求为止。
适应度函数是评价神经网络解决问题能力的指标,用神经网络输出值的均方误差MSE生成目标函数,其倒数作为适应度函数,误差越小,则对应粒子的性能越好。
目标函数的计算公式为:
(3)
式中:——输出节点个数;——训练样本数;——网络期望输出值;——网络实际输出值。种群规模为30;c1=c2=2.0;粒子最大速度Vmax=2.0;
PSO训练BP网络的终止条件为迭代次数k=1000;k1=0.10;Pc=0.05;Pm=0.03。
3、织物疵点图像的小波分解织物
织物一般由经向纱线和纬向纱线交织而成,因此正常织物表面经纬向纹理结构具有规则性[6]。如果织物中包含疵点,那么疵点必会在经向或纬向纹理子图像上发生异常变化,基于这一规律,可以利用小波变换把织物图像分解为经向和纬向两个子图像。
根据正交小波多分辨分析的思想[7],假定为0尺度空间的剩余尺度系数序列,分别为二维离散小波函数的低通和高通滤波器,则二维小波变换的快速分解公式为[8]:
(4)
其中,分别为对应的小波空间的小波展开系数,为对应于尺度空间的展开系数。
采用该算法对图像进行二维小波变换,变换的每一层次,图像都被分解成为四个不同频率的图像,每个图像代表了原图像中的一部分信息,即水平、垂直、对角和低频部分。
针对织物图像,即经过二维正交小波分解后得到的水平和垂直两个方向的子图像,分别代表织物的纬向和经向纹理,舍弃对角线信息和低频的信息。
图1和图2为采用db3小波函数对正常织物图像及经向带有疵点的织物图像进行分解后的结果。从图中可以看出,织物经过一次小波分解后,其水平和垂直水平方向的子图像较好地包含了经纬向的纹理特征,并且疵点位置的纹理有明显的异常。
(a) 原始图像 (b)经向子图像 (c) 纬向子图像
图1 正常织物图像的单层分解示意图
(a)疵点图像 (b)经向子图像 (c) 纬向子图像
图2 疵点织物图像的单层分解示意图
4疵点特征量的选取
图像的特征值是反映图像的类型、性质、状态等特征量,它是对对象进行识别的判据。因此,特征值的确定是相当重要的。由于织物的疵点是由于织造过程中经纬纱不规则交织造成的,因此织物疵点大多数带有经向或纬向的方向性。所以我们通过提取表示经向和纬向的上发生变化的值,来检测织物疵点是否存在,本文采用的特征值是能量、方差、熵等三个。
(1)能量:反映了区域图像的均匀性或平滑性。其定义为: (5)
(2)方差:反映了区域图像的离散程度。其定义为: (6)
(3)熵:反映了图像随机性的量度。其定义为: (7)
式中,为(i,j)的灰度值,M,N分别代表子图像的高和宽。
对经过小波分解后的图1和图2进行以上特征值的计算,其结果见图3。
(a)正常织物经向方差曲线图 (b)断经织物经向方差曲线图
(c)正常织物经向能量曲线图 (d)断经织物经向能量曲线图
(e)正常织物经向熵值曲线图 (f) 断经织物经向熵值曲线图
图3 正常织物图像与断经织物图像的特征值曲线
由此可以看出,带有疵点的织物图像在小波分解后经向子图像的方差、能量和熵值分布曲线图与正常的织物图像有着明显的异常,在相同像素值下其特征值均超过正常范围,说明通过对这些特征值的计算可以检测出织物是否存在疵点。
5、基于PSO-BP网络的织物疵点分类方法及结果分析
5.1 PSO-BP网络模型输入输出特征值的确定
由公式(4)对织物图像进行小波分解后,得到了水平和垂直两个方向的子图像,然后采用(5)—(7)分别提取表示经向和纬向的纹理特征的特征值,即径向方差峰值、能量峰值、熵峰值,纬向方差峰值、能量峰值、熵峰值共六个,将其作为神经网络的输入向量。
本次用于分类的织物疵点图像有经向缺纱、纬向缺纱、油污、破洞、粒节疵点等五种,其疵点典型图像见图4。
(a) 经向缺纱(b) 纬向缺纱(c) 油污(d) 破洞(e) 粒节疵点
图4 织物疵点图像
对多幅不同疵点类型的图像进行小波分解及特征值提取后,得到了特征样本数据,并将该数据进行归一化处理,如表1所示。
表1 归一化处理后的特征样本
| 序号 | 归一化处理后样本特征值 | 疵点 类型 | |||||
| 经向 | 纬向 | ||||||
| 方差 | 能量 | 熵 | 方差 | 能量 | 熵 | ||
| 1 | 0.46154 | 0.40769 | -0.043956 | -0.25962 | -0.38462 | 0.18462 | 经向 |
| 2 | 0.53561 | 0.50769 | -0.043956 | -0.25962 | -0.21795 | 0.58462 | 经向 |
| 3 | -0.439 | -0.29231 | 0.52747 | 0.67788 | 0.61538 | -0.41538 | 纬向 |
| 4 | -0.094017 | -0.092308 | 0.52747 | 0.67788 | 0.53205 | -0.21538 | 纬向 |
| 5 | -0.094017 | -0.092308 | -0.47253 | 0.052885 | 0.032051 | -0.21538 | 油污 |
| 6 | -0.05698 | -0.092308 | -0.32967 | -0.072115 | -0.051282 | -0.21538 | 油污 |
| 7 | -0.019943 | 0.0076923 | -0.18681 | -0.25962 | -0.30128 | -0.015385 | 破洞 |
| 8 | -0.094017 | -0.092308 | 0.52747 | 0.67788 | 0.53205 | -0.21538 | 破洞 |
| 9 | -0.13105 | 0.0076923 | -0.043956 | -0.25962 | -0.21795 | 0.18462 | 粒节 |
| 10 | -0.030952 | -0.14286 | 0.28627 | -0.066667 | -0.066667 | -0.055556 | 粒节 |
| 11 | 0.38746 | 0.20769 | -0.043956 | -0.25962 | -0.13462 | 0.38462 | 经向 |
| 12 | -0.42735 | -0.092308 | 0.52747 | 0.36538 | 0.36538 | -0.21538 | 纬向 |
| 13 | -0.019943 | 0.0076923 | -0.18681 | 0.052885 | 0.032051 | -0.015385 | 油污 |
| 14 | 0.017094 | 0.0076923 | -0.043956 | -0.13462 | 0.032051 | -0.015385 | 破洞 |
| 15 | -0.094017 | -0.49231 | -0.18681 | -0.32212 | -0.30128 | -0.015385 | 粒节 |
5.2计算结果及分析
用表1中前10组数据作为神经网络的训练样本,最后5组数据为检测分类样本。经过多次仿真实验后,对于BP网络而言,在隐含层神经元为19个时,分类结果相对最好。训练结果如图5所示。网络经过187次训练就达到了目标误差。分类结果如表2所示。
表2 BP神经网络分类结果
| 输 出 结 果 | 疵点类别 |
| 0.9930 0.0030 0.0318 0.0097 0.0033 | 径向 |
| 0.0078 0.8867 0.1351 0.5121 0.0072 | 纬向 |
| 0.0102 0.0051 0.9295 0.0403 0.1020 | 油污 |
| 0.0092 0.2354 0.2771 0.9952 0.0003 | 破洞 |
| 0.0407 0.0300 0.0022 0.0023 0.9710 | 粒节 |
对于PSO-BP网络,其训练样本和检测分类样本与BP网络相同。通过多次实验,确定隐含层的数目为14个神经元时,网络分类性能较好,误差曲线平滑。训练结果如图6所示。分类结果如表3所示。
表3 PSO-BP神经网络分类结果
| 输 出 结 果 | 疵点类别 |
| 0.9530 0.0062 0.0090 0.02 0.0016 | 径向 |
| 0.0006 0.9787 0.0266 0.0227 0.0191 | 纬向 |
| 0.0025 0.0026 0.9338 0.0099 0.0045 | 油污 |
| 0.0002 0.0286 0.0187 0.9959 0.0061 | 破洞 |
| 0.0174 0.0031 0.0050 0.0080 0.9595 | 粒节 |
图5 BP神经网络训练结果 图6 PSO-BP网络的训练结果
通过测试结果可以看出,该网络很准确地判断出了疵点的类别,训练耗时短。
6、结论
由于BP(back propagation) 神经网络其训练问题存在时间长、容易陷入局部极小值等缺点,影响了算法的精度。而粒子群优化算法具有良好的寻优能力,因此本文将PSO运用在BP神经网络连接权和阈值的训练中,构成PSO-BP神经网络。同时将PSO-BP神经网络的模型用于织物疵点的分类中。通过PSO-BP神经网络与BP神经网络对疵点分类的结果相比较,PSO-BP神经网络较BP神经网络,隐含元数目较少,训练时间短,分类的准确度高。因此结论是PSO-BP神经网络要优于BP神经网络。
参考文献
[1]步红刚,黄秀宝.基于计算机视觉的织物疵点分类的近期进展[J].东华大学学报(自然科学版),2006.8(32) :143-146.
[2]Martin T.Hagan(美), Howard B.Demath(美), Mark H.Beale(美)著.戴葵译.神经网络设计[M].北京:机械工业出版社,2002
[3]曾建潮,介婧,崔志华.微粒群算法[M].北京:科学出版社,2004.
[4]Eberhart R C,Shi Y.Particle swarm optimization:Developments,applications and resources[C].Proceedings of IEEE Congress on Evolutionary Computation, IEEE Press, Piscataway NJ:2001.81-86.
[5]张燕,汪镭,康琦等.微粒群优化算法及其改进形式综述[J].计算机工程与应用,2005,2:1-3
[6]李立轻. 基于计算机视觉的织物疵点自动检测研究[D].东华大学,2003.
[7]Daubechies I. Orthonomal Bases of Compactly Supported Wavelets[J]. Communications on Pure and Applied Mathematics. 1988,41:909-996.
[8]单亦杰,韩润萍.基于二层自适应正交小波的疵点检测[J],微计算机信息,2007,3(23):303-304.下载本文