APP下载

基于深度学习的金针菇头部检测算法研究

2020-12-07郑义姚郑力新

现代计算机 2020年30期
关键词:金针菇头部像素

郑义姚,郑力新

(福建华侨大学工学院,泉州362000)

0 引言

中国是一个人口大国,在这样一个人口众多的国家,粮食问题已经成为一个更值得关注的问题,因此中国特别重视农业生产。金针菇是现在最常见的一种菌类食品,好吃又有营养。此外,金针菇具有寒性、咸味,有益肝、益胃肠、增智、抗癌、抗癌的作用。因此,我国对金针菇的需求量在不断增加,但据中国食用菌协会统计[1]:2017 年食用菌总产量3712 万吨,2016 年超过3596.66 万吨,增长3.21%。通过统计得出,前7 种菌类分别为:香菇(986.51 万吨)、黑木耳(751.85 万吨)、蚝菇(546.39 万吨)、双孢蘑菇(289.52 万吨)、金针菇(247.92 万吨),2017 年毛霉菌(168.64 万吨)、杏菇(159.71 万吨)产量较2016 年下降7.12%。可以看出,在上述蘑菇分类中,金针菇的总产量排在第五位,并且有下降的趋势。造成这种情况的缘由有两个:一是栽培的产出率,二是人工分类效率低。在金针菇分类中,工人首先要根据工人自身的经验分析头部和根部是否符合工厂的标准,然后进行分类,这需要处理大量的数据。因此,在分级阶段,用机械操作代替人工分级将是金针菇生产的一大进步。

在对金针菇进行分类的过程中,工作人员首先分析金针菇的特性,然后判断其是否符合要求。这样的工作流程恰巧类似于当今发展迅速的深度学习。深度学习不同于传统的方法,通过自动获取大数据来反映数据差异的特点,其分层处理方法类似于人类的视觉机制。卷积神经网络是模拟人脑的工作机制[2]。2012 年,Hinton 团队通过构建CNN 网络AlexNet 获得ImageNet冠军,该网络结构相对简单,擅长小数据集[3]。然后,经过几代人的改进和创新,出现了ZFNet、VGGNet、GoogleNet 和ResNet 等优秀的神经网络,VGG-16[4]率先证明了神经网络的深度对大规模数据精度的影响,而后续的神经网络大多是基于VGG-16 来去除或添加其他层。ResNet 提出了一个新的模块,称为“残差块”[5],它将网络的深度提升到了一个新的高度,并且在网络层数的加深上没有过度拟合。接着,出现了许多目标检测模型,从R-CNN、Faster R-CNN、SSD、直到YOLOv3、YOLOv4。

1 数据集制作

1.1 数据集采集

通过查询发现,Andreas Kamilaris 在《农业的深度学习:一项调查》中发现,深度学习在农业中的研究中有40 多种,并取得了良好的效果。如Jihen Amara 等人用CNN[6]对香蕉叶实行分类,准确率达98.67%。Josef Haupt 使用ResNet-50 和2 个DenseNet201 网络对大型植物进行分类[7],Inkyu Sa 通过深度神经网络实现了对水果的测试[8]。虽然CNN 在很多方面都做得很好,但本文对金针菇的研究还存在几个难点:①金针菇属于自然生长,形式多样。一张金针菇图像上可能存在几十个金针菇头,需要对金针菇头部图像进行合适的特征提取。②数据集的收集。数据集对最终结果至关重要,需要收集数据集,但没有公开的金针菇数据集。本文基于深度学习的方法上,采用数据增强和迁移学习的方法来防止小数据集中可能出现过拟合的情况。在对图像进行预处理时,对所有数据进行归一化处理,以防止仿射变换的影响,减小几何变换的影响,同时加快梯度下降来求解最优解。

图1 金针菇菇头示意图

金针菇工厂采用4096×2160 像素的工业相机拍摄金针菇的头部,并在背景上添加一张黑色的卡纸以消除其他背景因素的影响,省去了后期图像处理部分对背景影响的考虑。将采集好的数据集按8:2 的比例分成训练集和测试集。如图1 所示,金针菇菇头大小差别较大,且水菇较多。

1.2 图像归一化

收集到的图像尺寸为4096×2160,像素在0~255之间。对这些图像进行归一化处理,将像素范围转换为0-1 之间。采用max 和min 值的方法对图像实现规范化,转化的公式如(1)所示:

在公式中,像素Y 代表经过变换后的像素,像素X代表原始像素值,像素M 和L 分别是样本像素的最大值和最小值。这种分配的目的是将多维表达式转换成无量纲,以避免不同物理意义和维数的输入变量的不平等使用和大数据对小数据的覆盖。

为了得到更好的模型,需要进行大量的训练以获得足够的训练参数,从而提高模型的规范化程度。为此,本文采用数据增强[9],通过对训练图像进行随机剪裁,得到4134 幅训练图像,并将其像素放大到256×256,以解决数据集不足导致的过拟合问题。

2 实验结果

进行预处理并且打好标签的数据集,分别放入YOLOv3[10]和YOLOv4[11]进行训练,得到训练好的模型,使用测试集在模型上进行测试,得到如表所示指标,可以看出YOLOv4 的准确率比YOLOv3 的准确率高2.1%,在检测速度上快了0.3s,更适用于工业使用。YOLOv4 检测的效果图如图2 所示,将大部分菇头的都检测出来,效果明显。

表1 四个评价指标对比

图2 检测效果图

如图3 所示是根据检测结果绘制的PR 图,可以看出YOLOv4 在本数据集之下的检测稳定性和准确性要高于YOLOv4,也进一步证明了,YOLOv4 在金针菇头部的检测中的实用性。

图3 YOLOv3和YOLOv4网络Precision-Recall曲线

3 结语

目前,将深度学习在应用到农产品中的实例较少,原因之一是大部分农产品是在多种自然条件下生长的,因此很难提取出有效的特征。另一个原因是数据集很难去收集,目前可用于农产品的数据集较少,大部分需要根据具体要求进行收集。本文根据对金针菇头部的标定,发现在YOLOv3 网络上检测的精度和速度优秀一些,通过这样的方法,可以实现金针菇头部的检测,但由于对其他优化算法的研究还不多,因此结果仍有很大的改进空间。

猜你喜欢

金针菇头部像素
被誉为“肉不敌菇”的金针菇,营养能被吸收吗?
金针菇含甲醛?
像素前线之“幻影”2000
自动驾驶走向L4 企业头部效应显现
火箭的头部为什么是圆钝形?
“像素”仙人掌
高像素不是全部
不熟的金针菇会造成中毒吗?
蚝壳巧制作
您的像素,饱和吗?[上]