一种基于全卷积网络的物联网大田作物叶部病害检测方法与流程

文档序号:16902884发布日期:2019-02-19 18:10阅读:122来源:国知局
一种基于全卷积网络的物联网大田作物叶部病害检测方法与流程

本发明涉及深度学习技术领域,尤其涉及一种基于全卷积网络的物联网大田作物叶部病害检测方法。



背景技术:

作物病害严重影响了作物的产量和质量以及销售量,病害防治是作物生产管理中的一个重要环节,也是一项重要开支。作物病害防治的前提是及时检测病害发生,并识别作物病害类型。大部分病害发生都首先引起作物叶部出现症状,实际上叶部症状是作物病害检测的主要依据。但人工检测作物叶部病害是一项耗时、代价较大且需要由经过长期培训的专业人员才能完成的工作。基于物联网的作物叶部病害检测自动化是智能农业发展的基础。从叶片图像中检测病害是基于物联网的作物病害自动识别方法研究的关键步骤。基于作物叶片图像的病害检测一直是计算机视角、图像处理和模式识别等领域的一个重要的研究课题。由于作物叶片图像及其病害叶片图像中的病斑的颜色、形状和纹理千变万化,而且包含大量背景,使得传统的作物叶片图像的病害检测方法和技术不能满足实际基于物联网的作物叶部病害监控系统的需求。现有的基于卷积神经网络(cnn)的作物叶部病害检测方法是对图像的各个像素分类,使用每个像素周围的一个感知区域的像素块作为cnn的输入,用于cnn训练和预测。虽然该方法取得了较高的检测精度,但该方法的缺点是存储开销较大和计算效率较低。而且由于像素块的大小比整幅图像小得很,所以只能提取一些局部特征,由此限制了该方法的检测性能。全卷积网络(fcn)是从抽象的特征中恢复出每个像素所属的类别,即从基于cnn的图像级别的分类延伸到像素级别的分类。lonjong等发表在cvpr2015上的论文【fullyconvolutionalnetworksforsemanticsegmentation】中的全卷积网络(fcn)进行像素级的分类从而高效的解决了语义级别的图像分割问题。cnn与fcn的主要区别是,传统的cnn在最后使用1到3个全连接层得到固定长度的特征向量进行分类不同,而fcn由卷积层替代cnn中的全连接层,并对最后一个卷积层得到的特征图进行上采样,能够恢复到与输入图像相同的大小,从而可以对每个像素都产生了一个预测,由此保留了原始输入图像中的空间信息,最后在上采样的特征图上进行逐像素分类。



技术实现要素:

本发明的目的在于,提供一种基于全卷积网络的物联网大田作物叶部病害检测方法,为作物叶部病害监控系统提供必要的技术支撑。

为实现上述目的,本发明采用如下的技术方案:

一种基于全卷积网络的物联网大田作物叶部病害检测方法,包括以下步骤:

步骤1:利用物联网采集多幅病害叶片图像,并加标签,得到具有样本标签的原始训练集;

步骤2:将步骤1得到的原始训练集中的每幅叶片图像样本的尺度进行归一化处理;

步骤3:利用平移、旋转、缩放和颜色抖动四种预处理操作,将步骤2得到的每幅训练样本扩展为20幅图像,则将训练集扩展为训练样本集;

步骤4:对训练样本集中的所有样本求均值,再将训练样本集中的每个训练样本减去均值,然后对得到的所有图像作置乱处理,形成均值化后的训练集;

步骤5:构建fcn,fcn包括8个卷积层、3个池化层、1个上采样和1个裁剪层;fcn最终输出每个像素的背景概率和前景概率,将均值化后的训练集中的每副图像中的各个像素归类为背景概率和前景概率中较大的一类,再将背景点的像素值设置为0,前景点的像素设置值为1;其中,8个卷积层为conv1~conv8,3个池化层为pool1、pool2和pool3,上采样为deconv;

步骤6:利用均值化后的训练集中的样本训练步骤5构建的fcn,具体过程为:利用训练集中的图像依次进行卷积处理、最大池化、卷积、最大池化、卷积、卷积、卷积、最大池化、卷积、卷积、卷积、上采样和裁剪操作,得到能够用于检测病害的fcn;

步骤7:在测试阶段,使用全尺寸的作物叶片图像作为输入,在步骤6得到的能够用于检测病害的fcn上检测病害。

本发明进一步的改进在于,步骤2中,归一化处理的具体过程为:将原始训练集中的每幅叶片图像样本缩放为220×220大小的图像。

本发明进一步的改进在于,步骤3中,平移的具体过程为:将步骤2得到的每幅训练样本向左上、右上、左下、右下共4个方向平移8个像素后,以圆心为中心,裁剪出中心256×256区域,由此将一幅图像扩展为5幅不同样本,其中包含未平移的一幅图像。

本发明进一步的改进在于,步骤3中,旋转的具体过程为:将步骤2得到的每幅训练样本在旋转角度[-5°,5°]范围内随机旋转5次,以圆心为中心,裁剪出中心256×256区域,由此将一幅图像扩展为5幅不同样本。

本发明进一步的改进在于,步骤3中,缩放的具体过程为:将步骤2得到的每幅训练样本在比例因子在[0.85,1]范围内随机进行缩小5次,以圆心为中心,裁剪出中心256×256区域,由此将一幅图像扩展为5幅不同样本。

本发明进一步的改进在于,步骤3中,颜色抖动的具体过程为:将步骤2得到的每幅训练样本的rgb颜色的三个颜色分量r、g和b分别用因子在[0.8,1.2]范围内随机相乘5次,并将超过255的值设置为255以避免溢出失真,然后再由三个r、g和b分量图像整合为彩色rgb图像,以圆心为中心,裁剪出中心256×256区域,由此将一幅图像扩展为5幅不同样本。

本发明进一步的改进在于,步骤4中,求平均的具体过程为:将所有图像对应通道对应位置的像素值求和后除以样本总数,得到灰度为256×256的三通道均值图像。

本发明进一步的改进在于,步骤5中,将conv1到conv7的学习率均设置为0.001,第8个卷积层权值的学习率设置为0.1,conv8之后的上采样层中卷积核大小设置为63、步长32,将9×9核输入上采样至319×319,然后剪切层根据原始叶片图像的尺寸和偏移量参数裁剪至与原图大小相同后输出;开始时,偏移量的学习率设置为0.2,上采样层的学习率设置为0.1,此后学习率按每1000轮迭代调整为上一轮的0.7。

本发明进一步的改进在于,步骤6的具体过程为:

步骤6.1,训练集中图像大小为256×256×3作为输入图像,在前四层conv1、pool1、conv1和pool2上依次进行卷积、最大池化、卷积、最大池化操作,得到的特征图大小分别为:112×112×96、56×56×96、56×56×256、28×28×256;

步骤6.2,在三个连续的卷积层conv3、conv4和conv5上,对步骤6.1得到的特征图依次进行三次不同的卷积操作,得到的特征图大小分别为28×28×384、28×28×384、28×28×256;

步骤6.3,在池化层pool5上,对步骤6.2得到的特征图进行最大池化操作,得到的特征图大小为14×14×256;

步骤6.4,在三个连续的卷积层conv6、conv7和conv8上,对步骤6.3得到的特征图依次进行三次不同的卷积操作,得到的特征图大小分别为9×9×4096、9×9×4096、9×9×2;

步骤6.5,在上采样层deconv上对步骤6.4得到的特征图进行反卷积操作,得到特征图大小为319×319×2;

步骤6.6,在裁剪层deconv上对步骤6.5得到的特征图根据输入图像大小进行操作,得到病斑图大小为256×256×2;

步骤6.7,依次使用训练图像多次重复步骤6.1~步骤6.6,训练fcn,直到损失降到设置的阈值,获得能够准确检测病害的fcn。

本发明进一步的改进在于,所述步骤6.7中的损失由代价函数计算:其中p为fcn需要学习的参数,ii是在训练集上第i张训练图像,n是训练集的图像数目,di为标注的病害图像,ei为由训练好的fcn检测得到的病斑图像,l(p)是计算标注的病斑图像和检测的病斑图像之间的欧氏距离得到的损失;

所述的步骤6.1、步骤6.2、步骤6.4中的卷积操均作为:第l个隐层中卷积操作的输出表示为xl=f(wlxl-1+bl),其中xl-1为第l-1个隐层的输出,xl为第l个隐层中卷积层的输出,x0为输入层的输入图像,wl表示第l个隐层的映射权值矩阵,bl为第l个隐层的偏置,f()为relu函数,其表达式为f(x)=max(0,x);

所述的步骤6.1与步骤6.3中的最大池化操作是将卷积层后经过激活提取出来的特征图上以步长为2依次取2×2区域中的最大值,组成特征图,最大池化窗口为2×2,步长为2。

与现有技术相比,本发明具有以下有益效果:

在本发明构造的fcn中,利用卷积层代替传统的cnn中的全连接层,去掉传统cnn中的全连接层,使得网络的输入分辨率是任意的,减少了网络的参数。fcn使用了3个池化层,增加了网络的感受野,有助于降低中间特征图的维度,节约计算资源,有利于学习到更加鲁棒的特征。fcn的流程简单,实现了真正意义上的端对端、像素对像素的训练。在训练好的模型上进行微调,使得在没有任何的预处理和后处理的情况下得到了很好的检测结果,避免了人工检测病害的局限性。本发明可学习由低到高的多层次特征,快速实现高精度的病害检测,尤其适用于基于物联网视频叶片图像的作物叶部病害检测。本发明中的输入图像大小是任意的,而传统cnn由于全连接层的存在,其输入图像的大小只能是固定的,不利于基于物联网的作物病害检测。本发明解决了传统作物病害检测方法的检测率低以及现有cnn病害检测方法的参数多、收敛速度慢、易导致过拟合等问题。

附图说明

图1为本发明中fcn的结构示意图。

图2为黄瓜病害叶片图像;

图3为利用fcn检测得到的病斑图像。

具体实施方式

为使本发明的目的和技术方案更加清楚,下面结合附图对本发明中的实施步骤进行详细描述。

本发明包括以下步骤:

步骤1:基于物联网采集3000幅病害叶片图像。考虑到病斑在叶片图像中尺寸较小,形状接近圆形,所以在生成候选区域时选择3种较小的区域和3种类似病斑的颜色,生成9个候选区域的边界圆区域,标注训练图像,得到包含3000幅具有样本标签的原始训练集。

步骤2:将步骤1得到的原始训练集中的每幅叶片图像样本的尺度进行归一化处理:将原始训练集中的每幅叶片图像样本缩放为220×220大小的图像,具体参见图2。

步骤3:利用平移、旋转、缩放和颜色抖动四种预处理操作后,将步骤2得到的每幅训练样本扩展为20幅图像,则将训练集扩展为包含60000幅图像的扩展训练样本集。四种预处理操作操作也为模型训练提供了大量伪造样本,使得fcn学习到的具有旋转、平移、尺度变换和颜色抖动具有鲁棒性的特征;具体的四种预处理操作为:

3.1,平移:将步骤2得到的每幅训练样本向左上、右上、左下、右下共4个方向平移8个像素后,以圆心为中心,裁剪出中心256×256区域,由此将一幅图像扩展为5幅不同样本,其中包含未平移的一幅图像。

3.2,旋转:将步骤2得到的每幅训练样本在旋转角度[-5°,5°]范围内随机旋转5次,以圆心为中心,裁剪出中心256×256区域,由此将一幅图像扩展为5幅不同样本。

3.3,缩放:将步骤2得到的每幅训练样本在比例因子在[0.85,1]范围内随机进行缩小5次,以圆心为中心,裁剪出中心256×256区域,由此将一幅图像扩展为5幅不同样本。

3.4,颜色抖动:将步骤2得到的每幅训练样本的rgb颜色的三个颜色分量r、g和b分别统一用因子在[0.8,1.2]范围内随机相乘5次,并将超过255的值设置为255以避免溢出失真,然后再由三个r、g和b分量图像整合为彩色rgb图像,以圆心为中心,裁剪出中心256×256区域,由此将一幅图像扩展为5幅不同样本。

步骤4:对训练样本集中的所有样本求均值,再将每个训练样本减去均值,(即将所有图像对应通道对应位置的像素值求和后除以样本总数,得到灰度为256×256的三通道均值图像,并从所有训练样本的输入中减去对应像素位置的均值),再对得到的所有图像进一步作置乱处理,形成均值化后的训练集。

步骤5:构建fcn,fcn是由alexnet修改而成的网络,fcn中的前几层结构与alexnet完全相同,alexnet中的全连接层全部由卷积层代替,其基本结构如图1所示,包括8个卷积层(conv1~conv8)、3个池化层(pool1、pool2和pool3)、1个上采样(deconv)和1个裁剪层,其中裁剪层是将上采样的结果进行裁剪,使之大小与输入图像严格相等。在图1中每个层右边的数字表示该层的输出通道数,箭头左边的数字为卷积核的大小。fcn要学习的参数来自于每个卷积层的卷积核,采用小通道数能够减少网络参数,降低网络复杂度。为了保证网络各层输出的非线性,每个卷积层输出结果都经过一个非线性激活修正线性单元(relu)函数,relu能够加速网络的收敛。

所述的fcn的参数值是从实际应用中现有的预训练过的fcn-alexnet迁移来的,fcn中的conv8及其随后的上采样层的参数则是从头开始训练,将conv1到conv7的学习率均设置为0.001,第8个卷积层权值的学习率设置为0.1,conv8之后的上采样层中卷积核大小设置为63、步长32,将9×9核输入上采样至319×319,然后剪切层根据原始叶片图像的尺寸和偏移量参数裁剪至与原图大小相同后输出。开始时,偏移量的学习率设置为0.2,上采样层的学习率设置为0.1,此后学习率按每1000轮迭代调整为上一轮的0.7。每个像素的背景概率和前景概率,将均值化后的训练集中的每副图像中的各个像素归类为背景概率和前景概率中较大的一类,再将背景点的像素值设置为0,前景点的像素设置值为1;

步骤6:利用均值化后的训练集中的样本训练fcn。具体过程为:对图像依次进行卷积处理、最大池化、卷积、最大池化、卷积、卷积、卷积、最大池化、卷积、卷积、卷积、上采样和裁剪操作,得到能够用于检测病害的fcn;具体的步骤如下:

步骤6.1,训练集中图像大小为256×256×3作为输入图像,在前四层conv1、pool1、conv1和pool2上依次进行卷积、最大池化、卷积、最大池化操作,得到的特征图大小分别为:112×112×96、56×56×96、56×56×256、28×28×256。

步骤6.2,在三个连续的卷积层conv3、conv4和conv5上,对步骤6.1得到的特征图依次进行三次不同的卷积操作,得到的特征图大小分别为28×28×384、28×28×384、28×28×256。

步骤6.3,在池化层pool5上,对步骤6.2得到的特征图进行最大池化操作,得到的特征图大小为14×14×256。

步骤6.4,在三个连续的卷积层conv6、conv7和conv8上,对步骤6.3得到的特征图依次进行三次不同的卷积操作,得到的特征图大小分别为9×9×4096、9×9×4096、9×9×2。

步骤6.5,在上采样层deconv上对步骤6.4得到的特征图进行反卷积操作,得到特征图大小为319×319×2。

步骤6.6,在裁剪层deconv上对步骤6.5得到的特征图根据输入图像大小进行操作,得到病斑图大小为256×256×2。

步骤6.7,依次使用训练图像多次重复步骤6.1~步骤6.6中的操作训练fcn,直到fcn的损失降到设置的阈值(一般为0.1),获得可准确检测病害的fcn;

所述步骤6.7中的损失由代价函数计算:其中p为fcn需要学习的参数,ii是在训练集上第i张训练图像,n是训练集的图像数目,di为标注的病害图像,ei为由训练好的fcn检测得到的病斑图像,l(p)是计算标注的病斑图像和检测的病斑图像之间的欧氏距离得到的损失。

所述的步骤6.1、步骤6.2、步骤6.4中的卷积操作过程均为:第l个隐层中卷积操作的输出表示为xl=f(wlxl-1+bl),其中xl-1为第l-1个隐层的输出,xl为第l个隐层中卷积层的输出,x0为输入层的输入图像,wl表示第l个隐层的映射权值矩阵,bl为第l个隐层的偏置,f()为relu函数,其表达式为f(x)=max(0,x)。

所述的步骤6.1与步骤6.3中的最大池化操作是将卷积层后经过激活提取出来的特征图上以步长为2依次取2×2区域中的最大值,组成特征图,最大池化窗口为2×2,步长为2。

步骤7:在测试阶段,使用全尺寸的作物叶片图像作为输入,在步骤6得到的能够用于检测病害的fcn上检测病害。

本发明首先对用于训练和测试的作物叶片图像去除背景,获得叶片图像的前景、背景检测参考标准,对叶片图像大小进行统一处理,然后对训练集图像进行平移、旋转、缩放和颜色抖动操作,由此扩展训练集。求取所有训练样本的均值图像,并从所有输入图像中减去该均值图像,得到均值化图像。再将训练集中均值化后的图像输入fcn,经过多次卷积、激活、池化操作,获得图像的特征图;对特征图进行上采样,并进行裁剪操作,得到与输入图像大小相同的特征图。微调全卷积神经网络,主要是调整fcn中产生变化的卷积层和上采样层的参数,用前述训练集中均值化后的图像训练fcn直至收敛。对于待检测图像,参见图2,只要将图像归一化后输入到训练好的fcn,网络将输出检测出的病斑图像,参见图3,从而实现病害检测。本发明可学习由低到高的多层次特征,快速实现高精度的病害检测,尤其适用于基于物联网视频叶片图像的作物叶部病害检测。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1