CN113780357B - 一种基于迁移学习+MobileNet的玉米叶片病虫害移动端识别方法 - Google Patents
一种基于迁移学习+MobileNet的玉米叶片病虫害移动端识别方法 Download PDFInfo
- Publication number
- CN113780357B CN113780357B CN202110930944.9A CN202110930944A CN113780357B CN 113780357 B CN113780357 B CN 113780357B CN 202110930944 A CN202110930944 A CN 202110930944A CN 113780357 B CN113780357 B CN 113780357B
- Authority
- CN
- China
- Prior art keywords
- mobilenet
- model
- picture
- corn leaf
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 240000008042 Zea mays Species 0.000 title claims abstract description 77
- 235000002017 Zea mays subsp mays Nutrition 0.000 title claims abstract description 77
- 235000005824 Zea mays ssp. parviglumis Nutrition 0.000 title claims abstract description 69
- 235000005822 corn Nutrition 0.000 title claims abstract description 69
- 241000607479 Yersinia pestis Species 0.000 title claims abstract description 65
- 201000010099 disease Diseases 0.000 title claims abstract description 63
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 title claims abstract description 63
- 238000013526 transfer learning Methods 0.000 title claims abstract description 20
- 238000012549 training Methods 0.000 claims abstract description 59
- 241000238631 Hexapoda Species 0.000 claims abstract description 49
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 35
- 238000000605 extraction Methods 0.000 claims abstract description 16
- 238000007781 pre-processing Methods 0.000 claims abstract description 11
- 235000016383 Zea mays subsp huehuetenangensis Nutrition 0.000 claims abstract description 8
- 235000009973 maize Nutrition 0.000 claims abstract description 8
- 238000012360 testing method Methods 0.000 claims abstract description 8
- 238000001914 filtration Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 19
- 230000006872 improvement Effects 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 16
- 241000196324 Embryophyta Species 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 11
- 230000009466 transformation Effects 0.000 claims description 9
- 238000005286 illumination Methods 0.000 claims description 8
- 238000011176 pooling Methods 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 238000013519 translation Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 4
- 230000002708 enhancing effect Effects 0.000 claims description 4
- 230000008014 freezing Effects 0.000 claims description 4
- 238000007710 freezing Methods 0.000 claims description 4
- 238000011478 gradient descent method Methods 0.000 claims description 4
- 238000012886 linear function Methods 0.000 claims description 4
- 238000012417 linear regression Methods 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 4
- 230000009471 action Effects 0.000 claims description 3
- 230000007423 decrease Effects 0.000 claims description 3
- 238000003745 diagnosis Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- JEIPFZHSYJVQDO-UHFFFAOYSA-N iron(III) oxide Inorganic materials O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000011426 transformation method Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 244000037666 field crops Species 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000000474 nursing effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于迁移学习+MobileNet的玉米叶片病虫害移动端识别方法,包括以下步骤:步骤1、准备数据集,并按照一定比例划分训练集和测试集;步骤2、构建MobileNet卷积神经网络的结构;步骤3、对数据集图片进行数据增强和图片预处理等操作;步骤4、使用迁移学习的方法来对模型进行训练,加快模型收敛且提高模型特征提取能力;步骤5、通过TFlite将训练好的模型转换成可移植文件;步骤6、搭建移动端应用程序并将模型部署在应用程序内;步骤7、通过移动端设备采集图像进行玉米叶片病虫害识别。本发明对模型网络进行了改进,在不影响模型精度和性能的前提下减小了模型的运算代价,同时,将模型移植到移动端,运算速度得到进一步的提升。
Description
技术领域
本发明涉及深度学习及智慧农业领域,尤其涉及一种基于迁移学习+MobileNet的玉米叶片病虫害移动端识别方法。
背景技术
玉米病虫害综合防治的首要前提是对田间病虫害进行及时准确的识别和诊断。目前,我国玉米病虫害识别与诊断工作主要依靠植保工作者的人工识别,费时费力,实时性差,无法满足现代农业的发展需求。随着机器学习和模式识别技术发展日益成熟,使得玉米病虫害的自动识别与诊断成为可能。为了实现玉米田间病虫害智能识别,先前的学者建立了基于移动端的玉米病虫害图像识别与诊断系统,实现对玉米病虫害图像的采集、识别和快速诊断。
在以往的移动端农业病虫害检测中,通常是手机端先拍发病作物照片,然后将拍摄的照片上传到服务器,然后在服务器端调取模型对上传过来的照片进行推理,推理结束后服务器将推理结果返回手机端。这种传统的方法在以前手机端算力过低的情况下是主流方法。但通过这种方式会存在如下的问题:
(1)手机端和服务器进行交互的过程容易产生大量的流量、网络传输噪声、图像失真、等问题。
(2)在农田、大棚等信号较弱的地方,采用传统手机端到服务器的方式对网络要求较高,图片过大的情况下容易传送失败或者产生很高的网络延迟。传统方式太过依赖网络。
农作物信息采集技术是实现精准农业的关键技术之一,其中图像信息是作物必要的基础信息。作物图像不仅能够提供直接可观测的作物生长情况,结合图像处理技术,还能够获取作物更多的生长信息,农作物图像在现代农业管理中获得高度重视。对大面积农作物信息采集,国内外通常使用卫星遥感、飞机航拍、雷达监测等办法。在小范围内考虑到成本和可操作性等因素,多采用网络摄像头或固定安置的摄像机方式实现田间作物信息采集。基于摄像机装置的图像采集方式虽然都能完成作物图像采集,但系统搭建成本、看护成本及运行成本均较高,无法大范围推广使用。
当前,急需一种灵活、便捷、成本低廉的图像采集系统,以满足农业智能化管理的需求。随着移动端的普及以及移动端算力的提升,移动端可以很好的完成图像采集、图像处理和模型推理等任务。本发明就是采用了移动端来完成这一任务。
发明内容
本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种基于迁移学习+MobileNet的玉米叶片病虫害移动端识别方法。
本发明解决其技术问题所采用的技术方案是:
本发明提供一种基于迁移学习+MobileNet的玉米叶片病虫害移动端识别方法,该方法包括以下步骤:
步骤1、收集各种玉米叶片病虫害的图片数据集,对图片数据集进行预处理,并将预处理后的图片数据集划分为训练集和测试集;
步骤2、构建针对玉米叶片病虫害的MobileNet卷积神经网络,MobileNet网络在经过了用于特征提取的的逐点卷积和逐深度卷积后得到的特征图尺寸为7*7*1024,再经过一个均值池化层将特征图尺寸变为1*1*1024;把均值池化层后用于分类的全连接层替换为一个卷积核尺寸为1*1的卷积层,再设置卷积核组数与原全连接层输出个数相同。
步骤3、将MobileNet卷积神经网络在ImageNet数据集上训练得到的参数通过迁移学习的方法迁移到针对玉米叶片病虫害的MobileNet卷积神经网络上,并使用玉米叶片病虫害的图片数据集对其进行进一步的训练,加强模型对玉米叶片病虫害的特征提取能力;
步骤4、在训练前设置优化学习率的方式,设置为若acc参数三次不下降,则下降学习率继续训练;同时设置是否需要早停来缓解过拟合,早停监控的参数是val_loss,当val_loss参数不再下降的时候,则停止训练;
步骤5、训练结束后,重新构建改进的MobileNet卷积神经网络,将MobileNet卷积神经网络的网络参数随机初始化;在输入玉米叶片病虫害图片数据集进行训练前,将步骤3中得到的网络模型权重导入改进的MobileNet网络中;将前面81层MobileNet网络结构冻结,保留其在玉米叶片病虫害图片上良好的特征提取能力,只训练改进MobileNet卷积神经网络最后的卷积层,加快模型收敛;
步骤6、通过TFlite将训练好的改进MobileNet卷积神经网络模型转换成.tflite格式,并将其部署在移动端;
步骤7、通过移动端设备采集玉米叶片图片并加载改进MobileNet卷积神经网络模型进行推理,得到结果呈现在移动端设备上。
进一步地,本发明的所述步骤1中对图片数据集进行预处理的方法具体为:
首先通过python程序将所有玉米叶片病虫害的图片和其对应的标签一一对应并写入一个txt的文档中,txt文档用于读取数据来训练;对图片进行预处理的方法包括:
(1)对图片进行缩放、平移、旋转等操作;
图片缩放,将目标图片中的像素点按照设定的缩放系数,沿坐标轴的方向缩小或放大图片;
图片平移,将目标图片中的像素点按照设定的平移量水平或竖直移动;
图片旋转,以目标图片中的某一点为原点,按逆时针或顺时针旋转一定的角度;
(2)对图片进行图片增强;
采用了中值滤波和线性变换的方法对图片进行处理,使得不清楚的玉米叶片病虫害图片变得清晰,使玉米叶片病症特征更加突出,抑制不感兴趣的特征;
a:图像去噪:
采用中值滤波方法对图片进行处理,中值滤波采用的是非线性滤波的方式,将目标局部图像中一点的像素值用该点领域内的各个点值的中值代替,中值滤波的数学公式为:H(x,y)=Med{F(x-i,y-j),(i,j∈M)}
式中:Med表示中值操作,M为设定的窗口区域,取3*3或5*5;
b:对比度变换:
采用线性变换的方法,当目标图像在拍摄获取时因为光照不足或光照强度太强而出现模糊不清的现象,此时利用一个线性函数对目标图像的像素进行线性操作,从而达到改善目标图像的目的;假设目标图像F(x,y)的像素值范围为[a,b],经线性变换后的图像H(x,y)的像素值范围为[c,d],则线性变换的数学表达式表示为:
进一步地,本发明的所述步骤2中MobileNet卷积神经网络模型的改进方法为:
将MobileNet卷积神经网络结构的最后三层全连接层去掉,然后添加一个1*1的卷积层和Activation层,首先将卷积核设置为上一层网络feature map的尺寸,然后再设置卷积核组数与全连接输出个数相同,当这组卷积核作用于输入的feature map上时,就能得到一个1*1*输出个数的输出。
进一步地,本发明的所述步骤2中构建的MobileNet卷积神经网络为:
优化MobileNet卷积神经网络运用的是深度可分离卷积操作,由depthwise卷积和pointwise卷积两个部分结合起来对图像进行特征提取操作,深度可分离卷积改进了常规的3*3的卷积核,使原本可能丢失的特征得以保留下来;
所述的depthwise卷积是采用3*3卷积核对输入的各通道分别进行卷积,从各个通道输出的特征图;所述的pointwise卷积是采用1*1的卷积核对这些depthwise卷积输出的特征图进行特征融合,得到最终输出。
进一步地,本发明的所述步骤2的具体方法为:
步骤2.1,改进MobileNet卷积神经网络,进一步降低模型参数,将MobileNet网络结构的最后三层全连接层去掉,然后添加一个1*1的卷积层和Activation层;
首先将卷积核设置为上一层网络feature map的尺寸,然后再设置卷积核组数与全连接输出个数相同,当这组卷积核作用于输入的feature map上时,就能得到一个1*1*输出个数的输出,由于卷积核大小和输入的feaure map一模一样,就保证了转换后的卷积层的运算结果和之前的全连接层是一样的;
优化后的MobileNet网络在将结果输出至替代全连接的卷积层之前进行了一次全局最大池化,然后通过reshape()函数将输出结果改变为1*1*1024,再将替代了全连接层的卷积层中卷积核设置为1*1大小,通道数为1024,根据输出个数将卷积核组数设置为4,通过这一操作,最后新的卷积层参数量为4100;
步骤2.2,对步骤2.1得到的输出结果进行Reshape操作,Reshape层代替了原本网络中分类层的作用;
网络输出的结果是1*1*4尺寸,通过reshape()函数将输出结果转变成4分类结果。
进一步地,本发明的所述步骤3中进行训练的过程为:
构建玉米叶片病虫害数据集T={(x1,y1),(x2,y2)...(xn,yn)},其中x为玉米叶片病虫害图片所有像素点的向量表示,y为其玉米叶片病虫害对应的标签分类,将xn输入网络使用线性回归进行学习f(xn)=wxn+b中的w和b,使得f(xn)≈yn;训练过程中使用梯度下降法,使均方误差最小化,即:
其中w代表的是1*L的权重矩阵,b表示偏置,λ表示的是表示L2正则化系数。
进一步地,本发明的所述步骤6的方法具体为:
通过TFlite将训练好的模型转换成.tflite格式,在Android工程下创建一个asset资源文件夹,将.tflite文件和保存有标签的.txt文档导入其中,再在Android工程中的配置文件中将模型设置为不可压缩,接下来则是编写在工程的主页面编写模型解释器,用于加载模型,然后创建调用相机权限的页面。
进一步地,本发明的所述步骤4的方法具体为:
采用ReduceLROnPlateau方法在训练过程中动态优化学习率,设置ReduceLROnPlateau函数中monitor参数值为acc,代表学习率下降的检测值是acc,设置factor值为0.5,学习率将以lr=lr*factor的形式被缩小,设置patience的值为3,代表当patience个epoch过去而性能不提升时,学习率减小的动作将会被触发;采用Earlystopping方法来控制是否早停,设置其参数monitor为var_loss,代表是否需要早停的检测参数是var_loss,设置min_delta参数为0,代表减小的阈值,只有大于这个阈值才算improvement,反映了模型对var_loss参数的容忍程度;设置patience参数为10,代表能够容忍多少个epoch内都没有improvement;当10个epoch内都没有improvement,早停触发,停止训练,缓解过拟合。
进一步地,本发明的所述步骤7的方法具体为:
将编译好的Android应用程序安装在手机上,应用程序包含两个功能:读取相册图片和实时预测,实施预测用于调用相机对目标进行检测,每隔一定时间提取相机图像并调用模型进行推理。
本发明产生的有益效果是:本发明提出一种基于迁移学习+深度学习的玉米叶片病虫害移动端识别方法,本方法并对模型网络进行了改进,将模型最后的3个全连接层替换成了一个卷积层加一个Activation层,最后在输出时采用reshape()函数根据分类种类数量输出结果。通过这一改进,模型的总参数由3557570减小到3230914,在不影响模型精度和性能的前提下减小了模型的运算代价。经过三个epoch的训练,改进前模型在验证集上的准确率为93.75%,改进后的模型准确率达到96.88%,改进后的模型准确率明显提升。同时,将模型移植到移动端,改进前的模型运算速度为1000ms左右,改进后的模型运行速度为900ms左右。运算速度得到进一步的提升。本方法在图像识别任务的整个周期,考虑到实际应用环境的影响,本方法克服了网络延迟对识别速度和精度带来的影响。整个识别任务是由移动端独立完成。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为本发明的整体框架流程图。
图2为本发明在移动端的测试效果图(大斑病、小斑病、玉米锈病、健康)和实时预测效果图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明以图1所示的整体框架流程图为基础,提出了一个基于迁移学习+优化MobileNet的玉米叶片病虫害移动端识别方法。其中图2是本发明的实例测试图。
由于在数据采集过程中复杂的环境因素影响,本发明得到的玉米叶片病虫害图片存在图片失真、对比度不够等问题。同时由于数据集过小容易造成模型过拟合。为了解决上述问题,首先对图像进行数据增强和图片预处理;同时用玉米叶片病虫害数据集训练一个MobileNet网络,然后对其进行迁移学习;将迁移学习得到的权重导入新构建的改进的MobileNet网络中,冻结其中用于特征提取的结构,再用玉米叶片病虫害数据集对其进行训练。
本发明实施例中的基于迁移学习+MobileNet的玉米叶片病虫害移动端识别方法,该方法包括以下步骤:
步骤1、收集各种玉米叶片病虫害的图片数据集,对图片数据集进行预处理,并将预处理后的图片数据集划分为训练集和测试集;
步骤2、构建优化的MobileNet卷积神经网络,MobileNet网络在经过了用于特征提取的的逐点卷积和逐深度卷积后得到的特征图尺寸为7*7*1024,再经过一个均值池化层将特征图尺寸变为1*1*1024。把均值池化层后用于分类的全连接层替换为一个卷积核尺寸为1*1的卷积层,再设置卷积核组数与原全连接层输出个数相同;
步骤3、将MobileNet卷积神经网络在ImageNet数据集上训练得到的参数通过迁移学习的方法迁移到针对玉米叶片病虫害的MobileNet卷积神经网络上,并使用玉米叶片病虫害的图片数据集对其进行进一步的训练,加强模型对玉米叶片病虫害的特征提取能力;
步骤4、在训练前设置优化学习率的方式,设置为若acc参数三次不下降,则下降学习率继续训练;同时设置是否需要早停来缓解过拟合,早停监控的参数是val_loss,当val_loss参数不再下降的时候,则停止训练;
步骤5、训练结束后,重新构建改进的MobileNet卷积神经网络,将MobileNet卷积神经网络的网络参数随机初始化;在输入玉米叶片病虫害图片数据集进行训练前,将步骤3中得到的网络模型权重导入改进的MobileNet网络中;将前面81层MobileNet网络结构冻结,保留其在玉米叶片病虫害图片上良好的特征提取能力,只训练改进MobileNet卷积神经网络最后的卷积层,加快模型收敛;
步骤6、通过TFlite将训练好的改进MobileNet卷积神经网络模型转换成.tflite格式,并将其部署在移动端;
步骤7、通过移动端设备采集玉米叶片图片并加载改进MobileNet卷积神经网络模型进行推理,得到结果呈现在移动端设备上。
步骤1所述的数据集的处理方法如下:
首先通过python程序将所有图片和其对应的标签一一对应并写入一个txt的文档中。这个txt文档主要是帮助读取数据来训练。
步骤1所述的数据增强、图片预处理的方法如下:
(1)对图像进行缩放、平移、旋转等操作。图像的缩放,是将目标图像中的像素点按照设定的缩放系数,沿坐标轴的方向缩小或放大图像。假设沿坐标轴x方向的缩放系数为kx,沿坐标轴y方向的缩放系数为ky,则做缩放变换后的图像中点坐标(x1,y1)与原图像中点的坐标的关系为:x1=x0*kx,y1=y0*ky。
作平移操作变换后的图像中点坐标(x1,y1)与原图像中点的坐标的关系为:x1=x0+Δx,y1=y0+Δy。Δx和Δy分别代表坐标点在x轴和y轴偏移量。
作旋转操作变换后的图像中点坐标(x1,y1)与原图像中点的坐标的关系为:
x1=x0cosθ-y0sinθ,y1=x0sinθ+y0cosθ;
其中θ为按照逆时针转动的角度。
(2)图像增强主要是使得不清楚的玉米叶片病虫害图像变得清晰,使玉米叶片病症特征更加突出,抑制不感兴趣的特征。
a:图像去噪
采用了中值滤波方法对图片进行处理。中值滤波采用的是非线性滤波的方式,将目标局部图像中一点的像素值用该点领域内的各个点值的中值代替。中值滤波可有效的去除脉冲噪声,同时中值滤波可以使得图像的边缘不被破坏。中值滤波的数学公式可以描述为:H(x,y)=Med{F(x-i,y-j),(i,j∈M)}
式中:Med表示中值操作,M为设定的窗口区域,通常情况下取3*3或5*5。
b:对比度变换
对比度变换是一种通过改变图像像素点的亮度值来改变图像像素的对比度以达到改善图像质量的一种图像处理方法。本方法中采用的是线性变换的方法。当目标图像在拍摄获取时因为光照不足或光照强度太强而出现模糊不清的现象,此时可利用一个线性函数对目标图像的像素进行线性操作,从而达到改善目标图像的目的。假设目标图像F(x,y)的像素值范围为[a,b],经线性变换后的图像H(x,y)的像素值范围为[c,d],则线性变换的数学表达式可表示为式:
步骤2中网络模型构建如下:
优化MobileNet运用的是深度可分离卷积操作,由depthwise(DW)和pointwise(PW)两个部分结合起来对图像进行特征提取操作。深度可分离卷积改进了常规的3*3的卷积核,使原本可能丢失的特征得以保留下来。
所述的depthwise卷积是采用3*3卷积核对输入的各通道分别进行卷积,从各个通道输出的特征图;所述的pointwise卷积是采用1*1的卷积核对这些depthwise卷积输出的特征图进行特征融合,得到最终输出。
步骤2.1优化如下:
传统的CNN通常是使用全连接层作为最后的分类层,全连接层具有结构简单的特点。但在使用全连接层作为分类层的网络中,对于输入的图像的尺寸是固定的,在检测较大的图像时必须将图像剪切成网络规定的图像尺寸,使得检测任务十分耗时且数据容易出错。当把全连接层替换成了卷积层后,就可以不限制输入图像的大小,一次性输入网络即可获得一张图片所有位置的检测目标概率,形成一幅heat map。
将全连接层转换为卷积层的关键就在卷积核参数的设置上:首先将卷积核设置为上一层网络feature map的尺寸。然后再设置卷积核组数与全连接输出个数相同。当这组卷积核作用于输入的feature map上时,就能得到一个1*1*(输出个数)的输出。由于卷积核大小和输入的feaure map一模一样,就保证了转换后的卷积层的运算结果和之前的全连接层是一样的。
原本MobileNet网络结构中全连接层f1、f2、f3的参数分别为262144、665536和514。优化后的MobileNet网络在将结果输出至替代全连接的卷积层之前进行了一次全局平均池化,然后通过reshape()函数将输出结果改变为1*1*1024。再将替代了全连接层的卷积层中卷积核设置为1*1大小,根据输出个数将卷积核组数设置为4。通过这一操作,最后新的卷积层参数量为4100。通过这个操作降低了原网络十分之一的参数量,减小模型运算代价,同时也使网络不再限制输入图像大小,突破了输入尺寸的限制,就获得了目标的位置信息。可以高效地对测试图像做滑动窗式的预测,可以高效的检测多个目标和给出位置信息。
步骤2.2描述如下:
通过步骤2.1的优化后,网络输出的结果是1*1*4尺寸的,本发明需要通过reshape()函数将输出结果转变成4分类结果。
上述技术方案中,步骤3所述的训练过程如下:
构建玉米叶片病虫害数据集T={(x1,y1),(x2,y2)...(xn,yn)},玉米叶片病虫害图片所有像素点的向量表示,y为其玉米叶片病虫害对应的标签分类,输入xn使用线性回归进行学习f(xn)=wxn+b中的w和b,使得f(xn)≈yn;训练过程中使用梯度下降法,使均方误差最小化,即:λ||w||2;其中w代表的是1*L的权重矩阵,b表示偏置,λ表示的是表示L2正则化系数。
步骤4所述的在训练过程中设置的方法如下:
采用ReduceLROnPlateau方法在训练过程中动态优化学习率,设置ReduceLROnPlateau函数中monitor参数值为acc,代表学习率下降的检测值是acc。设置factor值为0.5,学习率将以lr=lr*factor的形式被缩小。设置patience的值为3,代表当patience个epoch过去而性能不提升时,学习率减小的动作将会被触发。采用Earlystopping方法来控制是否早停,设置其参数monitor为var_loss,代表是否需要早停的检测参数是var_loss。设置min_delta参数为0,代表减小的阈值,只有大于这个部分才算improvement,反映了模型对var_loss参数的容忍程度。设置patience参数为10,代表可以能够容忍多少个epoch内都没有improvement。当10个epoch内都没有improvement,早停触发,停止训练,缓解过拟合。
步骤6所述的细节如下:
由于本发明需要的只是预训练网络的特征提取能力,本发明将前81层进行冻结不参与模型训练过程,这81层网络权重在训练过程中将不会被更新。更新的只有优化后的部分结构,这样本发明既保留了其特征提取能力,又可以使模型加快收敛。
步骤7所述模型部署细节如下:
本发明要在移动端代码中将模型设置为不可压缩,否则将造成应用程序闪退或得到空输出。
在本发明的另一个具体实施例中:
步骤1,准备玉米叶片数据集,包含玉米健康图片350张、玉米大斑病图片320张、玉米小班病图片360张、玉米锈病图片376张共计1406张。将其按照9:1比例划分训练集和测试集。然后对数据集图片进行数据增强以及图片预处理,具体的操作如下:
对图像进行缩放、平移、旋转等操作;
图像的缩放,是将目标图像中的像素点按照设定的缩放系数,沿坐标轴的方向缩小或放大图像。图像的平移,是将目标图像中的像素点按照设定的平移量水平或竖直移动。图像的旋转,以目标图像中的某一点为原点,按逆时针或顺时针旋转一定的角度。
对图像进行图像增强;
图像增强主要是使得不清楚的玉米叶片病虫害图像变得清晰,使玉米叶片病症特征更加突出,抑制不感兴趣的特征。
首先对图像进行去噪操作:本方法采用了中值滤波方法对图片进行处理。中值滤波采用的是非线性滤波的方式,将目标局部图像中一点的像素值用该点领域内的各个点值的中值代替。中值滤波可有效的去除脉冲噪声,同时中值滤波可以使得图像的边缘不被破坏。再对图像进行对比度变换操作:本方法中采用的是线性变换的方法。当目标图像在拍摄获取时因为光照不足或光照强度太强而出现模糊不清的现象,此时可利用一个线性函数对目标图像的像素进行线性操作,从而达到改善目标图像的目的。
步骤2,构建改进的MobileNet卷积神经网络。
将MobileNet网络结构的最后三层全连接层去掉,然后添加一个1*1的卷积层和Activation层。将全连接层转换为卷积层的关键就在卷积核参数的设置上:首先将卷积核设置为上一层网络feature map的尺寸。然后再设置卷积核组数与全连接输出个数相同。当这组卷积核作用于输入的feature map上时,就能得到一个1*1*(输出个数)的输出。
优化后的MobileNet网络在将结果输出至替代全连接的卷积层之前进行了一次全局最大池化,然后通过reshape()函数将输出结果改变为1*1*1024。再将替代了全连接层的卷积层中卷积核设置为1*1大小,通道数为1024。根据输出个数将卷积核组数设置为4。
步骤3,使用迁移学习的思想,将MobileNet网络在ImageNet数据集上训练得到的参数迁移到自己的MobileNet网络上,并使用玉米叶片病虫害数据集对其进行进一步的训练,加强模型对玉米叶片病虫害的特征提取能力,提升模型的针对性。
(1)模型的训练过程如下:
构建数据集T={(x1,y1),(x2,y2)...(xn,yn)},其中x为数据的向量表示,y为其对应的标签。输入xn使用线性回归进行学习f(xn)=wxn+b中的w和b,使得f(xn)≈yn;训练过程中使用梯度下降法,使均方误差最小化,即:其中w代表的是1*L的权重矩阵,b表示偏置,λ表示的是表示L2正则化系数。
步骤4,在训练前设置学习率下降的方式,设置为acc三次不下降就下降学习率继续训练;同时设置是否需要早停,早停监控的参数是val_loss,当val_loss不再下降的时候就可以停止训练。
步骤5,在步骤3的模型训练结束后,重新构建改进的MobileNet卷积神经网络,将网络参数随机初始化,在输入玉米叶片病虫害数据集进行训练前,将步骤3中得到的网络模型权重导入改进的MobileNet网络中。将前面81层MobileNet网络结构冻结,保留其在玉米叶片病虫害图片上良好的特征提取能力。只训练改进MobileNet网络最后的卷积层,加快模型收敛。
步骤6,通过TFlite将训练好的模型转换成.tflite格式。在Android工程下创建一个asset资源文件夹,将.tflite文件和保存有标签的.txt文档导入其中,再在Android工程中的配置文件中将模型设置为不可压缩。接下来则是编写在工程的主页面编写模型解释器(用于加载模型),然后创建调用相机权限的页面。
步骤7,将编译好的Android应用程序安装在手机上,应用程序包含两个功能:读取相册图片和实时预测。图2是读取相册图片进行预测的实例。实施预测是调用相机对目标进行检测,每隔0.5秒就提取相机图像并调用模型进行推理。
由以上实施例可知,通过本技术方案,可以极大的避免了网络环境对图像识别任务带来的影响,也很大程度上提高了识别速度。通过数据增强结合迁移学习微调的思想,缓解了由于小数据集带来的过拟合问题。本发明具有操作简单便捷的特点。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (6)
1.一种基于迁移学习+MobileNet的玉米叶片病虫害移动端识别方法,其特征在于,该方法包括以下步骤:
步骤1、收集各种玉米叶片病虫害的图片数据集,对图片数据集进行预处理,并将预处理后的图片数据集划分为训练集和测试集;
步骤2、构建优化的MobileNet卷积神经网络,MobileNet网络在经过了用于特征提取的的逐点卷积和逐深度卷积后得到的特征图尺寸为7*7*1024,再经过一个均值池化层将特征图尺寸变为1*1*1024;把均值池化层后用于分类的全连接层替换为一个卷积核尺寸为1*1的卷积层,再设置卷积核组数与原全连接层输出个数相同;
所述步骤2的具体方法为:
步骤2.1,改进MobileNet卷积神经网络,进一步降低模型参数,将MobileNet网络结构的最后三层全连接层去掉,然后添加一个1*1的卷积层和Activation层;
首先将卷积核设置为上一层网络feature map的尺寸,然后再设置卷积核组数与全连接输出个数相同,当这组卷积核作用于输入的 feature map 上时,就能得到一个1*1*输出个数的输出,由于卷积核大小和输入的 feaure map 一模一样,就保证了转换后的卷积层的运算结果和之前的全连接层是一样的;
优化后的MobileNet网络在将结果输出至替代全连接的卷积层之前进行了一次全局平均池化,然后通过reshape()函数将输出结果改变为1*1*1024,再将替代了全连接层的卷积层中卷积核设置为1*1大小,根据输出个数将卷积核组数设置为4,通过这一操作,最后新的卷积层参数量为4100;
步骤2.2,对步骤2.1得到的输出结果进行Reshape操作,Reshape层代替了原本网络中分类层的作用;
网络输出的结果是1*1*4尺寸,通过reshape()函数将输出结果转变成4分类结果;
步骤3、将MobileNet卷积神经网络在ImageNet数据集上训练得到的参数通过迁移学习的方法迁移到针对玉米叶片病虫害的MobileNet卷积神经网络上,并使用玉米叶片病虫害的图片数据集对其进行进一步的训练,加强模型对玉米叶片病虫害的特征提取能力;
步骤4、 在训练前设置优化学习率的方式,设置为若acc参数三次不提高,则下降学习率继续训练;同时设置是否需要早停来缓解过拟合,早停监控的参数是val_loss参数,当val_loss参数不再下降的时候,则停止训练;
步骤5、训练结束后,重新构建改进的MobileNet卷积神经网络,将MobileNet卷积神经网络的网络参数随机初始化;在输入玉米叶片病虫害图片数据集进行训练前,将步骤3中得到的网络模型权重导入改进的MobileNet网络中;将前面81层MobileNet网络结构冻结,保留其在玉米叶片病虫害图片上良好的特征提取能力,只训练改进MobileNet卷积神经网络最后的分类层,加快模型收敛;
步骤6、通过TFlite将训练好的改进MobileNet卷积神经网络模型转换成.tflite格式,并将其部署在移动端;
步骤7、通过移动端设备采集玉米叶片图片并加载改进MobileNet卷积神经网络模型进行推理,得到结果呈现在移动端设备上。
2.根据权利要求1所述的基于迁移学习+MobileNet的玉米叶片病虫害移动端识别方法,其特征在于,所述步骤1中对图片数据集进行预处理的方法具体为:
首先通过python程序将所有玉米叶片病虫害的图片和其对应的标签一一对应并写入一个txt的文档中,txt文档用于读取数据来训练;对图片进行预处理的方法包括:
(1)对图片进行缩放、平移、旋转等操作;
图片缩放,将目标图片中的像素点按照设定的缩放系数,沿坐标轴的方向缩小或放大图片;
图片平移,将目标图片中的像素点按照设定的平移量水平或竖直移动;
图片旋转,以目标图片中的某一点为原点,按逆时针或顺时针旋转一定的角度;
(2)对图片进行图片增强;
采用了中值滤波和线性变换的方法对图片进行处理,使得不清楚的玉米叶片病虫害图片变得清晰,使玉米叶片病症特征更加突出,抑制不感兴趣的特征;
a:图像去噪:
采用中值滤波方法对图片进行处理,中值滤波采用的是非线性滤波的方式,将目标局部图像中一点的像素值用该点领域内的各个点值的中值代替,中值滤波的数学公式为:
式中:Med表示中值操作,M为设定的窗口区域,取3*3或5*5;
b:对比度变换:
采用线性变换的方法,当目标图像在拍摄获取时因为光照不足或光照强度太强而出现模糊不清的现象,此时利用一个线性函数对目标图像的像素进行线性操作,从而达到改善目标图像的目的;假设目标图像的像素值范围为[a,b],经线性变换后的图像 的像素值范围为[c,d],则线性变换的数学表达式表示为:
。
3.根据权利要求1所述的基于迁移学习+MobileNet的玉米叶片病虫害移动端识别方法,其特征在于,所述步骤3中进行训练的过程为:
构建玉米叶片病虫害数据集T={(),(/>)...(/>)},其中x为玉米叶片病虫害图片所有像素点的向量表示,y为其玉米叶片病虫害对应的标签分类,将/>输入网络使用线性回归进行学习f(/>)=w/>+b中的w和b,使得f(/>)/>;训练过程中使用梯度下降法,使均方误差最小化,即:
;
其中w代表的是1*L的权重矩阵,b表示偏置,表示的是表示L2正则化系数。
4.根据权利要求1所述的基于迁移学习+MobileNet的玉米叶片病虫害移动端识别方法,其特征在于,所述步骤4的方法具体为:
采用ReduceLROnPlateau方法在训练过程中动态优化学习率,设置ReduceLROnPlateau函数中monitor参数值为acc,代表学习率下降的检测值是acc,设置factor值为0.5,学习率将以lr=lr*factor的形式被缩小,设置patience的值为3,代表当patience个epoch过去而性能不提升时,学习率减小的动作将会被触发;采用Earlystopping方法来控制是否早停,设置其参数monitor为var_loss,代表是否需要早停的检测参数是var_loss,设置min_delta参数为0,代表减小的阈值,只有大于这个阈值才算improvement,反映了模型对var_loss参数的容忍程度;设置patience参数为10,代表能够容忍多少个epoch内都没有improvement;当10个epoch内都没有improvement,早停触发,停止训练,缓解过拟合。
5.根据权利要求1所述的基于迁移学习+MobileNet的玉米叶片病虫害移动端识别方法,其特征在于,所述步骤6的方法具体为:
通过TFlite将训练好的模型转换成.tflite格式,在Android工程下创建一个asset资源文件夹,将.tflite文件和保存有标签的.txt文档导入其中,再在Android工程中的配置文件中将模型设置为不可压缩,接下来则是编写在工程的主页面编写模型解释器,用于加载模型,然后创建调用相机权限的页面。
6.根据权利要求1所述的基于迁移学习+MobileNet的玉米叶片病虫害移动端识别方法,其特征在于,所述步骤7的方法具体为:
将编译好的Android应用程序安装在手机上,应用程序包含两个功能:读取相册图片和实时预测,实施预测用于调用相机对目标进行检测,每隔一定时间提取相机图像并调用模型进行推理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110930944.9A CN113780357B (zh) | 2021-08-13 | 2021-08-13 | 一种基于迁移学习+MobileNet的玉米叶片病虫害移动端识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110930944.9A CN113780357B (zh) | 2021-08-13 | 2021-08-13 | 一种基于迁移学习+MobileNet的玉米叶片病虫害移动端识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113780357A CN113780357A (zh) | 2021-12-10 |
CN113780357B true CN113780357B (zh) | 2024-02-02 |
Family
ID=78837609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110930944.9A Active CN113780357B (zh) | 2021-08-13 | 2021-08-13 | 一种基于迁移学习+MobileNet的玉米叶片病虫害移动端识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113780357B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114419005A (zh) * | 2022-01-21 | 2022-04-29 | 广州大学 | 基于改进轻量型cnn与迁移学习的裂缝自动检测方法 |
CN114648659B (zh) * | 2022-02-28 | 2024-06-07 | 北京工业大学 | 一种基于迁移学习的轻量化混凝土桥梁病害识别方法 |
CN114764827B (zh) * | 2022-04-27 | 2024-05-07 | 安徽农业大学 | 一种自适应低光照场景下的桑叶病虫害检测方法 |
CN117892258B (zh) * | 2024-03-12 | 2024-06-07 | 沃德传动(天津)股份有限公司 | 基于数据融合的轴承迁移诊断方法、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109214406A (zh) * | 2018-05-16 | 2019-01-15 | 长沙理工大学 | 基于D-MobileNet神经网络图像分类方法 |
CN110929610A (zh) * | 2019-11-12 | 2020-03-27 | 上海五零盛同信息科技有限公司 | 基于cnn模型和迁移学习的植物病害识别方法及系统 |
CN111179216A (zh) * | 2019-12-03 | 2020-05-19 | 中国地质大学(武汉) | 一种基于图像处理与卷积神经网络的作物病害识别方法 |
CN111563431A (zh) * | 2020-04-24 | 2020-08-21 | 空间信息产业发展股份有限公司 | 一种基于改进卷积神经网络的植物叶片病虫害识别方法 |
CN111652326A (zh) * | 2020-06-30 | 2020-09-11 | 华南农业大学 | 基于MobileNet v2网络改进的果实成熟度识别方法和识别系统 |
CN112052904A (zh) * | 2020-09-09 | 2020-12-08 | 陕西理工大学 | 一种基于迁移学习和卷积神经网络病虫害的识别方法 |
-
2021
- 2021-08-13 CN CN202110930944.9A patent/CN113780357B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109214406A (zh) * | 2018-05-16 | 2019-01-15 | 长沙理工大学 | 基于D-MobileNet神经网络图像分类方法 |
CN110929610A (zh) * | 2019-11-12 | 2020-03-27 | 上海五零盛同信息科技有限公司 | 基于cnn模型和迁移学习的植物病害识别方法及系统 |
CN111179216A (zh) * | 2019-12-03 | 2020-05-19 | 中国地质大学(武汉) | 一种基于图像处理与卷积神经网络的作物病害识别方法 |
CN111563431A (zh) * | 2020-04-24 | 2020-08-21 | 空间信息产业发展股份有限公司 | 一种基于改进卷积神经网络的植物叶片病虫害识别方法 |
CN111652326A (zh) * | 2020-06-30 | 2020-09-11 | 华南农业大学 | 基于MobileNet v2网络改进的果实成熟度识别方法和识别系统 |
CN112052904A (zh) * | 2020-09-09 | 2020-12-08 | 陕西理工大学 | 一种基于迁移学习和卷积神经网络病虫害的识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113780357A (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113780357B (zh) | 一种基于迁移学习+MobileNet的玉米叶片病虫害移动端识别方法 | |
CN110148120B (zh) | 一种基于cnn与迁移学习的病害智能识别方法及系统 | |
CN109934121B (zh) | 一种基于YOLOv3算法的果园行人检测方法 | |
CN106971152B (zh) | 一种基于航拍图像的检测输电线路中鸟巢的方法 | |
CN113919442B (zh) | 一种基于卷积神经网络烟叶成熟度状态识别方法 | |
CN109118473B (zh) | 基于神经网络的角点检测方法、存储介质与图像处理系统 | |
CN111598098B (zh) | 一种基于全卷积神经网络的水尺水位线检测及有效性识别方法 | |
US12013917B2 (en) | Method for constructing a convolution neural network based on farmland images, electronic device using the same | |
CN112419202A (zh) | 基于大数据及深度学习的野生动物图像自动识别系统 | |
Lu et al. | Lightweight green citrus fruit detection method for practical environmental applications | |
Zhang et al. | A multi-species pest recognition and counting method based on a density map in the greenhouse | |
CN112861666A (zh) | 一种基于深度学习的鸡群计数方法及应用 | |
CN114782355B (zh) | 基于改进vgg16网络的胃癌数字病理切片检测方法 | |
Divyanth et al. | Estimating depth from RGB images using deep-learning for robotic applications in apple orchards | |
CN113705340B (zh) | 一种基于雷达遥感数据的深度学习变化检测方法 | |
AHM et al. | A deep convolutional neural network based image processing framework for monitoring the growth of soybean crops | |
CN111950500A (zh) | 基于改进YOLOv3-tiny的工厂环境下实时行人检测方法 | |
CN117152105A (zh) | 果园荔枝估产方法、装置、设备及介质 | |
CN116310999A (zh) | 一种水力发电站库区大型漂浮物检测方法 | |
Rakhmatulin | Artificial Intelligence in Weed Recognition Tasks | |
CN113343751A (zh) | 一种小目标果实的检测方法及系统 | |
Ye et al. | Vision foundation model for agricultural applications with efficient layer aggregation network | |
CN116012718B (zh) | 田间害虫检测方法、系统、电子设备及计算机存储介质 | |
CN114049254B (zh) | 低像素牛头图像重建识别方法、系统、设备及存储介质 | |
Rakhmatulin | Deep learning, machine vision in agriculture in 2021 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |