APP下载

基于卷积神经网络和支持向量机的水稻种子图像分类识别

2021-02-18杨红云孙爱珍王映龙肖小梅罗建军

中国粮油学报 2021年12期
关键词:超平面正确率卷积

(杨红云 黄 琼 孙爱珍 王映龙 肖小梅 罗建军

(江西农业大学软件学院1,南昌 330045)

(江西农业大学计算机与信息工程学院2,南昌 330045)

水稻是我国种植面积最大的农作物,加强水稻生产技术可以有效促进农业发展和提高国民经济,而水稻种子的纯度是影响水稻生产重要因素。水稻种子纯度差会造成水稻的发芽率、成苗率、抗病性和丰产性等多项指标下降,因此采用稻种品种的单粒鉴别是有效保证种子纯度质量、粮食安全和农业生产安全的重要手段。经典的农作物品种鉴定方法有人工目测法、化学鉴定及荧光扫描等,以上方法因随意性大、效率低、鉴定成本高和易对环境产生污染难以在实际生活中得到普遍推广,因此迫切需要探索一种高效环保的识别方法来选育出优质的稻种品种以提高水稻生产质量。

机器视觉具有成本低,客观性强等优点,利用机器视觉对水稻种子进行识别可弥补传统识别方法的不足,目前已普遍应用在农作物种子识别方面。很多研究者[1-4]通过获取光谱信息和图像信息结合SVM、RF模型来识别农作物种子品种,识别率普遍较高,但高光谱仪的成本高,不利于实际推广,而通过获取图像数据特征可降低成本。如部分研究者[5,6]通过利用BPNN对水稻种子的颜色形状特征进行分类,识别准确率较高。 Mebatsion等[7]利用最小二乘法对5类麦种的形状和颜色特征进行分类,准确率为99.6%。吴尚智等[8]利用粗糙集和BP神经网络相结合的方法对麦种进行分类,识别准确率可达到95.24%。这些方法都是通过获取图像的颜色或形状等数据后采用分类器进行分类,获取方法成本较低,但特征选择具有经验主观性且算法繁琐,不能实现直接端对端的稻种图像识别,不具便捷性。近年来,卷积神经网络凭借强大的特征提取功能在图像领域取得了成效,与传统的图像外观特征相比,学习的深度特征是对输入图像的语义描述,因而可对外观特征起到替代或补充作用。端对端的深度学习不需要前期繁琐的人工特征设计和提取,在实践中更容易实现。如祝诗平[9]采用卷积神经网络的4种经典模型对麦种进行识别,得出这4类模型明显优于SVM和BP的传统模型。

本研究利用卷积神经网络泛化能力强且速度快的优点直接从水稻种子图像获取显著信息,省略对图像数据的预处理操作,更加便捷。将泛化能力强且计算量小SVM替换Softmax分类器对提取的图像特征进行分类能够减少识别时间且提高识别正确率。将CNN_SVM与SVM、KNN、HOG_KNN/SVM、LBP_KNN/SVM、SIFT_KNN/SVM和CNN_KNN/Softmax10种模型进行对比分析,其中,CNN能高效准确地提取水稻种子图像的有效信息,结合SVM后能高效识别8类水稻种子。利用CNN_SVM模型对不同年份的水稻种子数据库和加入噪声的数据库进行识别后依然有较高的识别正确率,表明本文模型识别不同年份水稻种子的高效性和能适应识别环境的变化,具有良好的泛化性。

1 材料与方法

1.1 数据采集

8种水稻种子:楚粳7号、鄂丰丝苗、马坝油粘、玉杨糯、玉针香、兵两优401、五乡优398、泰优398。在人工选样过程中,去除破碎干瘪的杂质,选取每类颗粒饱满的水稻种子各200粒进行研究。在自然光照的环境下,以黑色卡纸为背景随机摆放水稻种子,为增加数据获取的多样性,选用佳能EOS 60D型数码相机垂直对单粒水稻种子图像(图1)和多粒水稻种子图像(图2)进行拍摄。

图1 单粒水稻种子图像

图2 多粒水稻种子图像

1.2 图像预处理

为保证种子的纯度,采用单粒鉴别对水稻种子图像进行分类识别,因此需要将单粒水稻种子图像从多粒图像中切割出来,切割方法为首先对水稻种子图像进行灰度化和高斯模糊等操作去除图像噪声,再采用Canny算子提取水稻种子的边缘,通过轮廓检测算法提取出每粒水稻种子的轮廓,采用最小外界矩阵法得到水稻种子最小外接矩阵的长宽以及四个顶点坐标,最后通过获取的各项参数将单粒水稻种子图片进行旋转操作,为了保证水稻种子的完整性,将最小外接矩阵向外扩展20个像素点切割出单粒水稻种子图片。

针对样本小带来的泛化能力不足问题,采用随机翻转、旋转(30°、-30°,60°、-60°、90°)和调节亮度来对图像样本进行扩增,将数据集扩展到原来的5倍,每类水稻种子样本图像为1 000张。

图3 图像预处理

1.3 卷积神经网络

卷积神经网络[9-12]于1998年由纽约大学的Yann LeCun提出,它是通过多层感知机(MLP)演变而来。一般情况下,CNN的架构是由输入层、卷积层、池化层、全连接层和输出层组成,如图4所示。其中卷积层是实现卷积神经网络特征提取功能的核心,相当于特征提取器,池化层能够压缩数据和参数的量,提取出图像中的重要特征,进而压缩图片。全连接层的输入是将卷积层和池化层提取的特征进行加权,将特征空间将特征空间通过线性变换映射到样本标记空间。

图4 CNN基本架构图

1.4 支持向量机

支持向量机[13-15](Support Vector Machine,SVM)是通过核函数将样本集向量映射到一个高维特征空间,在该空间中随机产生一个超平面并不断移动对样本集进行分类,直至不同类别的样本点正好位于该超平面的两侧,满足样本集分类的超平面可能有多个,从中寻找到能使超平面两侧距离最大化则为最优决策超平面,能对分类问题提供良好的泛化能力。

假设训练样本集D={(X1,Y1),(X2,Y2),……,(xm,ym)},在样本空间中,将样本分开的超平面可由公式(1)表示:

wTx+b=0

(1)

式中:w为法向量,决定超平面的方向;b为位移项决定超平面原点距离;x表示空间中的任意点。

通过等比例地缩放w和b的值,可以使得两类到超平面的距离最大,得到SVM的基本型如公式(2)所示。

s.t.yi(wTxi+b)≥1,i=1,2,……,m

(2)

1.5 CNN_SVM模型

基于CNN_SVM模型的水稻种子识别算法步骤为:通过最小外矩阵从水稻种子图像中切割出单粒种子的图片,进行随机翻转、旋转和亮度调节从而扩增样本集,其中80%为训练样本,20%为测试样本;选择能快速准确提取特征的卷积神经网络网络来提取水稻种子的图像特征,将SVM分类器代替Softmax分类器组成CNN_SVM模型对图像特征进行分类,其架构图如图5所示;将CNN_SVM模型与HOG、LBP、SIFT与KNN、SVM结合的模型,CNN_Softmax以及CNN_KNN进行分类正确率和识别时间的对比分析;采用CNN_SVM模型在3个数据集上进行实验对比:原始数据集(OR-Dataset)、不同年份水稻种子形成的数据集(DYR-Dataset)以及加入噪声点后形成的数据集(NR-Dataset))。

图5 CNN_SVM模型

2 结果与分析

图像处理和分析实验的软件环境是基于Tensorflow为后端运行的Keras深度学习框架,以Python为编程语言,再PyCharm搭建模型。硬件配置是处理器为Intel(R) Core(TM) i5-6200U CPU,运行内存为8 G。

2.1 卷积神经网络特征提取可视化

利用卷积神经网络自动获取水稻种子图像的颜色、纹理以及形状特征,并且将其特征提取过程可视化,如图6所示。其中图6a为64*64水稻种子图像,图6b为第一层卷积提取的前15张水稻种子特征图像以及将该层各个特征图像按1∶1叠加的综合特征图,图6c为第二层卷积提取的前15张水稻种子特征图像以及将该层各个特征图像按1∶1叠加的综合特征图。

图6 CNN特征图

从图6可以看出,通过卷积神经网络提取的特征是具有辨别性的特征,它能使水稻种子图像中的无关背景被忽略,进而把关键信息给提取出来。从第一层卷积神经网络提取的特征图像可以看出,该层学习的特征基本上是一些边缘等底层特征;从第二层卷积神经网络提取的特征图像可以看出,该层可以提取一些更加完整和区别性的复杂特征,例如纹理特征。可以得到,随着卷积层的增加,提取的特征详细度与之成正比,但是过多的卷积层会造成数据的冗余,本文选取了大小适中的两个卷积层作为此次实验的研究基础。

2.2 各模型的识别正确率

本实验采用图像识别正确率和平均识别一张图片的时间对各算法进行评估,图像识别正确率见式(3)。

(3)

式中:a为图像识别正确率;n为识别正确的图像数量;N为进行识别的总的图像数量。

为了验证CNN_SVM模型的高效性,选取SVM、KNN、HOG_SVM、HOG_KNN、LBP_SVM、LBP_KNN、SIFT_SVM、SIFT_KNN、CNN_KNN和CNN_Softmax10种模型与之对比,如表1所示。

表1 各模型的识别正确率和平均识别时间

从表1可以看出,未经过任何特征提取的SVM、KNN原模型在在运行时间上较长,且识别正确率不高;通过提取HOG特征与SVM和KNN模型相结合能在运行时间上有一定的缩短,但是识别正确率却降低了;相较于SVM和KNN原模型,通过提取LBP特征能在识别正确率和识别时间上面有所提高,其中,LBP_SVM相较于SVM模型识别正确率提高了3.8%,LBP_KNN相较于KNN模型识别正确率提高了2.1%; 通过提取SIFT描述子与KNN、SVM模型相结合,可以看出运行效率有一定的提高,SIFT_SVM相较于SVM模型识别正确率提高了8.6%,SIFT_KNN相较于KNN模型识别正确率提高了18.3%;通过CNN提取图像特征与SVM和KNN相结合后的模型能较大提高识别正确率和缩短运行时间:CNN_SVM模型相较于SVM模型识别正确率提高了20.2%,相较于CNN_Softmax模型识别正确率提高了3.8%,CNN_KNN模型相较于KNN模型识别正确率提高了20%,相较于CNN_Softmax提高了2.9%。通过比较11种模型,可以看出CNN_SVM有更高的识别正确率,在运行效率方面明显优于其他10种模型。

2.3 NR数据集和DYR数据集的识别正确率

因外表氧化原因,不同年份的水稻种子在色彩方面会有一定的误差。年份较近的水稻种子色彩饱和度高,颜色更鲜艳;年份较远的水稻会因为氧化问题变得发灰发白,从而色彩饱和度会更低。本实验通过调整水稻种子的色彩饱和度模拟了5种不同年份的水稻种子,如图7所示,图7a~图7e表示水稻种子随着年份的增长颜色会逐渐变浅,最后为浅灰色。采用CNN_SVM模型对不同年份的水稻种子图像进行分类识别,识别正确率为96.1%(如表2所示),说明该模型对不同年份的种子依然具有高识别率。

图7 不同年份的水稻种子图像

为了提高模型的泛化能力,通过对水稻种子图片随机加入不同比例的椒盐噪声点,图8a为水稻种子原始图像,图8b从左到右依次为加入比例为0.01、0.05、0.1噪声点的图像,可以看出,加入噪声的后的图片部分图像信息会被遮盖,会对图像特征有一定干扰。

图8 加入噪声的水稻种子图像

采用CNN_SVM模型对增加噪声后的水稻种子图像进行分类识别,从表2可以看出相较于未增加噪声数据集来说,增加噪声后的数据集识别正确率只是稍微下降,识别正确率为95.8%,说明该模型在噪声干扰下还是能准确识别水稻种子图像,泛化能力较强。

表2 加入噪声和不同年份水稻种子的识别正确率

3 讨论

图像特征的提取是图像分类识别的关键步骤。通过计算和统计图像局部区域的梯度方向直方图来提取水稻种子图像的HOG特征[16-19]能够描述出水稻种子的表象和形状,但是生成HOG特征的过程冗长,速度慢,实时性差且不具有旋转不变性;通过LBP算法[20,21]来提取水稻种子图像局部纹理具有旋转不变形和灰度不变性的优点,但在光照变化不均匀的情况下,图像像素大小关系被破坏会导致LBP算子的变化;基于SIFT特征[22,23]提取可以在不同尺度空间上获取水稻种子图像的关键点及其方向,具有旋转不变形以及对亮度变化保持不变,且识别速度较快,但对于一些边缘光滑的水稻种子图像,该算法检测的关键点过少,无法准确提取水稻种子图像的全部特征。而卷积神经网络是一种监督学习下的机器模型,在图像特征提取方面能够自动进行图像的特征提取,能够全面提取水稻种子的局部特征和全局特征,具有缩放不变性、旋转不变性、亮度变化不变性和强鲁棒性,在处理环境信息复杂,噪声干扰的环境下自适应性能好,对于被噪声遮挡的损缺和畸变水稻种子图像依然能较好地提取其关键信息。

KNN[24,25]是一种简单且易于实现的分类算法,是通过计算样本件的距离来决定两个样本的相似程度,在进行图像分类时需要考虑到每个样本,因此计算量大,不适合处理样本维度过高的数据集并且不会自主去学习图像的特征权重。而SVM只需要去找一个能将图像样本划分开来的函数,因此计算量不大,能自主获取图像的特征权重且对于通过卷积卷积神经网络提取的高维度图像特征能处理得较好。

相较于一些需要获取水稻种子的高光谱、形状、颜色等各种图像特征进行分类的模型来说,CNN_SVM具有一定的便捷性,可直接将一幅图像输入模型中,在输出端给出识别结果。其优势在于避免了传统识别算法中复杂的特征提取、数据重建过程和数据预处理,能自行抽取图像特征包括颜色、纹理、形状及图像的拓扑结构。对于经过旋转、翻转和亮度调节后的图像增强数据,该模型的识别位移、旋转不变性和亮度不变性让其在对水稻种子图像分类时具有良好的鲁棒性和运算效果。不同年份水稻种子的样本会因氧化产生颜色误差,CNN_SVM模型对其依然具有高识别率。在处理增加噪声后的数据集上,特别是对于一些因噪声造成图像信息损缺的水稻种子图像,CNN_SVM模型具有良好别的泛化能力,能够高效正确识别水稻种子图像。

实验的研究对象是8类水稻种子,分别是楚粳7号、鄂丰丝苗、马坝油粘、玉杨糯、玉针香、兵两优401、五乡优398、泰优398。由于玉杨糯和五乡优398在颜色、形状以及纹理等特征方面高度相似,人工较难察觉两者区别。CNN_SVM对这两类品种识别时也易将两者混淆识别,错误率相对其他品种来说略高,但相对人工识别的准确率更高,说明该模型能为高度相似品种间的水稻种子识别打下良好基础。在后期将对该模型进行优化,提高其在高度相似水稻种子间的识别准确率,形成一个能够识别多种相似水稻种子的在线实时识别系统。

4 结论

针对8种水稻种子图像识别问题,将CNN_SVM模型与其他10种混合模型进行比较,结果表明,相较于其他方法,本研究的方法无论是在识别正确率还是识别时间上面都具有较强的优势,识别正确率为96.2%,平均识别一张图像的时间为4.57 ms,与SVM、CNN原模型对比,显著提高了识别正确率和缩短了识别时间。

采用CNN_SVM模型对OR数据集、DYR数据集以及NR数据集进行分类识别,识别准确率分别为96.2%、96.1%、95.8%。结果表明,CNN_SVM模型能够高效识别不同年份的水稻种子,且对加入对特征提取具有强干扰作用的噪声后,该模型的识别正确率依然较高,表明该模型具有较强的泛化能力,在强烈噪声的干扰下可保持较高的分类准确率,可根据所分析数据的变化不断优化模型,能对后续识别多种水稻种子图像提供基础。

猜你喜欢

超平面正确率卷积
全纯曲线的例外超平面
基于3D-Winograd的快速卷积算法设计及FPGA实现
涉及分担超平面的正规定则
门诊分诊服务态度与正确率对护患关系的影响
从滤波器理解卷积
以较低截断重数分担超平面的亚纯映射的唯一性问题
一种基于支持向量机中分离超平面求取的算法*
基于傅里叶域卷积表示的目标跟踪算法
生意
品管圈活动在提高介入手术安全核查正确率中的应用