一种改进GA神经网络棉花杂质检测算法
2017-05-09张志强张太红
张志强,张太红,2,刁 琦,董 峦,3
(1.新疆农业大学 计算机与信息工程学院,新疆 乌鲁木齐830052;2.中国农业大学 信息与电气工程学院,北京100083;3.河海大学 计算机与信息工程学院,江苏 南京210098)
一种改进GA神经网络棉花杂质检测算法
张志强1,张太红1,2,刁 琦1,董 峦1,3
(1.新疆农业大学 计算机与信息工程学院,新疆 乌鲁木齐830052;2.中国农业大学 信息与电气工程学院,北京100083;3.河海大学 计算机与信息工程学院,江苏 南京210098)
棉花杂质检测是棉花加工产业的关键步骤,直接影响棉花的质量及价格。为了有效地把杂质从棉花中脱离出来,我们通过在YCbCr颜色空间下,基于杂质与棉花的色调信息差,提取二者的样本,采用BP神经网络进行训练并输出它的误差,得到适应度函数并进行遗传算法的选择、交叉及变异操作,优化神经网络权值、阈值,直至输出误差达到要求或达到预设迭代次数。最后我们根据所获得的BP神经网络权值、阈值进行棉花图像分割。在这个基础上,对遗传算法的选择算子、交叉算子和变异算子进行改进。分别对暗光、常光、强光3种情况下的进行杂质脱离,实验表明,本方法可实现准确分割,检测率达到92.3%。
YCbCr;遗传算法;杂质检测;图像分割
无论是人工还是用机器采摘棉花,都会混入杂质。有效剔除棉花杂质是有效提高棉纺行业质量的关键。近年,工业领域将机器视觉系统,光电感应系统和超声波检测系统应用在棉花杂质检测领域[1]。以图像处理和模式识别为基础的机器视觉系统,具有获取信息快速准确,特征提取和处理方法成熟的优点,可以有效地结合模式分类方法。和其他方法相比,成本,精度和速度等因素,机器视觉系统更加适合棉花杂质检测。
迄今为止,棉花杂质检测的研究主要有:在HIS和Lab颜色模型下,田昊利用中值滤波,对图像进行自适应阈值分割,可以有效检测出常见杂质[2];冯志新等人采用RGB模型对图像的3个通道进行预处理,阈值分割和数学形态学处理,最后计算出含杂率[3];郭彩霞等人在RGB颜色空间下,创建BP网络识别模型,可有效识别出原棉中的异性纤维[4];丁名晓等人提出Gabor滤波器的杂质检测算法,有效消除由于光照条件造成的干扰,可精确检测出棉花中常见的杂质[5];高伟等人在HIS颜色空间下实现棉花杂质高速实时的检测方法,杂质识别率较高[6]。
遗传算法[7]在图像分割上的应用,使得图像分割效果更加准确,收敛速度更加快捷。由于易陷入局部最优、迭代后期搜索速度较慢问题,学者提出了许多改进算法,如自适应遗传算法[8],改进的精英遗传算法[9],粒子群算法结合遗传算法[10]等。 文中是基于YCbCr颜色空间,用BP神经网络对棉花和杂质进行训练,通过遗传算法优化BP网络的阈值进行图像的分割,并改进了遗传算法的选择算子、交叉算子与变异算子,分别对弱光,常光及强光条件下图像分割,可准确检测棉花杂质,且收敛快。
1 研究方法
1.1 颜色空间选择
在RGB颜色空间中,R(红)、G(绿)、B(蓝)3个颜色分量之间的相关性比较高,对于同一种颜色属性,在不同的光照条件下,R(红)、G(绿)、B(蓝)三者的值易发散,很难确定某种特定颜色阈值以及在颜色空间的分布情况。HSV颜色空间是可分离亮度分量,但是从RGB颜色空间转换到HSV颜色空间计算量大,而且在亮度值和饱和度较低的情况下,使用HIS或HSV颜色空间计算的H分量不可靠。在YCbCr颜色空间中,Y代表亮度分量,Cb代表蓝色色度分量,Cr代表红色色度分量。由RGB颜色空间到YCbCr空间的转换公式如式(1)所示:
由式(1)我们可以看出,YCbCr颜色空间与RGB颜色空间存在线性关系,色度分量与亮度分量相互独立。在不同亮度下,YCbCr空间内亮度范围的变化很大,而色度范围的变化很小,以上两点有利于光照变化图像处理。
1.2 基于GA优化的BP算法
1.2.1 BP算法
BP算法是一种以梯度下降法为基础的有监督学习算法,而且具有学习能力[11]。它的思想是:输入学习样本,并选定网络权值和阈值初始值,然后通过反向传播算法对网络的权值、阈值以及误差进行反复的调整修改,促使输出向量逼近期望向量,当网络输出层的均方误差小于指定误差或达到训练次数时结束训练,并保存网络的权值和误差。输出误差与权值的关系如下式:
1.2.2 遗传算法
遗传算法是一种借鉴进化规律,模拟自然选择,交叉和基因变异现象搜索最优解的方法。遗传算法的过程如下:
1)根据问题规模计算个体所需编码长度L,随机产生N*L大小初始化种群P,并计算所有个体适应度值;
2)对种群P随机选择交叉个体,依据交叉概率pc在交叉点执行交叉操作,得到新种群P1;
3)对种群P1个体依据概率pm执行变异操作,得到新种群P2;
4)计算种群P1与P2中所有个体适应度,从P1与P2中参照适应度选出对应的最优个体作为下一代种群,然后重复以上步骤,直至满足某种收敛。
1.2.3 遗传优化的BP算法
BP算法易陷入局部极小值,而且收敛速度比较慢。但是,通过遗传算法优化BP网络的权值,一定程度上避免了局部极小值,有较好全局搜索能力,同时加快种群收敛速度,避免早熟现象。
采用遗传算法优化BP神经网络过程如下:
1)在暗光,常光以及弱光3种条件下拍摄棉花杂质图片,分辨率为400*500,提取目标与背景的样本数据,并建立BP神经网络;
2)随机产生一组大小为N的种群,种群中的个体代表神经网络的初始权值,设定种群规模以及固定的交叉、变异概率;3)根据BP神经网络计算网络输出误差Σ(dk-ok)2,建立适应度函数f=1/(E+1),其中,dk、ok分别表示第k组数据的期望输出和实际输出;
4)根据选择、交叉与变异算法对生成的种群进行筛选生成新一代种群,直至达到最大遗传迭代次数或网络误差最小;
5)提取网络误差最小时或适应度函数输出最大时对应的BP权值与阈值,并根据其进行棉花图像分割。
2 改进的遗传算法
2.1 改进的选择算子
轮盘赌选择方式是传统遗传算法经常使用的方法,这种选择方式直观简单,深受欢迎。但存在一些不足:在遗传进化初始阶段,根据轮盘赌选择方法,可能存在适应度较高的个体被选中的机会就大,从而选择复制出相当数量子代,容易丧失种群的多样性,同时很难搜索找出全局最优解;在遗传进化的末了阶段,种群中的所有个体差异不明显,适应度比较接近,轮盘赌算法失效,无法辨别种群中个体优劣。
改进的选择算子:对种群中的全部个体进行排序,保留适应度较高个体,去除适应度低个体。将全部个体分成四份,淘汰后1/4个体,拷贝前1/4个体两份,保留中间2/4,选择到下一代当中。
2.2 改进的交叉算子
交叉算子不但影响遗传算法收敛性,同时也影响遗传算法收敛速度。所以,合理有效的交叉因子可提高遗传算法的性能。对交叉算子进行改进,有利于保护亲代个体中的优良基因,有利于提高遗传算法性能[12]。可通过父代之间的相似度判断是否进行交换操作。
相似度:s=c/n,表示两个父代个体间的相似度。其中,c表示两个个体共同子串的长度,n代表种群中个体编码长度。利用个体间的相似度判断两个个体是否进行交叉操作,首先给出一个交叉临界值,作为比较。临界值的公式如(5)所示:
其中,g表示种群此时进化的代数,G表示总的进化代数。当相似度大于或等于交叉临界值时,不允许两个父代进行交叉操作;当相似度小于临界值时,允许两个父代进行交叉操作。本文采用两点交叉方法进行交叉互换。
2.3 改进的变异算子
在遗传进化后期,固定的变异概率将导致遗传进化过程丧失竞争性,以致降低进化的速度,减弱种群多样性,容易造成局部收敛[13]。所以,变异概率应随着遗传进化过程进行自适应调整,可使得遗传算法跳出局部收敛困境,改善和提高运行效率和鲁棒性。为了较少种群中已形成的优秀模式的可能,同时尽可能多的生成较优秀的模式,文中提出的变异概率随个体适应度作自适应变化的变异算子。自适应变异概率公式:
其中,Pm是即将变异个体的变异概率,Pm_max是最大变异概率,k是此时的进化代数,f是将要变异个体的适应度,fmax为种群中最大的适应度,favg为每一代种群适应度均值。此公式符合“优胜劣汰,适者生存”的进化规律。
3 实验结果与分析
3.1 样本提取
根据目标与背景色差分类,将杂质当作目标,标记为第一类,其他作为第二类。基于YCbCr颜色空间,从10幅典型杂质图片中对每类提取20个各种环境(弱光、常光以及强光)的像素值,如表1所示。
表1 YCbCr颜色空间下杂质图像中各类的像素值
3.2 遗传优化BP的杂质图像分割
根据YCbCr空间的样本像素,BP算法计算赝本的网络输出误差,将误差倒数作为适应度函数,用遗传算法优化适应度函数,根据最大适应度函数值提取对应的网络权值与阈值并对杂质图像进行分割。
图1 原始图像(常光)
图2 BP算法分割
图3 YcbCr&GA算法分割
图5 原始图像(强光)
图6 BP算法分割
3.3 实验分析
采用YCbCr颜色空间与BP神经网络[16-19]减少光照影响。BP算法收敛速度慢[14],分割后噪声大,影响分割准确率。遗传优化BP具有全局优化功能,分割效果比BP算法略好。和文献[15]算法相比,本算法对遗传算法的选择、交叉于变异算子进行改进,分割效果有所改善。将分割后的图像去噪,含杂率分别为:5.90%、3.26%、10.16%。
图7 YcbCr&GA算法分割
图8 本文算法分割
图9 原始图像(弱光)
图10 BP算法分割
图11 YcbCr&GA算法分割
图12 本文算法分割
4 结束语
文中从选择算子、交叉算子及变异算子3个方面改进,不但保全种群多样性,而且保证遗传算法收敛性。采用改进算法在3种不同条件下对杂质图像进行分割,避免陷入局部极小值,具有优化全局能力。样本合理情况下,可有效提高分割准确率。
[1]俊先,应义斌.皮棉中杂质检测技术与检出装备的研究进展[J].农业机械学报,2008,39(7):107-113.
[2]田昊,王维新,毕新胜,等.基于图像处理的机采棉杂质提取算法[J].江苏农业科学,2014,42(1): 366-368.
[3]冯志新,安浩平,吴顺丽.基于RGB模型棉花杂质检测算法[J].计算机与现代化,2013,212(4):99-102.
[4]郭彩霞,袁建畅,金守峰.基于BP网络的棉花中异性纤维的识别算法 [J].西安工程科技学院学报,2006,20(5):542-544.
[5]丁名晓,王云宽,黄为.基于Gabor滤波器的棉花杂质检测算法 [J].中国图像图形学报,2011,16(4):586-592.
[6]高伟,王志衡,赵训坡,等.基于HIS颜色空间的棉花杂质高速实时检测方法 [J].自动化学报,2008,34(7):729-735.
[7]Tong D L,Mintram R.Genetic algorithm-neural network (GANN):A study ofneuralnetwork activation functions and depth of genetic algorithm search applied to feature selection[J].International Journal of Machine Learning and Cybernetics, 2010,1(1-4):75-87.
[8]CHEN Shizhe,LIU Guo-dong,Pu Xin,et al.A daptive genetic algorithm based on superiority inheritance [J].Journal of Harbin institute of technology,2007,39(7):1021-1024.
[9]MENG Wei,HAN Xue-dong,HONG Bing-rong. Bee evolutionary genetic algorithm [J].Journal of Electronics,2006,34(7):1294-1300.
[10]Moradi M H,Abedini M.A combination of genetic algorithm and particle swarm optimization for optimal DG location DG location and sizing in distribution systems [J].Interantional Journal of Electrical Power&Energy Systems,2012,34(1): 66-74.
[11]姚明海.改进的遗传算法在优化BP神经网络权值中的应用[J].计算机工程与应用,2013,49(24): 49-54.
[12]曹道友,程家兴.基于改进的选择算子和交叉算子的遗传算法 [J].计算机技术与发展,2010,20(2):44-46.
[13]程敏,宋宇博,孙刚,等.改进的自适应遗传算法及性能研究[J].计算机与数字工程,2014,42(3): 355-358.
[14]周守军,潘继红,王庆峰,等.城市集中供热系统一次网运行优化及算法[J].北京工业大学学报,2012(4):628-635.
[15]王星,赖惠成,任磊,等.基于YCbCr空间和GA神经网络的棉花图像分割算法[J].计算机工程与应用,2014,50(11):176-179.
[16]张荷芳,王成才,张立广.BP神经网络在热处理控制系统中的应用 [J].西安工业大学学报,2015(11):898-902.
[17]曾泉,谭北海.基于SVM和BP神经网络的车牌识别系统[J].电子科技,2016(1):98-101.
[18]薛皓天,杨晶东,谈凯德.一种改进的BP神经网络在手写体识别上的应用[J].电子科技,2015(5):20-23.
[19]王晨辉,张晓亮,梁晓传.云计算架构下基于BP神经网络负载预测策略的研究[J].电力信息与通信技术,2016(11):46-50.
A cotton impurity detection algorithm based on improved genetic algorithm
ZHANG Zhi-qiang1,ZHANG Tai-hong1,2,DIAO Qi1,DONG Luan1,3
(1.CollegeofComputer&InformationEngineering,Xinjiang AgriculturalUniversity,Urumqi830052,China;2.College of Information and Electrical Engineering,China Agricultural University,Beijing 100083,China;3.Computer and Information Engineering College,Hohai University,Nanjing 210098,China)
Cotton impurity detection is the key step in the cotton processing industry,directly affect the quality of cotton and prices.For effectively will departure from the impurities from cotton,under the YCbCr color space,the impurities and cotton based on color information,the two samples,using the BP neural network for training and its error is output,fitness function and genetic algorithm in the selection,crossover and mutation operation,optimize the neural network weights and threshold,until met the requirement of the output error or to the expected number of iterations.According to the obtained by BP neural network weights and threshold image segmentation for cotton.On this basis,the genetic algorithm selection operator,crossover operator and mutation operator to improve.Respectively to the dim light,run,light impurities from three cases,the experiment shows that this method can realize precise segmentation,detection rate of 92.3%.
YCbCr;GA;impurity detection;image segmentation
TN02
:A
:1674-6236(2017)01-0022-05
2016-11-02稿件编号:201512248
新疆农业大学大学生创新项目(72013068)
张志强(1986—),男,河南项城人,硕士研究生。研究方向:数据库技术。