基于叶片病斑面积的病虫害监测方法

文档序号:1756785 发布日期:2019-11-29 浏览:20次 >En<

阅读说明:本技术 基于叶片病斑面积的病虫害监测方法 (Pest and disease monitoring method based on leaf spot lesion area ) 是由 颜华 魏言聪 刘龙 宫华泽 陈祺 于 2019-08-30 设计创作,主要内容包括:本发明公开了一种基于叶片病斑面积的病虫害监测方法,包括步骤:通过无人机采集多张农作物图像,所述图像为三维张量,包括图像高度、图像宽度和波段数,与所述图像对应的头文件中包括经度坐标和纬度坐标;所述无机人中包括深度学习模块,实时对采集的所述农作物图像进行深度学习模型处理,识别和定位农作物叶片斑,并定量计算农作物叶片斑与农作物叶片面积比,确定病虫害等级分布。本发明使用无人机遥感与计算机视觉目标识别的集成技术,基于深度学习对病虫害的空间动态分布进行高精度实时监测。(The invention discloses a kind of pest and disease monitoring methods based on leaf spot lesion area, comprising steps of acquiring multiple crop map pictures by unmanned plane, described image is three-dimensional tensor, it include longitude coordinate and latitude coordinate in header file corresponding to the image including picture altitude, picture traverse and wave band number;Include deep learning module in the inorganic people, deep learning model treatment is carried out to the crop map picture of acquisition in real time, identifies and positions crops blade spot, and quantify and calculate crops blade spot and crops blade area ratio, determines pest and disease damage distribution of grades.The present invention uses the integrated technology of unmanned aerial vehicle remote sensing and computer vision target identification, carries out high-precision real-time monitoring to the Spatial distributions distribution of pest and disease damage based on deep learning.)

基于叶片病斑面积的病虫害监测方法

技术领域

本发明涉及人工智能领域,更具体地,涉及一种基于叶片病斑面积的病虫害监测方法。

背景技术

作物病虫害现已凸显为制约农业生产的主要因素。中国是病虫害多发的国家,其受灾范围广、程度严重已经对农业生产造成了直接重大经济损失。因此,应用先进的病虫害监测技术,及早发现病虫害,监测病虫害的发生发展状况,在关键生育期采取科学有效的防治手段,将有利于保障农产品质量安全,实现农业的可持续发展。

传统的病虫害监测方法采用田间定点监测或随机调查的方式,直接用肉眼观测病害或者用捕捉害虫的方法判断病虫害发生的可能性。传统方法有观测误差大、缺少定量标准、耗时长、效率低等缺点。

以水稻为例,在感染稻瘟病时,水稻植株的多个部位会出现病斑,包括叶片斑、叶鞘斑、茎节斑和穗颈斑等,其中叶片斑特征明显,分布位置易于发觉,因此叶片斑与叶片面积比例是衡量水稻病情的重要指标。

发明内容

有鉴于此,本发明提供了一种基于叶片病斑面积的病虫害监测方法,包括步骤:

通过无人机采集多张农作物图像,所述图像为三维张量,包括图像高度、图像宽度和波段数,与所述图像对应的头文件中包括经度坐标和纬度坐标;

所述无机人中包括深度学习模块,实时对采集的所述农作物图像进行深度学习模型处理,识别和定位农作物叶片斑,并定量计算农作物叶片斑与农作物叶片面积比,确定病虫害等级分布,包括:

对采集的每一张农作物图像进行预处理和标注;

将进行标注后的多张所述农作物图像构建数据集,将所述数据集分为训练集与测试集;

通过用于图像语义分割的LINKNET卷积神经网络对所述训练集进行训练,得到用于监测病斑的深度学习模型;

将所述测试集输入到所述深度学习模型中,通过LINKNET卷积神经网络中的编码器提取所述测试集中每张农作物图像的语义特征;

通过LINKNET卷积神经网络中的解码器将所述语义特征分割出具有农作物叶片斑轮廓和叶片轮廓的灰度热力图,所述灰度热力图即为分割结果,在所述灰度热力图中农作物叶片斑轮廓和叶片轮廓具有不同的灰度,所述灰度热力图的尺寸与采集的农作物图像尺寸相同,在所述灰度热力图中任一像素的值代表深度学习模型预测该位置物体所属的语义类别:0代表背景,1代表病斑,2代表叶片,分别计算语义列别为1和语义类别为2的像素总数,即可得到所述农作物图像对应的病斑/叶片面积比;

根据所述灰度热力图定量计算出农作物叶片斑与农作物叶片面积比,根据所述经度、维度、以及农作物叶片斑与农作物叶片面积比在地图网格中进行插值,形成目标区域的病虫害等级空间分布图。

优选地,所述对采集的每一张农作物图像进行预处理和标注,包括:

对每一张农作物图像进行预处理,删除其中没有农作物的图像或者人的视觉辨识农作物困难的图像,得到预处理图像;

对所述预处理图像进行标注,将预处理图像中的农作物叶片和农作物叶片斑进行描轮廓。

优选地,所述预处理还包括图像裁剪处理,将每一张农作物图像进行裁剪,裁剪后每一张农作物图像高度小于或等于第一预设像素值,图像宽度小于或等于第二预设像素值。

优选地,所述通过用于图像语义分割的LINKNET卷积神经网络对所述训练集进行训练,得到用于监测病斑的深度学习模型,包括:

从所述训练集中,每次迭代随机抽取多个训练集中的图像数据构成一个批次进行整个深度学习模型参数更新,计算损失函数Focal Loss,采用梯度下降和反向传播的算法进行优化训练,当每次计算的Loss值与上一次的Loss值的差值不超过预定阈值时,训练结束,保存当前的参数配置。

优选地,所述LINKNET卷积神经网络的编码器和解码器的最底层包括空洞卷机组并联。

优选地,所述农作物为水稻。

优选地,所述波段数为3。

与现有技术相比,本发明提供的基于叶片病斑面积的病虫害监测方法,至少实现了如下的有益效果:

1、本发明使用无人机遥感与计算机视觉目标识别的集成技术,基于深度学习对病虫害的空间动态分布进行高精度实时监测。通过无人机搭载的光学传感器实时拍摄的稻田照片,在无人机主板上经过深度学习模型处理,能够准确识别和定位叶片斑,并定量计算其与叶片面积比例,为施药流程及其它病虫害防治工作提供即时、可靠的指导;

2、本发明的损失函数采用的是Focal Loss,提高了训练阶段的稳定性,解决了正负样本比例失衡造成的训练结果被负样本淹没的问题;

3、本发明中在Linknet的编解码最底层采用了空洞卷积组并联,提高了主干网的输出特征图在上采样过程中的感受野,增加了上下文信息,使得农作物叶片和农作物叶片斑的轮廓边缘更加细腻。

当然,实施本发明的任一产品必不特定需要同时达到以上所述的所有技术效果。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

图1是本发明实施例1中基于叶片病斑面积的病虫害监测方法流程图;

图2是实施例2中标注的农作物图像;

图3是实施例2中得到的灰度热力图;

图4是本发明实施例3中一次在北京市进行的实地病虫害等级分布监测结果。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

实施例1:

结合图1,本发明提供了一种基于叶片病斑面积的病虫害监测方法,包括步骤:

步骤101,通过无人机采集多张农作物图像,所述图像为三维张量,包括图像高度、图像宽度和波段数,与所述图像对应的头文件中包括经度坐标和纬度坐标;

在一些可选的实施例中,所述波段数为3。

所述农作物可以为水稻。本实施例中,利用大疆M210无人机搭载X4S航拍相机采集水稻田影像。

步骤102:所述无机人中包括深度学习模块,实时对采集的所述农作物图像进行深度学习模型处理,识别和定位农作物叶片斑,并定量计算农作物叶片斑与农作物叶片面积比,确定病虫害等级分布,包括:

对采集的每一张农作物图像进行预处理和标注;

将进行标注后的多张所述农作物图像构建数据集,将所述数据集分为训练集与测试集;

通过用于图像语义分割的LINKNET卷积神经网络对所述训练集进行训练,得到用于监测病斑的深度学习模型;

将所述测试集输入到所述深度学习模型中,通过LINKNET卷积神经网络中的编码器提取所述测试集中每张农作物图像的语义特征;

通过LINKNET卷积神经网络中的解码器将所述语义特征分割出具有农作物叶片斑轮廓和叶片轮廓的灰度热力图,所述灰度热力图即为分割结果,在所述灰度热力图中农作物叶片斑轮廓和叶片轮廓具有不同的灰度;可以理解的是,所述灰度热力图的尺寸与采集的农作物图像尺寸相同;在所述灰度热力图中任一像素的值代表深度学习模型预测该位置物体所属的语义类别:0代表背景,1代表病斑,2代表叶片,分别计算语义列别为1和语义类别为2的像素总数,即可得到所述农作物图像对应的病斑/叶片面积比;

根据所述灰度热力图定量计算出农作物叶片斑与农作物叶片面积比,根据所述经度、维度、以及农作物叶片斑与农作物叶片面积比在地图网格中进行插值,形成目标区域的病虫害等级空间分布图。

本实施例中无人机上搭载有NVIDIA Jetson人工智能开发模块,搭建PyTorch环境后,即可在飞行过程中对相机拍摄的影像进行实时处理。处理结果被上传到在线平台,每幅影像对应三个数值:经度、纬度及病斑/叶片面积比,根据经纬度对病斑/叶片面积比在地图网格中进行插值,形成目标区域的病虫害等级空间分布图。

所述对采集的每一张农作物图像进行预处理和标注,包括:

对每一张农作物图像进行预处理,删除其中没有农作物的图像或者人的视觉辨识农作物困难的图像,得到预处理图像;

对所述预处理图像进行标注,将预处理图像中的农作物叶片和农作物叶片斑进行描轮廓。

所述预处理还包括图像裁剪处理,将每一张农作物图像进行裁剪,裁剪后每一张农作物图像高度小于或等于第一预设像素值,图像宽度小于或等于第二预设像素值。

所述通过用于图像语义分割的LINKNET卷积神经网络对所述训练集进行训练,得到用于监测病斑的深度学习模型,包括:

从所述训练集中,每次迭代随机抽取多个训练集中的图像数据构成一个批次进行整个深度学习模型参数更新,计算损失函数Focal Loss,采用梯度下降和反向传播的算法进行优化训练,当每次计算的Loss值与上一次的Loss值的差值不超过预定阈值时,训练结束,保存当前的参数配置。

所述LINKNET卷积神经网络的编码器和解码器的最底层包括空洞卷机组并联。本发明中在Linknet的编解码最底层采用了空洞卷积组并联,提高了主干网的输出特征图在上采样过程中的感受野,增加了上下文信息,使得农作物叶片和农作物叶片斑的轮廓边缘更加细腻。

组成LINKNET的基本层类型包括卷积(下略为conv)、反卷积(下略为deconv)、池化层(下略为pool)、线性整流单元(Rectified Linear Unit,下略为relu)、批量正则化(下略为bnorm)和软阈值(softmax)层。

一个卷积层conv(k,c1*c2)或反卷积层deconv(k,c1*c2)表示其读入一组共c1个特征图,经过窗口边长为k的卷积或反卷积的运算,输出一组共c2个特征图。输出图的空间尺寸(长、宽)通常是输入图的空间尺寸的1/s(卷积)或s倍(反卷积),s表示卷积运算时的窗口滑动步长(stride);

一个池化层pool(k,s,type)对输入图像以s的步长作type型的池化运算(如max表示取邻域窗口内的最大值赋给中心像素,average表示取邻域窗口内的所有像素平均值赋给中心像素),每一个邻域窗口的边长为k,则输出图像的空间尺寸为输入图像的1/s;

一个线性整流单元层relu起到激活函数的作用,对于输入数据中任何小于零的值,它将其置为零,而大于等于零的值则不变;

一个批量正则化层bnorm将输入数据减去一个近似均值并除以一个近似标准差,使得输出数据的均值近似为零,标准差近似为1;

一个软阈值层softmax的输入信号X=[x1,...,xn]应当是一个概率向量,其任一分量xi表示网络模型预测input image中相应的像素属于n个类别中的第i类的概率。softmax函数通过对X的每个分量作指数变换和总体归一化输出一个规范化的概率向量y=[y1,...,yn-1],yi∈[0,1],∑yi=1。

构成LINKNET的单元模块是编码器(Encoder)和解码器(Decoder)。一个编码器encoder(m*n)中的数据传输流程为:

encoder_input-conv(3,m*n,s=2)-relu-bnorm-conv1_output-conv(3,n*n,s=1)-bnorm-conv2_output

conv2_output+(encoder_input)↓1/2-relu-conv3_input

conv3_input-conv(3,n*n,s=1)-relu-bnorm-conv3_output-conv(3,n*n,s=1)-bnorm-conv4_output

conv4_output+conv3_input-relu-encoder_output

一个解码器decoder(m*n)中的数据传输流程为:

decoder_input-conv(1,m*(m/4),s=1)-relu-bnorm-conv1_output

conv1_output-deconv(3,(m/4)*(m/4),s=2)-relu-bnorm-deconv1_output

deconv1_output-conv(1,(m/4)*n,s=1)-relu-bnorm-decoder_output

整个LINKNET的数据传输流程为:

Input_image-conv(7,3*64,s=2)-relu-bnorm-pool(3,2,max)-encoder1_input

encoder1_input-encoder(64*64)-encoder1_output-encoder(64*128)-encoder2_output-encoder(128*256)-encoder3_output-encoder(256*512)-encoder4_output

encoder4_output-decoder(512*256)-decoder1_output

decoder1_output+encoder3_output-decoder(256*128)-decoder2_output

decoder2_output+encoder2_output-decoder(128*64)-decoder3_output

decoder3_output+encoder1_output-decoder(64*64)-decoder4_output

decoder4_output-deconv(3,64*32,s=2)-relu-bnorm-conv(3,32*32,s=1)-relu-deconv(2,3*num_of_class,s=1)-relu-softmax-Output_image

在Input_image被输入的conv层中,输入特征图数量c1=3,是因为Input_image含有R,G,B三个波段。

在得到Output_image之前的最后一个deconv层中,输出特征图数量c2=num_of_class,表示任务中定义的类别有几种,Output_image就有几个波段,则Output_image的每一个像素是一个num_of_class维的向量,经过softmax层处理之后,其维数不变,而每个分量的值得到归一化。例如在病斑识别任务中,类别数为3,则Output_image中的一个像素具有3个分量,它的取值可能为[0.1,0.6,0.3],其中第2维最大,则表示LINKNET判断该像素属于第2类(病斑)。为了便于人眼直观感受,将Output_image沿第3维取最大值坐标,即得到最终的语义分割图,如上述像素被判断为第2类,在语义分割图中的取值就与第2类相同,取1。需要注意的是,每个类别在语义分割图中对应的像素值可以自由定义,将第1类(背景)的像素取值定为0,第2类的像素取值定为1,...,第n类的像素取值定为n-1,这样在语义分割图的视觉呈现中,一切背景物体都为黑色,而其它目标的亮度则更高,符合人眼认知的习惯。

在LINKNET模型中包含有一些迭代更新的参数,将这些参数称为“学习”的对象。在给定一个Input_image的前提下,Output_image中任一像素的取值都取决于这些参数的取值,这是由于LINKNET模型使用这些参数对Input_image进行了特征提取和类别划分,从而输出Output_image。待学习参数包括conv和deconv层中的卷积滤波器、偏置向量,以及bnorm层中的均值和标准差。示例:对于一个窗口边长为k,输入特征图数量为c1,输出特征图数量为c2的conv或deconv层,其包含的待学习参数数量为:k·k·c1·c2+1·c2。需要为Output_image设定一个“标准答案”,从而以令Output_image和标准答案的差距最小化为目标,对这些参数的取值进行优化配置。为此,选择一些与待处理影像相似的水稻田航拍照片,人工对其每个像素的类别作出标注,这种经过标注的“标准答案”称为label,而使用照片和label对LINKNET的参数进行优化配置的过程即称为学习(Learning)或训练(Training)。

对于一个LINKNET对其预测值为[0.1,0.6,0.3]的像素,如果它实际上的确属于病斑(第2类),则其在label中的对应为[0,1,0],类似地,如果属于叶片(第3类),则对应label为[0,0,1]。为了使Output_image中的预测类别尽可能接近label中的正确标签,计算一个损失函数Loss(Output,label),Loss的形式通常采用交叉熵(Cross Entropy)或FocalLoss等。Loss的值越小,说明LINKNET的预测越准确。本发明采用Focal Loss,提高了训练阶段的稳定性,解决了正负样本比例失衡造成的训练结果被负样本淹没的问题。尽管LINKNET的参数一开始是随机初始化的,随之带来的Loss会很大,但通过迭代更新参数,Loss会逐渐收敛至最小值的过程。在一次典型的迭代(Iteration)中,为每个参数计算出使Loss对该参数的偏导为零的值,称为梯度(Gradient),然后将梯度取负值与该参数相加,这使得整个网络的参数组合更新方向与Loss上升最快的方向相反,因此称为梯度下降(GradientDescent)方法。

每一层的输出数据layer_output是该层输入数据layer_input和该层参数layer_parameters的因变量。则根据链式求导法则(Chain rule),首先需求得两个偏导函数表达式:d_Loss/d_layer_output,以及d_layer_output/d_layer_parameters,然后将其相乘即可得到d_Loss/d_layer_parameters的函数表达式,将偏导函数=0代入,即可得到layer_parameters的梯度。

对于该层的前一层,计算梯度时需要用到d_Loss/d_previous_layer_output,即d_Loss/d_layer_input,显然有d_Loss/d_layer_input=d_Loss/d_layer_output·d_layer_output/d_layer_input,其中d_layer_output/d_layer_input只与layer_parameters相关。

由此即可从后(模型输出端)往前(模型输入端)逐层地计算出所有参数的梯度,这个过程称为后向传播。一次典型的基于梯度下降+后向传播的迭代过程如下:

记本次迭代为第i次。将Input_image输入包含上一次更新后所得参数parameter_i的LINKNET,并储存每一个基本层的输入和输出数据(如encoder1_output等),得到Output_image_i。如果是第一次迭代,则使用随机初始化的参数;

计算Loss_i=Loss(Output_image_i,label);

从Loss_i开始朝Input_image计算所有层中待学习参数的梯度gradient_i;

parameter_i+1=parameter_i-lr·gradient_i,其中lr表示学习率,可形象地理解为本次梯度下降的“步幅”。

当每次Loss与上一次的差值不超过一定阈值时,即认为训练结束,保存当前的参数配置。这样就得到了一个可用于从任意一张符合格式的图像中识别特定目标的LINKNET模型。

实施例2:

在实施例1的基础上,本实施例为应用实施例。

本实施例中所用水稻田照片于2017年采集于湖北省,为了便于读写经过了裁剪处理,每张高300像素,宽800像素。共标记约1500张,随机选取200张用于测试作为测试集,剩余用于训练模型作为训练集。图2是本实施例标注的农作物图像其中之一;图3是本实施例得到的灰度热力图其中之一。

对200张测试图像中各语义列别的总计预测像素数目与实际像素数目见表1:

表1 200张测试图像中各语义列别的总计预测像素数目与实际像素数目

类别 预测像素数目 实际像素数目
背景 29130135 29346956
病斑 456202 392935
叶片 18413663 18260109

根据表1所列出的统计,对所有测试图像总体的病斑面积比,病斑面积比表明了病虫害程度,其预测值为2.4176%,实际取值为2.1065%。

实施例3:

本实施例为应用实施例,应用实施例1中的方法得到病虫害等级空间分布图,参见图4,图4是一次在北京市进行的实地病虫害等级分布监测结果,时间为2018年10月。

图4中为仓道路附近农作物病虫害等级分布,图中1区域、2区域种植相同农作物,3区域种植小麦,在3区域内有病虫害,其中区域A和区域B具有病虫害,而且区域B内的病虫害等级要高于区域A。

通过上述实施例可知,本发明提供的基于叶片病斑面积的病虫害监测方法,至少实现了如下的有益效果:

1、本发明使用无人机遥感与计算机视觉目标识别的集成技术,基于深度学习对病虫害的空间动态分布进行高精度实时监测。通过无人机搭载的光学传感器实时拍摄的稻田照片,在无人机主板上经过深度学习模型处理,能够准确识别和定位叶片斑,并定量计算其与叶片面积比例,为施药流程及其它病虫害防治工作提供即时、可靠的指导;

2、本发明的损失函数采用的是Focal Loss,提高了训练阶段的稳定性,解决了正负样本比例失衡造成的训练结果被负样本淹没的问题;

3、本发明中在Linknet的编解码最底层采用了空洞卷积组并联,提高了主干网的输出特征图在上采样过程中的感受野,增加了上下文信息,使得农作物叶片和农作物叶片斑的轮廓边缘更加细腻。

虽然已经通过例子对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上例子仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于深度学习的缝隙定位方法、装置和存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!