一种基于SSD卷积网络的大田作物病虫害检测方法与流程

文档序号:16584518发布日期:2019-01-14 18:17阅读:348来源:国知局
一种基于SSD卷积网络的大田作物病虫害检测方法与流程

本发明属于深度学习和模式识别技术领域,涉及一种基于ssd卷积网络的大田作物病虫害检测方法。



背景技术:

作物病虫害防治是作物生产管理中的一个重要任务,而防治的前提是及时检测到病虫害发生。目前大田病虫害检测还是人工检测为主,该检测方法是一项耗时、准确率不高且由经过长期培训的植保人员和有丰富经验的农业管理者才能完成的工作。

基于机器学习的作物叶部病虫害自动检测是从叶片图像中检测病虫害发生和判断其发展趋势一种高效的检查方法,是计算机视觉、图像处理和模式识别等领域的一个重要的研究课题。虽然现有的基于卷积神经网络(cnn)的作物病虫害检测方法取得了较高的检测精度,但该方法的存储开销较大和计算效率较低,而且由于病虫害叶片图像千差万别,而且随时间在不断变化,所以该类方法在病虫害检测中的应用范围有限。

ssd卷积网络以vgg-16为基础网络,把传统vgg-16中的两个全连接层替换成两个卷积层,在vgg-16后面添加尺寸逐渐减小的卷积特征层以得到多尺度检测预测值,最后使用低层和高层的特征图检测小目标。实例表明,ssd卷积网络同时借鉴了yolo和faster-rcnn两种深度学习模型的优点,而且减少了计算和内存的需求,得到的特征图具有一定的平移和尺度不变性,检测精度有较大提高。



技术实现要素:

本发明的目的在于解决传统作物病虫害检测方法中的检测时间长、检测准确率低等问题,提供一种基于ssd卷积网络的大田作物病虫害检测方法,为作物叶部病虫害智能化监控系统提供必要的技术支撑。

本发明是通过以下技术方案来实现:

一种基于ssd卷积网络的大田作物病虫害检测方法,包括以下操作:

1)利用智能手机或物联网设备在大田采集作物病虫害叶片和害虫图像,构建作物病虫害叶片和害虫图像数据库;

2)利用ssd卷积网络从数据库的每幅图像中检测各种形状和尺寸大小的病斑和害虫,所述的ssd卷积网络由vgg深度卷积神经网络和多尺度特征检测网络组成,其所进行的检测包括以下步骤:

2.1)将ssd卷积网络中的vgg深度卷积神经网络的输出用于病斑和害虫的初步特征提取,得到病虫害叶片和害虫图像的基本特征图;

2.2)将2.1)得到的特征图,依次经过多尺度特征检测网络的多个卷积操作和最大池化操作进行多尺度特征提取,提取到多层级的特征图并在这些特征图中的各个位置上选取不同大小、不同长宽比的候选病斑和害虫区域;

2.3)从2.2)提取的特征图中选择所有卷积层对应的所有特征图与3×3的卷积核进行卷积,然后在每层输出的特征图上的每个特征图网格预设默认框,得到每个框相对标注框的偏移量与置信度;其中,默认框为在特征图的每个网格上的一系列固定大小的框;

2.4)根据2.3)各层卷积计算结果合并后传递给检测层,利用非极大抑制对所有层的检测结果进行融合,得到病虫害叶片和害虫图像检测结果。

所述步骤2.1)中的vgg深度卷积神经网络由卷积1_1、卷积1_2、最大池化1、卷积2_1、卷积2_2、最大池化2、卷积3_1、卷积3_2、卷积3_3和最大池化3组成,卷积核和池化核的维数分别为3×3和2×2,得到的特征图的维数分别为300×300、300×300、150×150、150×150、150×150、75×75、75×75、75×75、75×75和38×38。

所述的卷积操作为:

第l个隐层中卷积操作的输出表示为xl=f(wlxl-1+bl),其中xl-1为第l-1个隐层的输出,xl为第l个隐层中卷积层的输出,wl表示第l个隐层的权值特征矩阵,bl为第l个隐层的偏置,f()为relu激活函数,其表达式为f(x)=max(0,x);

最大池化操作为:在经过激活函数f()激活后的特征图上以步长为2依次取2×2区域中的最大值,得到长和宽都缩小一半的特征图。

所述默认框的设置过程为:

在包括卷积3_3、卷积4_3、卷积7、卷积6_2、卷积7_2、卷积8_2和卷积9_2内的所有卷积层输出层的每个特征图上,对每个特征图网格预设4个默认框,在不同输出层的特征图上有不同尺寸大小的默认框,在同一个特征图上再设置不同纵横比的默认框,实现图像中各种形状和尺寸大小的病斑和害虫检测;

病斑和害虫的默认框的纵横比之比设置为1:1、2:1、3:1、1:2。

所述检测层的检测过程为:假设每个网格有k个默认框,每个默认框预测2个目标类别的分数和4个偏移;若特征图的大小为m×n,即有m×n个特征图网格,则该特征图共有6m×n×k个输出。

所述的非极大抑制是一个迭代-遍历-消除的过程:

1)将所有默认框的得分排序,选中最高分及其对应的框;

2)遍历其余的框,若与当前最高分框的重叠面积大于一定阈值,就将该框删除;

3)从未处理的框中继续选一个得分最高的,重复上述过程。

所述的ssd卷积网络还需要通过训练提高检测效果:在训练过程中,通过多次结果优化,减小损失函数值,不断提高ssd卷积网络的病斑和害虫检测性能;

ssd卷积网络的训练包括以下步骤:(1)输入图像经过vgg深度卷积神经网络得到图像的初步特征;(2)抽取多层的特征图并选取不同大小、不同纵横比的候选区域;(3)估计各个候选区域的坐标位置偏移量和类别得分;(4)由候选区域和坐标位置偏移量确定出最终区域,再由类别得分估计候选区域的损失函数,累加得到最后的损失;(5)由最后的损失经反向传播过程修正各个层的权值;

在ssd卷积网络训练阶段,将默认框和病斑和害虫进行匹配,若匹配则默认框为正样本,若不匹配则默认框为负样本;然后根据置信度的损失值对负样本进行排序,选择前面2~3个作为负训练样本。

本发明具有以下优点和有益效果:

本发明提供的基于ssd卷积网络的大田作物病虫害检测方法,首先利用vgg深度卷积神经网络对病虫害叶片和害虫图像进行初步特征提取,然后进行多尺度特征提取,在不同卷积层输出的若干特征图中的每个位置处评估不同纵横比的病斑和害虫检测框,进行叶片图像中各种形状和尺寸大小的病斑和害虫检测。其中,ssd卷积网络由一个vgg深度卷积神经网络和一个多尺度特征检测网络,并把7个不同卷积层的特征图引出做检测;本发明通过在不同层的特征图上应用默认框机制,有效地离散化输出框形状,从而大幅度减少病斑和害虫的检测框数量,加快检测速度,并通过从多个不同层的特征图中进行病斑和害虫检测,能够对输入的病虫害叶片和害虫图像进行多尺度检测。

本发明可学习由低到高的多层次特征,快速实现高精度的病虫害检测,极大改善了对小病斑和害虫的检测能力,特别适用于基于物联网视频叶片图像的作物叶部病虫害检测。本发明的ssd卷积网络将所有计算都可以封装在单个网络中,使得ssd卷积网络的流程简单且容易训练,也可以直接集成到需要检测病虫害的系统中,具有与使用额外候选区域算法基本相同的准确性,但运算速度更快。

附图说明

图1为本发明中采用的ssd卷积网络示意图。

图2为本发明的ssd卷积网络中的病虫害综合检测流程图。

图3-1、图3-2分别为原始叶片病害图像及本发明检测到的病斑图像;

图4-1、图4-2分别为原始叶片虫害图像及本发明检测到的害虫图像。

具体实施方式

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

参见图1,本发明利用的ssd卷积网络由一个vgg深度卷积神经网络和一个多尺度特征检测网络,并把7个不同卷积层的特征图引出做检测。

本发明提供的基于ssd卷积网络的大田作物病虫害检测方法,包括以下操作:

1)利用智能手机或物联网设备在大田采集作物病虫害叶片和害虫图像,构建作物病虫害叶片和害虫图像数据库;

2)利用ssd卷积网络从数据库的每幅图像中检测各种形状和尺寸大小的病斑和害虫,所述的ssd卷积网络由vgg深度卷积神经网络和多尺度特征检测网络组成,其所进行的检测包括以下步骤:

2.1)将ssd卷积网络中的vgg深度卷积神经网络的输出用于病斑和害虫的初步特征提取,得到病虫害叶片和害虫图像的基本特征图;

2.2)将2.1)得到的特征图,依次经过多尺度特征检测网络的多个卷积操作和最大池化操作进行多尺度特征提取,提取到多层级的特征图并在这些特征图中的各个位置上选取不同大小、不同长宽比的候选病斑和害虫区域;

2.3)从2.2)提取的特征图中选择所有卷积层对应的所有特征图与3×3的卷积核进行卷积,然后在每层输出的特征图上的每个特征图网格预设默认框,得到每个框相对标注框的偏移量与置信度;其中,默认框为在特征图的每个网格上的一系列固定大小的框;

2.4)根据2.3)各层卷积计算结果合并后传递给检测层,利用非极大抑制对所有层的检测结果进行融合,得到病虫害叶片和害虫图像检测结果。

下面给出具体的实施例进行说明。

基于ssd卷积网络的大田作物病虫害检测方法,具体包括以下操作:

步骤1:首先利用智能手机或物联网设备在大田采集作物病虫害叶片和害虫图像,构建作物病虫害叶片和害虫图像数据库。然后将输入病虫害叶片图像缩放为300×300×3的三通道rgb彩色图像。

步骤2:利用ssd卷积网络对步骤1得到的每幅图像进行检测,包括以下步骤:

步骤2.1)由ssd卷积网络的开始部分的vgg深度卷积神经网络提取图像的特征图,用于病斑和害虫的初步特征提取,得到病虫害叶片图像的基本特征图。

所述步骤2.1中的vgg深度卷积神经网络由卷积1_1、卷积1_2、最大池化1、卷积2_1、卷积2_2、最大池化2、卷积3_1、卷积3_2、卷积3_3和最大池化3组成,卷积核和池化核的维数分别为3×3和2×2,得到的特征图的维数分别为300×300、300×300、150×150、150×150、150×150、75×75、75×75、75×75、75×75和38×38。

步骤2.2)将步骤2.1中vgg得到的特征图,依次经过多个卷积操作和最大池化操作,再选择7个卷积层输出结果进行病斑和害虫检测。

所述步骤2.2的多个卷积和最大池化操作如图1所示包括:卷积4_1、卷积4_2卷积4_3、最大池化4、卷积5_1、卷积5_2、卷积5_3、最大池化5、卷积6、卷积7、卷积6_1、卷积6_2、卷积7_1、卷积7_2、卷积8_1、卷积8_2、卷积9_1和卷积9_2,其中卷积核和池化核的维数分别为3×3、3×3、3×3、2×2、3×3、3×3、3×3、3×3、3×3、1×1、1×1、3×3、1×1、3×3、1×1、3×3、1×1、3×3;得到的特征图的维数分别为38×38、38×38、38×38、38×38、19×19、19×19、19×19、19×19、19×19、19×19、19×19、19×19、10×10、10×10、5×5、5×5、3×3、3×3和1×1。

步骤2.3)从步骤2.2中选择7个卷积层(卷积3_3、卷积4_3、卷积7、卷积6_2、卷积7_2、卷积8_2和卷积9_2)的特征图上,对每个特征图网格预设4个默认框,在不同输出层的特征图上有不同尺寸大小的默认框,在同一个特征图上再设置不同纵横比的默认框,实现图像中各种形状和尺寸大小的病斑和害虫检测;病斑和害虫的默认框的纵横比之比设置为1:1、2:1、3:1、1:2,再与3×3的卷积核进行卷积,得到默认框相对标注框的偏移量与置信度。

所述步骤2.3中的7个卷积层如图2所示包括卷积3_3、卷积4_3、卷积7、卷积6_2、卷积7_2、卷积8_2和卷积9_2。由这7个输出层的特征图做病虫害检测,由图2中可以看出,不同卷积层输出的特征图可以检测图像中不同尺度的病斑和害虫,其中卷积3_3输出的特征图能检测到图像中尺度很小的病斑和害虫,但对尺寸大的病斑和害虫检测效果较差;卷积9_2输出的特征图可以检测图像中的尺寸较大的病斑和害虫,但对小尺寸病斑和害虫检测效果不理想。通过利用多个卷积层输出的特征图做检测,能够解决图像中多尺度的病斑和害虫检测问题,增加算法的病斑和害虫检测分辨率,提升对图像中尺寸相对较小病斑和害虫的检测效果。

所述步骤2.3中的默认框的设置过程为,在步骤2.2中的7个特征图上的每个特征图网格预设4个默认框,在不同输出层的特征图上有不同尺寸大小的默认框,在同一个特征图上又有不同纵横比的默认框,实现图像中各种形状和尺寸大小的病斑和害虫检测。病斑和害虫的默认框的纵横比之比设置为1:1、2:1、3:1、1:2。

步骤2.4)根据2.3各层卷积计算结果合并后传递给检测层,利用非极大抑制对所有层的检测结果进行融合,得到病虫害叶片和害虫图像检测结果(如图2所示)。

所述检测层的检测过程为:假设每个网格有k个默认框,每个默认框预测2个目标类别的分数和4个偏移;若特征图的大小为m×n,即有m×n个特征图网格,则该特征图共有6m×n×k个输出。

上述各步骤的卷积操作过程为:

第l个隐层中卷积操作的输出表示为xl=f(wlxl-1+bl),其中xl-1为第l-1个隐层的输出,xl为第l个隐层中卷积层的输出,x0为输入层的输入图像,wl表示第l个隐层的权值特征矩阵,bl为第l个隐层的偏置,f()为relu激活函数,其表达式为f(x)=max(0,x)。

所述的最大池化操作为:在经过激活函数f()激活后的特征图上以步长为2依次取2×2区域中的最大值,得到长和宽都缩小一半的特征图。

所述的步骤2.4中的非极大抑制是一个迭代-遍历-消除的过程:(1)将所有框的得分排序,选中最高分及其对应的框;(2)遍历其余的框,若与当前最高分框的重叠面积大于一定阈值(默认为0.01),就将该框删除;(3)从未处理的框中继续选一个得分最高的,重复上述过程。

所述的ssd卷积网络还需要通过训练提高检测效果:在训练过程中,通过多次结果优化,减小损失函数值,不断提高ssd卷积网络的病斑和害虫检测性能;

ssd卷积网络的训练包括以下步骤:(1)输入图像经过vgg深度卷积神经网络得到图像的初步特征;(2)抽取多层的特征图并选取不同大小、不同纵横比的候选区域;(3)估计各个候选区域的坐标位置偏移量和类别得分;(4)由候选区域和坐标位置偏移量确定出最终区域,再由类别得分估计候选区域的损失函数,累加得到最后的损失;(5)由最后的损失经反向传播过程修正各个层的权值。

在ssd卷积网络训练阶段,将默认框和病斑和害虫进行匹配,若匹配则默认框为正样本,若不匹配则默认框为负样本;然后根据置信度的损失值对负样本进行排序,选择前面2~3个作为负训练样本;

所述的损失值由目标损失函数得到,损失函数由分类和回归两部分组成:其中n是匹配到的病斑和害虫默认框数;lloc表示置信损失,由回归定位误差实现;lconf表示置信度损失,由多分类softmax来实现;z为真实病斑和害虫的位置信息;c为预测目标的置信度;l为预测物体框的位置信息;g表示病斑和害虫的位置信息;α为置信损失和位置损失的权衡参数,默认设置为1。

本发明通过在不同层的特征图上应用默认框机制,有效地离散化输出框形状,从而大幅度减少病斑和害虫的检测框数量,加快检测速度,并通过从多个不同层的特征图中进行病斑和害虫检测,能够对输入的病虫害叶片和害虫图像进行多尺度检测。由图3-1与图3-2所示的原始叶片病害图像及其检测到的病斑图像对比、图4-1与图4-2所示的原始叶片虫害图像及其检测到的害虫图像对比,可以看出,本发明专利通过引出ssd卷积网络中更底卷积层特征做检测,能够增加深度模型的分辨率,提高了对小病斑和害虫的检测性能。

同时,本发明的ssd卷积网络将所有计算都可以封装在单个网络中,使得ssd卷积网络的流程简单且容易训练,也可以直接集成到需要检测病虫害的系统中,具有与使用额外候选区域算法基本相同的准确性,但运算速度更快。

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