基于深度可分离与空洞卷积的轻量化小麦 生育进程监测模型研究
来源:用户上传
作者:郑光 魏家领 任艳娜 刘合兵 席磊
摘要: 小麦的栽培管理措施依赖于其生育进程的监测,而传统人工观测小麦生育信息的获取方式,不仅效率低而且无法满足实时、快速的监测需求。为了解决上述问题,本研究提出一种基于深度可分离和空洞卷积的轻量化小麦生育进程监测方法,开展对小麦生育进程自动识别的研究。通过对试验田小麦完整生育周期内物候特征的持续拍摄,得到小麦各生育期分类图像数据集,并使用去中心化、错位缩放、翻转变换的图像增强方式对小麦生育期数据集进行扩充;通过使用深度可分离卷积有效地降低了模型的参数量和训练时间,在此基础上加入空洞卷积技术扩大网络中的感受野,提高网络对边缘的特征学习能力,并借助残差网络的技术逐步加深神经网络的深度,构建小麦生育进程监测模型。结果表明,本研究提出的监测模型在识别准确率方面高于经典的VGG16、InceptionV3、ResNet50模型,达到了98.6%。参数规模降低至1.3 MB,相比于轻量级模型MobileNetV2降低了58%,同等环境下在识别速度方面较MobileNetV2提高了47%;同时,利用TensorFlow Serving对监测模型进行部署,遵循前后端分离,采用SpringBoot及BootStrap等技术框架,开发了小麦生育进程智能监测服务系统,系统具有很好的松耦合性和灵活性。本研究为小麦生育进程智能化识别提供了技术支撑,也为低分类场景设计轻量且高效的卷积神经网络模型提供了可借鉴的方法。
关键词: 小麦;生育期;深度可分离卷积;空洞卷积;智能服务
中图分类号:S126 文献标志码: A
文章编号:1002-1302(2022)20-0226-07
小麦作为世界第二大粮食作物,其产业的发展关系到国家粮食安全和社会稳定。小麦的生育进程监测是指在小麦生育过程中,对各生长发育时期的形态变化进行记载的过程,反映了小麦的生长状态信息。小麦生育进程自动化识别 [1-2] 不仅能够指导农田管理者科学地栽培作物,还能够为无人机、自动化农场等作业提供可靠的识别能力 [3-4] 。因此,针对小麦生育进程设计一个智能化的自动识别方案具有重要意义。
现阶段的小麦生育进程信息的获取方式主要依靠人工观测,观测人员根据小麦的现有特征主观分析出生长发育状况,不仅效率低而且无法及时地获取小麦的生长发育状况。卷积神经网络是一项依靠高参数量训练来获得可以媲美人的识别精度的图片识别技术,为农作物识别提供了有效的技术手段。近年来,一些学者为解决农业中的现实问题,深入研究过卷积神经网络技术在农业方面的应用方案 [5-7] ,均取得了不错的结果。Gupta等将ResNet50预训练的卷积神经网络用于杂草和农作物分类识别中,采用ResNet50神经网络对农作物的分类识别率达到95.23% [8] 。和兴华等以玉米全生育期冠层图像为研究对象,结合深度卷积神经网络提出玉米冠层图像自动分割和生育期自动鉴定方法,为田间玉米长势自动监测系统提供了技术支撑 [9] 。倪建功等基于知识蒸馏对4种不同品质的胡萝卜进行等级检测,使得到的模型能够在保证准确率的情况下减小网络模型的参数量和模型运行时间消耗,降低了部署模型的成本 [10-11] 。但是上述研究使用的模型大多数都是基于高数据量、高分类目标被设计出的经典卷积神经网络模型,而在农业方面往往并没有这么大的分类目标,使用经典的卷积神经网络模型作为小麦生育期识别方案时,过多的参数不仅会使得模型容易学习到不必要的特征, 还会增加模型部署时的计算量,降低模型识别速度。
为了解决上述问题,本研究从小麦生育期冠层图像识别的准确率和效率出发,以降低模型复杂度、提升模型运算速度为目标,设计了一种基于深度可分离卷积 [12] 和空洞卷积 [13] 的改进卷积神经网络图像识别方法。深度可分离卷积采用特征区域与通道分离的方式,有效地减少了训练模型所需要的时间。而空洞卷积技术扩大了网络中的感受野,提高了网络对边缘的特征学习能力。并在此基础上使用残差网络 [14] ,避免了网络过深而出现的梯度弥散问题 [15] ,保证了模型能学到更多的特征。此外,基于该监测网络模型,通过TensorFlow Serving进行模型部署,采用SpringBoot、BootStrap等技术构建小麦生育期智能监测服务系统,以期为小麦生育期自动化观测提供技术支撑。
1 材料与模型
1.1 数据来源
为了测试自定义模型的准确率并考虑到实拍图像的复杂性, 本试验使用在河南省L葛市河南农 业大学许昌校区试验区(113°58′26″E,34°12′06″N)[ 拍摄的小麦5个生育时期的冠层图像,采集时间为2019年10月至2020年6月。试验区属北温带大陆性季风气候区,年均气温14.3 ℃,年均降水量711.1 mm,无霜期217 d。采用三脚架固定相机(尼康D3100,传感器CMOS,最大光圈F/5.6, 1 420 万像素,最高分辨率4 608×3 072)高度为 1 m 进行拍摄,所有图像都是在自然光照条件下进行采集。
从获取的图像数据中分别筛选出小麦的出苗期(出苗期的第1天到分蘖的前1天)、分蘖期(分蘖期的第1天到越冬期的前1天)、越冬期(越冬期的第1天到返青期的前1天)、返青期(返青期的第1天到拔节期的前1天)、拔节期(拔节期的第1天到抽穗期的前1天)等5个阶段共12 000张图像。采集到的部分图像如图1所示。
1.2 深度可分离卷积与空洞卷积
卷积神经网络原理是利用卷积操作逐层提取图像的区域特征信息,并不断加深特征深度和缩小特征范围以便神经网络能够更好地学习到有用的图像特征。早期的VGG16模型尽管能取得较高的精度,但其简单的结构使得网络加深后会出现梯度弥散的现象,模型的识别效果显著下降 [16] 。为此,He等利用残差结构设计出了Resnet模型,该模型在ImagesNet数据集上取得的准确率超过VGG16模型的同时,也使得模型结构能够加深到100层以上 [17] 。本试验使用该技术,在模型的部分层中使用残差网络以提升模型准确率和增加深度。
残差网络结构因独特的设计使得模型具有很高的可优化性和性能,被广泛应用于很多高效的模型中。后来的研究者从核心的卷积计算出发,提出了一些表现很好的卷积计算设计,深度可分离卷积和空洞卷积是其中效果较好的方法。卷积操作在被设计的初期,采用的是一次卷积同时对所有通道进行计算,而深度可分离卷积提供了一种新的思路,该方法对于不同的输入通道采取不同的卷积核进行卷积,一个卷积核负责一个通道,一个通道只被一个卷积核卷积,相比于常规的卷积操作,其参数量和运行成本被大大降低。
公式(1)为普通卷积和深度可分离卷积可训练参数数量的对比,参数 D k、M 为输入边长和通道数,参数 N 为输出通道数。根据两者参数量对比可以看出,输出的通道数越大,深度可分离卷积相比于普通卷积减少的参数量就越多。
(1)
深度可分离卷积的出现使得模型可以在保持准确率的同时大幅度降低参数量。但卷积神经网络有时会因感受野面积过小造成训练时空间层级化信息丢失。空洞卷积(别称扩张卷积)的出现使得卷积操作加大了感受野,让每个卷积输出都包含较大范围的信息。本试验模型中部分卷积层使用空洞卷积核来代替普通卷积核,不仅扩大了卷积核的感受野面积,同时降低了卷积核的计算量。公式(2)为空洞卷积的卷积核参数量,如果原来的卷积核大小为K,那么加入卷积核大小为K d的空洞卷积参数量 P便如公式(2)所示。
P=K+(Kd-1)*(K-1)(2)
1.3 小麦生育进程监测模型网络结构设计
使用经典的卷积神经网络模型作为小麦生育期识别方案时,过多的参数不仅会使得模型容易学习到不必要的特征,还会增加使用时的计算量,降低模型的识别速度。为了解决以上问题,本试验基于深度可分离和空洞卷积技术为小麦生育进程监测设计了一个改进的识别模型,将一个普通卷积和深度可分离卷积组合作为卷积单元(block)组成整个模型,并在个别卷积单元间加入残差网络,增加了模型的深度,保证了模型能学到更多的特征,模型基本结构如图2所示。
图2为小麦生育进程监测模型的网络基本结构,其中Conv2D、Conv2D-d和DSConv2D分别代表普通卷积、空洞卷积和深度可分离卷积。在卷积操作后面都进行稻荼曜蓟(BN)和激活函数(Relu6)的计算,使得模型更容易学习到图像的稀疏特征,加快了模型的收敛速度,卷积单元间使用的是线性激活函数(Linear),防止训练时出现梯度弥散的现象。残差连接(addition)表示残差网络结构使用的单位加操作,该操作会将该卷积单元的原本输出与输入相加作为最终的输出,这样做的优点在于能够使模型取得更高的深度,表1为监测模型的网络详细参数。
从表1监测模型的网络结构详细参数中可以看出,每个卷积单元里均采用了中间宽、两边窄的结构,同时多个单元的输入和输出保持同等宽度,这样做能够在不影响训练效果前提下有效地提高模型的识别速度。input代表的是当前单元的输入(上层单元的输出)。参数 e、o分别表示每个单元里普通卷积和深度可分离卷积特征图宽度;参数S 1、S 2代表每个单元里普通卷积和深度可分离卷积的步长,步长为2时图像宽度减少1倍;参数k则表示深度可分离卷积的卷积核大小;参数d为2表示使用空洞卷积代替正常卷积;参数s 表示卷积单元间是否使用残差网络结构。
该模型叠加了10个基本单元,并使用Softmax作为输出函数用于输出小麦生育期识别的种类,为小麦生育期提供了一个准确率高且轻量的模型。
2 数据增强与模型超参数调整
2.1 数据增强
卷积神经网络在训练时有时会因过度适配训练数据,导致模型在训练集上准确率较高,在测试集上结果很差。为了防止模型过拟合情况发生,往往会在训练时加入数据增强 [18] 的方法以扩充图像数据。数据增强是通过在训练数据中加入一些不影响图片质量的改动图片来增加模型对于图像内容变化的适应能力,从而使得模型在测试图像数据上也能取得很好的效果。本试验使用以下数据增强方法。(1)去中心化:将输入的每个样本除以其自身的标准差,从而对每张图像进行标准化处理,经过该处理后的图像相比于原来的图像颜色偏暗。(2)错切变换:让所有点的 x坐标保持不变,对应的y坐标则按比例发生平移,平移的大小和该点到x轴的垂直距离成正比。 (3)图像缩放:图像同时在长宽2个方向进行同等程度的放缩操作。(4)随机翻转:随机选取图像并执行随机翻转操作。(5)标准化:在所有其他变换操作之前对图像的每个像素值均乘上1/255放缩因子,把像素值放缩到0和1之间,有利于模型的收敛。
2.2 模型超参数选择
学习率和优化器指每次迭代训练时更新模型网络结构中参数的幅度和方法,合适的学习率和优化器能够加快模型训练时收敛速度,更快地得到最优参数,训练批次是指单次投入模型训练的图像数量,一般都为32、64批次。卷积神经网络模型的训练须要通过多次迭代训练才能获得最优参数,因此学习率、优化器以及训练批次的选择对训练的收敛速度及最终的识别率都有一定的影响 [19-20] 。
试验使用拍摄的小麦出苗期、分蘖期、越冬期、返青期、拔节期的冠层图像作为识别样本,每个阶段共2 400张图像数据。随机选取80%的图像数据作为模型的训练集,剩余20%作为测试集进行模型的训练。表2是对3个超参数的识别准确率测试结果,其中识别准确率是测试集5个生育期小麦的平均准确率。
测试试验选择的学习率分别为0.005 0、 0.001 0 、0.000 5、0.000 1,并将Adam、SGD这2种优化算法作为比较,训练批次分别设置为32和64这2种常用的批次。根据表2可以看出,在学习率为0.001 0并且使用Adam优化器,训练批次为32时,模型所取得的识别准确率最高。随着学习率的降低,识别准确率有所下降。训练批次为32的准确率要高于批次为64的准确率。但基于Adam和SGD这2种方法所训练的结果并没有较大的差异,均能达到很好的收敛效果。
3 试验及结果与分析
本试验将经典的卷积神经网络和提出的小麦生育期监测网络模型(CustomNet)进行对比测试。选取的经典模型有VGG16、Resnet50、InceptionV3、MobileNetV2、DenseNet,这些模型 [21] 已被众多研究者证明在各个领域都能取得很好的结果,具有很强的泛化能力。模型训练均使用Tensorflow框架在本地GTX 1050ti显卡中进行,试验训练100次,均选用0.001 0的学习率,使用 Adam优化器加速模型收敛,并且设置训练批次为32进行模型的训练,取其中测试集最优的模型进行保存测试。
3.1 训练过程
模型在训练时,测试集能反映模型的拟合能力,而训练集反映的是模型的训练情况,为了解模型训练过程中准确率的变化情况,本试验使用训练过程中训练集每个批次(epoch)的准确率作为对照,因为模型在训练30个epoch时,训练集就能达到很高的正确率,所以使用训练集的前30个epoch的正确率作为对照,其结果如下图所示。
根据图3可以看出,本试验构建的小麦生育进程监测模型(CustomNet)和经典模型在训练的前期均能达到很高的正确率,并且具有和经典模型相同的收敛速度,VGG16模型因为较多的参数导致训练时收敛速度相比于其他模型稍慢。
3.2 单个生育期测试
为了更详细地展示模型的拟合能力,试验使用测试集对小麦5个生育期分别进行准确率测试,并与5个经典的模型进行了对比,结果如表3所示。
由表3可知,本试验构建的小麦生育进程监测模型(CustomNet)在拔节期、出苗期、分蘖期的识别都能达到很高的正确率,返青期的识别率相比于其他生育期略低,CustomNet模型平均识别准确率为98.6%。DenseNet在所有模型中取得最高的平均准确率,为99.2%。
3.3 模型运算速度对比
准确率是衡量一个模型性能的重要指标,其效果和数据集及现实世界的复杂性高度相关, 单一以准确率为指标不能准确反映模型的最终性能。因此本试验增加模型的运算速度这一指标,并与经典模型VGG16、Resnet50、InceptionV3、MobileNetV2、DenseNet做对比y试。本试验选取100张图片作为测试数据,将图片不间断地传入模型并进行识别,并记录完成全部识别的时间作为参考。其识别速度和各个模型的参数量对比如表4所示。
表4中,耗时为模型识别100张图片的运算时间,参数量反映了模型运算占用内存的大小。通过对比模型运算耗时和模型参数量,可以发现模型的运行速度与参数量之间不是线性关系,模型结构是决定识别速度的重要原因之一。从表4中可以看出,尽管VGG16的参数量比较庞大,但由于其结构只有16层,卷积层计算量较少,参数量多集中为全连接层,因此在测试速度上能取得很好的成绩。而DenseNet模型参数量较少,但因其使用了较宽的结构使得每层卷积的特征图数量大大增加,卷积层数也达到了121层,因此识别的速度较慢。本试验构建的小麦生育进程监测模型(CustomNet)参数量为1.3 MB,相比于MobileNetV2降低了58%,并且识别速度提高了47%,在大大减少参数量的情况下,保证了识别的速度。
4 小麦生育进程监测服务
为了打破传统识别服务中模型预测与发布服务之间无法无缝对接且模型版本迭代困难等诸多弊端,在小麦生育期监测模型的基础上,使用TensorFlow Serving技术 [22-23] 对监测模型进行部署,遵循前后端分离,结合SpringBoot和BootStrap框架基于MVC(模型、视图、控制器)的控制逻辑研发一套松耦合、高灵活性的小麦生育期监测服务系统。
根据监测服务的使用和提供者,将服务系统分为终端和云服务器。终端为服务表示层,可以是web、APP等形式,主要是发送服务请求,并以文字、图形等形式展现结果。云服务器为服务层,包含3个模块:小麦生育期图像训练模块、服务数据处理模块、服务部署模块,各模块之间独立部署,使用数据通讯接口进行模块间的交互,为农业生产管理者提供高效的小麦生育进程监测服务。小麦生育进程监测服务架构如图4所示。
各个模块主要完成以下工作。
(1)数据处理模块:用于接收终端表示层通过Post请求提交的生育期图像,将图像统一处理成224×224×3的大小,然后通过gRPC接口连接到服务部署模块,传递处理后的图像数据和模型请求名称。此外,该模块接收服务部署模块识别结果,并向终端表示层返回监测识别结果和相应生育期栽培管理措施。
(2)服务部署模块:服务部署模块采用TensorFlow Serving进行模型部署,将模型打包成生育期监测服务并部署到Docker容器中,可以方便进行版本迭代,并且支持模型热更新与自动版本控制。该模块向数据处理模块开放gRPC接口,持续监听识别请求,接收符合要求的图像数据,触发生育期监测服务,并向数据处理模块返回识别结果。
(3)小麦生育期监测模型训练模块:该模块使用TensorFlow框架将新的小麦生育期图像数据导入改进的识别模型中进行训练,并把训练好的h5权重文件转换成gRPC接口所需要的pb文件,经文件上传后覆盖部署到服务部署模块中的生育期监测服务,保证了模型版本的实时迭代。
图5是小麦生育期监测服务具体界面。用户提交的小麦生长图像文件如图5-a所示,经数据处理模[CM(21]块规范化处理后,调用监测模型,返回生育期监测结果和相应的管理措施如图5-b所示。
5 结论
本研究设计了一种基于深度可分离卷积和空洞卷积的轻量级卷积神经网络及服务系统用于小麦生育期监测,结论如下:
(1)以普通卷积和深度可分离卷积为基本单元进行组合,加入空洞卷积技术扩大了网络中的感受野,并借助残差网络的技术逐步加深神经网络的深度,构建了小麦生育进程监测模型,有效地将模型的参数规模降低到1.3 MB,相比于MobileNetV2模型参数规模降低了58%,同等环境下识别速度提高了47%。
(2)在模型的训练过程中,使用数据增强的方法扩充数据集,防止了模型训练时出现过M合现象。并通过对学习率、优化器、训练批次3个超参数进行识别率测试,最终选择0.001 0的学习率、Adam优化器、32批次对改进的识别模型进行训练,使得小麦生育期识别率达到98.6%。
(3)在模型的部署过程中,从模型的迭代和识别的效率出发,使用TensorFlow Serving技术对监测模型进行部署,遵循前后端分离,采用SpringBoot及BootStrap等技术框架,基于MVC架构开发了小麦生育进程智能监测服务系统。系统具有很好的松耦合性和灵活性,同时也方便投入实际生产中。
本研究基于卷积神经网络为小麦的生育期识别设计了一个轻量且高效的识别模型,同时从模型部署角度出发,研发了一套松耦合、高灵活性的小麦生育进程监测服务系统。不仅为小麦生育进程智能化识别提供了技术支撑,也为农业生产管理者提供了高效的小麦生育进程监测服务。
参考文献:
[1] 孔令寅,延 昊,鲍艳松,等. 基于关键发育期的冬小麦长势遥感监测方法[J]. 中国农业气象,2012,33(3):424-430.
[2]权文婷,周 辉,李红梅,等. 基于S-G滤波的陕西关中地区冬小麦生育期遥感识别和长势监测[J]. 中国农业气象,2015,36(1):93-99.
[3]汪传建,赵庆展,马永建,等. 基于卷积神经网络的无人机遥感农作物分类[J]. 农业机械学报,2019,50(11):161-168.
[4]朱炽阳. 基于图像处理的动态农田杂草识别方法研究[D]. 长春:吉林农业大学,2018.
[5]邱文杰,叶 进,胡亮青,等. 面向植物病害识别的卷积神经网络精简结构Distilled-MobileNet模型[J]. 智慧农业(中英文),2021,3(1):109-117.
[6]侯俊铭,姚恩超,朱红杰. 基于卷积神经网络的蓖麻种子损伤分类研究[J]. 农业机械学报,2020,51(增刊1):440-449.
[7]陈 峰,谷俊涛,李玉磊,等. 基于机器视觉和卷积神经网络的东北寒地玉米害虫识别方法[J]. 江苏农业科学,2020,48(18):237-244.
[8]Gupta K,Rani R,Bahia N K. Plant-seedling classification using transfer learning-based deep convolutional neural networks[J]. International Journal of Agricultural and Environmental Information Systems,2020,11(4):25-40.
[9]和兴华. 基于卷积神经网络的玉米冠层图像分割与生育期鉴定方法[D]. 南昌:江西农业大学,2018.
[10] 倪建功,李 娟,邓立苗,等. 基于知识蒸馏的胡萝卜外观品质等级智能检测[J]. 农业工程学报,2020,36(18):181-187.
[11]Hinton G,Vinyals O,Dean J. Distilling the knowledge in a neural network[J]. Computer Science,2015,14(7):38-39.
[12]孙 俊,谭文军,武小红,等. 多通道深度可分离卷积模型实时识别复杂背景下甜菜与杂草[J]. 农业工程学报,2019,35(12):184-190.
[13]孙 俊,何小飞,谭文军,等. 空洞卷积结合全局池化的卷积神经网络识别作物幼苗与杂草[J]. 农业工程学报,2018,34(11):159-165.
[14]陈 娟,陈良勇,王生生,等. 基于改进残差网络的园林害虫图像识别[J]. 农业机械学报,2019,50(5):187-195.
[15]陈建廷,向 阳. 深度神经网络训练中梯度不稳定现象研究综述[J]. 软件学报,2018,29(7):2071-2091.
[16]Rangarajan A K,Purushothaman R. Disease classification in eggplant using pre-trained VGG16 and MSVM[J]. Scientific Reports,2020,10:2322.
[17]He K M,Zhang X Y,Ren S Q,et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE Conference on [JP3]ComputerVision and Pattern Recognition.Las Vegas,2016: 770- 778.
[18]蒋 芸,张 海,陈 莉,等. 基于卷积神经网络的图像数据增强算法[J]. 计算机工程与科学,2019,41(11):2007-2016.
[19]白 琮,黄 玲,陈佳楠,等. 面向大规模图像分类的深度卷积神经网络优化[J]. 软件学报,2018,29(4):1029-1038.
[20]邓 棋,雷印杰,田 锋 .用于肺炎图像分类的优化卷积神经网络方法[J]. 计算机应用,2020,40(1):71-76.
[21]周飞燕,金林鹏,董 军. 卷积神经网络研究综述[J]. 计算机学报,2017,40(6):1229-1251.
[22]潘明阳,周海南,李增辉,等. 智能水位预测服务系统研究[J]. 大连海事大学学报,2020,46(3):31-37.
[23]郭敏钢,宫 鹤. 基于Tensorflow对卷积神经网络的优化研究[J]. 计算机工程与应用,2020,56(1):158-164.
转载注明来源:https://www.xzbu.com/1/view-15445994.htm