利用卷积神经网络从叶片图像中识别玉米病

a.介绍
这是我最近读的一篇论文,论文来自2017年第21届国际计算机科学与工程大会(ICSEC),文中针对4种玉米叶片类型识别问题自己搭建了一个网络结构,个人觉得不错,在此分享,结构比较容易用代码实现,在此就不贴代码了。

a.数据集分布
利用卷积神经网络从叶片图像中识别玉米病_第1张图片
b.网络架构
利用卷积神经网络从叶片图像中识别玉米病_第2张图片
c.实验
实验分为3部分。在第一部分中,我们使用5倍交叉验证从头开始训练我们提出的网络。在每个折叠中,我们使用三个数据子集,数据增加,用于训练,一个子集用于验证。然后在剩余的数据子集上测试在验证数据上表现最佳的模型。该过程重复5次,以便每个子集用作测试数据一次。下图分别显示了5倍的模型的平均损失和平均准确度的学习曲线与训练过程期间的时期数量。
利用卷积神经网络从叶片图像中识别玉米病_第3张图片利用卷积神经网络从叶片图像中识别玉米病_第4张图片
在实验的第二部分,我们训练了三个的网络,即ResNet50,InceptionV3和MobileNet,并将结果与我们提出的网络进行了比较。所有这三个网络都已在ImageNet数据集上预先训练加快培训进程。在训练过程开始时,每个网络中的所有参数,除了最后一个完全连接的层,其中进行了初始化,都保持固定。一旦完成了最后一个完全连接的层,我们就开始对网络进行微调以提高其准确性。在MobileNet架构上,所有层都是可训练的。另一方面,我们只允许ResNet50和Inception V3中所有层中的大约一半可以训练,因为这些网络具有非常高的容量,并且通过整个网络的微调将导致过度拟合。我们还使用了5倍交叉验证来训练和测试这些网络。下图显示在训练过程中这四种模型的验证损失和验证准确性的比较。图中绘制的数字是每个时期的5倍平均值。
利用卷积神经网络从叶片图像中识别玉米病_第5张图片利用卷积神经网络从叶片图像中识别玉米病_第6张图片
我们实验的第三部分是测试模型推广到其他测试集。我们需要执行此步骤的原因是因为在Plant Village数据集中存在来自不同方向的同一叶子的多个图像,因此输入图像之间存在隐藏的相关性。由于我们没有关于来自同一叶子的图像的这条信息,我们所能做的就是随机分割数据集。这可以使一片叶子的一些图像进入训练集,并且同一叶子的其他图像进入测试集。因此,我们在实验的第一部分和第二部分得到的结果可能高于真正看不见的测试数据的结果。因此,我们还从互联网上收集了每个班级的25张图像。然后,我们对这100张额外的图像测试了所有模型。我们相信这部分的结果将更准确地反映模型在现实场景中的表现,何时模型用于对从现场智能手机中拍摄的图像进行分类。
比较模型的性能:
利用卷积神经网络从叶片图像中识别玉米病_第7张图片

利用卷积神经网络从叶片图像中识别玉米病_第8张图片
为了测试我们模型的泛化能力,我们将每个体系结构的5个模型(每个体系结构一个)应用于从Internet检索到的100个附加图像。对5个模型的softmax概率进行平均,选择概率最高的类作为集合的预测。结果如上表所示,我们可以看到,我们提出的PlantVillage数据集模型的准确性仅略差于其他三个网络。但是,鉴于我们的模型包含的参数比MobileNet少4倍,我们模型的推理时间应该比其他网络快。我们还从混淆矩阵中看到,所有模型在来自附加图像数据集的北方叶枯病图像上表现最差。我们已经预料到这种情况会发生,因为在PlantVillage数据集中,北方叶枯病的所有图像都是在受控环境中拍摄的。也就是说,照明条件,背景颜色,每个图像中的叶子数等没有变化。因此,当模型针对来自互联网的图像进行测试时,从受控环境图像中学习的模型特征可能不是很有用,因为在这种情况下训练数据和测试数据的分布非常不同。我们相信这个问题可以通过获得在各种条件下拍摄的更多图像来解决,如在灰叶斑点图像和健康图像的情况下可以看到的,因为这两个类包含在室外场中拍摄的多个图像。
d.结论
我们提出了一种新颖的卷积神经网络架构,它将参数数量大致减少了4倍。然后,我们从PlantVillage数据集中对玉米叶片图像进行训练,将它们分为以下四类之一:普通锈病,北方叶枯病,灰斑病或健康。我们发现即使我们网络中的参数数量远远少于其他知名网络的参数数量,我们的网络性能在PlantVillage数据集上也略差一些。在这项工作中测试的所有模型的普遍性是好的(58%或更好),考虑到随机猜测将导致大约25%的准确性。我们认为如果从许多不同的条件下拍摄更多的训练图像,理想情况下,从现实的设置中,可以进一步改进模型。

你可能感兴趣的:(论文翻译)