Recognition of Gray Spot of Soybean Based on Improved VGG16
As an important food crop, soybean is in great demand in the global market. Gray spot of soybean seriously restricts the quality and high yield of soybean, so it is of great significance to identify gray spot quickly and accurately for soybean planting. Current deep learn-based methods for soybean gray spot recognition have limitations, including specific requirements for input image size, inadequate accuracy, and slow calculation due to the large number of model parameters. To solve these problems, an improved VGG16 image recognition method is proposed in this paper. The method is optimized based on the VGG16 model, retains the three-layer convolutional layer structure, and integrates the Inception module. Each Inception module consists of three parallel branches: a 1 × 1 convolutional layer for dimensionality reduction, a 1 × 1 convolutional layer followed by a 3 × 3 convolutional layer for feature extraction, and a 3 × 3 maximum pooling layer followed by a 1 × 1 convolutional layer for aggregation of spatial information. In addition, the global average pooling layer is used to replace the traditional fully connected layer, which reduces the model complexity and improves the computational efficiency. The experimental results show that the structure not only eases the limit on the input image size, but also significantly reduces the model parameters, making the number of parameters only 1.5% of the traditional VGG16, and the model accuracy reaches 99.1%.
Gray Spot of Soybean
大豆作为中国重要粮食作物之一,市场需求量巨大。大豆灰斑病
图1. 正常大豆叶片和患有灰斑病叶片对比
在大豆病害识别领域,金乔
因此,本研究开发了一种基于VGG16架构优化的深度学习模型,旨在同时解决对输入图片大小的要求和参数量大导致运行缓慢的问题。模型的创新之处包括:
1) 保留VGG16的三层卷积层:本研究保留了VGG16的三层卷积层,其中卷积核尺寸为3×3,以保持特征提取的效率和效果。
2) 引入优化的Inception模块:在Inception模块中,本研究引入了三个并行分支:
a) 1 × 1卷积层:旨在降维,减少计算复杂度。
b) 1 × 1卷积层后接3 × 3卷积层:目的在于特征提取,增强模型对局部特征的捕捉能力。
c) 3 × 3最大池化层后接1 × 1卷积层:用于聚合空间信息,增强模型对全局特征的感知。
3) 使用全局平均池化层:本研究使用全局平均池化层替代了传统的全连接层,有效地将每个特征图的空间维度降维至1 × 1。
4) 特征映射:在卷积层输出的特征图上应用全局平均池化,将每个特征图的空间维度降为1 × 1,然后通过softmax函数将特征映射到各个类别上。这种方法实现了特征图中每个位置的特征都被考虑在内,而不仅仅是依赖于全连接层的权重矩阵。
这些优化措施使得模型在保持计算效率的同时,提高了对特征的捕捉能力
1) 数据来源:本研究的数据集来源于网站“探险家的数据窝”,可通过以下链接访问:
图2. 部分灰斑病图片
图3. 部分正常叶片图片
2) 图像裁剪:数据导入后,采用transform函数对数据进行裁剪,以满足VGG16模型的输入大小。
3) 数据加强:鉴于VGG16作为卷积神经网络中的一个重要模型,在大规模图像识别任务中表现优异,因此运用transforms.RandomHorizontalFlip模块对图像进行随机水平翻转,增强训练数据的多样性,以提高模型的泛化能力。
4) 标准化处理:为了使得输入数据的分布更加统一
从1962年生物学家在对猫脑视觉皮层的研究中初次发现类似神经网络结构之后,经过数十年的研究,神经网络已经形成了一套完整的理论体系。LeCun等人基于Fukushima的研究使用反向传播(BP)算法设计并训练了卷积神经网络(CNN),在模型识别领域展现出良好的分类性能
卷积神经网络作为一种深度学习模型,主要用于处理具有网格结构的数据,如图像和视频。CNN主要由输入层、卷积层、池化层、全连接层和输出层构成,通过卷积层和池化层的交替使用,以及卷积层后接池化层再接卷积层的结构,自动提取和学习输入数据的特征表示。
1) 卷积层:卷积层是卷积神经网络的基本构建单元,它通过对输入数据和一组可学习的卷积核进行卷积操作来提取特征。每个卷积核会在输入数据上滑动,计算局部区域的加权和,从而生成特征图。卷积操作的具体计算公式如下:
其中f是输入图像或特征图,g是卷积核或滤波器, 是输出特征图上的位置, 是卷积核上的位置, 表示卷积操作。
2) 池化层:池化层的目的在于降低特征图的空间维度,从而减少模型的参数数量和计算量,同时保留关键特征。常用的池化操作包括最大池化和平均池化
例如,当使用2 × 2的卷积核和步长为2时,池化操作的效果参见
3) 激活函数:在卷积层之后,通常会包含非线性激活函数,例如ReLU,用于引入非线性特性,增加模型的表达能力,其数学表达式为:
4) 全连接层:全连接层将前一层的所有特征映射到输出层,用于将卷积层和池化层提取的特征映射到最终的输出类别。
5) 损失函数:用于量化模型预测与真实标签之间的差异。常用的损失函数,如交叉熵损失函数应用于分类任务。在分类问题中,激活函数的常见数学表达式为:
其中,M是类别的总数, 是第个O样本的真实标签, 是模型预测的第O个样本属于类别c的概率。
CNN通过反向传播算法进行训练,通过最小化损失函数来调整网络参数,使得模型能够学习到输入数据的有效特征表示,从而实现对各种视觉任务的有效处理。
VGG16,由牛津大学的Visual Geometry Group开发,是一个卷积神经网络模型。该模型在2014年的ImageNet大规模视觉识别挑战赛中取得了优异的成绩,代表了当时深度学习模型架构的先进水平。
VGG16包含16个卷积层和3个全连接层,具有深度网络结构。该模型的特征在于所有的卷积层均采用3 × 3的卷积核,步长设置为1和填充为1,同时通过池化层降低特征图的空间维度。鉴于模型的深度和参数量较大,VGG16通常需要较多的计算资源和更长的训练时间,但在很多视觉任务上表现出了较好的性能。
对VGG16模型进行了优化,旨在提高大豆灰斑病识别的准确性和效率。改进措施包括:
引入三分支Inception模块:相较于文献
优化特征提取:三分支Inception模块通过1 × 1卷积层进行降维,1 × 1后接3 × 3卷积层进行特征提取,以及3 × 3最大池化层后接1 × 1卷积层进行空间信息聚合,有效地提取了大豆叶片图像的多尺度特征。
使用全局平均池化层:采用全局平均池化层替代了传统的全连接层,有效地将每个特征图的空间维度降维至1 × 1,从而减少了模型的参数数量和计算复杂度。
减少参数数量:相比于四分支结构,三分支设计减少了模型的参数数量,降低了计算资源的需求,提高了模型的训练和推理速度。改进的VGG16模型结构见
改进后模型的前向传播(forward)过程包括以下步骤:
1) 输入的张量x经过VGG16的特征提取部分(self.features)。
2) 随后,这些特征图作为输入传递给Inception模块(self.inception)。
3) 经过Inception模块后,得到的特征图经过自适应平均池化层(self.avgpool)进行全局平均池化操作,将特征图的尺寸调整为1× 1。
4) 调整后的特征图通过torch.flatten函数被压平为一维张量。
5) 特征张量随后通过两个全连接层。
6) 最终,对全连接层的输出通过softmax函数(self.softmax)进行归一化处理,以得到每个类别的概率分布。
本研究融合了VGG16与Inception模块的优势,保留VGG16的前三个卷积块以优化提取特征,然后引入Inception模块,利用不同尺寸的卷积核提取多尺度特征。最终,采用全局池化代替了一个全连接层,减少了模型参数数量,显著降低了计算负担。
如
由
准确度 |
模型参数 |
|
VGG16 |
98.3% |
134281029 |
VGG16withInception |
99.1% |
2072258 |
MyClassifier |
98.8% |
492581186 |
本文提出了一种改进的VGG16模型,用于大豆灰斑病的识别。该模型不仅提高了识别准确率,同时显著降低了模型的参数数量,进而提高了运算效率。因此,卷积神经网络凭借其强大的特征提取能力,在图像识别领域,特别是在农业病害诊断中,展现出了巨大的应用潜力。本研究只聚焦于大豆叶片单一病害的识别,然而,在实际应用中,大豆叶片可能同时遭受多种病害的侵袭,这些病害的特征可能在形态、颜色和纹理上的特征可能存在显著差异,增加了识别任务的难度。针对这一挑战,未来的研究应致力于开发能够识别和区分多种病害的模型。这些模型应具备高度的泛化能力,以应对不同病害特征的多样性和复杂性。此外,研究还应考虑模型的实时性和准确性,以满足农业病害快速诊断的实际需求。通过融合先进的图像处理技术和深度学习算法,未来的研究有望实现对大豆叶片病害的高效、准确的综合识别,从而为农业生产提供强有力的技术支持。
四川省科技厅项目资助(2022JDR0043);四川省数值模拟重点仿真实验室项目(KLNS-2023SZFZ002);成都信息工程大学青年创新项目(KYQN202324)。
*通讯作者。