油菜害虫识别方法与流程

文档序号:20876216发布日期:2020-05-26 16:34阅读:440来源:国知局
油菜害虫识别方法与流程
本发明涉及油菜除害虫
技术领域
,具体涉及一种油菜害虫识别方法。
背景技术
:传统的病虫害诊断采用人工观测的方式,这一方式存在主观性、局限性、模糊性等不足。随着计算机图像处理以及人工智能技术的发展,人们开始利用计算机代替人来进行油菜的病虫害诊断,提出了在计算机上实现病虫害的识别。图像识别,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对象的技术。随着图像识别技术的不断发展,其应用领域也不断扩展。在环境多变的外界条件中,如何进行害虫识别,这是一个难题。在大田里发生的害虫图片信息容易有信息丢失的现象。目前有基于传统的图像识别技术对病虫害图像进行识别,该技术采用灰度变换、中值滤波、阀值分割、轮廓检测、病斑提取作为与处理数据,从预处理数据显式提取纹理特征、颜色特征和形状特征。传统的图像识别方法是基于图像的“点特征”或“线特征”进行的。对于一般图像的识别匹配效果较好,但是当光照条件较复杂、拍照角度变化大时,鲁棒性不好。基于卷积神经的图像识别方法克服了传统算法中对光照条件改变和拍照角度改变适应性不强的问题。而且,上述传统的图像识别方法只提取图像的部分具有代表性的特征,比如sift和surf,具有一定的局限性,某些过程还需要人工选取;人工神经网络容易过拟合,参数很难调整,训练比较慢,并且在层数较少时效果并不比其他方法更优。此外,但在实际应用中,受到农田环境因素的影响,例如油菜叶片、杂草、土壤以及光照等,拍摄获得的图片一般具有复杂的大田背景。当按照上述方案对油菜及害虫进行识别时,往往出现识别不准确的情况。例如,按照上述方法,识别出某一油菜可能为水稻,识别出该油菜上的害虫为蚜虫的概率极大,但是结合实际经验可知,水稻上根本不可能出现蚜虫。因此,现有的对油菜及害虫的识别,识别准确率较低。在自然的大田环境中,在油菜生长的过程中,会有多种多样的害虫发生,这就给害虫的辨识加大了难度,即使有很多种识别方法,而且研究人员利用这些方法都取得了比较高的辨识正确率,但这些方法并不是在所有情况下都能使用的,对地域、昆虫种类的要求有些严格,所以说在昆虫识别方面的探索还需要攻破很多难关。实际上,油菜病虫害识别和监测技术长期都受相关领域研究工作者的高度关注,由于实用环境的复杂性,真正实用还是相当困难。具体的处理技术根据研究的目标不同各有所长,如从数学形态和几何测量学形态特征研究,对天蛾科进行了分类研究,取得了非常高的准确率(蔡小娜2013)。研究了基于高光谱成像技术油菜病虫害监测方法,提出了基于类间不稳定指数和平均影响值变量筛选和波段优先算法,并利用小波变换和遗传算法引入预测模型,提出了一种基于高光谱成像技术的油菜受害程度的识别方法(赵芸2013)。这些是比较典型的基于图像特征识别技术,相较本发明的方法,主要注重技术原理和准确率,没有考虑实用性和识别效率问题。技术实现要素:本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种油菜害虫识别方法。为解决上述技术问题,本发明提出的技术方案为:一种油菜害虫识别方法,包括以下步骤:1)获取样本图像;2)图像预处理;3)建立测试数据集;4)构建害虫识别模型,通过特征提取网络对输入图像提取特征,每个网格检测害虫区中心在该网格内的害虫对象,每个网格估测固定数量的边框,选出用来估测目标的边框,即特征图;5)估测每个边框的置信度,当边框贴合实际的边框时置信度设为1,即作为特征图,否则不作为特征图;6)估测当边框内存在害虫对象时,该害虫属于某个类的概率,得到害虫分类结果。作为上述技术方案的进一步改进为:上述技术方案中,优选地,所述步骤6)中,通过估测条件类别概率估算害虫属于某个类的概率。上述技术方案中,优选地,所述步骤6)中,待测油菜共有k类害虫,每个网格估测第i类害虫classi的条件概率,估测条件类别概率p(classi|obj),i=1,2,...,k,计算特定类别置信分数:其中,p(obj)表示当前目标边框内存在目标的概率,(intersection-over-union)作为一个阈值控制估测的边框出现的数量。上述技术方案中,优选地,所述步骤2)中,具体分为以下五步:第一步预处理,对筛选后的原始图像进行亮度、对比度、色彩饱和度和锐化的预处理;第二步旋转,将图像以不同的角度旋转后分别保存;第三步分割,根据图像所拍摄内容情况,可将原图分割成不同像素的图像;第四步缩放,将分割后的图像按不同尺度调整;第五步入库,将处理好的图像分类命名入库保存。上述技术方案中,优选地,所述步骤3)中,测试数据库由人工标注图像集和未标注图像集组成,所述人工标注图像集用于网络模型训练,所述未标注图像集用于网络模型训练和测试。上述技术方案中,优选地,所述步骤4)中,构建害虫识别模型是基于yolo目标检测法。上述技术方案中,优选地,所述步骤4)中,构建害虫识别模型是基于yolov3目标检测法。上述技术方案中,优选地,所述步骤6)中,采用识别算法rniy,检测精度map值为70.3。上述技术方案中,优选地,采用3个尺度13*13、26*26和52*52的特征图进行连接,每种尺度下采样尺度设定3种先验框,共9个先验框,大小为别是:(10x13),(16x30),(33x23),(30x61),(62x45),(59x119),(116x90),(156x198),(373x326)。上述技术方案中,优选地,被识别图像的分辨率为490×490到605×605之间。本发明提供的一种油菜害虫识别方法,与现有技术相比有以下优点:本发明的油菜害虫识别方法,利用卷积神经网络图像分类技术对油菜不同生长发育期的害虫实拍图像快速识别进行了应用研究,结果证明优化后yolov3模型结构在油菜害虫识别方面有较好的性能优势,兼顾了害虫图像的识别速度和准确率。本发明的油菜害虫识别方法,实时害虫检测算法rniy,其基于yolov3的darknet-53网络的目标检测算法来对油菜图像上的害虫进行识别,既能识别出害虫位置,也能识别出害虫种类。本发明的油菜害虫识别方法,相比于传统目标识别方法,无论是在检测准确性还是检测速度上,都具有极大的优势;与其他流行的基于深度学习的方法相比,本方法能在保持较高的准确性上具有非常突出的实时性,相较于现有技术中检测速度较快的ssd算法,本发明算法的速度提升了27个百分点,并且其在检测准确率上也远高于其他现有的目标检测算法,能有效地识别出图像上的害虫类型与位置。本发明的油菜害虫识别方法,误检率为5.91%,略低于ssd算法,并且由于rniy具有多分辨率检测层,能用更高效的先验框生成方法得到更好的iou值,具有较小的误检率和良好的鲁棒性。附图说明图1为本发明技术路线图。图2为边框估测示意图。图3(a)为本发明应用实施时图像样本预处理后的图像。图3(b)为本发明应用实施时旋转后的图像。图3(c)为本发明应用实施时分割后的图像。图3(d)为本发明应用实施时缩小80%后的图像。图3(e)为本发明应用实施时缩小60%后的图像。图4为基于yolo的害虫检测过程图。图5为四种分辨率下的p-r曲线。图6为边框估测示意图。具体实施方式以下对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。本发明的油菜害虫识别方法,以油菜为例说明本发明害虫识别方法的应用。gpu加速采用cuda编程,opencv主要用于测试时显示图像。本实施例的害虫识别方法采用无人机进行图像的拍摄,包括以下步骤:1)图像采样在试验油菜田采集油菜图像,经过整理之后总共有30000幅图像,并随机选择20000幅图像用于模型训练,剩下的10000幅图像作为测试集。2)图像处理如图3所示,图像样本的处理,具体分为以下五步:第一步预处理,对筛选后的原始图像进行亮度、对比度、色彩饱和度和锐化等预处理,如图3(a)所示;第二步旋转,将图像按30和60度旋转后分别保存,这样就将图像数量扩大到3倍,如图3(b)所示;第三步分割,根据图像所拍摄内容情况,可将原图分割成2-6张1149*1532像素或1146*860像素或1151*648像素的图像,如图3(c)所示;第四步缩放,将分割好的图像按original、medium、small尺度调整,既分割图像缩小80%(如图3(d)所示)和缩小60%(如图3(e)所示);第五步入库,将处理好的图像分类命名入库保存。通过上述处理过程,一张优质的原始图片,可以输出20张入库图像。在模型训练测试过程中,采用半自动化标注的方法,将识别效果较好的图像,经人工挑选后,再经人工优化和修正,既可作为标注图像,用来训练模型。重复半自动化标注过程,使标注图像训练数据集越来越大。3)测试数据集测试数据库由人工标注图像集和未标注图像集组成。(1)人工标注训练集分3种大小尺度标注了3种害虫,共标注了2016幅原始图像。人工标注框宽度像素点覆盖了7-86的范围,人工标注框高度像素点覆盖了6-86的范围,人工标注框像素点总数覆盖了80-7696的范围,能满足各种后期训练的需要。具体统计数据如表1所示。表1人工标注框图像参数统计表(2)未标注训练测试集,由所选的3000幅原始图像经处理后组成。处理后输出像素分别1149*1532、1146*860、1151*648、919*1225、689*919、916*688、687*516、920*518、690*388共9种大小的图像。实际得到入库图像36000多幅未标注图像,供后期神经网络模型训练和测试使用。4)基于yolo的油菜害虫识别模型yolo目标检测法一次性读取整幅图像,可以更加快速识别图像局部信息,大大降低了背景的误检率。yolo在准确率上与最主流的网络相比略有下降,但在速度上有了很大的提升,fastyolo的速度已经高达155桢/s,能够很好地应用在对实时性要求很高的场景中。yolov3的模型可以通过改变模型结构的大小以及图像分辨率来权衡速度与精度,如图4所示。yolo算法把目标对象的监测问题直接作为一个位置坐标和置信度评分的回归问题来处理,因此,yolo算法可一次性实时估测多个目标的类别和位置。(1)构建模型通过特征提取网络对输入图像提取特征,得到一定大小的特征图(featuremap),比如13*13,然后将输入图像分成13*13个网格(gridcell),每个网格检测害虫区中心在该网格内的害虫对象,由于每个网格都会估测固定数量的边框(boundingbox)(yolov1和v2中是2个,yolov3中是3个),并且各个边框的初始大小是不一样的,这几个边框中只有和实际边框的iou最大的才是用来估测该目标的。可以看出估测得到的输出特征图有两个维度是提取到的特征的维度,比如13*13,还有一个维度(深度)如b*(5+c),其中b表示每个网格估测的边框的数量(在yolov1中是2个,yolov2中是5个,yolov3中是3个),c表示边框的类别数,5表示4个坐标信息(ix,iy,iw,ih)和一个置信度(credibility)。置信度的计算公式为:其中p(obj)表示当前目标边框内存在目标的概率,通常(intersection-over-union)作为一个阈值来控制估测的边框出现的数量。然后对边框的iou进行比较,哪个比较大(更接近对象实际的边框),就由哪个边框来负责估测该害虫对象是否存在,即该边框的p(obj)=1,同时把该边框位置作为真实边框的位置。另一个不负责估测的边框的p(obj)=0。目标的估测值为:其中,(lx,ly)是网格的坐标偏移量,prew,preh是预设的边框边长。可以得到边框坐标值为desx,y,w,h,网络的学习目标为ix,y,w,h,如图6所示。本实施例的模型使用多个尺度(scale)融合的方式做估测,这种处理方式是为了加强yolo算法对小目标检测的精确度。本实施例最后融合了3个尺度,其他两个尺度的大小分别是26*26和52*52,在多个尺度的特征图上做检测,对于小目标的检测效果提升比较明显。随着所输出的特征图的数量和尺度的变化,先验框的尺寸也需要相应的调整。本实施例为每种下采样尺度设定3种先验框,总共聚类出9种尺寸的先验框。在coco数据集这9个先验框是:(10x13),(16x30),(33x23),(30x61),(62x45),(59x119),(116x90),(156x198),(373x326)。被识别图像的分辨率为490×490到605×605之间。(2)算法流程本实施例的害虫识别算法基于yolov3目标检测架构,其具体步骤为:a、把油菜叶片图像输入到模型中,并将这些图像划分为s×s个网格。b、估测出所有害虫区的边框。每个网格将负责检测害虫区中心在该网格内的害虫对象,并且每个网格需要估测b个边框,每个边框包含5个需要学习的参数,即边框的高度ih、宽度iw、中心点坐标(ix,iy)和置信度credibility。本实施例的算法使用logistic回归来估测每个边框的置信度,如果某个边框比其他边框更贴合实际的边框,那么该边框的置信度设为1,否则将忽略它。c、估测条件类别概率p(classi|obj),即当边框内存在害虫对象时,该害虫属于某个类的概率。假设共有k类害虫,那么每个网格估测第i类害虫classi的条件概率,即p(classi|obj),i=1,2,...,k,并且每个网格也估测b个边框。d、计算特定类别置信分数:这个分数代表该害虫类型出现在边框中的概率以及边框与害虫对象的合适度。分数最高的边框信息作为该图像中害虫的识别类型和位置。本发明采用13*13的特征图进行连接,类似fpn的upsample和融合做法(最后融合了3个尺度,其他两个尺度的大小分别是26*26和52*52),在多个尺度的特征图上做检测,对于小目标的检测效果提升明显。随着所输出的特征图的数量和尺度的变化,先验框的尺寸也需要相应的调整。本发明为每种下采样尺度设定3种先验框,这9个先验框是:(10x13),(16x30),(33x23),(30x61),(62x45),(59x119),(116x90),(156x198),(373x326)。5)将本发明的害虫识别算法与五种目标检测算法进行性能对比,进一步说明本发明害虫识别方法的准确度、速度与精度。通过把本实施例的算法与其他五种算法进行对比,如表2所示,可以看出本实施例的算法rniy的检测精度map值为70.3,稍逊于ssd算法的71.0,优于dpm、r-cnn、fastr-cnn、fasterr-cnn。表2六种模型训练结果对比目标检测算法mapfpsdpm25.225r-cnn51.64fastr-cnn66.90.3fasterr-cnn69.16ssd71.042rniy70.369但在检测速度上,本实施例的算法占有着绝对优势,其fps值为69,远高于其他几种算法,说明其能够很有效地进行实时检测。当迭代次数一定时,六种算法中ssd的loss最小,本实施例的算法次之,而dpm最大。从总的趋势来说,本实施例算法的收敛速度最快,ssd次之,fasterr-cnn、fastr-cnn、r-cnn、dpm逐渐减慢,且dpm收敛速度最慢。表3六种算法的检测错误比例目标检测算法错检个数误检率/%dpm57612.84r-cnn3089.05fastr-cnn2207.47fasterr-cnn1936.29ssd805.53rniy1215.91表3显示了六种算法的检测错误比例,其中ssd的误检率最低,只有5.53%。本实施例算法的误检率为5.91%,略高于ssd,排第二位。dpm作为传统算法,其误检率最高,达到了12.84%。总的来说,本实施例算法具有较低的误检率。6)四种分辨率下的算法性能通过改变输入图像的分辨率为320×320、416×416、544×544、608×608,分别训练本实施例相应的模型,然后基于得到的检测模型,通过调整害虫检测综合得分的阈值,对测试集分别进行测试,得到每个模型对应的p-r曲线。图5显示了在四种不同的图像分辨率下,本发明提出的模型的p-r曲线,表4给出了其具体的检测评价指标结果表。表4不同分辨率下的算法性能目标检测算法apmapfps基于yolov3-320的算法87.324.052基于yolov3-416的算法88.527.146基于yolov3-544的算法91.427.933基于yolov3-608的算法93.329.828由上表可知,随着输入图像的分辨率增加,输出特征图尺寸变大,输出网格数增多,模型的ap值和map值均在上升,对油菜图像上较小的害虫的识别率变高,害虫检测map变高,但是检测速度也随之下降。所以并不是图像分辨率越高越好,如当分辨率为608×608时,fps值减小到28,此时的检测速度很慢,导致系统的实时性受到了影响。最终,在对检测精度和检测速度进行权衡之后,本发明将采用544×544的分辨率来进行油菜害虫识别。上述实施案例只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1