CN113283538B - 一种基于卷积神经网络的昆虫分类及计数方法 - Google Patents
一种基于卷积神经网络的昆虫分类及计数方法 Download PDFInfo
- Publication number
- CN113283538B CN113283538B CN202110657174.5A CN202110657174A CN113283538B CN 113283538 B CN113283538 B CN 113283538B CN 202110657174 A CN202110657174 A CN 202110657174A CN 113283538 B CN113283538 B CN 113283538B
- Authority
- CN
- China
- Prior art keywords
- insect
- convolution
- image
- size
- feature map
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/149—Segmentation; Edge detection involving deformable models, e.g. active contour models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/30—Noise filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30242—Counting objects in image
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
该基于卷积神经网络的昆虫分类及计数方法将深度学习和图像处理技术进行融合使用,使用深度学习技术训练语义分割模型对用诱虫板诱捕到的害虫进行虫子分类,并获取害虫区域特征,再结合使用图像处理中形态学处理实现害虫进行计数的方法,特别适合农业病虫害防治的使用。
Description
技术领域
本发明涉及一种基于卷积神经网络的诱虫板的昆虫分类和计数方法,属于农业防治领域。
背景技术
在我国,林业是生态文明建设的根本,农业是支撑国民经济建设与发展的基础产业。我国林业和农业发展面临的主要问题是现代化设施薄弱、抗灾害能力较差。而病虫害是目前林业和农业安全面临的主要隐患,使用农药是当今林业和农业中限制虫害的主要手段,但是农药的大量使用会严重破坏生态环境,残留农药也会影响对人类生命健康。对环境中的昆虫数量情况进行监督,用数据监测害虫的种群动态,能够有效根据虫害严重程度从而精确控制农药使用量,做到提前虫灾预警、减少农药使用、保证林业和农业的可持续发展。传统的对昆虫计数方式是人工感观计数,即人工鉴定并统计害虫,但是这种方式存在工作强度大、实时性差、效率低等缺陷,无法对虫灾发展情况的实时检测。使用深度学习和图像处理技术实现昆虫分类计数,达到智能化计数效果,也能够使昆虫测报人员摆脱机械、繁琐的害虫分类识别统计工作。
目前对采集到的昆虫实现分类计数方式主要三种:
(1)人工计数法
(2)声音信号计数法
(3)红外传感器计数法
(4)图像处理计数法
人工分类计数法需要昆虫测报人员对昆虫进行逐个计数,人工劳动强度大、效率低、不能实时预测,声音信号昆虫计数将采集到的昆虫声音信息转换成信号,根据昆虫的声音的频率、信号脉冲等特征,最后根据采集到处理后的电信号对害虫数量计数,此种方式在采集昆虫声音信号容易受到外界环境噪音的干扰。红外传感器计数法是在诱捕集虫装置内设置红外传感器对落入害虫信号进行采集,根据计数脉冲估计害虫数量,此种方式无法对昆虫进行分类,落入的异物会触发红外传感器,从而影响计数的精度。这两种方式对设备硬件条件要求高,且都容易受到外界的影响,还需要专业人员对昆虫进行分类。图像处理计数法是目前害虫计数广泛使用的方法,使用相机对诱捕器捉到的昆虫进行拍照,使用形态学特征实现分类和计数,这种方式若是提取特征不准确,容易受到噪声影响。
发明内容
本发明的目的在于:提供一种将深度学习和图像处理技术进行融合使用,使用深度学习技术训练语义分割模型对用诱虫板诱捕到的害虫进行虫子分类,并获取害虫区域特征,再结合使用图像处理中形态学处理实现害虫进行计数的方法。
本发明的技术方案是:
一种基于卷积神经网络的昆虫分类及计数方法,其特征在于:包括如下步骤:
1、获取数据;
数据由专业人员在昆虫诱捕器上安装高清工业摄像机获取集虫装置上的昆虫图像,再将图像传送到计算机上进行存储,然后再使Labelme,对获取到的图像数据进行数据标签标注,对图像上每一个虫子目标区域进行分类标记Insect1、Insect2、…,将标记完的标签数据作为神经网络的训练输入数据集;
2、图像预处理;
将步骤1取得的神经网络的训练输入数据集,依次进行尺寸的同一化、图像数据值的归一化以及平移、转置、镜像、旋转、缩放的常规几何变化方式对图像数据进行数据增强,扩充得到昆虫图像数据集;
3、构建昆虫分类神经网络模型;
3.1、主干特征提取网络;
主干特征提取网络是在现有MobileNet网络基础上进行的改进,改进方法如下:只使用MobileNet网络的特征提取模块结构并进行改进,分类模块不使用,主干特征提取部分由普通卷积块、深度可分离卷积块组成;
将步骤2得到的昆虫图像数据集,输入到修改的主干特征提取网络MobileNet的普通卷积块中进行相关的卷积操作,卷积块所进行的具体操作如下:
输入昆虫图像数据集Inputs->零填充ZeroPadding2D->3*3卷积Conv2D->批标准化BatchNormalization->激活函数层Actication,激活函数依旧使用relu6,如此即可完成卷积块操作,得到昆虫的特征图;
随后将完成卷积块操作得到的昆虫图像特征图,输入到多个深度可分离卷积块进行卷积操作;深度可分离卷积结构由deepth wise卷积和point wise卷积组成;deepthwise卷积对昆虫的特征图的每个通道独立进行卷积运算,卷积后的特征图的通道数和卷积前的通道数一致,这里使用3*3尺寸的的深度卷积核进行卷积;逐点卷积是为了弥补深度卷积没有有效利用图片不同通道在相同位置上的特征信息,使用deepth wise卷积来将pointwise卷积组合生成新的特征图,从而融合通道之间的信息,这里统一使用1*1尺寸的逐点卷积核进行卷积;
昆虫的特征图输入到一个完整的深度可分离卷积块,首先是3*3尺寸的深度卷积层DepthwiseConv2D、批标准化层BatchNormalization、激活函数层Activation:激活函数使用relu6、1*1的逐点卷积层BatchNormalization、批标准化层BatchNormalization、激活函数层Activation:激活函数使用Relu6;
昆虫图像数据集中的每一张图像,经过步骤2图像预处理后得到416*416尺寸的昆虫图像输入到改进的主干特征提取网络,基于改进的主干特征提取网络结构由1个普通卷积块和13个深度可分离卷积块组成;昆虫图像数据集首先输入到普通卷积块中,经过普通卷积块卷积操作得到昆虫的特征图,依次输入到13个深度可分离卷积块中,该过程中会提取输出多个不同尺寸的昆虫图像特征图F1、F2、F3、F4、F5,用于昆虫图像的特征融合提取;详细过程如下:416*416昆虫图像首先输入到卷积核尺寸为3×3×3,数量为32的普通卷积块进行卷积操作,输出为208×208×32尺寸的昆虫图像特征图,并作为第1个深度可分离卷积块的输入;第1个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为32的卷积核,point wise卷积使用尺寸为1×1×32,数量为64的卷积核,第1个深度可分离卷积块的输出为208×208×64的昆虫图像特征图,作为主干特征提取网络的第1个昆虫图像特征图F1进行提取输出,并继续输入到第2个深度可分离卷积块中进行卷积操作;第2个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为64的卷积核,point wise卷积使用尺寸为1×1×64,数量为128的卷积核,输出为104×104×128的昆虫图像特征图,并作为第3个深度可分离卷积块的输入;第3个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为128的卷积核,point wise卷积使用尺寸为1×1×128,数量为128的卷积核,输出为104×104×128尺寸的昆虫图像特征图,作为主干特征提取网络第2个昆虫图像特征图F2进行提取输出,并输入到第4个深度可分离卷积块中进行卷积操作;第4个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为128的卷积核,point wise卷积使用尺寸为1×1×128,数量为256的卷积核,输出为52×52×256尺寸的昆虫图像特征图,并作为第5个深度可分离卷积块的输入;第5个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为256的卷积核,point wise卷积使用尺寸为1×1×256,数量为256的卷积核,输出为52×52×256尺寸的昆虫图像特征图,作为主干特征提取网络第3个昆虫图像特征图F3进行提取输出,并输入到第6个深度可分离卷积块中进行卷积操作;第6个深度可分离卷积块的deepthwise卷积使用3×3尺寸、数量为256的卷积核,point wise卷积使用尺寸为1×1×256,数量为512的卷积核,输出为26×26×256尺寸的昆虫图像特征图,并作为第7个深度可分离卷积块的输入;第7个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为512的卷积核,point wise卷积使用尺寸为1×1×512,数量为512的卷积核,输出为26×26×512尺寸的昆虫图像特征图,然后依次进行第8、9、10、11个深度可分离卷积块,这些卷积块使用的deepth wise卷积和point wise卷积的尺寸和数量和第7个深度可分离卷积块一致,最终输出26×26×512尺寸的昆虫图像特征图,作为主干特征提取网络第4个昆虫图像特征图F4进行提取输出,并输入到第12个深度可分离卷积块中进行卷积操作;第12个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为512的卷积核,point wise卷积使用尺寸为1×1×512,数量为1024的卷积核,输出为13×13×1024尺寸的昆虫图像特征图,并作为第13个深度可分离卷积块的输入;第13个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为1024的卷积核,point wise卷积使用尺寸为1×1×1024,数量为1024的卷积核,最终输出13×13×1024尺寸的昆虫图像特征图,作为主干特征提取网络第5个昆虫图像特征图F5进行提取输出,至此主干特征提取网络提取完成;
3.2、将步骤3.1中得到昆虫图像特征图进行特征解码;
对步骤3.1中得到昆虫图像特征图F1、F2、F3、F4、F5进行解码;主干特征网络提取图像特征的过程中昆虫图像的长和宽不断的被压缩,通道数变大;昆虫图像特征解码过程就是对提取到的昆虫图像特征图进行长和宽的不断放大,放大到和原昆虫图像一样的尺寸,再使用Softmax函数对每个像素点进行昆虫目标分类,实现昆虫图像昆虫目标分割和分类的效果;图像特征解码方式是使用上采样UpSampling2D方法,为了更好解码特征,利用不同特征层的特征位置关系,这里使用特征融合方法Concatenate方法;具体过程是:将获取有效特征特征层F5经过Zeropadding2D、3*3*512的Conv2D,再经过2倍的上采样Upsampling之后的结果与有效特征层F4进行融合Concatenate,有效特征层F4、F3、F2、F1和有效特征层F5操作类似,和F1经过融合之后,经过Zeropadding、Conv2D、BatchNormalization、3×3×N_classes的Conv2D,N_classes:需要识别的昆虫的类别数,最后使用Softmax函数将每一个像素点分别划分到每一个类别中去;如此即可得到完整的昆虫分类神经网络模型;
输入昆虫图像训练该模型,得到了图像中每一个像素点的所归属的类别值,背景的像素点值为0、不同昆虫所对应的设置不同像素值,即使用不同颜色进行标记,对不同类别的昆虫使用不同的颜色值进行标记最终实现对不同的种类昆虫标记为不同的颜色,同一种类虫子区域被标记为同一颜色,同一种类区域像素点的值为一致;针对于对于不同的种类虫子的标记,使用OpenCV中的轮廓检测findContours函数,找到每一个昆虫的轮廓区域中的轮廓point1:x1,y1、point2:x2,y2、point3:x3,y3…,通过平均值计算公式单个昆虫所有轮廓点point1、point2、point3的平均中心点的位置的,参考公式1和2:
通过公式1和2可得单个昆虫平均中心点的位置的,其中n代表通过轮廓检测函数findContours计算得到组成单个昆虫的区域的轮廓点总的个数, i代表当前昆虫的第几个轮廓点,对所有轮廓点的横纵坐标各次求和取平均得到该昆虫中心点的坐标;随后再通过图像中该点位置的像素值和标记时的颜色的像素值进行比较,若相等,则将该区域的虫子标记为Insect1、Insect2…,至此,分类标记完成;
图像中除了虫子目标区域,昆虫的背景区域都转换为了黑色,相当于将昆虫目标从原始图像中作为单独的个体分割出来,简称为昆虫分割图像,这样在图像在第4步中进行转换灰度图像,做二值化处理的时候相对于传统方式直接将图像灰度二值化而言,将图像中的噪声完美的去除掉,也不用使用高斯滤波、中值滤波、均值滤波等去除图像噪声操作,加快图像处理的速度;
4、将步骤3得到的昆虫分类神经网络模型输出进行数据处理使其达到具备昆虫计数的功能;
4.1、将步骤3中已经对昆虫图像,实现了不同的昆虫分类的效果,并且找到了昆虫的目标区域,即将昆虫目标区域从原始图像中分割出来,这里称为昆虫分割图像,然后通过昆虫的连通包围区域的个数就可以知道该昆虫的个数,实现昆虫计数的效果;针对于不同类型的昆虫计数,不同的昆虫用不同的颜色标记,其对应区域的像素值不一样,设置字典进行编码映射,当对某一品种的昆虫进行计数时,只保留该品种昆虫目标的像素值,其它昆虫区域像素值RGB设置为255,255,255,全黑;
再通过以下步骤分别对不同昆虫进行计数,完整昆虫计数的过程如下:
首先将神经网络分类的RGB昆虫图像转换为灰度图像,再对转换的灰度图像使用Threshold函数进行最大熵阈值二值化分割处理,然后再使用OpenCV中的轮廓检测findContours函数检测每个昆虫的轮廓,找到图像中昆虫的轮廓的数量;对于语义分割之后的目标昆虫边缘绘制时的噪声轮廓,利用contourArea计算目标物体轮廓面积contourArea,设置阈值50像素面积的噪声轮廓进行删除,这里一般轮廓较小,阈值可动态根据昆虫的边缘轮廓进行设置改变;找到图像中物体轮廓个数之后,就可以绘制在语义分割后的图像上,然后和原图像进行合并,最终达到昆虫的分类和计数的目的;
5、将采集的图像输入所述的昆虫分类神经网络模型处理,并对昆虫分类神经网络模型的输出进行数据处理;识别出昆虫的类别和数量;其步骤如下:
5.1、在计算设备上部署昆虫分类神经网络模型所依赖的环境;
5.2、将步骤3所得完整的昆虫分类神经网络模型移植到计算设备中,将采集的图像通过硬件接口传入计算设备;
5.3、将步骤5.2传入的采集的图像经过昆虫分类神经网络模型检测后,对昆虫分类神经网络模型输出的采用步骤4的方式进行处理,如此即可得到昆虫的分类及数量结果。
所述的昆虫诱捕器呈平面型结构,其表面设置有诱虫剂。
本发明的优点在于:
该基于卷积神经网络的昆虫分类及计数方法将深度学习和图像处理技术进行融合使用,使用深度学习技术训练语义分割模型对用诱虫板诱捕到的害虫进行虫子分类,并获取害虫区域特征,再结合使用图像处理中形态学处理实现害虫进行计数的方法,特别适合农业病虫害防治的使用。
附图说明
图1为本发明中昆虫的特征图输入到深度可分离卷积块中的工作过程;
图2为本发明昆虫分类神经网络模型;
图3为本发明进行昆虫计数的流程图;
图4为本发明实验中采集的昆虫图像;
图5为本发明实验完成分类标记后的图像;
图6为本发明实验完成昆虫的分类和计数后的图像;
图7为本发明的工作流程框图。
具体实施例
该基于卷积神经网络的昆虫分类及计数方法,包括如下步骤:
1、获取数据;
数据由专业人员在昆虫诱捕器上安装高清工业摄像机获取集虫装置上的昆虫图像,再将图像传送到计算机上进行存储,然后再使Labelme,对获取到的图像数据进行数据标签标注,对图像上每一个虫子目标区域进行分类标记Insect1、Insect2、…,将标记完的标签数据作为神经网络的训练输入数据集;
当昆虫诱捕器呈平面型结构,其表面设置有诱虫剂时;其拍摄效果最佳。
2、图像预处理;
将步骤1取得的神经网络的训练输入数据集,依次进行尺寸的同一化、图像数据值的归一化以及平移、转置、镜像、旋转、缩放的常规几何变化方式对图像数据进行数据增强,扩充得到昆虫图像数据集;
训练输入数据集的图像质量的好坏直接影响算法模型最终预测效果的精度,本申请步骤2中采用尺寸的同一化、图像数据值的归一化以及几何变化方式对获取到的训练输入数据集中图像数据进行预处理,达到了提高模型的精确度和鲁棒性。
3、构建昆虫分类神经网络模型;
3.1、主干特征提取网络;
主干特征提取网络是在现有MobileNet网络基础上进行的改进,改进方法如下:只使用MobileNet网络的特征提取模块结构并进行改进,分类模块不使用,主干特征提取部分由普通卷积块、深度可分离卷积块(Deepthwise separable convolution组成);
将步骤2得到的昆虫图像数据集,输入到修改的主干特征提取网络MobileNet的普通卷积块中进行相关的卷积操作,卷积块所进行的具体操作如下:
输入昆虫图像数据集Inputs->零填充ZeroPadding2D->3*3卷积Conv2D->批标准化BatchNormalization->激活函数层Actication,激活函数依旧使用relu6,如此即可完成卷积块操作,得到昆虫的特征图;
随后将完成卷积块操作得到的昆虫图像特征图,输入到多个深度可分离卷积块进行卷积操作;深度可分离卷积结构由deepth wise卷积(深度卷积)和point wise卷积(逐点卷积)组成;deepth wise卷积对昆虫的特征图的每个通道独立进行卷积运算,卷积后的特征图的通道数和卷积前的通道数一致,这里使用3*3尺寸的的深度卷积核进行卷积;逐点卷积是为了弥补深度卷积没有有效利用图片不同通道在相同位置上的特征信息,使用deepthwise卷积来将point wise卷积组合生成新的特征图,从而融合通道之间的信息,这里统一使用1*1尺寸的逐点卷积核进行卷积;
昆虫的特征图输入到一个完整的深度可分离卷积块,首先是3*3尺寸的深度卷积层DepthwiseConv2D、批标准化层BatchNormalization、激活函数层Activation:激活函数使用relu6、1*1的逐点卷积层BatchNormalization、批标准化层BatchNormalization、激活函数层Activation:激活函数使用Relu6(参见说明书附图1);
相比于常规的卷积操作方式,深度可分离卷积操作能够大量减少模型的参数、加深神经网络的层数、减少计算成本,从而加快模型的训练速度。
昆虫图像数据集中的每一张图像,经过步骤2图像预处理后得到416*416尺寸的昆虫图像输入到改进的主干特征提取网络,基于改进的主干特征提取网络结构由1个普通卷积块和13个深度可分离卷积块组成;昆虫图像数据集首先输入到普通卷积块中,经过普通卷积块卷积操作得到昆虫的特征图,依次输入到13个深度可分离卷积块中,该过程中会提取输出多个不同尺寸的昆虫图像特征图F1、F2、F3、F4、F5,用于昆虫图像的特征融合提取;详细过程如下:416*416昆虫图像首先输入到卷积核尺寸为3×3×3,数量为32的普通卷积块进行卷积操作,输出为208×208×32尺寸的昆虫图像特征图,并作为第1个深度可分离卷积块的输入;第1个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为32的卷积核,point wise卷积使用尺寸为1×1×32,数量为64的卷积核,第1个深度可分离卷积块的输出为208×208×64的昆虫图像特征图,作为主干特征提取网络的第1个昆虫图像特征图F1进行提取输出,并继续输入到第2个深度可分离卷积块中进行卷积操作;第2个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为64的卷积核,point wise卷积使用尺寸为1×1×64,数量为128的卷积核,输出为104×104×128的昆虫图像特征图,并作为第3个深度可分离卷积块的输入;第3个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为128的卷积核,point wise卷积使用尺寸为1×1×128,数量为128的卷积核,输出为104×104×128尺寸的昆虫图像特征图,作为主干特征提取网络第2个昆虫图像特征图F2进行提取输出,并输入到第4个深度可分离卷积块中进行卷积操作;第4个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为128的卷积核,point wise卷积使用尺寸为1×1×128,数量为256的卷积核,输出为52×52×256尺寸的昆虫图像特征图,并作为第5个深度可分离卷积块的输入;第5个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为256的卷积核,point wise卷积使用尺寸为1×1×256,数量为256的卷积核,输出为52×52×256尺寸的昆虫图像特征图,作为主干特征提取网络第3个昆虫图像特征图F3进行提取输出,并输入到第6个深度可分离卷积块中进行卷积操作;第6个深度可分离卷积块的deepthwise卷积使用3×3尺寸、数量为256的卷积核,point wise卷积使用尺寸为1×1×256,数量为512的卷积核,输出为26×26×256尺寸的昆虫图像特征图,并作为第7个深度可分离卷积块的输入;第7个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为512的卷积核,point wise卷积使用尺寸为1×1×512,数量为512的卷积核,输出为26×26×512尺寸的昆虫图像特征图,然后依次进行第8、9、10、11个深度可分离卷积块,这些卷积块使用的deepth wise卷积和point wise卷积的尺寸和数量和第7个深度可分离卷积块一致,最终输出26×26×512尺寸的昆虫图像特征图,作为主干特征提取网络第4个昆虫图像特征图F4进行提取输出,并输入到第12个深度可分离卷积块中进行卷积操作;第12个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为512的卷积核,point wise卷积使用尺寸为1×1×512,数量为1024的卷积核,输出为13×13×1024尺寸的昆虫图像特征图,并作为第13个深度可分离卷积块的输入;第13个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为1024的卷积核,point wise卷积使用尺寸为1×1×1024,数量为1024的卷积核,最终输出13×13×1024尺寸的昆虫图像特征图,作为主干特征提取网络第5个昆虫图像特征图F5进行提取输出,至此主干特征提取网络提取完成。(参见说明书表1);
表1主干特征提取网络
表1,表中:DW指代:deepth wise卷积、PW指代: point wise卷积,Conv_block指代:普通卷积块、Deepthwise_conv_block指代:深度可分离卷积块
基于改进的主干特征提取MobileNet网络只使用传统的MobileNet特征提取模块结构并进行改进,并没有使用分类模块,神经网络模型的输入由原来的224×224的图像输入改为了416*416尺寸输入,增加了图像分辨率,有利于神经网络模型对于昆虫目标的纹理和上下文的特征提取,提高模型学习昆虫目标特征效率;主干特征提取模块网络结构的改变,使得其更加符合昆虫这类小目标类型的特征提取,提高模型的昆虫目标提取的精确度;
3.2、将步骤3.1中得到昆虫图像特征图进行特征解码;
对步骤3.1中得到昆虫图像特征图F1、F2、F3、F4、F5进行解码;主干特征网络提取图像特征的过程中昆虫图像的长和宽不断的被压缩,通道数变大;昆虫图像特征解码过程就是对提取到的昆虫图像特征图进行长和宽的不断放大,放大到和原昆虫图像一样的尺寸,再使用Softmax函数对每个像素点进行昆虫目标分类,实现昆虫图像昆虫目标分割和分类的效果;图像特征解码方式是使用上采样UpSampling2D方法,为了更好解码特征,利用不同特征层的特征位置关系,这里使用特征融合方法Concatenate方法;具体过程是:将获取有效特征特征层F5经过Zeropadding2D、3*3*512的Conv2D,再经过2倍的上采样Upsampling之后的结果与有效特征层F4进行融合Concatenate,有效特征层F4、F3、F2、F1和有效特征层F5操作类似,和F1经过融合之后,经过Zeropadding、Conv2D、BatchNormalization、3×3×N_classes的Conv2D,N_classes:需要识别的昆虫的类别数,最后使用Softmax函数将每一个像素点分别划分到每一个类别中去;如此即可得到完整的昆虫分类神经网络模型(参见图2);
输入昆虫图像训练该模型,得到了图像中每一个像素点的所归属的类别值,背景的像素点值为0、不同昆虫所对应的设置不同像素值,即使用不同颜色进行标记,对不同类别的昆虫使用不同的颜色值进行标记最终实现对不同的种类昆虫标记为不同的颜色,同一种类虫子区域被标记为同一颜色,同一种类区域像素点的值为一致;针对于对于不同的种类虫子的标记,使用OpenCV中的轮廓检测findContours函数,找到每一个昆虫的轮廓区域中的轮廓point1:x1,y1、point2:x2,y2、point3:x3,y3…,通过平均值计算公式单个昆虫所有轮廓点point1、point2、point3的平均中心点的位置的,参考公式1和2:
通过公式1和2可得单个昆虫平均中心点的位置的,其中n代表通过轮廓检测函数findContours计算得到组成单个昆虫的区域的轮廓点总的个数, i代表当前昆虫的第几个轮廓点,对所有轮廓点的横纵坐标各次求和取平均得到该昆虫中心点的坐标;随后再通过图像中该点位置的像素值和标记时的颜色的像素值进行比较,若相等,则将该区域的虫子标记为Insect1、Insect2、…,至此,分类标记完成;
图像中除了虫子目标区域,昆虫的背景区域都转换为了黑色,相当于将昆虫目标从原始图像中作为单独的个体分割出来,简称为昆虫分割图像,这样在图像在第4步中进行转换灰度图像,做二值化处理的时候相对于传统方式直接将图像灰度二值化而言,将图像中的噪声完美的去除掉,也不用使用高斯滤波、中值滤波、均值滤波等去除图像噪声操作,加快图像处理的速度;
4、将步骤3得到的昆虫分类神经网络模型输出进行数据处理使其达到具备昆虫计数的功能;
4.1、将步骤3中已经对昆虫图像,实现了不同的昆虫分类的效果,并且找到了昆虫的目标区域,即将昆虫目标区域从原始图像中分割出来,这里称为昆虫分割图像,然后通过昆虫的连通包围区域的个数就可以知道该昆虫的个数,实现昆虫计数的效果;针对于不同类型的昆虫计数,不同的昆虫用不同的颜色标记,其对应区域的像素值不一样,设置字典进行编码映射,当对某一品种的昆虫进行计数时,只保留该品种昆虫目标的像素值,其它昆虫区域像素值RGB设置为255,255,255,全黑;
再通过以下步骤分别对不同昆虫进行计数,完整昆虫计数的过程如下:
首先将神经网络分类的RGB昆虫图像转换为灰度图像,再对转换的灰度图像使用Threshold函数进行最大熵阈值二值化分割处理,然后再使用OpenCV中的轮廓检测findContours函数检测每个昆虫的轮廓,找到图像中昆虫的轮廓的数量。对于语义分割之后的目标昆虫边缘绘制时的噪声轮廓,利用contourArea计算目标物体轮廓面积contourArea,设置阈值50像素面积的噪声轮廓进行删除,这里一般轮廓较小,阈值可动态根据昆虫的边缘轮廓进行设置改变。找到图像中物体轮廓个数之后,就可以绘制在语义分割后的图像上,然后和原图像进行合并,最终达到昆虫的分类和计数的目的(参见说明书附图3):
5、将采集的图像输入所述的昆虫分类神经网络模型处理,并对昆虫分类神经网络模型的输出进行数据处理;识别出昆虫的类别和数量;其步骤如下:
5.1、在计算设备上部署昆虫分类神经网络模型所依赖的环境;
5.2、将步骤3所得完整的昆虫分类神经网络模型移植到计算设备中,将采集的图像通过硬件接口传入计算设备;
工作时可通过在待检测的区域设置昆虫诱捕器,然后在昆虫诱捕器上安装高清工业摄像机获取采集图像。
5.3、将步骤5.2传入的采集的图像经过昆虫分类神经网络模型检测后,对昆虫分类神经网络模型输出的采用步骤4的方式进行处理,如此即可得到昆虫的分类及数量结果。
为了验证本申请的准确性,本申请经过了如下实验(具体实施例子):
实验以果树中的柑橘大实蝇、桔小实蝇、瓜实蝇、泽兰实蝇等品种,实验先后在湖北荆州、海南海口、云南昆明等地域进行昆虫数据获取,数据由专业人员在昆虫诱捕器上安装高清工业摄像机获取集虫装置上的昆虫图像,(数据集图片参见说明书附图4)。
随后具体过程如下:
1、获取数据;
数据由专业人员在昆虫诱捕器上安装高清工业摄像机获取集虫装置上的昆虫图像,再将图像传送到计算机上进行存储,然后再使Labelme,对获取到的图像数据进行数据标签标注,对图像上每一个虫子目标区域进行分类标记Insect1、Insect2、…,将标记完的标签数据作为神经网络的训练输入数据集;
2、图像预处理;
将步骤1取得的神经网络的训练输入数据集,依次进行尺寸的同一化、图像数据值的归一化以及平移、转置、镜像、旋转、缩放的常规几何变化方式对图像数据进行数据增强,扩充得到昆虫图像数据集;
训练输入数据集的图像质量的好坏直接影响算法模型最终预测效果的精度,本申请步骤2中采用尺寸的同一化、图像数据值的归一化以及几何变化方式对获取到的训练输入数据集中图像数据进行预处理,达到了提高模型的精确度和鲁棒性。
3、构建昆虫分类神经网络模型;
3.1、主干特征提取网络;
主干特征提取网络是在现有MobileNet网络基础上进行的改进,改进方法如下:只使用MobileNet网络的特征提取模块结构并进行改进,分类模块不使用,主干特征提取部分由普通卷积块、深度可分离卷积块:Deepthwise separable convolution组成;
所述的普通卷积块,将步骤2得到的昆虫图像数据集,输入到主干特征提取网络MobileNet的一个卷积块步骤如下:
输入昆虫图像数据集Inputs->零填充ZeroPadding2D->3*3卷积Conv2D->批标准化BatchNormalization->激活函数层Actication,激活函数依旧使用relu6,如此即可完成卷积块操作,得到昆虫的特征图;
随后将完成卷积块操作的昆虫的特征图,输入到多个深度可分离卷积块进行卷积操作;深度可分离卷积结构由deepth wise卷积(深度卷积)和point wise卷积(逐点卷积)组成;deepth wise卷积对昆虫的特征图的每个通道独立进行卷积运算,卷积后的特征图的通道数和卷积前的通道数一致,这里使用3*3尺寸的的深度卷积核进行卷积;逐点卷积是为了弥补深度卷积没有有效利用图片不同通道在相同位置上的特征信息,使用deepth wise卷积来将point wise卷积组合生成新的特征图,从而融合通道之间的信息,这里统一使用1*1尺寸的逐点卷积核进行卷积;
昆虫的特征图输入到一个完整的深度可分离卷积块,首先是3*3尺寸的深度卷积层DepthwiseConv2D、批标准化层BatchNormalization、激活函数层Activation:激活函数使用relu6、1*1的逐点卷积层BatchNormalization、批标准化层BatchNormalization、激活函数层Activation:激活函数使用Relu6(参见说明书附图1);
相比于常规的卷积操作方式,深度可分离卷积操作能够大量减少模型的参数、加深神经网络的层数、减少计算成本,从而加快模型的训练速度(优点)。
昆虫图像数据集中的每一张图像,经过步骤2图像预处理后得到416*416尺寸的昆虫图像输入到改进的主干特征提取网络,基于改进的主干特征提取网络结构由1个普通卷积块和13个深度可分离卷积块组成;昆虫图像数据集首先输入到普通卷积块中,经过普通卷积块卷积操作得到昆虫的特征图,依次输入到13个深度可分离卷积块中,该过程中会提取输出多个不同尺寸的昆虫图像特征图F1、F2、F3、F4、F5,用于昆虫图像的特征融合提取;详细过程如下:416*416昆虫图像首先输入到卷积核尺寸为3×3×3,数量为32的普通卷积块进行卷积操作,输出为208×208×32尺寸的昆虫图像特征图,并作为第1个深度可分离卷积块的输入;第1个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为32的卷积核,point wise卷积使用尺寸为1×1×32,数量为64的卷积核,第1个深度可分离卷积块的输出为208×208×64的昆虫图像特征图,作为主干特征提取网络的第1个昆虫图像特征图F1进行提取输出,并继续输入到第2个深度可分离卷积块中进行卷积操作;第2个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为64的卷积核,point wise卷积使用尺寸为1×1×64,数量为128的卷积核,输出为104×104×128的昆虫图像特征图,并作为第3个深度可分离卷积块的输入;第3个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为128的卷积核,point wise卷积使用尺寸为1×1×128,数量为128的卷积核,输出为104×104×128尺寸的昆虫图像特征图,作为主干特征提取网络第2个昆虫图像特征图F2进行提取输出,并输入到第4个深度可分离卷积块中进行卷积操作;第4个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为128的卷积核,point wise卷积使用尺寸为1×1×128,数量为256的卷积核,输出为52×52×256尺寸的昆虫图像特征图,并作为第5个深度可分离卷积块的输入;第5个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为256的卷积核,point wise卷积使用尺寸为1×1×256,数量为256的卷积核,输出为52×52×256尺寸的昆虫图像特征图,作为主干特征提取网络第3个昆虫图像特征图F3进行提取输出,并输入到第6个深度可分离卷积块中进行卷积操作;第6个深度可分离卷积块的deepthwise卷积使用3×3尺寸、数量为256的卷积核,point wise卷积使用尺寸为1×1×256,数量为512的卷积核,输出为26×26×256尺寸的昆虫图像特征图,并作为第7个深度可分离卷积块的输入;第7个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为512的卷积核,point wise卷积使用尺寸为1×1×512,数量为512的卷积核,输出为26×26×512尺寸的昆虫图像特征图,然后依次进行第8、9、10、11个深度可分离卷积块,这些卷积块使用的deepth wise卷积和point wise卷积的尺寸和数量和第7个深度可分离卷积块一致,最终输出26×26×512尺寸的昆虫图像特征图,作为主干特征提取网络第4个昆虫图像特征图F4进行提取输出,并输入到第12个深度可分离卷积块中进行卷积操作;第12个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为512的卷积核,point wise卷积使用尺寸为1×1×512,数量为1024的卷积核,输出为13×13×1024尺寸的昆虫图像特征图,并作为第13个深度可分离卷积块的输入;第13个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为1024的卷积核,point wise卷积使用尺寸为1×1×1024,数量为1024的卷积核,最终输出13×13×1024尺寸的昆虫图像特征图,作为主干特征提取网络第5个昆虫图像特征图F5进行提取输出,至此主干特征提取网络提取完成。(参见说明书表1);
3.2、将步骤3.1中得到昆虫图像特征图进行特征解码;
对步骤3.1中得到昆虫图像特征图F1、F2、F3、F4、F5进行解码;主干特征网络提取图像特征的过程中昆虫图像的长和宽不断的被压缩,通道数变大;昆虫图像特征解码过程就是对提取到的昆虫图像特征图进行长和宽的不断放大,放大到和原昆虫图像一样的尺寸,再使用Softmax函数对每个像素点进行昆虫目标分类,实现昆虫图像昆虫目标分割和分类的效果;图像特征解码方式是使用上采样UpSampling2D方法,为了更好解码特征,利用不同特征层的特征位置关系,这里使用特征融合方法Concatenate方法;具体过程是:将获取有效特征特征层F5经过Zeropadding2D、3*3*512的Conv2D,再经过2倍的上采样Upsampling之后的结果与有效特征层F4进行融合Concatenate,有效特征层F4、F3、F2、F1和有效特征层F5操作类似,和F1经过融合之后,经过Zeropadding、Conv2D、BatchNormalization、3×3×N_classes的Conv2D,N_classes:需要识别的昆虫的类别数,最后使用Softmax函数将每一个像素点分别划分到每一个类别中去;如此即可得到完整的昆虫分类神经网络模型(参见图2);
输入昆虫图像训练该模型,得到了图像中每一个像素点的所归属的类别值,背景的像素点值为0、不同昆虫所对应的像素值依次标记为1、2、3…,然后设置不同像素值所使用颜色标记值,对不同类别的昆虫使用不同的颜色值进行标记最终实现对不同的种类昆虫标记为不同的颜色,同一种类虫子区域被标记为同一颜色,同一种类区域像素点的值为一致;针对于对于不同的种类虫子的标记,使用OpenCV中的轮廓检测findContours函数,找到每一个昆虫的轮廓区域中的轮廓point1:x1,y1、point2:x2,y2、point3:x3,y3…,通过平均值计算公式单个昆虫所有轮廓点point1、point2、point3的平均中心点的位置的,参考公式1和2:
通过公式1和2可得单个昆虫平均中心点的位置的,其中n代表通过轮廓检测函数findContours计算得到组成单个昆虫的区域的轮廓点总的个数, i代表当前昆虫的第几个轮廓点,对所有轮廓点的横纵坐标各次求和取平均得到该昆虫中心点的坐标;随后再通过图像中该点位置的像素值和标记时的颜色的像素值进行比较,若相等,则将该区域的虫子标记为Insect1、Insect2、…,至此,分类标记完成;(参见说明书附图5)。
图像中除了虫子目标区域,昆虫的背景区域都转换为了黑色,相当于将昆虫目标从原始图像中作为单独的个体分割出来,简称为昆虫分割图像,这样在图像在第4步中进行转换灰度图像,做二值化处理的时候相对于传统方式直接将图像灰度二值化而言,将图像中的噪声完美的去除掉,也不用使用高斯滤波、中值滤波、均值滤波等去除图像噪声操作,加快图像处理的速度;
4、将步骤3得到的昆虫分类神经网络模型输出进行数据处理使其达到具备昆虫计数的功能;
4.1、将步骤3中已经对昆虫图像,实现了不同的昆虫分类的效果,并且找到了昆虫的目标区域,即将昆虫目标区域从原始图像中分割出来,这里称为昆虫分割图像,然后通过昆虫的连通包围区域的个数就可以知道该昆虫的个数,实现昆虫计数的效果;针对于不同类型的昆虫计数,不同的昆虫用不同的颜色标记,其对应区域的像素值不一样,设置字典进行编码映射,当对某一品种的昆虫进行计数时,只保留该品种昆虫目标的像素值,其它昆虫区域像素值RGB设置为255,255,255,全黑;
再通过以下步骤分别对不同昆虫进行计数,完整昆虫计数的过程如下:
首先将神经网络分类的RGB昆虫图像转换为灰度图像,再对转换的灰度图像使用Threshold函数进行最大熵阈值二值化分割处理,然后再使用OpenCV中的轮廓检测findContours函数检测每个昆虫的轮廓,找到图像中昆虫的轮廓的数量。对于语义分割之后的目标昆虫边缘绘制时的噪声轮廓,利用contourArea计算目标物体轮廓面积contourArea,设置阈值50像素面积的噪声轮廓进行删除,这里一般轮廓较小,阈值可动态根据昆虫的边缘轮廓进行设置改变。找到图像中物体轮廓个数之后,就可以绘制在语义分割后的图像上,然后和原图像进行合并,最终达到昆虫的分类和计数的目的(参见说明书附图6)。
该基于卷积神经网络的昆虫分类及计数方法将深度学习和图像处理技术进行融合使用,使用深度学习技术训练语义分割模型对用诱虫板诱捕到的害虫进行虫子分类,并获取害虫区域特征,再结合使用图像处理中形态学处理实现害虫进行计数的方法,特别适合农业病虫害防治的使用。
Claims (5)
1.一种基于卷积神经网络的昆虫分类及计数方法,其特征在于:包括如下步骤:
1、获取数据;
数据由专业人员在昆虫诱捕器上安装高清工业摄像机获取集虫装置上的昆虫图像,再将图像传送到计算机上进行存储,然后再使Labelme,对获取到的图像数据进行数据标签标注,对图像上每一个虫子目标区域进行分类标记Insect1、Insect2、…,将标记完的标签数据作为神经网络的训练输入数据集;
2、图像预处理;
将步骤1取得的神经网络的训练输入数据集,依次进行尺寸的同一化、图像数据值的归一化以及平移、转置、镜像、旋转、缩放的常规几何变化方式对图像数据进行数据增强,扩充得到昆虫图像数据集;
3、构建昆虫分类神经网络模型;
3.1、主干特征提取网络;
主干特征提取网络是在现有MobileNet网络基础上进行的改进,改进方法如下:只使用MobileNet网络的特征提取模块结构并进行改进,分类模块不使用,主干特征提取部分由普通卷积块、深度可分离卷积块组成;
将步骤2得到的昆虫图像数据集,输入到修改的主干特征提取网络MobileNet的普通卷积块中进行相关的卷积操作,得到昆虫的特征图;
随后将完成卷积块操作得到的昆虫图像特征图,输入到多个深度可分离卷积块进行卷积操作;其具体操作如下:
昆虫的特征图输入到一个完整的深度可分离卷积块,首先是3*3尺寸的深度卷积层DepthwiseConv2D、批标准化层BatchNormalization、激活函数层Activation:激活函数使用relu6、1*1的逐点卷积层BatchNormalization、批标准化层BatchNormalization、激活函数层Activation:激活函数使用Relu6;
昆虫图像数据集中的每一张图像,经过步骤2图像预处理后得到416*416尺寸的昆虫图像输入到改进的主干特征提取网络,基于改进的主干特征提取网络结构由1个普通卷积块和13个深度可分离卷积块组成;昆虫图像数据集首先输入到普通卷积块中,经过普通卷积块卷积操作得到昆虫的特征图,依次输入到13个深度可分离卷积块中,该过程中会提取输出多个不同尺寸的昆虫图像特征图F1、F2、F3、F4、F5,用于昆虫图像的特征融合提取;详细过程如下:416*416昆虫图像首先输入到卷积核尺寸为3×3×3,数量为32的普通卷积块进行卷积操作,输出为208×208×32尺寸的昆虫图像特征图,并作为第1个深度可分离卷积块的输入;第1个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为32的卷积核,point wise卷积使用尺寸为1×1×32,数量为64的卷积核,第1个深度可分离卷积块的输出为208×208×64的昆虫图像特征图,作为主干特征提取网络的第1个昆虫图像特征图F1进行提取输出,并继续输入到第2个深度可分离卷积块中进行卷积操作;第2个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为64的卷积核,point wise卷积使用尺寸为1×1×64,数量为128的卷积核,输出为104×104×128的昆虫图像特征图,并作为第3个深度可分离卷积块的输入;第3个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为128的卷积核,point wise卷积使用尺寸为1×1×128,数量为128的卷积核,输出为104×104×128尺寸的昆虫图像特征图,作为主干特征提取网络第2个昆虫图像特征图F2进行提取输出,并输入到第4个深度可分离卷积块中进行卷积操作;第4个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为128的卷积核,point wise卷积使用尺寸为1×1×128,数量为256的卷积核,输出为52×52×256尺寸的昆虫图像特征图,并作为第5个深度可分离卷积块的输入;第5个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为256的卷积核,point wise卷积使用尺寸为1×1×256,数量为256的卷积核,输出为52×52×256尺寸的昆虫图像特征图,作为主干特征提取网络第3个昆虫图像特征图F3进行提取输出,并输入到第6个深度可分离卷积块中进行卷积操作;第6个深度可分离卷积块的deepthwise卷积使用3×3尺寸、数量为256的卷积核,point wise卷积使用尺寸为1×1×256,数量为512的卷积核,输出为26×26×256尺寸的昆虫图像特征图,并作为第7个深度可分离卷积块的输入;第7个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为512的卷积核,point wise卷积使用尺寸为1×1×512,数量为512的卷积核,输出为26×26×512尺寸的昆虫图像特征图,然后依次进行第8、9、10、11个深度可分离卷积块,这些卷积块使用的deepth wise卷积和point wise卷积的尺寸和数量和第7个深度可分离卷积块一致,最终输出26×26×512尺寸的昆虫图像特征图,作为主干特征提取网络第4个昆虫图像特征图F4进行提取输出,并输入到第12个深度可分离卷积块中进行卷积操作;第12个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为512的卷积核,point wise卷积使用尺寸为1×1×512,数量为1024的卷积核,输出为13×13×1024尺寸的昆虫图像特征图,并作为第13个深度可分离卷积块的输入;第13个深度可分离卷积块的deepth wise卷积使用3×3尺寸、数量为1024的卷积核,point wise卷积使用尺寸为1×1×1024,数量为1024的卷积核,最终输出13×13×1024尺寸的昆虫图像特征图,作为主干特征提取网络第5个昆虫图像特征图F5进行提取输出,至此主干特征提取网络提取完成;
3.2、将步骤3.1中得到昆虫图像特征图进行特征解码;
对步骤3.1中得到昆虫图像特征图F1、F2、F3、F4、F5进行解码;主干特征网络提取图像特征的过程中昆虫图像的长和宽不断的被压缩,通道数变大;昆虫图像特征解码过程就是对提取到的昆虫图像特征图进行长和宽的不断放大,放大到和原昆虫图像一样的尺寸,再使用Softmax函数对每个像素点进行昆虫目标分类,实现昆虫图像昆虫目标分割和分类的效果;图像特征解码方式是使用上采样UpSampling2D方法,为了更好解码特征,利用不同特征层的特征位置关系,这里使用特征融合方法Concatenate方法得到完整的昆虫分类神经网络模型;
输入昆虫图像训练该模型,得到了图像中每一个像素点的所归属的类别值,背景的像素点值为0、不同昆虫所对应的设置不同像素值,即使用不同颜色进行标记,对不同类别的昆虫使用不同的颜色值进行标记最终实现对不同的种类昆虫标记为不同的颜色,同一种类虫子区域被标记为同一颜色,同一种类区域像素点的值为一致;针对于不同的种类虫子的标记,使用OpenCV中的轮廓检测findContours函数,找到每一个昆虫的轮廓区域中的轮廓point1:x1,y1、point2:x2,y2、point3:x3,y3…,通过平均值计算公式单个昆虫所有轮廓点point1、point2、point3的平均中心点的位置的,参考公式1和2:
通过公式1和2可得单个昆虫平均中心点的位置的,其中n代表通过轮廓检测函数findContours计算得到组成单个昆虫的区域的轮廓点总的个数, i代表当前昆虫的第几个轮廓点,对所有轮廓点的横纵坐标各次求和取平均得到该昆虫中心点的坐标;随后再通过图像中该点位置的像素值和标记时的颜色的像素值进行比较,若相等,则将该区域的虫子标记为Insect1、Insect2、…,至此,分类标记完成;
图像中除了虫子目标区域,昆虫的背景区域都转换为了黑色,相当于将昆虫目标从原始图像中作为单独的个体分割出来,简称为昆虫分割图像,这样在图像在第4步中进行转换灰度图像,做二值化处理的时候相对于传统方式直接将图像灰度二值化而言,将图像中的噪声完美的去除掉,也不用使用高斯滤波、中值滤波、均值滤波去除图像噪声操作,加快图像处理的速度;
4、将步骤3得到的昆虫分类神经网络模型输出进行数据处理使其达到具备昆虫计数的功能;
将步骤3中已经对昆虫图像,实现了不同的昆虫分类的效果,并且找到了昆虫的目标区域,即将昆虫目标区域从原始图像中分割出来,这里称为昆虫分割图像;然后通过昆虫的连通包围区域的个数就可以知道该昆虫的个数,实现昆虫计数的效果;针对于不同类型的昆虫计数,不同的昆虫用不同的颜色标记,其对应区域的像素值不一样,设置字典进行编码映射,当对某一品种的昆虫进行计数时,只保留该品种昆虫目标的像素值,其它昆虫区域像素值RGB设置为255,255,255,全黑;
再通过以下步骤分别对不同昆虫进行计数,完整昆虫计数的过程如下:
首先将神经网络分类的RGB昆虫图像转换为灰度图像,再对转换的灰度图像使用Threshold函数进行最大熵阈值二值化分割处理,然后再使用OpenCV中的轮廓检测findContours函数检测每个昆虫的轮廓,找到图像中昆虫的轮廓的数量;对于语义分割之后的目标昆虫边缘绘制时的噪声轮廓,利用contourArea计算目标物体轮廓面积contourArea,设置阈值50像素面积的噪声轮廓进行删除,阈值可动态根据昆虫的边缘轮廓进行设置改变;找到图像中物体轮廓个数之后,就可以绘制在语义分割后的图像上,然后和原图像进行合并,最终达到昆虫的分类和计数的目的;
5、将采集的图像输入所述的昆虫分类神经网络模型处理,并对昆虫分类神经网络模型的输出进行数据处理;识别出昆虫的类别和数量;其步骤如下:
5.1、在计算设备上部署昆虫分类神经网络模型所依赖的环境;
5.2、将步骤3所得完整的昆虫分类神经网络模型移植到计算设备中,将采集的图像通过硬件接口传入计算设备;
5.3、将步骤5.2传入的采集的图像经过昆虫分类神经网络模型检测后,对昆虫分类神经网络模型输出的采用步骤4的方式进行处理,如此即可得到昆虫的分类及数量结果。
2.根据权利要求1所述的一种基于卷积神经网络的昆虫分类及计数方法,其特征在于:
所述的步骤3中将步骤2得到的昆虫图像数据集,输入到修改的主干特征提取网络MobileNet的普通卷积块中进行相关的卷积操作,得到昆虫的特征图的具体操作如下:
输入昆虫图像数据集Inputs->零填充ZeroPadding2D->3*3卷积Conv2D->批标准化BatchNormalization->激活函数层Actication,激活函数依旧使用relu6,如此即可完成卷积块操作,得到昆虫的特征图。
3.根据权利要求1所述的一种基于卷积神经网络的昆虫分类及计数方法,其特征在于:所述的深度可分离卷积结构由deepth wise卷积和point wise卷积组成;deepth wise卷积对昆虫的特征图的每个通道独立进行卷积运算,卷积后的特征图的通道数和卷积前的通道数一致,这里使用3*3尺寸的深度卷积核进行卷积;逐点卷积是为了弥补深度卷积没有有效利用图片不同通道在相同位置上的特征信息,使用deepth wise卷积来将point wise卷积组合生成新的特征图,从而融合通道之间的信息,这里统一使用1*1尺寸的逐点卷积核进行卷积。
4.根据权利要求1所述的一种基于卷积神经网络的昆虫分类及计数方法,其特征在于:
所述的步骤3中使用特征融合方法Concatenate方法得到完整的昆虫分类神经网络模型的具体过程是:
5.根据权利要求1所述的一种基于卷积神经网络的昆虫分类及计数方法,其特征在于:所述的昆虫诱捕器呈平面型结构,其表面设置有诱虫剂。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110657174.5A CN113283538B (zh) | 2021-06-11 | 2021-06-11 | 一种基于卷积神经网络的昆虫分类及计数方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110657174.5A CN113283538B (zh) | 2021-06-11 | 2021-06-11 | 一种基于卷积神经网络的昆虫分类及计数方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113283538A CN113283538A (zh) | 2021-08-20 |
CN113283538B true CN113283538B (zh) | 2022-07-22 |
Family
ID=77284444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110657174.5A Active CN113283538B (zh) | 2021-06-11 | 2021-06-11 | 一种基于卷积神经网络的昆虫分类及计数方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113283538B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114255348B (zh) * | 2021-09-27 | 2023-01-10 | 海南电网有限责任公司电力科学研究院 | 一种改进b_cnn的绝缘子老化和污损光谱分类方法 |
CN113989211B (zh) * | 2021-10-22 | 2024-04-02 | 广东海洋大学 | 一种虫卵计数方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684906A (zh) * | 2018-05-31 | 2019-04-26 | 北京林业大学 | 基于深度学习的检测红脂大小蠹的方法 |
CN109961403A (zh) * | 2017-12-22 | 2019-07-02 | 广东欧珀移动通信有限公司 | 照片的调整方法、装置、存储介质及电子设备 |
CN111476119A (zh) * | 2020-03-26 | 2020-07-31 | 长江大学 | 一种基于时空上下文的昆虫行为识别方法及装置 |
CN112395905A (zh) * | 2019-08-12 | 2021-02-23 | 北京林业大学 | 一种森林病虫害实时检测方法、系统及模型建立方法 |
-
2021
- 2021-06-11 CN CN202110657174.5A patent/CN113283538B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109961403A (zh) * | 2017-12-22 | 2019-07-02 | 广东欧珀移动通信有限公司 | 照片的调整方法、装置、存储介质及电子设备 |
CN109684906A (zh) * | 2018-05-31 | 2019-04-26 | 北京林业大学 | 基于深度学习的检测红脂大小蠹的方法 |
CN112395905A (zh) * | 2019-08-12 | 2021-02-23 | 北京林业大学 | 一种森林病虫害实时检测方法、系统及模型建立方法 |
CN111476119A (zh) * | 2020-03-26 | 2020-07-31 | 长江大学 | 一种基于时空上下文的昆虫行为识别方法及装置 |
Non-Patent Citations (2)
Title |
---|
Application of Spatio-Temporal Context and Convolution Neural Network(CNN) in Grooming Behavior of Bactrocera minax detection and Satistics;Zhiliang Zhang et al.;《Insects》;20200824;全文 * |
基于卷积神经网络的虫情图像分割和计数方法;王卫民 等;《计算机工程与科学》;20200131;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113283538A (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hamuda et al. | Automatic crop detection under field conditions using the HSV colour space and morphological operations | |
Bhimte et al. | Diseases detection of cotton leaf spot using image processing and SVM classifier | |
CN107016405B (zh) | 一种基于分级预测卷积神经网络的害虫图像分类方法 | |
Francis et al. | Identification of leaf diseases in pepper plants using soft computing techniques | |
CN113283538B (zh) | 一种基于卷积神经网络的昆虫分类及计数方法 | |
Lippi et al. | A yolo-based pest detection system for precision agriculture | |
CN110717903A (zh) | 一种利用计算机视觉技术进行农作物病害检测的方法 | |
CN108710840B (zh) | 一种农田喷药机器人视觉导航路径识别方法 | |
CN106951836A (zh) | 基于先验阈值优化卷积神经网络的作物覆盖度提取方法 | |
Jafari et al. | Weed detection in sugar beet fields using machine vision | |
CN113298023B (zh) | 一种基于深度学习及图像技术的昆虫动态行为识别方法 | |
CN112257702A (zh) | 一种基于增量学习的农作物病害识别方法 | |
CN114067207A (zh) | 一种基于深度学习和图像处理的蔬菜苗田杂草检测方法 | |
CN113139489B (zh) | 基于背景提取和多尺度融合网络的人群计数方法及系统 | |
Ji et al. | In-field automatic detection of maize tassels using computer vision | |
CN114022872A (zh) | 基于动态神经网络的多种类农作物叶病识别方法 | |
CN114140665A (zh) | 一种基于改进YOLOv5的密集小目标检测方法 | |
CN113095441A (zh) | 一种猪群扎堆检测方法、装置、设备及可读存储介质 | |
Hitimana et al. | Automatic estimation of live coffee leaf infection based on image processing techniques | |
CN115601670A (zh) | 基于人工智能和高分辨率遥感影像的松材线虫病监测方法 | |
CN112257730A (zh) | 植物害虫图像识别方法、装置、设备及存储介质 | |
CN106373135A (zh) | 一种基于颜色的害虫识别计数方法 | |
Yadav et al. | An automated image processing method for segmentation and quantification of rust disease in maize leaves | |
Chiu et al. | Semantic segmentation of lotus leaves in UAV aerial images via U-Net and deepLab-based networks | |
Deisy et al. | Image segmentation for feature extraction: A study on disease diagnosis in agricultural plants |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |