当前位置:首页 期刊杂志

基于深度卷积神经网络的水稻品种识别

时间:2024-08-31

汤银银 李明月 刘志宏

(安徽农业大学信息与计算机学院,安徽 合肥 230036)

引言

我国是一个粮食大国,水稻作为主要的粮食作物,其包含多种品种。目前,水稻品种的检测主要由化学方法和人工操作完成,化学方法成本昂贵,人工操作任务较为繁重,检测效率不高,准确性较差。由于传统的化学与人工识别水稻品种的方法费时费力,因此发展一种水稻品种的识别技术具有重要意义。目前深度学习技术广泛应用于各个领域,并取得了大量的研究成果。例如沈萍等人 中通过针对ImageNet数据库中的80类花卉图像做训练和识别,在实验过程中与传统神经网络和支持向量机做比较,表明深度卷积神经网络(CNN)能够提升花卉识别10% 以上的识别率。叶浪分析CNN模型能够快速准确进行人面部表情识别的原理,由于CNN的卷积层和池化层起到了滤波作用,将输入的图片进行特征提取并进行压缩,提高运算速度,实验证明CNN 模型在进行人面部表情识别过程中的准确度最高、速度最快。

本文拟采集5种水稻品种图片,先对图片进行预处理,分为训练集和测试集,再导入已经构建好的卷积神经网络模型中进行训练,利用Softmax分类器识别水稻品种,以便能够自动快速的识别水稻品种。

1.材料与方法

1.1 品种采集与分类

实验的水稻样品来自安徽农业大学农学院作物育种系5种水稻品种‘丰两优9’、‘S13’、‘邵糯9714’、‘皖稻187’、‘皖垦’。每种水稻拍摄200张图像可使用,按照训练集和测试集4:1的比例,将每种水稻的160张图像作为训练集,剩下的40张图像作为测试集,最后形成的训练集数据800张,测试集200张。通常情况下,机器学习模型一般需要大小相同的图像作为输入,本文的做法是将所有的图像都剪裁为224*224的大小作为机器学习模型的输入样本。

图1 水稻品种

1.2 数据预处理

利用卷积神经网络(CNN)对水稻品种进行识别,对输入的图像进行参数的提取,根据图像的参数特征自动辨别水稻的品种,并告知用户该水稻是何品种。为增加CNN模型的鲁棒性,需要对图像进行预处理。利用shuffle,转置、随机打乱数据,同时为了方便网络的训练,对输入数据进行batch处理。首先使用tf.image.decode_jpeg()函数将图像解码,从而得到相同类型的图像。再使用tf.image.resize_image_with_crop_or_pad()函数对图像进行旋转、缩放、裁剪、归一化等操作,让计算出的模型更健壮。对预处理的数据进行可视化,查看预处理的效果如图2所示。

图2 水稻图像预处理

2.卷积神经网络模型

2.1 卷积神经网络基本原理

2.1.1 输入层。卷积神经网络的输入层可以处理多维数据,常见地,一维卷积神经网络的输入层接收一维或二维数组,其中一维数组通常为时间或频谱采样;二维数组可能包含多个通道;二维卷积神经网络的输入层接收二维或三维数组;三维卷积神经网络的输入层接收四维数组。与其它神经网络算法类似,由于使用梯度下降进行学习,卷积神经网络的输入特征需要进行标准化处理。具体地,在将学习数据输入卷积神经网络前,需在通道或时间/频率维对输入数据进行归一化,输入特征的标准化有利于提升算法的运行效率和学习表现。

2.1.2 隐含层。卷积神经网络的隐含层包含卷积层、池化层和全连接层3类常见构筑,在一些更为现代的算法中可能有Inception模块、残差块(residual block)等复杂构筑。卷积层中的卷积核包含权重系数,而池化层不包含权重系数,因此在文献中,池化层可能不被认为是独立的层。

2.1.3 输出层。卷积神经网络中输出层的上游通常是全连接层,因此其结构和工作原理与传统前馈神经网络中的输出层相同。对于图像分类问题,输出层使用逻辑函数或归一化指数函数(softmax function)输出分类标签。在物体识别(object detection)问题中,输出层可设计为输出物体的中心坐标、大小和分类。在图像语义分割中,输出层直接输出每个像素的分类结果。

2.2 基于卷积神经网络的水稻品种模型训练

由于本实验采集的数据集较少,不适用于传统的GoogLeNet 和 ResNet 模型进行训练,通过对参数的不断调整,最终构建了一个9层的卷积神经网络,3层卷积和3层池化,2层全连接层,最后一层Softmax层做全分类,最终分类输出5类。下图中,conv是卷积层,每次卷积层都有一个池化层pool,一共进行3次这样的卷积池化操作后,最终得到了许多小的特征图。传入到全连接层layer1之后,将之前poll层的输出reshape成一行,激活函数relu( )。到全连接层layer2后,激活函数relu( ),染后将这些特征图全部连接在一起,最后输入到Softmax层进行最终的分类操作,计算每一类的得分,在这里是5类不同品种的水稻,所以这个层输出的是5个得分。具体模型结构如图3。

图 3 卷积神经网络模型

3.实验结果与验证

输入层的输入图像统一为224*224大小,卷积结构是9层的卷积神经网络,3层卷积和3层池化,2层全连接层,最后一层Softmax层做全分类。本实验所采用的卷积层参数包括卷积核大小均为3*3,步长为2,SAME填充,进行足够的填充来保持输出和输入的特征图尺寸相同。同时采用最大池化,relu( )激活函数。相同填充下特征图的尺寸不会缩减但输入像素中靠近边界的部分相比于中间部分对于特征图的影响更小。

在选择学习率、迭代次数这些模型外参数时,采用多折交叉验证法,将训练集再拆分为实际训练集与交叉验证集。通过观察各类参数的不同效果,经过多次尝试,利用交叉验证,最终确定了0.0001初始学习率。初始学习率影响的是每一次反向传播时,对参数优化的调整幅度,需要根据特定任务确定合适的学习率,若幅度过大,则有可能矫枉过正;若幅度过小,则可能导致每次进步很小,优化到最优结果的迭代次数过大,耗时过长。

为提高水稻品种训练的准确率,降低损失值,本实验将选取80%的图像用于训练卷积神经网络模型,共进行3000步训练,同时为减少训练时长,resize图像为56*56大小,最终发现实验步数达到2900左右时,训练的准确率大概稳定在100%.

将剩下20%未进行训练的图像用于测试,可得到较为准确的识别结果,实验结果表明,在不需要过多的照片的预处理的前提下,使用基于深度卷积神经网络的图像识别能够准确的识别出水稻品种并且已经具有非常高的准确率,要远远优于传统的识别方式。

4.小结

本文通过深度卷积神经网络提取水稻不同品种的特征,采集5种水稻品种作为研究样本,每种水稻品种200粒,构建了9层的卷积神经网络模型自动训练水稻样本,利用Softmax分类器识别水稻品种,通过不断调整模型参数,提高水稻品种识别的准确率,可以大大减少人力成本,具有广泛的应用性。卷积神经网络利用图像直接作为网络的输入避免了传统识别算法中复杂的特征提取和数据重构的过程,是一个特别高效高识别率的深度学习算法。由于卷积神经网络复杂,训练耗时长,因此针对不同的数据集,要构建最合适的网络结构才能取得最好的分类识别结果。同时水稻品种识别模型封装为可调用的程序模块,可实际应用到web服务和移动APP,通过云服务方式实现实时在线识别水稻品种,未来可探讨搜集互联网海量图片作为训练集,实现模型的快速迭代和优化,应用前景极为广泛。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!