CN113850814A - 一种基于cnn模型的荔枝叶片病虫害识别方法 - Google Patents
一种基于cnn模型的荔枝叶片病虫害识别方法 Download PDFInfo
- Publication number
- CN113850814A CN113850814A CN202111129057.8A CN202111129057A CN113850814A CN 113850814 A CN113850814 A CN 113850814A CN 202111129057 A CN202111129057 A CN 202111129057A CN 113850814 A CN113850814 A CN 113850814A
- Authority
- CN
- China
- Prior art keywords
- cnn model
- litchi
- image
- processing
- identification method
- 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.)
- Pending
Links
- 241001629511 Litchi Species 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 title claims abstract description 43
- 241000607479 Yersinia pestis Species 0.000 title claims abstract description 39
- 201000010099 disease Diseases 0.000 title claims abstract description 32
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 title claims abstract description 32
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 50
- 238000007781 pre-processing Methods 0.000 claims abstract description 25
- 241000238631 Hexapoda Species 0.000 claims abstract description 14
- 238000012545 processing Methods 0.000 claims description 40
- 238000004422 calculation algorithm Methods 0.000 claims description 24
- 238000001914 filtration Methods 0.000 claims description 24
- 238000011176 pooling Methods 0.000 claims description 18
- 239000011159 matrix material Substances 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 claims description 4
- 238000003709 image segmentation Methods 0.000 claims description 4
- 238000009825 accumulation Methods 0.000 claims description 3
- 230000004913 activation Effects 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000013528 artificial neural network Methods 0.000 abstract description 5
- 238000004364 calculation method Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000003708 edge detection Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- 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
-
- 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
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- 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/90—Determination of colour characteristics
-
- 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/10004—Still image; Photographic 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/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/20024—Filtering details
- G06T2207/20032—Median filtering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于CNN模型的荔枝叶片病虫害识别方法,该方法包括:采集待识别的荔枝叶片图片;在ARM核系统中,将所述待识别的荔枝叶片图片进行预处理;将经预处理后的图像信息,输入预先构建的CNN模型;判断出所述荔枝叶片是否患病以及所患病虫害类型。该方法通过在ARM核系统中,将待识别的荔枝叶片图片进行处理,得到特征保存较为完整的图像信息,使得神经网络输入更加简单,所需的计算量变小;输入预先构建的CNN模型对图片进行识别和分类,可准确判断出叶片是否患病以及病虫害类型。
Description
技术领域
本发明涉及硬件加速和图像识别技术领域,具体涉及一种基于CNN模型的荔枝叶片病虫害识别方法。
背景技术
卷积神经网络(Convolutional Neural Networks,CNN)是一种重要的深度学习模型,广泛应用于计算机视觉、自然语言处理等领域。因其善于从海量数据中挖掘抽象的特征,且拥有高度的泛化性与出色的识别能力。但是在CNN检测准确度越来越高的同时,其深度、尺寸和相应的计算复杂度也在成倍增加。目前主流的神经网络模型的尺寸往往在几十到几百兆字节(Mbyte,即MB),需要存储几百万乃至上亿的参数,进行几亿乃至上百亿次的乘加运算。在此前提下,为了加快运算速度和降低功耗,需要设计专用处理器进行硬件加速,对网络模型的各个部分进行优化加速。
图像边缘是指其一定范围内像素灰度发生明显变化的像素的集合,是图像的最基本的特征之一。图像边缘检测在图像处理中占有很重要的地位,它是后续图像分析成败的关键。图像边缘检测的目的是提取图像中灰度突变部分的像素点的集合,该操作在图像处理过程中不可或缺.图像边缘检测的应用领域非常广泛:在农业领域,可以通过对遥感获得的作物冠层图像的叶片进行边缘检测,从而获得清晰完整的冠层叶片,方便后续数据处理。
目前针对荔枝叶片病虫害识别,还没有很好准确识别的方法。
发明内容
鉴于上述问题,本发明提供一种至少解决上述部分技术问题的基于CNN模型的荔枝叶片病虫害识别方法,该方法所需的计算量较小,识别率高。
本发明实施例提供一种基于CNN模型的荔枝叶片病虫害识别方法,包括:
S10、采集待识别的荔枝叶片图片;
S20、在ARM核系统中,将所述待识别的荔枝叶片图片进行预处理;
S30、将经预处理后的图像信息,输入预先构建的CNN模型;判断出所述荔枝叶片是否患病以及所患病虫害类型。
在一个实施例中,所述ARM核系统由Arm Cortex-M3处理器为核心进行设计;所述Arm Cortex-M3处理器引出三路总线,其中两路经过处理之后分别连接ROM和RAM,另一路总线通过相关处理调用Xilinx提供的IP核;
ARM内核使用了6路中断,分别对应串口中断、按键中断、定时器中断、VDMA-MM2S中断、VDMA-S2MM中断以及卷积神经网络中断。
在一个实施例中,将所述待识别的荔枝叶片图片进行预处理,包括:
利用YOLOv4算法进行叶片病虫害部位的检测与定位;
再采用五种图像预处理方法对图片进行简化处理;
最后利用图像分割算法将叶片单独分割出来。
在一个实施例中,五种图像预处理方法,包括中值滤波、三通道Sobel处理、单通道Sobel处理、自适应二值化以及灰度化滤波;
所述中值滤波用于滤除脉冲噪声并保护信号边缘;
所述单通道Sobel处理用于获取数字图像的一阶梯度,用于边缘检测;
所述三通道Sobel处理,利用三个Sobel算子处理模块分别处理红色、绿色与蓝色通道;
所述自适应二值化用于实现整个图像呈现出明显的黑白效果;
所述灰度化滤波采用RGB转YCbCr算法,取算法输出的Y亮度通道作为灰度数据。
在一个实施例中,所述灰度化滤波采用RGB转YCbCr算法,取算法输出的Y亮度通道作为灰度数据,算法的转化公式为:
其中,Y表示亮度分量;Cb表示蓝色色度分量;Cr表示红色色度分量;R表示红色通道数据;G表示绿色通道数据;B表示蓝色通道数据。
在一个实施例中,Sobel算子的运算公式为:
其中Gx表示图像在垂直方向上的偏导数;Gy表示图像在水平方向上的偏导数;A表示图像数据。
在一个实施例中,所述CNN模型共有28层,输入为260*260,主干网络有8层,具有五个定位和分类层,每个卷积层的通道数是32、64、128这三种;
图片处理的过程包括:
卷积层中pad是1,卷积核为3*3,步长为1,激活函数为relu;
再经过池化层进行池化,核为2*2,步长为2;
再进行批归一化处理;再经过定位和分类层处理,得到相应结果。
在一个实施例中,所述CNN模型的卷积核大小为3*3,卷积包括矩阵的点对点相乘与结果累加;卷积表示为:
其中,src为被卷积的图像数据,core为卷积核;在获取相乘结果后相加,通过相加器完成数据处理,实现卷积;
所述CNN模型的池化核采用步长为1x1,大小为3x3的最大池化;池化包括矩阵的点对点相乘与结果比较。
本发明实施例提供的上述技术方案的有益效果至少包括:
本发明实施例提供的一种基于CNN模型的荔枝叶片病虫害识别方法,该方法包括:采集待识别的荔枝叶片图片;在ARM核系统中,将所述待识别的荔枝叶片图片进行预处理;将经预处理后的图像信息,输入预先构建的CNN模型;判断出所述荔枝叶片是否患病以及所患病虫害类型。该方法通过在ARM核系统中,将待识别的荔枝叶片图片进行处理,得到特征保存较为完整的图像信息,使得神经网络输入更加简单,所需的计算量变小;输入预先构建的CNN模型对图片进行识别和分类,可准确判断出叶片是否患病以及病虫害类型。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例提供的基于CNN模型的荔枝叶片病虫害识别方法流程图;
图2为本发明实施例提供的Arm内核模块结构图;
图3为本发明实施例提供的图像预处理模块结构图;
图4为本发明实施例提供的3*3像素矩阵产生示意图;
图5为本发明实施例提供的CNN模型卷积神经网络结构图;
图6为本发明实施例提供的单精度浮点型数据示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1所示,本发明实施例提供的一种基于CNN模型的荔枝叶片病虫害识别方法,包括:
S10、采集待识别的荔枝叶片图片;
S20、在ARM核系统中,将所述待识别的荔枝叶片图片进行预处理;
S30、将经预处理后的图像信息,输入预先构建的CNN模型;判断出所述荔枝叶片是否患病以及所患病虫害类型。
该方法通过在ARM核系统中,将待识别的荔枝叶片图片进行处理,得到特征保存较为完整的图像信息,使得神经网络输入更加简单,所需的计算量变小;输入预先构建的CNN模型对图片进行识别和分类,可准确判断出叶片是否患病以及病虫害类型。
在一个实施例中,上述步骤S20中的ARM核由Arm Cortex-M3处理器为核心进行设计,Arm Cortex-M3处理器引出三路总线,其中两路经过处理之后分别连接ROM和RAM,另一路总线通过相关处理以方便调用Xilinx提供的IP核;Arm内核使用了6路中断,分别对应串口中断、按键中断、定时器中断、VDMA-MM2S中断、VDMA-S2MM中断以及卷积神经网络中断。
其中,上述两路经过处理之后分别连接ROM和RAM,是指利用AHB合路器把它们合并为1路信号,再通过AHB分路器模块进行分路,目的是方便地址空间读取以及实现代码的可实时烧录,最终方便系统代码的调试。
另一路总线通过相关处理以方便调用Xilinx提供的IP核,是指通过AHB互联桥将部分地址映射到RAM上,另一部分通过协议转换桥转化成AXI协议总线以方便调用Xilinx提供的IP核。
参照图2所示,Arm Cortex-M3处理器引出了三根总线分别是I-CODE BUS、D-CODEBUS以及SYSTEM BUS,对于I-CODE BUS、D-CODE BUS,因为它们访问的是代码存储空间,利用AHB multiplexer把它们合并为1路信号,通过一个AHB de-multiplexer模块进行分路,分路后分别使用AHB-Lite toAXI Bridge IP核转换成AXI协议总线,一路连接到ROM用于保存固化到电路中的代码,另一路连接到RAM,实现代码的可实时烧录从而方便调试,为了实现路径选择,引出一路boot_0信号。对于另一路信号SYSTEM BUS,把它的地址0x20000000(含)到0x400000000(不含)映射到RAM上,映射到0x40000000到0xFFFFFFFF地址所引出的总线利用AHB-Lite toAXI Bridge转换成AXI协议总线;Arm内核使用了6路中断,分别对应串口中断、按键中断、定时器中断、VDMA-MM2S中断、VDMA-S2MM中断以及卷积神经网络中断。
进一步地,上述ARM核外挂载浮点运算加速模块,该模块用于加速32位浮点数的加减乘除、对数与指数运算。
浮点运算加速模块使用FPGA硬件电路实现,各种运算分别映射到ARM核总线的不同地址上,当需要加速某个运算时,直接把参数写入对应运算所映射的输入寄存器,并通过读取对应运算的输出寄存器获取结果。
进一步地,步骤S20中,将待识别的荔枝叶片图片进行预处理,包括:
利用YOLOv4算法进行叶片病虫害部位的检测与定位;
再采用五种图像预处理方法对图片进行简化处理;使图像预处理更加多样化;
最后利用图像分割算法将叶片单独分割出来。
其中,参照图3所示,上述五种图像预处理方法,包括:中值滤波、三通道Sobel处理、单通道Sobel处理、自适应二值化以及灰度化滤波;
1)中值滤波对脉冲噪声有良好的滤除作用,特别是在滤除噪声的同时,能够保护信号的边缘,使之不被模糊,这些优良特性是线性滤波方法所不具有的。此外,中值滤波的算法比较简单,也易于用硬件实现。第一步需要对该3*3矩阵提取每一行的最大值,中间值和最小值组成一个新的矩阵;第二步需要对矩阵取最大值中的最小值,中间值里的中间值以及最小值中的最大值;第三步取1*3矩阵中的中间值作为中值滤波的输出结果。计算公式为:
其中,Mid_mid为中值滤波的输出结果。
2)单通道Sobel处理用于获取数字图像的一阶梯度,常用于边缘检测;Sobel算子是计算机视觉领域的一种重要处理方法,主要用于获得数字图像的一阶梯度,常见的应用和物理意义是边缘检测,它把图像中每个像素的上下左右四领域的灰度值加权差,在边缘处达到极值从而检测边缘,Sobel算子的运算公式为:
其中Gx表示图像在垂直方向上的偏导数;Gy表示图像在水平方向上的偏导数;A表示图像数据。
3)三通道Sobel处理与单通道类似,利用三个Sobel算子处理模块分别处理红色、绿色与蓝色通道;红色、绿色和蓝色通道的边界分别用红色、绿色和蓝色的点表示,三个通道使用一样的Sobel阈值。
4)图像二值化指将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程。二值图像每个像素只有两种取值:要么纯黑,要么纯白,一个像素点输出白色还是黑色取决于它是否大于阈值,计算公式如下所示:
其中,f表示输出;thr表示阈值。自适应二值化功能可以根据一帧图像中黑色与白色像素点的比例,动态地调整二值化阈值,调整方法如下所示:
其中,black、write分别表示一帧图像中黑色像素点与白色像素点的数量。在一帧结束后,下一帧的帧同步时期更新阈值,并把阈值用到新帧的二值化中。
5)YCrCb主要用于优化彩色视频信号的传输,其中“Y”表示明亮度,Cr反映了RGB输入信号红色部分与RGB信号亮度值之间的差异。而Cb反映的是RGB输入信号蓝色部分与RGB信号亮度值之间的差异;灰度化滤波采用RGB转YCbCr算法,取算法输出的Y亮度通道作为灰度数据。算法的转化公式为:
其中,Y表示亮度分量;Cb表示蓝色色度分量;Cr表示红色色度分量;R表示红色通道数据;G表示绿色通道数据;B表示蓝色通道数据。
3*3Sobel处理与中值滤波所需的像素矩阵数据采用缓存两行像素数据的方式,所述像素点数据由当前像素点、前两行各3个共9个像素点的数据组成。
另外,本发明实施例还自主设计了一个3*3像素矩阵数据的获取方式。参照图4所示,为了阐述原理,想象一条有两行,每行有1280个格子的传送带,每个格子存放一个像素点的数据,新到的数据从左上角送上传送带,第一行最右边的数据移出后来到第二行的最左边,最久的数据从右下角移出传送带。最后,传送带右下角被移出的数据、第一行最右边移出的数据以及最新的数据刚好相隔1280也就是一行,只要再用3*3的D触发器缓存起来,即可得到3*3的像素点数据。
在一个实施例中,参照图5所示,上述步骤S30中的CNN模型包括卷积层、池化层、全连接层以及SoftMax层;
卷积层用于对数据进行卷积操作;
池化层用于对卷积后的数据进行平均池化;
全连接层和SoftMax层用于对池化后的数据进行分类。
1.传入卷积网络的是RGB565整型数据,而神经网络中的权值等数据都是单精度浮点数,为了实现处理,需要把无符号整型数据转换成单精度浮点型。单精度浮点型数据表示方法如图6所示。Sign表示数的符号;Exponent表示指数,共有8bit;Fraction表示尾数,共有23bit,数的计算方法如下所示:
2.卷积核的大小为3*3,卷积包括矩阵的点对点相乘与结果累加。定义src为被卷积的图像数据,core为卷积核:
则卷积可表示为:
在获取相乘结果后需要相加,由于有9个浮点数,而一次只能两两相加,所以相加分为了4步,共使用了8个相加器,每一步的工作如下式所示:
1)B1=A1+A2B2=A3+A4B3=A5+A6B4=A7+A8
2)C1=B1+B2C2=B3+B4
3)D1=C1+C2
4)E1=D1+A9
其中,A表示3x3矩阵卷积后的结果,B、C、D均为中间结果,E是最终累加的结果。
3.采用了步长为1x1,大小为3x3的最大池化。池化与卷积类似,需要先产生3x3矩阵,产生后需要逐个比较大小。比较一共分为4步进行,共使用8个比较电路:
1)B1=max(A1,A2)B2=max(A3,A4)B3=max(A5,A6)B4=max(A7,A8)
2)C1=max(B1,B2)C2=max(B3,B4)
3)D1=max(C1,C2)
4)E1=max(D1,A9)
4.全连接层用于把每一个输入的信号对应项乘上权值后累加,其中一共有两套权值对应两种结果的得分,计算公式为:
其中,bias1和bias2分别表示识别类型1和类型2的偏置,weight1和weight2分别表示类型1和类型2的权重数组。
5.SoftMax是一个函数,可以根据全连接层结果得到每种类型的概率,计算公式为:
其中,P(A)和P(B)分别表示结果为A和结果为B的概率;e表示自然常数;s_A和s_B表示结果A和结果B的得分。为了实现上述运算,需要分为3步进行:
1)B1=exp(A1)B2=exp(A2)
2)C1=B1+B2
3)D1=B1/C1D2=B2/C1
SoftMax运算得到的结果直接传输到CPU做进一步的处理。
本实施例中,涉及ARM核的数据预处理加速器和CNN模型加速器设计,包括ARM核设计、数据预处理加速器和卷积神经网络加速器,其中,ARM核设计包括时钟与复位模块、内核模块、DDR3模块以及通用外设模块,用于完成硬件底层的设计;数据预处理加速器包括中值滤波、三通道Sobel处理、单通道Sobel处理、自适应二值化以及灰度化滤波等5种滤波方法的设计,用于提高数据的处理效率和处理速度;卷积神经网络加速器包括卷积层、池化层、全连接层以及SoftMax层,用于提升算法的计算效率,加快算法的运算速度。
在加速器上电时,ARM内核以写寄存器的方式通过SYSTEM BUS设置数据预处理加速器的参数,这些参数包括:SOBEL阈值、SOBEL极性、图像二值化阈值、图像处理方式。在初始化完毕后,写入使能指令启动预处理加速器。对于CNN模型加速器,在上电时自动从ROM中加载卷积层的权值和全连接层的权值,加载完毕后发送信号通知Arm内核已准备好,并等待数据的到来。在预处理模块接收到数据并处理后,通过场同步信号与行同步信号把预处理后的数据同步地发送到CNN模型加速器做进一步的处理。
本发明实施例提出一种基于CNN模型的荔枝叶片病虫害识别方法,包括:
(1)采集海量荔枝叶片病虫害图片;
(2)筛选出图片数据集中合格的荔枝叶片病虫害图片,并按照荔枝叶片病虫害的种类进行分类存放作为训练集;
(3)使用本发明中的图像预处理方法去处理各病虫害的训练集,得到特征保存较为完整的图像信息,使得神经网络输入更加简单,所需的计算量变小;
(4)使用本发明设计的CNN模型实现荔枝叶片病虫害识别模型的建立;
(5)采集待测病虫害的图片,利用图像预处理方法和荔枝叶片病虫害识别模型对图片进行识别和分类,判断出叶片是否患病以及病虫害类型。
作为一种可选的实施方式,步骤3)包括,利用YOLOv4算法进行叶片病虫害部位的检测与定位,再利用本发明提及的五种图像预处理方法对图片进行简化处理,最后利用图像分割算法将叶片单独分割出来,使得模型计算量减小。
作为一种可选的实施方式,步骤4)包括:
CNN模型共有28层,输入为260*260,主干网络只有8层,有五个定位和分类层,每个卷积层的通道数是32、64、128这三种。卷积层中pad是1,卷积核为3*3,步长为1,激活函数为relu;再经过池化层进行池化,核为2*2,步长为2,然后进行批归一化处理;再经过定位和分类层处理,得到相应结果。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种基于CNN模型的荔枝叶片病虫害识别方法,其特征在于,包括:
S10、采集待识别的荔枝叶片图片;
S20、在ARM核系统中,将所述待识别的荔枝叶片图片进行预处理;
S30、将经预处理后的图像信息,输入预先构建的CNN模型;判断出所述荔枝叶片是否患病以及所患病虫害类型。
2.根据权利要求1所述的一种基于CNN模型的荔枝叶片病虫害识别方法,其特征在于,所述ARM核系统由Arm Cortex-M3处理器为核心进行设计;所述Arm Cortex-M3处理器引出三路总线,其中两路经过处理之后分别连接ROM和RAM,另一路总线通过相关处理调用Xilinx提供的IP核;
ARM内核使用了6路中断,分别对应串口中断、按键中断、定时器中断、VDMA-MM2S中断、VDMA-S2MM中断以及卷积神经网络中断。
3.根据权利要求2所述的一种基于CNN模型的荔枝叶片病虫害识别方法,其特征在于,将所述待识别的荔枝叶片图片进行预处理,包括:
利用YOLOv4算法进行叶片病虫害部位的检测与定位;
再采用五种图像预处理方法对图片进行简化处理;
最后利用图像分割算法将叶片单独分割出来。
4.根据权利要求3所述的一种基于CNN模型的荔枝叶片病虫害识别方法,其特征在于,五种图像预处理方法,包括中值滤波、三通道Sobel处理、单通道Sobel处理、自适应二值化以及灰度化滤波;
所述中值滤波用于滤除脉冲噪声并保护信号边缘;
所述单通道Sobel处理用于获取数字图像的一阶梯度,用于边缘检测;
所述三通道Sobel处理,利用三个Sobel算子处理模块分别处理红色、绿色与蓝色通道;
所述自适应二值化用于实现整个图像呈现出明显的黑白效果;
所述灰度化滤波采用RGB转YCbCr算法,取算法输出的Y亮度通道作为灰度数据。
7.根据权利要求1所述的一种基于CNN模型的荔枝叶片病虫害识别方法,其特征在于,所述CNN模型共有28层,输入为260*260,主干网络有8层,具有五个定位和分类层,每个卷积层的通道数是32、64、128这三种;
图片处理的过程包括:
卷积层中pad是1,卷积核为3*3,步长为1,激活函数为relu;
再经过池化层进行池化,核为2*2,步长为2;
再进行批归一化处理;再经过定位和分类层处理,得到相应结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111129057.8A CN113850814A (zh) | 2021-09-26 | 2021-09-26 | 一种基于cnn模型的荔枝叶片病虫害识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111129057.8A CN113850814A (zh) | 2021-09-26 | 2021-09-26 | 一种基于cnn模型的荔枝叶片病虫害识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113850814A true CN113850814A (zh) | 2021-12-28 |
Family
ID=78979717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111129057.8A Pending CN113850814A (zh) | 2021-09-26 | 2021-09-26 | 一种基于cnn模型的荔枝叶片病虫害识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113850814A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114972347A (zh) * | 2022-07-29 | 2022-08-30 | 中化现代农业有限公司 | 农作物病虫害检测方法、系统、设备及介质 |
-
2021
- 2021-09-26 CN CN202111129057.8A patent/CN113850814A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114972347A (zh) * | 2022-07-29 | 2022-08-30 | 中化现代农业有限公司 | 农作物病虫害检测方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111079764B (zh) | 一种基于深度学习的低照度车牌图像识别方法及装置 | |
CN112949704B (zh) | 一种基于图像分析的烟叶成熟度状态识别方法及装置 | |
CN112132166B (zh) | 一种数字细胞病理图像智能分析方法、系统及装置 | |
CN109753878B (zh) | 一种恶劣天气下的成像识别方法及系统 | |
CN109740721B (zh) | 麦穗计数方法及装置 | |
CN111027382B (zh) | 一种基于注意力机制的轻量级人脸检测的方法及模型 | |
CN111860439A (zh) | 一种无人机巡检图像缺陷检测方法、系统及设备 | |
CN110046574A (zh) | 基于深度学习的安全帽佩戴识别方法及设备 | |
CN113052006B (zh) | 一种基于卷积神经网络的图像目标检测方法,系统及可读存储介质 | |
CN113420794B (zh) | 一种基于深度学习的二值化Faster R-CNN柑橘病虫害识别方法 | |
CN112733744A (zh) | 一种基于边缘协同监督与多级约束的伪装物体检测模型 | |
CN110363103B (zh) | 虫害识别方法、装置、计算机设备及存储介质 | |
CN109977834B (zh) | 从深度图像中分割人手与交互物体的方法和装置 | |
Patki et al. | Cotton leaf disease detection & classification using multi SVM | |
CN112308087B (zh) | 基于动态视觉传感器的一体化成像识别方法 | |
CN111047618B (zh) | 基于多尺度的无参考屏幕内容图像质量评估方法 | |
Suh et al. | Investigation on combinations of colour indices and threshold techniques in vegetation segmentation for volunteer potato control in sugar beet | |
CN113781421A (zh) | 基于水下的目标识别方法、装置及系统 | |
CN114842240A (zh) | 融合ghost模块和注意力机制的MobileNetV2农作物叶片图像分类方法 | |
CN113850814A (zh) | 一种基于cnn模型的荔枝叶片病虫害识别方法 | |
CN111126296A (zh) | 水果定位方法及装置 | |
CN113129390A (zh) | 一种基于联合显著性的色盲图像重新着色方法及系统 | |
CN110647813A (zh) | 一种基于无人机航拍的人脸实时检测识别方法 | |
CN114612399A (zh) | 一种用于手机外观标记的图片识别系统及方法 | |
CN116744125B (zh) | 图像颜色数据处理方法、装置、设备及存储介质 |
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 |