基于PSO的BP网络在苹果颜色分级中的应用
2009-09-29
作者:薄丽丽1,付主木1,梁坤峰2
摘 要:为了克服苹果颜色分级中存在的误差大、准确率低等缺点,利用粒子群优化BP神经网络算法,实现苹果颜色的实时分级。该算法可优化BP神经网络的权值和阈值,提取苹果颜色特征作为BP神经网络的输入,将训练优化后的BP神经网络做为分级器,对苹果按照颜色进行分级。实验结果表明,该方法分级正确率不低于96%,对一个苹果的检测时间在0.1ms~0.2ms之间,满足实时性要求。
关键词:粒子群优化算法;BP神经网络;颜色分级;分级器
颜色和着色面积是衡量苹果外观品质的重要指标,高品质的苹果着色均匀,有较高的商品价值,并且苹果的表面色调也间接反映了其成熟度和内部品质。国外研究者在苹果的颜色检测方面做了大量的研究,如Tao等[1]利用基于色度特征的统计识别算法完成了苹果、土豆的颜色分级,该统计识别算法需要通过大量的样本才能得出统计规律,因此该方法存在过程复杂、效率低的不足;Kavdir等[2]使用BP神经网络设计苹果分类器,用样本图像训练分级器,实现苹果分级,但该方法神经网络中的BP算法存在收敛速度慢和易陷入局部极值点等缺陷。在国内,参考文献[3]和参考文献[4]分别利用遗传神经网络和支持向量机理论实现苹果颜色分级。虽然前人取得了一定成果,但由于我国硬件设施的落后,苹果颜色分级在实验研究过程中仍存在分级过程复杂、效率低等缺点,不易实现自动化分级和满足分级的实时性要求。因此,本文提出了一种基于粒子群优化算法PSO(Particle Swarm Optimization)的BP神经网络分级方法,利用PSO算法优化BP网络参数,可以避免BP算法收敛速度慢和易陷入局部极值点等缺陷,通过提取苹果颜色特征参数,将该参数作为BP网络输入,训练优化后的BP网络作为分级器,提高苹果颜色分级效率。
1 苹果颜色特征提取
1.1 采集苹果图像
本文选取红富士苹果作为样本,以黑色为背景,便于提取目标图像,用CCD拍摄一个苹果的3个不同侧面,可覆盖苹果大部分表面。拍摄的图像如图1所示。
1.2 选取颜色模型与提取颜色特征
1.2.1 选取颜色模型
颜色是人眼对不同频率的电磁波的一种感知形式,由物体的反射光特性和表面的物理、化学特性决定,据此建立颜色模型。对颜色进行描述和评价的两种最常用颜色模型是RGB颜色模型和HIS颜色填型。
(1)RGB颜色模型
RGB是一个加色立方体模型,光源的亮度、色度、纯度混合在R、G、B 3个参数中,RGB里面任意色光都可以用R、G、B三色不同分量相加混合而成,该模型通常用于彩色监视器和一大类彩色视频摄像机。人眼不能直接感觉R、G、B三色的比例,只能通过感知颜色的亮度、色调以及饱和度区分物体,因此,仅使用RGB颜色模型难以对图像进行直接处理。
(2)HIS颜色模型
HIS颜色模型定义了色调(H)、亮度(I)和饱和度(S)3个互不相关、容易预测的颜色属性,其中H是表面呈现近似红、黄、绿、蓝等颜色的一种或几种的目视感知属性;I表示物体表面的强度或亮度;S是颜色具有白光的程度。该模型与人眼感觉颜色的原理相似,更符合人描述和解释颜色的方式。为了准确分析苹果表面颜色特性,本文选用HIS模型。从RGB模型到HIS模型转化公式如(1)、(2)和(3)所示 [5]。
1.2.2 提取颜色特征
由于在HIS颜色模型中的H分量在色彩上有较好的分类性,反映了苹果由红到绿的彩色特征变化,相比RGB颜色模型,其计算量减少了2/3,利于实时在线分级,因此该颜色模型对彩色的识别可使用H分量。确定色度H值如公式 (4)。
为了反映苹果表面颜色的组成情况,可由色度值得到彩色图像的色度直方图,然后根据直方图的色度曲线提取苹果色度特征参数。为分析不同等级苹果表面红区比例,依国际分级标准,将其分为4个等级,即优等、一等、二等和等外。求出各级苹果色度值范围,得到其对应的色度直方图,具体步骤如下:
(1)用阈值法进行图像分割,提取苹果目标图像,得到苹果RGB图像;
(2)应用公式(1)、(2)、(3)将苹果颜色的RGB模型转化为HIS模型;
(3)利用公式(4)计算各像素的色度值,得到色度直方图。
由各等级苹果的直方图可知,苹果色度范围分布在0°~100°:优等红富士苹果色度值集中在0°~25°;一等红富士苹果色度值集中在15°~45°;二等红富士苹果色度值集中在30°~65°,且分布比较分散;等外红富士苹果色度值集中在60°~80°。按照每隔20°为一子区间进行划分,分别有5个点组成色度区域。各等级苹果如图2所示,色度直方图曲线如图3所示。
图3中横坐标是色相范围0°~100°,纵坐标是各色相值下的频度,选用每个苹果的色相频度作为颜色分级特征参数。将该参数作为BP网络的输入,用PSO优化后的BP网络作为分级器,实现苹果颜色分级。
2 PSO优化BP神经网络算法
2.1 PSO和BP神经网络
粒子群算法是基于群体的演化算法,由Kennedv和 Eberhart于1995年提出,该算法的基本思想源于对鸟群捕食的模拟,进而演化成随机化搜索最优解的方法。在PSO算法中,通过初始化一群随机粒子,用迭代找到最优解。在每次迭代中,粒子通过跟踪两个极值更新自己,一个是粒子本身所找到的最优解,称为个体极值Pbest;另一个极值是整个种群目前找到的最优解,为全局极值gbest。粒子主要由以下公式更新自己的速度和位置[6]:
其中,xid是粒子的当前位置;vid是粒子的速度;w是惯性权重;rand1( )、rand2( )是在[0,1]区间内均匀分布的随机数;c1和c2为加速系数,且取大于零的常数。PSO算法具有概念简单,容易实现,搜索速度快,搜索范围大等优点。而BP神经网络一般为多层神经网络,是一种多层前馈神经网络。 BP网络模型一般有输入层、隐含层和输出层,相邻神经元之间实现全连接,而每层各神经元之间无连接。传统BP训练算法收敛速度慢,易陷于局部极小,难以收敛到全局最优点,学习过程常发生振荡,训练过程中学习新样本时有适配问题。为了解决BP神经网络中的不足,本文利用PSO的优点优化BP神经网络参数,且利用PSO的收敛性使所求问题能够以较大概率收敛到全局最优解或次优解,很好地解决BP网络存在的局部收敛性问题,提高BP网络分级准确度。
2.2 PSO优化BP神经网络算法
直接用BP网络设计苹果分级器,分级速度慢,准确度低,因此本文引入PSO优化BP网络参数,避免BP网络训练时陷入局部最小问题,并提高BP网络训练速度,从而提高分级速度和准确度。
在PSO优化BP网络算法中,用表示一组参数值向量,该向量中的每一维表示权值和阈值,d为BP网络中每一维的权值和阈值个数,BP神经网络中的所有权值和阈值个数是74个,其中权值个数为63个,阈值个数为11个。粒子的适应值计算如公式(7)[8]:
式中,m是训练样本,值为100;n是BP网络输出层个数,值为4;Yij为数组(0,1,2,3),其中数组中0、1、2和3分别表示优等、一等、二等和等外4个等级,即理想输出值;通过训练优化后的BP网络得到实际输出值即yij,值为(1.6247e-021,1,2,3)。通过公式(7)计算出粒子适应值进行迭代,直到全局搜索完成。在PSO算法实现过程中,根据评价网络性能标准不断提高BP网络性能,评价网络性能公式为(8):
式中iter是算法当前迭代次数,是第i次粒子迭代全局最优值的适应度。其算法流程如图4所示。
其中l、q、k是设定BP网络输入层、隐含层、输出层的个数,其值如图5所示。
3 仿真结果
训练优化后的BP神经网络作为分级器,实现苹果颜色的分级。BP网络输入层是苹果颜色特征参数的色相频度,共l个节点,值为5,分别对应5个色相频度域,即0~0.02、0.02~0.04、0.04~0.06、0.06~0.08和0.08~0.1。确定隐含层节点数只能凭经验估计,在100个训练样本下,隐含层节点数取为7,即q值为7;输出层为k个节点,值为4,分别对应4个分类等级。隐含层传递函数为正切S型函数,输出层传递函数是线性函数,训练好优化后的BP网络结构为图5中的5-7-4型,对应的训练误差曲线图如图6所示。
从图6可知BP网络训练误差是2.428 6e-031,在PSO优化BP网络算法误差范围(0.009~0.056)之间,则可用该训练好的BP网络分级器进行苹果颜色分级。选取各等级红富士苹果各10个,共40个苹果,采集苹果图像作为样本,仿真结果如表1所示。表中BP算法误差是直接使用BP网络实现分级存在的误差,而PSO优化BP网络算法误差表示用优化后的BP网络进行分级存在的误差。
提取苹果颜色特征信息,利用PSO的全局搜索、计算复杂度低、减少实验次数的能力优化BP网络的参数,避免了BP算法陷入局部最小值。然后用训练优化后的BP网络作为分级器,实现苹果颜色分级。实验结果表明该算法分级准确率不低于96%,识别一个苹果的平均时间为0.1 ms~0.2 ms之间,满足实时分级的要求。
参考文献
[1] TAO Y, HEINEMANN P H, ZETAL V. Machine vision for color inspection of potatoes and apples [J]. Transaction of the ASAE, 1995, 38(5): 1554-1561.
[2] NAKANO K. Application of BP neural networks to the color grading of apples [J]. Computer Electron.Agric, 1996, 17: 103-115.
[3] 李庆中,张漫,汪懋华. 基于遗传神经网络的苹果颜色实时分级方法[J]. 中国图形图像学报, 2000, 5 (9): 779-783.
[4] 袁金丽,郭志涛,武睿,等. 基于支持向量基的苹果颜色分级[J]. 农业网络信息, 2007(7): 78-81.
[5] GONZALEZ R C, WOODS R E. Digital image processing second edition [M]. Publishing house of electronics Industry, 2008.
[6] 杨维, 李歧强. 粒子群优化算法综述[J]. 中国工程科学, 2004(5): 87-94.
[7] 钟珞, 饶文碧, 邹承明. 人工神经网络原理及其融合应用技术[M]. 北京:科学出版社, 2007.
[8] 潘昊, 侯清兰. 基于粒子群优化算法的BP网络学习[J]. 计算机工程与应用,2006(16): 41-43.
[9] 魏海坤. 神经网络结构设计的理论与方法[M]. 北京:国防工业出版社, 2005.