秦淑芳 刘昌华 黄申奥
(武汉轻工大学数学与计算机学院,武汉 430023)
稻米是我国的主要粮食作物之一。随着人们生活水平的改善,对稻米种类和品质的要求也越来越高,快速准确的鉴别稻米成为日常生活中迫切的需要。传统的稻米品种鉴别一般采用人工方法,主要是抽样后通过目测手查法进行判定,这种方法主观性大,速度慢,准确性不高,导致稻米品种鉴别具有随机性,可信性不高。随着计算机技术的快速发展,机器视觉技术已经广泛应用于多个学科,在农业领域也取得了很多突破性的进展。目前利用近红外图像和电子鼻已经可以成功的鉴别出稻米品种,但是这种设备造价高且复杂,使得很难大规模投入使用[1-5]。
由于稻米按粒形和粒质可分为籼米、粳米和糯米3类,其中籼米和粳米的颜色相近,较透明,但籼米粒形细长而稍扁平,粳米粒短而阔,较厚,呈椭圆形或卵圆形;糯米的颜色偏白色而不透明,它又可分为两种:籼糯米和粳糯米,其中籼糯米的粒型和籼米相近,但颜色不同,粳糯米的粒型和粳米相近,但颜色不同。本实验以稻米的数字图像为研究对象,基于稻米图像的灰度平均值、长宽比和圆形度,提出了一种基于K-means聚类算法和BP神经网络相结合的稻米品种鉴别方法[6-7]。该方法利用图像处理技术提取出11种稻米样品的灰度平均值、长宽比和圆形度三项特征参数,利用K-means聚类算法对所得数据进行粗聚类,将11种稻米样本分为3类。聚类的结果作为BP神经网络的输入,训练得到分类器,利用此分类器,可以将3类稻米样本进一步分类。实验结果表明,这种算法的分类效果要优于单一使用BP神经网络和K-means算法,且分类准确率达到80%,可见本实验的方法用于稻米品种鉴别是可行的。
聚类,顾名思义,就是将相同或者相似的成员集中在一起并进行分类。聚类技术就是一种发现这种内在联系的技术,是数据挖掘学科中的一个重要分支。聚类技术遵循的理念是同一个集合中的样本相似性最大,不同集合中的样本相异性最大。在数据挖掘领域中,聚类算法可大致分为五种:基于层次、基于密度、基于划分、基于网络、基于模型。K-means聚类是最著名的划分聚类算法[8-9],由于简洁和效率使其成为最广泛应用的聚类算法。
K-means聚类算法相关描述:设样本集X={xi|i=1,2,...,N},K个类别为Cj(j=1,2,...,K),K个聚类中心为Aj(j=1,2,...,K)。
样本间的欧式距离公式:
(1)
聚类中心:
(2)
误差平方准则函数:
(3)
K-means聚类算法思想:
初始化:在样本集X中随机选取k个对象作为初始聚类中心;
进行聚类:利用公式(1)计算每个对象与各个聚类中心的欧式距离,把每个对象分配给距离聚类中心最近的类别,然后利用公式(2)计算出每个类别新的聚类中心;
终止条件:重复进行聚类步骤直到聚类中心不再发生变化或者迭代次数达到预设的最大迭代次数。
K-means聚类算法在分类样本较少时,有很好的聚类效果,样本类别过多,就会导致错分。通常的K-means算法在初始化聚类中心时,是随机选取的,这种随机性决定了每次聚类效果都不同,当随机选取的聚类中心接近每一类样本数据中心时,收敛速度快,分类效果好;当聚类中心处于每一类样本数据边缘时,收敛速度很慢,甚至迭代结束,仍没有收敛。
人工神经网络是用人造神经网络模仿人大脑的神经网络,实现某种功能。BP神经网络是1986年由Rumelharthe McClelland等科学家提出的,是一种按照误差逆向传播算法训练的多层前馈网络,具有自适应、实时学习的特点。在大部分人工神经网络中都采用BP神经网络及其变化形式,是前馈型神经网络的核心部分。由于BP神经网络能学习和存储大量的输入输出模式映射关系,并根据输入计算输出[10-12],因此广泛应用于模式识别和分类。
三层BP神经网络的结构如图1所示,它包括一个输入层、一个隐含层和一个输出层,分别由n、p、q个神经元组成。
隐含层神经元的输出为:
(4)
图1 三层BP神经网络结构
输出层神经元的输出为:
(5)
公式(4)中,ωij表示第i个输入层神经元与第j个隐含层神经元之间的连接权;公式(5)中νij表示第j个隐含层神经元与第t个输出层神经元之间的连接权;θj、rt表示相应神经元的阈值;f(x)表示神经元的激励函数,这里采用公式(6)来计算:
(6)
一般的,假设yt表示第t个神经网络的期望输出值;ct表示第t个神经网络的实际输出值;当训练样本总数为K时,网络全局输出误差采用最小方差计算,可定义公式(7)
(7)
本研究依据反向传播梯度下降法修正连接权值νij。
(8)
(9)
yt(N)=yt(N-1)+α·d
(10)
(11)
(12)
(13)
每个样本学习结束,利用公式(9)、公式(12)调整相应的连接权值,直到K个样本都学习结束时,判断全局输出误差函数是否达到设定的收敛限定值,直到误差函数达到限定值时,网络训练结束;如果网络训练达到最大学习次数时,误差仍然大于设定的数值,网络训练也结束,同时证明网络训练失败。
BP神经网络在分类中得到广泛的应用,但BP神经网络仍存在一定的局限性,当样本的类别过多,样本数目过少时,直接采用BP神经网络很难准确的对样本进行分类。BP神经网络在训练过程中,容易陷入误差性能函数的局部最小值,导致训练结果不是很好。要解决这些问题,通常的做法是增加神经元和网络层数,然而这也增加了网络的复杂性。
本研究基于K-means聚类算法和BP神经网络的分类方法,构造分类模型如图2所示。
图2 本研究的分类模型
分类模型算法可描述如下:
输入:11种稻米图像;
输出:每一类样本的分类正确率。
本文的稻米品种分类方法的实现过程如下:
提取特征参数:对输入的图像分别提取灰度平均值、长宽比、圆形度三个特征值;
聚类:选取分类类别为3,对图像的特征参数数据利用K-means算法进行聚类,不断更新聚类中心,直至聚类中心不再变化或迭代结束;
构建BP神经网络:定义BP神经网络的网络结构,确定网络层数、创建函数、训练函数,输入训练数据训练神经网络分类器;
测试:对训练完成的分类器输入测试数据,输出分类正确率。
稻米在植物科学研究中通常被分为籼米和粳米两个亚种[13];而在实际生活中,人们则更加习惯根据籽粒形状和籽粒品质将稻米分为籼米、粳米和糯米三大类。基于目前稻米品种鉴定中存在的问题,本实验分别选用了湖北产籼米3种,泰国产籼米1种,湖北产籼糯米1种,东北产粳米5种,东北产粳糯米1种共11种稻米作为研究对象,选取11种稻米各50粒(总共550粒)作为建立大类模型的实验样品,利用选取的特征参数提取方法分别提取稻米样品的灰度平均值、长宽比、和圆形度3个特征参数。以550粒样品的特征参数为输入依据,将4种籼米样品编号1~200,粳米样品编号201~450,糯米样品编号451~550,其中每种稻米样品分别编号,采用数字1~11分别代表11种稻米样品,其中1~4为籼米,5~9为粳米,10、11为糯米,用于特征参数提取。
对于K-means聚类算法,这550粒样本作为分类的输入数据;对于BP神经网络,每种稻米选取30粒作为训练样本,剩下的20粒作为测试样本。分别统计利用每种算法处理,每种稻米的分类正确率。将K-means聚类算法、BP神经网络与本文的算法的分类正确率进行对比,以验证本研究所提算法的性能,结果如表1所示。
分类正确率采用公式(14)来计算:
(14)
式中:la表示输入数据的标签,labels表示输出数据的标签,sum表示计算总和。
表1 每种稻米样本的分类效果对比结果
从表1可以看出,利用K-means算法对11个样本分类时,籼米、粳米、糯米这三大类的样本彼此没有混淆,但4种籼米之间、5种粳米之间、2种糯米之间很容易错误分类,且每种样本分类的正确率大部分低于80%,总体的正确率是65%;利用BP神经网络分类时,4种籼米经常分为第3类,5种粳米经常分为第7类;2种糯米的分类效果很好,虽然个别样本的正确率接近100%,但大部分样本的正确率低于60%,总体的正确率为56.55%;利用本研究的方法分类时,虽然个别样本的正确率低到35%,但大部分的正确率都达到80%,总体的正确率为80.64%。
由于本次实验所用的稻米品种较多,而每一品种的样本数目较少,在选取样本作测试样本训练分类器时,准确性不够,导致最终的分类识别率。因此笔者下一步的研究重点是采集更多的稻米品种和样本数目,建立样本库,提高分类精度。
本研究在传统单一使用K-means算法和BP神经网络的基础上,将这两种算法结合用于稻米品种鉴别,克服了因样本类别过多、分类精度不高的局限性。实验结果显示,利用本研究的方法有的单个样本的分类正确率较低,但大部分样本的分类正确率达到80%,总体的分类正确率达到80.64%。K-means算法总体的分类正确率为65%,BP神经网络的分类正确率为56.55%。可见利用本试验的方法,分类正确率最高,且具备一定稳定性。
[1]郭文川,朱新华.机器视觉技术在谷物识别与分级中的研究进展[J].粮食与饲料工业,2002(6):50-51GUOWC,ZHUXH.Researchprogressofmachinevisiontechnologyingrainidentificationandclassification[J].GrainAndFeedIndustries,2000(6):50-51
[2]CHURCHILLDB,BILSLANDDM,COOPERTM.Comparisonofmachinevisionwithhumanmeasurementofseeddimensions.TransactionsoftheASAE.1992,35(1):61-64
[3]LIUJ,PAULSENMR.CornWhitenessmeasurementandclassificationusingmachinevision.TransactionoftheASAE,2002,43(3):757-763
[4]梁亮,刘志霄,杨敏华,等.基于可见/近红外反射光谱的稻米品种与真伪鉴别[J].红外与毫米波学报,2009(5):353-356,391LIANGL,LIUZX,YANGMH,etal.Discriminationofvarietyandauthenticityforricebasedonvisual/nearinfraredreflectionspectra[J].InfraredMillimWaves,2009(5):353-356,391
[5]熊作周.基于人工嗅觉系统稻米品种鉴定方法的研究[D].郑州:河南科技大学,2012XIONGZZ.Theresearchofricevarietyidentificationmethodbasedonartificialolfactorysystem[D].Zhengzhou:HenanUniversityofScienceandTechnology,2012
[6]黄申奥.基于机器视觉的稻米品种鉴别[D].武汉:武汉轻工大学,2017HUANGSA.Discriminationmethodofvarietiesofricebasedonmachinevisiontechnology[M].Wuhan:WuhanPolytechnicUniversity,2017
[7]牛晓颖,夏立娅,张晓瑜,K均值和分层聚类法在大米产地鉴别中的应用[J].农机化研究,2012,6:141-143NIUXY,XIALY,ZHANGXY.ClassificationofriceaccordingtothegeographicoriginbasedonK-meansclusterandhierarchinalcluster[J].JournalofAgriculturalMechanizationResearch,2012,6:141-143
[8]HANDDJ,VINCIOTTIV.Choosingkfortwo-classnearestneighbourclassifierswithunbalancedclasses.ElsevierScienceInc.,2003,24(9-10):1555-1562
[9]GARCIAV,MOLLINEDARA,SANCHEZJS.OntheK-NNperformanceinachallengingscenarioofimbalanceandoverlapping.PatternAnalysisandApplications,2008,11(3):269-280
[10]闻新,李新,张兴旺.应用MATLAB实现神经网络[M].北京:国防工业出版社,2015WENX,LIX,ZHANGXW,ApplicationofMATLABtoRealizeNeuralNetwork[M].Beijing:NationalDefenceIndustryPress,2015
[11]LIAOK,PAULSENMR.CornkernelbreakageclassificationbymachinevisionusingaNeuralNetworkclassifier.TransactionsoftheASAE,1993,36(6):1949-1953
[12]LIAOK,PAULSENMR,REIDJF,etal.Cornkernelshapeidentificationbymachinevisionusinganeuralnetworkclassifier.ASAEPaper,No.927017,1992
[13]中华人民共和国国家技术监督局.GB1350—2009.中华人民共和国国家标准—稻谷.北京:中华标准出版社,2009-03-28People’sRepublicofChinaStateBureauofTechnicalSupervision.GB1350—2009.NationalStandardofthePeople’sRepublicofChina—Rice.Beijing:StandardPressofChina.2009-03-28.