掌桥专利:专业的专利平台
掌桥专利
首页

一种森林病虫害实时检测方法、系统及模型建立方法

文献发布时间:2023-06-19 09:57:26


一种森林病虫害实时检测方法、系统及模型建立方法

技术领域

本发明涉及结合无人机的实时图像检测领域,特别是涉及一种基于无人机的森林病虫害图像实时检测方法及系统。

背景技术

森林病虫害是森林健康和林业生产的大敌。早期林业病虫害的监测手段主要由人工实地调查为主,这些监测手段都存在时间滞后性,且主观性较强,甚至在地势较险并且行动受限的地区,工作人员无法及时发现病虫害灾情。

近年来,随着无人机技术日益成熟,性能不断地完善提高,无人机遥感由于成本低、精度高、操作简单、机动灵活等独特优势,广泛应用于危险区监测、灾情评估、救援指挥、生态环境监测、景区资源管理等方面,目前,人们也开始探索无人机遥感图像监测森林病虫害方面的应用。

2012年,A.Krizhevsky等首次将卷积神经网络应用于ImageNet大规模视觉识别挑战赛(ImageNet large scale visual recognition challenge,ILSVR C)中,所训练的深度卷积神经网络在ILSVRC-2012挑战赛中,取得了图像分类和目标定位任务的第一,并且错误率远远低于当时的第二名,从此,深度学习迅速被越来越多的学者应用到自己的研究领域中,并在在大数据、计算机视觉、图像、文字、语音等领域取得了巨大的进步。

无人机和基于深度学习的计算机视觉技术相结合,把图像分析技术应用于森林病虫害图像进行处理,是一种成本低且效率高的监测分析手段。无人机病虫害监测,关键在于如何从已采集到的图像信息中准确识别出受虫害侵染的区域,即对无人机图像进行目标检测,检测出图像中的目标区域,确认病虫害的严重等级。

但是,在现有的对森林病虫害防护的要求不断提高的背景下,如何提高无人机图像目标检测的准确率,尤其是针对微小目标的准确率,并且提高在有限的设备资源要求下的运算速度,以适应更小、更便携的终端设备,成为目前该领域中的一项迫切需求。

发明内容

针对现有技术的不足和目前的市场需求,本发明提出一种无人机森林病虫害实时检测方法、系统及模型建立方法,能够支持小型设备平台移植使用。具体而言,本发明提供了以下的技术方案:

一方面,本发明提供了一种森林病虫害实时检测模型的建立方法,该方法包括:

S1、接收图像数据,并进行数据预处理,获得预处理图像,并形成测试集、训练集和验证集;

S2、建立深度学习网络,所述深度学习网络依次包括扩张卷积层、SE模块、Depthwise卷积层、压缩卷积层;所述SE模块接在所述扩张卷积层之后,SE模块的输出作为系数,与所述扩张卷积层的输出的相应的通道,做线性缩放,再输入至Depthwise卷积层;

S3、对所述深度学习网络进行训练,获得森林病虫害实时检测模型。

优选地,在所述S2中,对所述深度学习网络的权重文件进行量化,量化方式为:以通道为单位,以相对熵作为目标函数,分别计算权重文件中,每一个通道的最优缩放比例因子。

优选地,在所述S2中,对所述深度学习网络的数据层进行量化,量化方式为:以每一个特征层为单位,以相对熵为目标函数,将训练集数据输入至深度学习网络中,得到每一层blob值,再次以相对熵作为目标函数,计算所述深度学习网络中每一个数据层blob的最优缩放比例因子。

优选地,所述量化方式,具体为通过缩放比例因子,将所述深度学习网络中的权重文件和数据层blob的值从float类型转换成int8类型。

优选地,进行量化后,所述深度学习网络的数据层和权重层的原始计算过程通过以下计算代替:

Int8X’=X*scale1

Int8Y’=Y*scale2

Int16Z’=X’*Y’

Z≈Z’/(scale1*scale2)

其中,scale1、scale2为缩放比例因子,X、Y为float类型数据集。

优选地,所述缩放比例因子的确定方式为:

采用相对熵确定缩放比例因子,相对熵的表达式如下:

其中p(x)是目标分布,在这里是量化到int8之后的权重文件和数据层blob的值,q(x)是去匹配的分布,这这里是原始的权重文件和数据层blob的值,理论上如果两个分布完全匹配,那么D

优选地,所述深度学习网络的文件中,仅保留int8型权重数值。

优选地,所述S3中,对所述深度学习网络进行训练时,在初始化模型权重时,采用在VOC数据上面训练的mobilenet v2分类模型来初始化我们森林病虫害检测网络的模型,以增加收敛速度,提高收敛效果。

此外,本发明还提供了一种森林病虫害实时检测方法,该方法包括:

S1、接收图像数据,并进行数据预处理,获得预处理图像;

S2、将所述预处理图像输入检测模型,获得检测结果,并输出;

所述检测模型通过如上的森林病虫害实时检测模型建立方法建立。

又一方面,本发明还提供了一种森林病虫害实时检测系统,该系统包括:

所述装置包括存储器,以及处理器,所述处理器可以访问所述存储器,调用所述存储器中的指令,并执行所述指令,以执行如上所述的无人机森林病虫害实时检测方法。

与现有技术相比,本发明具有以下突出优点:

(1)相对传统的森林病虫害实地调查方法,无人机图片和深度学习方法相结合,用于森林病虫害的检测,操作起来更加简便、成本更低、效率也更高。

(2)通过对标准的MobilenetV2进行改进,在提高模型检测精度的同时、通过量化分析,提高了模型的精度,减少了模型的大小。

(3)模型能够成功实时运行在手机等移动设备上面,为以后直接在无人机上面安装该模型,然后把分析结果实时传输到地面工作站等操作成为可能,从而可以高效的为后续研究者和政策决策者提供有效、及时的分析数据。

附图说明

图1a为本发明实施例的resnet网络模块示意图;

图1b为本发明实施例的MobilenetV2网络模块示意图;

图2为本发明实施例的SE网络模块示意图;

图3a为本发明实施例的在不带shortcut的Mobilenet V2模块中嵌入SE模块后结构示意图;

图3b为本发明实施例的在带shortcut的Mobilenet V2模块中嵌入SE模块后结构示意图;

图4为本发明实施例的量化示意图;

图5为本发明实施例的森林病虫害检测流程图;

图6为本发明实施例的权重量化截图;

图7为本发明实施例的数据层量化截图;

图8为本发明实施例的模型在手机端运行结果图。

具体实施例

下面将结合本发明实施例中的图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

在一个具体的应用场景中,为了提高检测模型的准确率,需要对现有的模型进行一定的改进,让其能更准确的检测出无人机图像中的病虫害树木;为了减小模型大小,本发明结合深度学习网络剪枝,对网络结构进行改进,以减少模型参数,并结合加速方法,提高模型的运算速度。

(1)采用轻量级神经网络作为主干网络,进行网络结构改造。顾名思义,这个网络是为了能够在移动终端上面运行而发明的一种网络结构,它主要包含两个特点:Invertedresiduals和Linear bottlenecks。Inverted residuals是相对经典的网络resnet的结构而言的,在resnet结构中,对于一个模块,如图1a所示,为了减少这个模块的计算量,在输入x之后连接一个1*1的卷积层(该卷积层的通常数一定比输入x的通道数少),目的是为了降低输入x的通道数,从而减少整个block的计算量。而在MobilenetV2中,因为1*1的卷积层后面用的是depthwise卷积,该卷积层不会因为输入的通道数变多,计算量显著增加,所以在该模块中,为了让输入的信息尽量保留下来,使用了一个扩张型的1*1的卷积接在了输入层之后,最后再在整个模块的输出用了压缩性的1*1卷积,从而保证整个模块的输出也被控制在一定的范围。从整体上来看,它的结构正好和resnet的结构相颠倒;Linear bottlenecks是指在整个模块的1*1卷积的后面,使用的是linear scale的激活层,而不是CNN中常用的relu6激活层,整个结构如图1b所示。

(2)为了提高检测模型的准确率,我们将SENet网络的Squeeze模块与Excitation模块融合到MobilenetV2目标检测网络的主干网络中。

SENet是一个分类网络,其主要的网络模块如下图2所示,在主干网络中,用Squeeze和Exciting操作,做了一个attention的操作。具体的,对于输入x,squeeze负责把x数据从H*W*C(H,W,C分别代表了输入层的高、宽和通道数)维降低成1*1*C的一个数据层,然后紧接着链接两个全连接层(Full Connect layer),这两个全连接层起到一个非线性变换的作用,紧接着,连接一个sigmoid激活函数,该函数可以把信号变成0到1之间的一些数,这两个全连接层和sigmoid层被称为Exciting部分,Squeeze和Exciting模块综合起来,可以看做是把输入x经过一系列的变换,得到每一个通道C的权重系数,这些系数然后和原始的输入x相乘,就相当于对原始的输入x信息乘上了一个权重系数。

所以这里,为了加强主干网络提取特征的能力,我们将Squeeze模块与Excitation模块融合到目标检测网络的主干网络中。对于图1b中的Mobilenet-v2网络,在每一个1x1“扩张”卷积层的后面,接上一个SENet中的SE模块,然后把SE模块输出作为系数a,和1x1“扩张”卷积层的输出的相应的通道X,做一个线性缩放Y=aX操作,这样做的意义是重要的通道数据得到了加强,不重要的通道数据被相应的减弱。详细的,在该模块,对于一个输入X,维数为[N,C,W,H],其中N是训练的时候的batch size数目,也就是同一时刻,从训练集合中取多少个样本参与训练,C是X这一层的通道数,W,H是这一层特征图层的宽和高,首先经过一个global pooling操作,X变成了一个[N,C,1,1]的特征图层,然后经过一个全连接层操作,特征图层变成了[N,C1,1,1],其中C1是该层全连接层的神经元个数,又经过一个全连接层操作,特征图层变成了[N,C,1,1],其中C是该层全连接层的神经元个数,也是X的通道数,这里设置C1

(3)用量化的方法来提高模型的运算速度。大体而言,量化的方法就是将神经网络里面的float类型的运算都转成成int8类型的运算,进而通过arm中对int8类型的加速达到提高运算速度的目的。

①神经网络中的计算,基本都是数据层blob和权重层weigth之间的乘法运算,所以此次量化的目的就是想办法把数据层blob和权重层weight的值从float类型都转变成int8类型,而且整个运算的精度不会损失很多。

②对于两个float类型的数据集合X和Y,原始的问题是要计算:

Z=X*Y

③当X和Y的数据维度很大的时候,如果能找到两个缩放因子scale1和scale2,使得X*scale1的范围在-127到127之间,如图4所示,Y*scale2的范围在-127到127之间,那么原始的计算过程就可以用下面一系列的计算过程来代替了:

Int8X’=X*scale1

Int8Y’=Y*scale2

Int16Z’=X’*Y’

Z≈Z’/(scale1*scale2)

这样,在计算量最大的X*Y的地方,把原始的float类型用int8类型来代替,从而可以增加计算机的计算速度。

④缩放因子scale1、scale2的确定

对于一个数据集合X,如果能找到一个相应的数据集合X’,使得X’的分布和以前X的分布保持一致,只是数据的缩放比例不一样,即可以确定缩放因子scale1、scale2。这个问题可以用KL散度,也就是相对熵来解决,相对熵是用来表示两个分布的差异,差异越大,相对熵越大,反之相对熵越小,差异越小。

采用相对熵确定缩放比例因子,相对熵的表达式如下:

其中p(x)是目标分布,在这里是量化到int8之后的权重文件和数据层blob的值,q(x)是去匹配的分布,这这里是原始的权重文件和数据层blob的值,理论上如果两个分布完全匹配,那么D

(4)用定点化保存文件的方法,进一步减少模型文件的大小。为了进一步减小模型文件的大小,除了前面选用轻量级深度学习神经网络作为主干网络以外,这里采用了把模型的数据类型从float类型转化成int8类型,然后再保存的方法,这样的操作,可以将模型文件减少为以前的约1/4。

模型文件中,主要保存的是权重数据,如果经过了前面的量化计算,也就是每一层的权重缩放因子,已经都计算得到了,从而我们保存模型的权重的时候,不必要保存原始的float类型的Y,而是直接保存Int8类型的Y’,整个模型的计算结果不会受到影响,因为float是4个字节,而int8是1字节,而模型文件主要包含的是权重数值,所以整体模型可以将模型文件减少为以前的约1/4。

在本实施例中,本发明的技术方案在实现时,可以采用典型的监督学习过程模式,方案中核心的工作是在样本收集的基础上精心构建的一组特征,流程的各个步骤如图5所示,其过程如下:

(1)数据预处理。

数据预处理包括裁剪,数据标记、数据增强等操作。数据裁剪是从原始无人机图像中,裁剪出1000*1000大小的数据,作为训练模型时的输入数据。作为训练样本数据,数据标记是在裁剪后的图像上面标记感染数据的位置和类别。数据增强是为了提供更多的训练样本给模型,用图像处理的方法,对原图进行适度等比例缩放,镜像翻转,颜色变化等操作,丰富样本,从而也让训练得到的模型能有较好的表现。

在本实施例中,经过处理,我们最终得到了5281张训练图片,1319张用来做验证的图片,3842张测试的图片。

(2)模型构建。

在本实施例中,根据前面确定的技术方案,选取MobilenetV2模型作为主干网络,结合SENet的Squeeze模块与Excitation模块,定义网络结构,网络结构的输入层是300*300,网络负责检测的类别包括“病死”和“感染”两类,加上背景,总共3类。整个网络的定义文件采用的protobuf文件格式,输入层中,输入图片的大小为300*300,图片的预处理参数中,三个通道的均值分别为127.5,127.5,127.5;损失函数用的是MultiBoxloss,其中参数主要有:类别数3(包括重度感染、轻度感染和背景),判断正负样本的的阈值overlap_threshold为0.5,负样本和正样本的比例取值为3等参数。

(3)训练

在一个优选的实施方式中,深度学习网络的训练可采用Caffe框架来完成,以得到每个层的网络权值。训练深度卷积神经网络可采用反向求导方法等方式进行,训练过程中,相关的训练参数如下:

表1.训练参数表

(4)为了更好的收敛,该训练过程采用了fine-tune的方法,也就是在初始化模型权重的时候,选取了在VOC数据上面训练得到的mobilenet v2模型来初始化我们模型的权重,这样可以避免随机初始化等方法带来不收敛等缺点。整个训练过程在带gpu卡的ubuntu机器上面进行的,在本实施例中,大约经过7天左右的训练,迭代了300000次,得到最终的训练模型。

(5)模型速度和模型大小的优化

权重文件的量化。在网络结构中,以通道为单位,以前面提到的相对熵作为目标函数,分别计算权重文件中,每一个通道的最优的缩放比例因子,图6是权重量化后的缩放因子文件的截图。

数据层的量化。在网络结构中,以每一个特征层为单位,以前面提到的相对熵作为目标函数,将训练数据输入到网络中,得到每一层blob具体的数值,然后同样以前面提到的相对熵作为目标函数,计算神经网络结构中每一个数据层blob的最优缩放比例因子,图7是权重量化后的缩放因子文件的截图。

这些缩放因子得到之后,在神经网络计算的时候,就可以用前面介绍的方法,先转换成int8类型,计算完后,再返回成float类型,通过这种方法,将计算量大的部分从float类型转成int8类型的计算。

模型的定点化保存。保存模型的时候,可以把直接保存量化之后的卷积核参数,即用int8的数据代替float类型的数据保存,所以模型文件的大小大约减少为原来的1/4。

(6)模型和评估

目标检测中衡量识别精度的指标是mAP(mean average precision)。多个类别物体检测中,每一个类别都可以根据recall和precision绘制一条曲线,AP就是该曲线下的面积,mAP是多个类别AP的平均值。在计算mAP的时候,要定义一个IOU(检测物体位置和真实物体位置的交并比)阈值,VOC竞赛中IOU阈值为0.5,在COCO竞赛中为了mAP更加稳定,取IOU阈值从0.5到0.95,步长为0.05,计算得到所有的mAP后,再去一个平均,记作mAP@[.5:.95]。在本次实验中,我们的mAP@[.5:.95]为45.1%,为了对比,测试得到MobilenetV2Lite的mAP@[.5:.95]为39.2%。

为了统计出在Arm上面的运行时间,我们将模型移植到了国内某品牌9i型号的手机上面,CPU的型号是麒麟659,测试得到:当输入的图片大小是1000*1000的时候,模型的平均时间大约是500ms,而在量化之前,速度大约是900ms。图8是一些量化后的结果图,量化后的二进制模型文件的大小是4.22M。

实施例2

在又一个实施例中,本发明还提供了一种森林病虫害实时检测方法,该方法包括:

S1、接收图像数据,并进行数据预处理,获得预处理图像;

S2、将所述预处理图像输入检测模型,获得检测结果,并输出;

所述检测模型通过如实施例1所记载的森林病虫害实时检测模型建立方法建立。

在进行实时检测中,对图像的预处理可以是依据具体的需要进行预处理,例如可以包括基础的去噪、裁剪等方式,从而获得能够为系统或检测设备所接受的进行后续检测的图像数据。

在一个优选实施方式中,在本实施例的检测方法中,所利用到的检测模型采用深度学习网络实现。该深度学习网络依次包括扩张卷积层、SE模块、Depthwise卷积层、压缩卷积层;所述SE模块接在所述扩张卷积层之后,SE模块的输出作为系数,与所述扩张卷积层的输出的相应的通道,做线性缩放,再输入至Depthwise卷积层。

更有优选的实施方式中,对所述深度学习网络的权重文件进行量化,量化方式为:以通道为单位,以相对熵作为目标函数,分别计算权重文件中,每一个通道的最优缩放比例因子。

对所述深度学习网络的数据层进行量化,量化方式为:以每一个特征层为单位,以相对熵为目标函数,将训练集数据输入至深度学习网络中,得到每一层blob值,再次以相对熵作为目标函数,计算所述深度学习网络中每一个数据层blob的最优缩放比例因子。

优选地,该量化方式,具体为通过缩放比例因子,将所述深度学习网络中的权重文件和数据层blob的值从float类型转换成int8类型。

优选地,进行量化后,所述深度学习网络的数据层和权重层的原始计算过程通过以下计算代替:

Int8X’=X*scale1

Int8Y’=Y*scale2

Int16Z’=X’*Y’

Z≈Z’/(scale1*scale2)

其中,scale1、scale2为缩放比例因子,X、Y为float类型数据集。

优选地,所述缩放比例因子的确定方式为:

采用相对熵确定缩放比例因子,相对熵的表达式如下:

其中p(x)是目标分布,在这里是量化到int8之后的权重文件和数据层blob的值,q(x)是去匹配的分布,这这里是原始的权重文件和数据层blob的值,理论上如果两个分布完全匹配,那么D

优选地,所述深度学习网络的文件中,仅保留int8型权重数值。这样可以进一步保证模型文件的大小降到更小,以在常规的终端中能够良好地运行,以实现实时的检测识别功能,以及后续的数据输出或传输功能。

在另一个实时例中,本发明还提供了一种森林病虫害实时检测系统,该系统包括:

所述装置包括存储器,以及处理器,所述处理器可以访问所述存储器,调用所述存储器中的指令,并执行所述指令,以执行如上所述的无人机森林病虫害实时检测方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。

相关技术
  • 一种森林病虫害实时检测方法、系统及模型建立方法
  • 一种停车场实时三维模型建立方法、系统和储存介质
技术分类

06120112365153