基于颜色特征和极端学习机的番茄成熟度识别
2014-09-02张亚丽
摘要:番茄成熟度的判断对实现番茄的自动化采摘意义重大,本研究提出了一种番茄成熟度判断的方法——极端学习机,即对番茄图片进行环形分块划分提取每一块的颜色直方图特征组成颜色特征向量,再利用主成分分析法对提取出来的特征进行降维处理,最后采用极端学习机进行识别判断。通过与支持向量机和BP神经网络的对比发现,极端学习机速度极快,远远快于BP网络和支持向量机,同时极端学习机泛化性较好,在番茄成熟度判断中精度达到92.7%。
关键词:番茄;成熟度;极端学习机;BP神经网络;颜色直方图
中图分类号: TP391.41;S126 文献标志码: A 文章编号:1002-1302(2014)07-0411-03
收稿日期:2013-10-30
作者简介:张亚丽(1974—),女,河南南阳人,硕士,高级讲师,研究方向为计算机应用与模式识别。E-mail:zyli1974@126.com。目前国内主要是通过人工来完成番茄的采摘,人工采摘劳动强度大,极易造成番茄损伤,而且人工采摘大大降低采摘的效率而直接影响到种植番茄的经济效益,因此实现番茄的大规模自动采摘势在必行[1]。随着人工智能的发展,自动采摘机器人的研究也取得一定的进展,其中判断番茄是否成熟是至关重要的一步。番茄成熟度的判断可以用模式识别的思路来解决,以BP算法为代表的前馈神经网络已经在模式识别中取得了广泛的应用,但是存在着以下几点难以解决的问题:(1)学习速度慢,训练过程需要不断的迭代完成;(2)对参数选择敏感,训练步长和学习率选取不当直接会影响到前馈神经外网络的整体效果[2]。支持向量机由于其处理小样本的优秀能力已受到极大的关注[3],但是它也存在着学习速度慢,算法性能对核参数和惩罚因子的选取较为敏感等问题。针对这些问题Huang等提出一种前馈神经网络的新的训练算法——极端学习机(extreme learning machine ELM)[4],该方法随机设置前馈神经网络的输入权值,通过计算输出权值的最小二范数解来完成网络的训练,计算过程简单,速度极快,且泛化性良好,已经在许多问题中得到很好的应用。本研究将极端学习机应用到番茄的成熟度识别中,并进行对比分析。
极端学习机(ELM),是一种前馈神经网络的简单快速的有效的学习算法,跟传统的基于梯度下降的学习算法相比,极端学习机有很大的优势:(1)ELM的计算速度非常快,这是因为它的隐含层的连接权值在训练之前随机设定,训练过程不需要迭代调整;(2)传统的梯度下降求解算法,容易陷入局部极小,而ELM算法不存在这个问题[5-6]。同时根据Bartlet的理论,网络的输出权值越小那么这个网络的泛化性能就越好,因而ELM求解输出权值的最小二范数解的方法能具有很好的泛化性;(3)ELM的参数选择简单,只需要选择合适的隐层节点便可获得良好的性能,而传统的基于梯度下降的算法如BP网络等,还需要选择合适的学习率、训练歩长等,选择不当会严重影响网络的泛化性[7-8]。
2番茄图像的特征提取
在模式识别问题中,提取合适的特征向量对识别率的影响很大,番茄图片的特征提取过程如图1所示。
在预处理阶段首先将采集的的番茄样本归一到 112×112 的大小,由于在采集过程中会存在噪声和干扰,所以还需要对图片进行滤波处理。预处理完成以后就要选择合适的特征提取方法,颜色的变化是反映一个果实是否成熟的重要指标之一[9],颜色直方图可以很好地反映出一张图片的颜色特性并已经在图像检索中广泛应用,但是如果对番茄整体提取颜色直方图特征就不能表达出这些颜色在番茄中的位置信息,而这点对识别一个番茄的成熟程度非常重要。Aibing提出了一种环形划分的颜色直方图[10],能很好地反映图像的局部颜色特征,借鉴该方法的思路提出了一种番茄局部直方图的提取方法,番茄图像的环形划分如图2所示。
在图2中选取一个合适的圆心,以R为半径做圆,刚好将番茄包围在圆内,将半径R分为N等份,每一份的长度为 R/N,从圆心开始分别以K×R/N(1≤K≤N)为半径做出K个圆,这样原来的番茄图片就环形划分为N份,分别提取各环内的颜色直方图特征(x-μ)/σ,然后从内到外按顺序首尾相连组合成一个向量P=(S1,S2,…,Si,…,SN)作为每张番茄图片的颜色直方图特征,采用该方法提取番茄的颜色特征能很好地反映番茄颜色的空间特性,同时该特征具有旋转不变性。
采用上述方法提取颜色特征,特征向量的维数过大。如果将该特征向量直接作为分类器的输入势必会影响分类器的效率和性能,所以还需要对特征向量进行降维处理,主成分分析已经证明在特征降维中具有十分优良的效果,它可以保证原有信息损失很少的情况下对特征向量进行降维压缩,这里采用主成分分析进行颜色特征降维处理,最后得出的特征经过归一处理就可以作为分类器的特征输入。
3结果与分析
选取成熟度为生、微熟、成熟3种人工经验标定好的番茄图片(图3)进行试验,每种成熟度番茄图片60张,每种成熟度的番茄选取30张作为训练样本,3种成熟度的番茄一共有90张训练样本,剩下的90张图片作为测试样本来测试算法的性能。
将番茄图片等半径划分为4个环形区域,提取出颜色直方图特征向量,并用主成分分析进行降维处理,经过交叉验证,主成分个数选择29维时能取得比较好的效果。
极端学习机的参数选择十分简单,只有一个参数即隐含层的节点数目需要选择,不同的隐含层节点数目对极端学习机的分类性能影响很大,很多无限可微的函数都可以作为极端学习机的激活函数,选用sin函数作为极端学习机的激活函数,从第20个节点开始每次增加20个节点进行交叉验证,验证不同数目的隐含层节点对极端学习机的误差变化(图4)。
从图4可以看出,隐含层节点数对极端学习机的影响很大,当节点选取160时极端学习机的分类性能取得较好的效果,此时,继续增加节点,极端学习机的分类性能增加非常缓慢,故极端学习机的参数选择十分简单,只需要选择一个足够大的隐含层节点数目就能取得不错的分类效果。endprint