基于机器视觉的稻谷品种鉴别方法比较
2019-11-18冯晓星许学
文/冯晓星 许学
1 引言
稻谷品种鉴别是目前农业生产、育种筛选和种子检验的重要问题。传统鉴别的办法主要有形态学方法、荧光扫描鉴定法、化学鉴定法以及电泳鉴定法等。这些方法的普遍缺点是:检验所需的时间长,操作要求的专业性强。随着技术的发展,利用数学模型和计算机软件计算可以帮助我们发明品种鉴别的新方法。
于慧春等[1]利用电子鼻对来自同一产地不同稻谷品种进行测试,对获取信息采用主成分分析(PCA)、Fisher判别分析(FDA)及BP神经网络(BP-ANN)共3种模式识别方法进行品种鉴别。结果表明:结合合适的特征提取方法及模式识别方法,有可能实现对不同水稻品种鉴别的简单、有效的方法。李晓丽等[2]通过可见/近红外光谱仪扫描获得稻谷样本的光谱信息,利用BP-ANN分析其主成分,正确率达到了96%。梁诗华等[3]提取米粒的面积、周长等6个形态特征,基于支持向量机(SVM)的不同核函数对其进行品种识别,识别的准确率均达到96%以上。刘伟等[4]提取稻谷的多光谱图像,基于SVM结合粒子群寻优算法,稻谷品种鉴别正确率在90%以上。
图1:BP神经网络示意图
图2
可以看出,机器视觉技术与计算机软件结合的方法越来越广泛地应用于农作物果实与种子的鉴别分选过程。然而,不同应用场合条件要求各异,方法本身参数选取、鉴别时间和精度要求、训练和预测样本的数量等,都会影响鉴别效果,目前,多种方法之间缺乏比较,因素影响考虑较少,导致不同应用场合选择方法不当,结果往往不是最有效的那个。本文利用多光谱成像技术,提取稻谷样本的光谱信息和图像特征,在有无主成分分析的两种情况下,分别建立基于SVM和BP-ANN两种模型,对稻谷的鉴别效果进行全面分析和对比,以期寻求鉴别方法与应用场合的最佳匹配。
2 数据来源
稻谷样本由安徽省农科院提供,共 5个品种,分别为徽两优6号,国丰一号、II优838、新两优223、荃两优616。选取完整、未发芽、无霉变的稻谷,每个品种100 粒,5个品种共500 粒,置于多光谱测量仪内进行光谱测定和图像特征提取。光谱测定共在19个波长上进行光谱特征检测,分别为405、435、450、470、505、525、570、590、630、645、660、700、780、850、870、890、910、940和970 nm。图像特征参数共有8个,分别为长宽比、面积、圆度、CIElab色彩空间坐标值(3个)、强度和饱和度。最后将该27维的特征数据按品种类别保存为表格文件。
3 算法分析
3.1 支持向量机
SVM算法建立在统计学习理论基础之上,主要解决小样本、非线性及高维模式识别问题,其基本思想是将输入空间的样本通过核函数映射到高维特征空间,在此求取能将样本线性分类的最优超平面,实现对未知样本的分类判断。不同的核函数将样本变换到不同的特征空间。
表1:各分类模型运行结果比对
本文选用4种常用的核函数,分别是:
线性核函数(Linear Kernel Function,Linear),表示如下:
二次核函数(Quadratic Kernel Function,Quadratic),表示如下:
多项式核函数(Polynomial Kernel Function,Polynomial),表示如下:
高斯径向基核函数(Gaussian Radial Basis Function,RBF),表示如下:
其中,线性核函数主要用于线性可分的情况,是最简单的核函数。多项式核函数适合于正交归一化后的数据,比较好用,但参数比较多。与之相比,RBF核函数所需参数较少,但对参数变化比较敏感,是SVM经常用到的函数。Quadratic核函数则可作为高斯核的替代品,与之相比运行速度较快。
3.2 BP神经网络
BP-ANN算法是一种最有效的多层神经网络学习方法,其主要特点是信号前向传递,而误差后向传播,通过改变加权值,使网络的输出尽量收敛于理想期望输出,训练的目的就达到了。
BP-ANN结构包括输入层、输出层和位于中间的隐含层,如图1所示。通过设置隐含层的节点数,隐含层与输出层的传递函数,训练函数,训练次数和误差阈值,网络可以完成有监督式的学习过程,并完成预测。
3.3 主成分分析
由前文可知每粒稻谷样本的输入特征维数高达27,变量的增加会提供丰富的信息,但反之工作量也增加了,而且,多数变量之间是相关的,必须综合考虑,这无疑增加了问题分析的复杂性。如果盲目减少指标则会损失很多信息,容易产生错误的结论。
因此需要在减少工作量和防止信息损失之间寻找到一个合理的方法,考虑到变量之间的相关性,利用降维的方法,综合变量中的各类相关信息,而指标数量减少,达到在信息损失很少而能快速全面分析所采集数据的目的。PCA就属于这类降维的方法,通过对原始大量特征变量进行转换,使数目较少的新变量成为原变量的线性组合,新变量能最大限度地表征原变量图2主分量得分比与累计得分比的数据结构特征。将特征的主成分得分进行排序,如图2所示,由原始特征数据经主成分提取得到的前4个主成分的累计得分比已达到了98.94%。所以可以选择前3~5个主成分进行品种鉴别,达到了降维的目的。
4 算法实现与结果分析
4.1 算法实现
将5个品种稻谷共500个样本随机分为训练集和测试集,每个品种稻谷各取70个共350个样本作为训练集,其余每个品种稻谷30个共150个作为测试集,若要进行PCA,选取前4个主成分作为新的特征变量。在MATLAB2011a环境下,利用libsvm工具箱和BP-ANN工具箱,本文算法流程如图3所示。
SVM核函数分别选择前述4个核函数,核函数中的参数选择,会对鉴别结果造成很大影响。以RBF核函数为例,核参数σ和惩罚因子C,与映射后样本的分布密切相关,必须慎重选择。σ的大小反映了分类器的容量,容量过大,分类器学习能力很强,但泛化性能很差,即过学习;反之,容量过小,可供学习的支持向量样本数不足,又会出现欠学习现象。而惩罚因子C反映了对离群点带来损失的重视程度,C越大,分类器的VC维增大,分类间隔减小,错分样本减少,但泛化性能会变差,反之亦然。因此,选取σ值分别为2的m次方,m=(-2,-1,0,1,2)。C值分别为10的n次方,n=(-3,-2,-1,0,1,2,3)。通过多次实验试凑比较不同取值组合对品种鉴别的影响,结果发现当σ=1、C=10时鉴别效果最好。
图3:算法流程图
BP-ANN算法的特点是需要经过多次迭代,才能使网络学习的误差收敛至预设的精度范围内。因此,网络的学习时间、迭代次数和最终达到的误差精度是衡量BP-ANN性能的重要指标,设置隐含层神经元数为20,其与输出层传递函数均为tansig,训练函数为trainlm,训练次数为200,预测误差阈值为1e-20。当运行达到训练次数或超过误差阈值,则停止运行。
4.2 结果与分析
将本文算法训练所得模型对测试集样本进行鉴别预测,并将预测结果进行对比,实验结果如表1所示。
表1中,A~E为稻谷种类编号,分别对应稻谷品种徽两优6号,国丰一号、II优838、新两优223和荃两优616。后缀1为不进行PCA的分类结果,后缀2为先进行PCA降维,再分类的结果。由结果可以看出:
(1)在基于SVM的情况下,不进行PCA时,利用Linear核函数的分类效果较好,说明在处理高维特征变量时,Linear核函数有一定优势;
(2)当PCA降维后分类时,RBF核函数效果较好,说明RBF核函数比较适合处理低维特征变量的数据。PCA处理对两类多项式核函数的最终分选结果影响不大。PCA的目的在于降低特征变量的维度,使得处理过程更加高效,但PCA有可能使得信息损失,因此选择合适的主成分个数是很重要的;
(3)相比SVM,BP-ANN的分类效果要更好一些,说明BP-ANN在这种多类分选的问题处理上有较大的优势,但BP-ANN训练过程时间较长,设置参数较多,且容易形成局部极小值而得不到全局最优值。
5 结论
本文应用多光谱测量仪提取稻谷光谱信息及图像特征,基于SVM和BP-ANN两类数学模型,对其品种鉴别问题进行了研究。对于这5类稻谷品种,从分类结果上来说,BPANN要优于SVM。然而,核函数及其内部参数的选择,对其性能影响巨大,选用合适的算法,对内存参数进行优化,品种鉴别正确率还将进一步提高。因此核函数的参数寻优仍然是一个开放的、可进一步深入研究的问题。