CN112381764A - 一种农作物病虫害检测方法 - Google Patents
一种农作物病虫害检测方法 Download PDFInfo
- Publication number
- CN112381764A CN112381764A CN202011145549.1A CN202011145549A CN112381764A CN 112381764 A CN112381764 A CN 112381764A CN 202011145549 A CN202011145549 A CN 202011145549A CN 112381764 A CN112381764 A CN 112381764A
- Authority
- CN
- China
- Prior art keywords
- network
- feature
- dense
- layer
- pest
- 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.)
- Withdrawn
Links
- 241000607479 Yersinia pestis Species 0.000 title claims abstract description 97
- 201000010099 disease Diseases 0.000 title claims abstract description 55
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 title claims abstract description 55
- 238000001514 detection method Methods 0.000 title claims abstract description 33
- 241000238631 Hexapoda Species 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 claims abstract description 54
- 238000012549 training Methods 0.000 claims abstract description 32
- 238000007781 pre-processing Methods 0.000 claims abstract description 12
- 238000004458 analytical method Methods 0.000 claims abstract description 8
- 238000013138 pruning Methods 0.000 claims description 47
- 230000004927 fusion Effects 0.000 claims description 41
- 230000007704 transition Effects 0.000 claims description 26
- 238000013140 knowledge distillation Methods 0.000 claims description 17
- 238000005070 sampling Methods 0.000 claims description 12
- 238000011176 pooling Methods 0.000 claims description 11
- 238000011084 recovery Methods 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 5
- 230000005764 inhibitory process Effects 0.000 claims description 3
- 238000011160 research Methods 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000013519 translation Methods 0.000 claims description 3
- 238000005520 cutting process Methods 0.000 claims description 2
- 230000006855 networking Effects 0.000 claims description 2
- 238000003860 storage Methods 0.000 abstract description 4
- 230000002349 favourable effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 18
- 238000012545 processing Methods 0.000 description 14
- 238000007906 compression Methods 0.000 description 13
- 230000006835 compression Effects 0.000 description 12
- 238000007500 overflow downdraw method Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000001629 suppression Effects 0.000 description 5
- 230000006872 improvement Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012272 crop production Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000013401 experimental design Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000000126 substance Substances 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/0002—Inspection of images, e.g. flaw detection
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G06T5/73—
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
-
- 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/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20132—Image cropping
-
- 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/20172—Image enhancement details
- G06T2207/20192—Edge enhancement; Edge preservation
-
- 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/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- 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/30181—Earth observation
- G06T2207/30188—Vegetation; Agriculture
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)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种农作物病虫害检测方法,包括:采集农作物图像;对所述农作物图像进行预处理;将预处理后的图像输入预先训练得到的改进型YOLOv3网络中进行分析,判断农作物是否患有某种病症或出现虫害现象;利用改进型YOLOv3网络进行农作物病虫害检测,相比于现有的YOLOv3网络,检测精度和速度都有明显提升;且由于网络精简后撇除了大量的冗余计算,网络体积明显变小,非常有利于部署在存储资源和计算资源都非常有限的边缘设备上,提高了网络模型的实时性,降低时延和其对资源的需求。
Description
技术领域
本发明属于图像处理领域,具体涉及一种农作物病虫害检测方法。
背景技术
病虫害防治是作物生产管理中的一个重要任务,而防治的前提是及时检测到病虫害发生。传统的农作物检测病虫害方式通常为人工作业,但是随着当今农业的发展,农场化的种植方式越来越被普及,在耕地面积增长的情况下,再采用人工作业难免暴露出劳作时间长、成本高、效率低等缺陷。
基于机器学习的作物叶部病虫害自动检测是从叶片图像中检测病虫害发生和判断其发展趋势一种高效的检查方法。虽然现有的基于卷积神经网络的作物病虫害检测方法取得了较高的检测精度,但该方法的存储开销较大、且计算效率较低,检测速度较慢。
发明内容
为了解决上述技术问题,本发明实施例提供了一种农作物病虫害检测方法。本发明要解决的技术问题通过以下技术方案实现:
一种农作物病虫害检测方法,包括:
采集农作物图像;
对所述农作物图像进行预处理;
将预处理后的图像输入预先训练得到的改进型YOLOv3网络中进行分析,判断农作物是否患有某种病症或出现虫害现象;
其中,所述改进型YOLOv3网络是基于YOLOv3网络的主干网络中残差模块更换为密集连接模块,YOLOv3网络的横向连接的FPN网络替换为密集连接的FPN网络后,并经过层级和通道级剪枝,再结合知识蒸馏引导网络恢复后形成的;所述改进型YOLOv3网络是根据农作物病虫害叶片和害虫图像,以及所述样本农作物病虫害叶片和害虫图像对应的属性信息训练得到的。
在本发明的一个实施例中,所述对所述农作物图像进行预处理,包括:
对采集的农作物图像利用领域增强算法对进行锐化处理,突出叶片的边缘轮廓,便于目标识别;
对进行锐化处理的图像使用scikit-image库中的SLIC超像素分割算法,将所述农作物图像进行分割;
对分割后的农作物图像进行剪裁,剪裁为小尺寸图像。
在本发明的一个实施例中,所述改进型YOLOv3网络是根据农作物病虫害叶片和害虫图像,以及所述样本农作物病虫害叶片和害虫图像对应的属性信息训练得到的,包括:
从农业病虫害研究图库中获取农作物各生长阶段可能出现的病虫害图片以及健康植株的照片,构成样本集;
将样本库中的样本经过去噪、翻转、平移、裁剪等步骤进行数据预处理,并输入改进型YOLOv3网络中进行训练。
在本发明的一个实施例中,所述将预处理后的图像输入预先训练得到的改进型YOLOv3网络中进行分析,判断农作物是否患有某种病症或出现虫害现象;包括:
将预处理后的图像输入改进型YOLOv3网络的主干网络进行特征提取,得到多个尺度的病虫害叶片和害虫图像的特征图,并在这些特征图中的各个位置上选取不同大小、不同长宽比的候选病斑和害虫区域;
将提取的多个特征图输入密集连接的FPN网络进行自顶向下密集连接的融合方式进行特征融合,输出对应多个尺度的病虫害预测图;
将每个尺度的病虫害预测图输入分类网络,输出病斑和害虫的区域以及病斑和害虫的类别,得到初步分类结果;
将所述初步分类结果输入非极大值抑制模块进行去重操作,输出病斑和害虫的精准区域以及病斑和害虫的准确类别。
在本发明的一个实施例中,改进型YOLOv3网络是基于YOLOv3网络的主干网络中残差模块更换为密集连接模块,YOLOv3网络的横向连接的FPN网络替换为密集连接的FPN网络后,并经过层级和通道级剪枝,再结合知识蒸馏引导网络恢复后形成的,包括:
将YOLOv3网络主干网络中参差模块替换为密集连接模块,并增加过渡模块,得到Dense-YOLO-1网络;
将所述Dense-YOLO-1网络中的横向连接的FPN网络替换为密集连接的FPN网络,得到Dense-YOLO-2网络;
将所述Dense-YOLO-2网络中的密集连接模块进行层剪枝,得到Dense-YOLO-21网络;
将所述Dense-YOLO-21网络进行稀疏化训练,得到了BN层缩放系数稀疏分布的Dense-YOLO-22网络;
将所述Dense-YOLO-22网络进行通道剪枝,删除不重要的通道,得到Dense-YOLO-23网络;
将所述Dense-YOLO-23网络进行知识蒸馏,得到所述改进型YOLOv3网络。
在本发明的一个实施例中,所述Dense-YOLO-1网络的主干网络包括多个间隔串接的密集连接模块和过渡模块;所述密集连接模块的数量至少为三个;所述密集连接模块包括串行连接的卷积网络模块和密集连接单元组;所述卷积网络模块包括串行连接的卷积层、BN层、Leaky relu层;所述密集连接单元组包括m个密集连接单元;每个密集连接单元包括多个采用密集连接形式连接的所述卷积网络模块,并采用级联方式融合多个卷积网络模块输出的特征图;其中,m为大于等于4的自然数。
在本发明的一个实施例中,所述过渡模块为所述卷积网络模块。
在本发明的一个实施例中,所述过渡模块包括所述卷积网络模块和最大池化层;所述卷积网络模块的输入和所述最大池化层的输入共用,所述卷积网络模块输出的特征图和所述最大池化层输出的特征图采用级联方式融合。
在本发明的一个实施例中,所述密集连接的FPN网络包括多个不同尺度的预测层的特征图,所述多个不同尺度的预测层的特征图形成自顶向下的金字塔结构;每个所述预测层的特征图分别由其对应特征层的特征图的卷积结果,以及对应特征层之上的每一个特征层的特征图的上采样结果进行级联融合并进行卷积得到。
在本发明的一个实施例中,所述每个所述预测层的特征图分别由其对应特征层的特征图的卷积结果,以及对应特征层之上的每一个特征层的特征图的上采样结果进行级联融合并进行卷积得到;包括:
对每个所述预测层对应的特征层的特征图进行1倍的卷积,得到所述卷积结果;
对每个所述预测层对应的特征层之上由近及远的特征层的特征图分别进行2、4……2i倍的上采样,以使得到的所有预测层的特征图具有相同的尺寸,得到所述上采样结果;其中,i为自然数;
将所述卷积结果和所述上采样结果进行级联融合并进行卷积,得到所述预测层的特征图。
本发明实施例所提供的方案中,利用改进型YOLOv3网络进行农作物病虫害检测,相比于现有的YOLOv3网络,检测精度和速度都有明显提升;且由于网络精简后撇除了大量的冗余计算,网络体积明显变小,非常有利于部署在存储资源和计算资源都非常有限的边缘设备上,提高了网络模型的实时性,降低时延和其对资源的需求。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种农作物病虫害检测方法的流程示意图;
图2为对农作物图像进行预处理的流程示意图;
图3为基于改进型YOLOv3网络中进行农作物病虫害检测的流程示意图;
图4为现有技术中的YOLOv3网络的结构示意图;
图5图5为本发明实施例所提供的Dense-YOLO-1网络的结构示意图;
图6为本发明实施例所提供的过渡模块的结构示意图;
图7是本发明现有FPN网络的结构示意图;
图8是本发明实施例提供的一种密集连接的FPN网络的结构示意图;
图9为本发明实施例所提供的Dense-YOLO-2网络结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
请参见图1,图1为本发明实施例提供的一种农作物病虫害检测方法的流程示意图。如图1所示,本发明实施例所提供的一种农作物病虫害检测方法,可以包括如下步骤:
S1,采集农作物图像。
采集农作物图像可由搭载有摄像头的无人机来执行,可以通过控制无人机飞行的高度和位置采集多张不同区域的农作物图像。
S2,对所述农作物图像进行预处理。
请参见图2,图2为对农作物图像进行预处理的流程示意图。
示例性的,对所述农作物图像进行预处理,可以包括:
S21,对采集的农作物图像利用领域增强算法对进行锐化处理,突出叶片的边缘轮廓,便于目标识别;
S22,对进行锐化处理的图像使用scikit-image库中的SLIC超像素分割算法,将所述农作物图像进行分割;
S23,对分割后的农作物图像进行剪裁,剪裁为小尺寸图像。
通过该步骤,可以将无人机采集的任意尺寸的图像,经预处理后得到合适尺寸的目标病虫害图像。且经过锐化处理图像增强操作,可以增强图像中感兴趣的特征,扩展数据集的泛化能力。
S3,将预处理后的图像输入预先训练得到的改进型YOLOv3网络中进行分析,判断农作物是否患有某种病症或出现虫害现象。
请参见图3,图3为基于改进型YOLOv3网络中进行农作物病虫害检测的流程示意图。
示例性的,所述将预处理后的图像输入预先训练得到的改进型YOLOv3网络中进行分析,判断农作物是否患有某种病症或出现虫害现象;可以包括:
S31,将预处理后的图像输入改进型YOLOv3网络的主干网络进行特征提取,得到多个尺度的病虫害叶片和害虫图像的特征图,并在这些特征图中的各个位置上选取不同大小、不同长宽比的候选病斑和害虫区域;
S32,将提取的多个特征图输入密集连接的FPN网络进行自顶向下密集连接的融合方式进行特征融合,输出对应多个尺度的病虫害预测图;
S33,将每个尺度的病虫害预测图输入分类网络,输出病斑和害虫的区域以及病斑和害虫的类别,得到初步分类结果;
S34,将所述初步分类结果输入非极大值抑制模块进行去重操作,输出病斑和害虫的精准区域以及病斑和害虫的准确类别。
示例性的,所述改进型YOLOv3网络是根据农作物病虫害叶片和害虫图像,以及所述样本农作物病虫害叶片和害虫图像对应的属性信息训练得到的,可以包括:
从农业病虫害研究图库中获取农作物各生长阶段可能出现的病虫害图片以及健康植株的照片,构成样本集;
将样本库中的样本经过去噪、翻转、平移、裁剪等步骤进行数据预处理,并输入改进型YOLOv3网络中进行训练。
本发明实施例的改进型YOLOv3网络是基于YOLOv3网络的主干网络中残差模块更换为密集连接模块,YOLOv3网络的横向连接的FPN网络替换为密集连接的FPN网络后,并经过层级和通道级剪枝,再结合知识蒸馏引导网络恢复后形成的;所述改进型YOLOv3网络是根据农作物病虫害叶片和害虫图像,以及所述样本农作物病虫害叶片和害虫图像对应的属性信息训练得到的。改进型YOLOv3网络是基于YOLOv3网络的主干网络中残差模块更换为密集连接模块,YOLOv3网络的横向连接的FPN网络替换为密集连接的FPN网络后,并经过层级和通道级剪枝,再结合知识蒸馏引导网络恢复后形成的,包括:
(1)将YOLOv3网络主干网络中参差模块替换为密集连接模块,并增加过渡模块,得到Dense-YOLO-1网络;
(2)将所述Dense-YOLO-1网络中的横向连接的FPN网络替换为密集连接的FPN网络,得到Dense-YOLO-2网络;
(3)将所述Dense-YOLO-2网络中的密集连接模块进行层剪枝,得到Dense-YOLO-21网络;
(4)将所述Dense-YOLO-21网络进行稀疏化训练,得到了BN层缩放系数稀疏分布的Dense-YOLO-22网络;
(5)将所述Dense-YOLO-22网络进行通道剪枝,删除不重要的通道,得到Dense-YOLO-23网络;
(6)将所述Dense-YOLO-23网络进行知识蒸馏,得到所述改进型YOLOv3网络。
为了便于理解本发明实施例所提出的改进型YOLOv3网络的网络结构,首先,对现有技术中的YOLOv3网络的网络结构进行介绍,请参见图4,图4为现有技术中的YOLOv3网络的结构示意图。在图4中,虚线框内的部分为YOLOv3网络。其中点划线框内的部分为YOLOv3网络的主干(backbone)网络,即darknet-53网络;其余部分为FPN(FeaturePyramidNetworks,特征金字塔网络)网络,FPN网络又分为三个预测支路Y1~Y3,预测支路Y1~Y3的尺度分别与沿输入逆向的3个残差模块res4、res8、res8分别输出对应的特征图的尺度一一对应。各预测支路的预测结果分别以Y1、Y 2、Y3表示,Y1、Y 2、Y3的尺度依次增大。
YOLOv3网络的主干网络由CBL模块和多个resn模块串接构成。CBL模块为卷积网络模块,包括串行连接的conv层(Convolutional layer,卷积层,简称conv层)、BN(BatchNormalization,批量归一化)层和激活函数Leaky relu对应的Leaky relu层,CBL即表示conv+BN+Leaky relu。resn模块为残差模块,n代表自然数,有res1、res2,…,res8等等,resn模块包括串行连接的zero padding(零填充)层、CBL模块和残差单元组,残差单元组用Res unit*n表示,含义是包括n个残差单元Res unit,每个残差单元包括采用残差网络(Residual Network,简称为ResNets)连接形式连接的多个CBL模块,特征融合方式采用并行方式,即add方式。
FPN网络的各个预测支路中均包括卷积网络模块组,具体包括5个卷积网络模块,即图4中的CBL*5。另外,US(up sampling,上采样)模块为上采样模块;concat表示特征融合采用级联方式,concat为concatenate的简称。
YOLOv3网络中各个主要模块的具体构成请参见图4中虚线框下的示意图。
本发明实施例所提供的改进型YOLOv3网络相比于YOLOv3网络的主要改进思想在于三方面:
一是借鉴密集卷积网络DenseNet的连接方式,提出一种具体的密集连接模块,用来替换YOLOv3网络的主干网络中的残差模块(resn模块),称之为密集连接的YOLOv3网络(Dense-YOLO-1)。已知的是,ResNets在将特征传递到图层之前通过求和来组合特征,即采用并行方式进行特征融合。而密集连接方式为了确保信息以最大程度在网络中各层之间流动,将所有层(具有匹配的特征图大小)彼此直接连接。具体的,针对每个层,它之前层的所有特征图被用作它的输入,它本身的特征图被用作它所有后续层的输入,也就是特征融合采用级联方式(也称为串联方式)。因此,相比于YOLOv3网络使用残差模块,所述密集连接的YOLOv3网络通过改用密集连接模块,获得的特征图的信息量更多,在进行病虫害检测时,能够增强特征传播,提高检测精度。同时,因为它不需要重新学习冗余的特征图,可以大大减小参数数量,减少计算量,还可以减轻梯度消失问题。将YOLOv3网络的主干网络中的残差模块更换为密集连接模块,使得所述改进型YOLOv3网络的主干网络在进行特征提取时,利用密集连接模块,将特征融合方式从并行改为了串行,能够直接将早期的特征图作为后面每一层的输入,获得的特征图的信息量更多,强化了特征的传递,因此在进行农作物病虫害信息检测时,能够提高检测精度。并且,通过复用浅层网络的特征图参数能够减少参数的数量以及运算量。
二是在密集连接的YOLOv3网络的基础上,为了进一步提高检测精度,将横向连接的FPN网络替换为密集连接的FPN网络,得到密集融合的Dense-YOLO-2网络。主旨是特征融合结合横向方式与自顶向下密集连接方式,在这种方式中,自顶向下的方式变成了尺度较小的预测支路的特征图直接向每一个尺度较大的预测支路传递自身的特征。通过直接接收更浅层网络的特征,可以得到更加具体的特征,这样将有效地减少特征的损失,并且可以减少需要运算的参数量,加速预测过程。Dense-YOLO-2改变了融合方式,添加了自顶向下的密集连接特征融合方法的多尺度特征融合网络当中,多尺度的优势体现的更为明显,这可能是因为由于密集连接的特征融合方法当中,保留了比横向连接更多的高维度抽象语义信息,让模型对于物体的判别更加清晰。融合方式的改进对于网络精度的提升十分明显。
三是在密集融合的YOLOv3网络的基础上,为了提高检测的速度,对网络进行瘦身处理。由于密集连接的YOLOv3网络相对于原始网络体积有所增大,通过对密集连接的YOLOv3网络进行层剪枝和通道剪枝处理,可以使网络体积大大缩小,极大提高检测的速度;同时结合知识蒸馏处理,仍能够保持较高的检测精度。
下面针对上述第一方面的改进进行具体说明:
密集连接的YOLOv3网络的结构请参见图5,图5为本发明实施例所提供的Dense-YOLO-1网络的结构示意图;如图5所示,虚线框内的部分为Dense-YOLO-1网络。其中点划线框内的部分为Dense-YOLO-1网络的主干网络。
所述密集连接的YOLOv3网络的主干网络包括多个间隔串接的密集连接模块和过渡模块;密集连接模块表示为denm。
因为至少存在三条预测支路,因此,所述密集连接模块的数量至少为三个,以便将自身输出的特征图对应融合进各个预测支路。在图5中,作为示例,所述密集连接模块的数量为5个,相比于3个密集连接模块,5个密集连接模块所构成的改进型YOLOv3网络的精度更高。
所述密集连接模块包括串行连接的卷积网络模块(如前所述,表示为CBL模块)和密集连接单元组;其中,密集连接单元组表示为den unit*m,其含义是,所述密集连接单元组包括m个密集连接单元,m为大于等于4的自然数;
每个密集连接单元表示为den unit;其包括多个采用密集连接形式连接的所述卷积网络模块,并采用级联方式融合多个卷积网络模块输出的特征图;级联方式即concat,含义为张量拼接,该操作和残差模块中的add的操作是不一样的,concat会扩充张量的维度,而add只是直接相加不会导致张量维度的改变。因此,上述改进型YOLOv3网络的主干网络在进行特征提取时,利用密集连接模块,将特征融合方式从并行改为了串行,能够直接将早期的特征图作为后面每一层的输入,强化特征的传递,并通过复用浅层网络的特征图参数来减少参数的数量以及运算量。
对于一般的密集卷积网络DenseNet结构,会包含密集连接之间的过渡层,用来对密集连接的特征图进行调整。因此,在本发明实施例中,对于加入的密集连接模块之间也可以设置过渡模块。
可选的第一种实施方式中,所述过渡模块为所述卷积网络模块。也就是使用CBL模块作为过渡模块。那么,在搭建改进型YOLOv3网络的主干网络时,仅需要将残差模块更换为密集连接模块,再将密集连接模块和原有的CBL模块进行串联即可得到。这样,网络搭建过程会较为快速,所得到的网络结构较为简单。但这样的过渡模块仅使用卷积层进行过渡,即直接通过增加步长来对特征图进行降维,这样做只能照顾到局部区域特征,而不能结合整张图的信息,因此会使得特征图中的信息丢失较多。
可选的第二种实施方式中,所述过渡模块包括所述卷积网络模块和最大池化层;所述卷积网络模块的输入和所述最大池化层的输入共用,所述卷积网络模块输出的特征图和所述最大池化层输出的特征图采用级联方式融合。该种实施方式中过渡模块的结构请参见图6,图6为本发明实施例所提供的过渡模块的结构示意图。该种实施方式中,用tran模块表示该种过渡模块,MP层为最大池化层(Maxpool,缩写MP,含义为最大池化)。进一步的,MP层的步长可以选择为2。在该种实施方式中,引入的MP层可以以较大的感受野对特征图进行降维;使用的参数比较少,因此不会过多地增加计算量,可以减弱过拟合的可能,提高网络模型的泛化能力;并且结合原有的CBL模块,可以看做从不同的感受野对特征图进行降维,因此可以保留更多信息。
针对上述第二种实施方式,可选的,所述过渡模块包括的所述卷积网络模块的数量为两个或三个,且各个卷积网络模块之间采用串接方式。相比于使用一个卷积网络模块,采用串接的两个或三个卷积网络模块,能够增加模型的复杂度,充分提取特征。
可选的,所述密集连接的YOLOv3网络中针对密集连接模块的m取值可以为4,这样,相比原有YOLOv3网络中主干网络的多个残差模块含有的卷积层数量,所述改进型YOLOv3网络中,通过将密集连接模块中含有的密集连接单元数量设置为4,可以在不影响网络精度的情况下,针对本发明实施例的病虫害图像,减少主干网络中卷积层的数量。
可选的,所述密集连接的YOLOv3网络还可以针对FPN网络中每个预测支路的卷积网络模块组中的k的数值进行调整,将k从原有YOLOv3网络中的5减少为4或3,也就是将原有的CBL*5改为CBL*4或者CBL*3;这样也可以减少FPN网络中卷积层的数量,在不影响网络精度的情况下,针对本发明实施例的病虫害图像,整体实现网络层数精简,提升网络处理速度。
当然,优选的一种实施方式是上述两种减少卷积层数量的方案同时使用。
下面针对上述的第二方面的改进进行说明:
为了便于理解,先将现有FPN网络的结构进行介绍,FPN网络(Feature PyramidNetworks,特征金字塔网络)是一种自顶向下的特征融合方法,目的是利用CNN结构中,特征图随着特征提取,尺寸更小、维度更高的特点,创建一个形状类似金字塔的结构来融合不同维度的语义信息。FPN网络将深层网络中输出的高维的特征图反馈到浅层的网络,并且通过横向连接的方式,将不同层次不同强度的特征图相融合。
请参见图7,图7是本发明现有FPN网络的结构示意图,现有FPN网络是通过横向连接将上采样后的高维特征图和低维特征图融合,该融合方式在将深层和较浅层网络特征相加后,要通过卷积层提取特征图,这样的操作会破坏一些原始的特征信息,造成最终检测的精度下降。
为此,本发明实施例提出密集连接的FPN网络,采用密集连接的方式对经过主干网络提取的特征图进行特征融合。
密集融合的方式可以有多种,本发明实施例提出一种优选的密集融合方式。
请参见图8,图8是本发明实施例提供的一种密集连接的FPN网络的结构示意图。
所述密集连接的FPN网络包括多个不同尺度的预测层的特征图,所述多个不同尺度的预测层的特征图形成自顶向下的金字塔结构;每个所述预测层的特征图分别由其对应特征层的特征图的卷积结果,以及对应特征层之上的每一个特征层的特征图的上采样结果进行级联融合并进行卷积得到;每个所述预测层的特征图分别作为该预测层的预测结果输出,得到所述每个尺度的遥感图像预测结果。
具体的,密集连接的融合方式可以是:对每个所述预测层对应的特征层的特征图进行1倍的卷积,得到所述卷积结果;对每个所述预测层对应的特征层之上由近及远的特征层的特征图分别进行2、4……2i倍的上采样,以使得到的所有预测层的特征图具有相同的尺寸,得到所述上采样结果;其中,i为自然数;将所述卷积结果和所述上采样结果进行级联融合并进行卷积,得到所述预测层的特征图。
下面结合图8对密集连接的FPN网络的具体融合方式进行详细说明:
左边从图片中提取的特征层的特征图由下至上依次为F1、F2、F3、F4,其中,F4为包含最深层语义的特征层的特征图;右边的预测层的特征图由下至上依次为P1、P2、P3、P4。
P1与F1横向连接,将F1经过1×的卷积结果作为P1的预测结果;
P2与F2横向连接,并同时向上与F1连接,将F2经过1×的卷积结果,以及F1的2×上采样结果进行级联融合并进行卷积后输出P2的预测结果;
P3与F3横向连接,并同时向上与F1、F2分别连接,将F3经过1×的卷积结果、F2的2×上采样结果,以及F1的4×上采样结果进行级联融合并进行卷积后输出P3的预测结果;
P4与F4横向连接,并同时向上与F1、F2、F3分别连接,将F4经过1×的卷积结果、F3的2×上采样结果,F2的4×上采样结果,以及F1的8×上采样结果进行级联融合并进行卷积后输出P4的预测结果。
如果提取的特征层的特征图还有多个,则对应的预测层的特征图按照上述方法以此类推,输出每一预测层的预测结果。
需要说明的是,上述对横向连接的预测层的特征图进行卷积的过程也可以视为是一种上采样过程。也可以说是对特征层的特征图采取1倍、2倍、4倍、8倍等不同倍数的上采样。之所以采取不同倍数的上采样,目的是为了同一预测层对不同特征层采样得到的特征图具有相同的尺寸,以便于级联融合。
将所有上采样结果进行级联融合并进行卷积,得到所述预测层的特征图。每一预测层的特征图具有不同的尺度,每一预测层的特征图即为每个尺度的遥感图像预测结果。
请参见图9,图9为本发明实施例所提供的Dense-YOLO-2网络结构示意图。在上述加入密集连接模块之后的网络(Dense-YOLO-1网络)的基础上,对原有的FPN网络进行了改进,改变其网络连接形式以改变特征融合方式得到改进型FPN网络,可以理解的是,图7的主干网络中,沿输入逆向的3个密集连接模块各自输出一个特征图,这3个特征图的尺度依次增大,且分别和预测支路Y1~Y3对应。
在该种实施方式中,采用自顶向下、密集连接的方式将主干网络输出的3个不同尺度的特征图进行特征融合,具体的:
针对预测支路Yr,从所述3个特征图中,获取对应尺度的特征图并进行卷积处理,将卷积处理后的特征图,与预测支路Yr-1~Y1分别经上采样处理后的特征图进行级联融合;其中,预测支路Yr-j的上采样倍数为2j;r=2、3;j为小于r的自然数。
以r=3也就是预测支路Y3为例说明,其进行级联融合处理的特征图来源于三方面:第一方面,是从3个特征图中,获取对应尺度的特征图并进行卷积处理,也就是沿输入逆向的第三个密集连接模块输出的特征图经CBL模块后的特征图,该特征图也可以理解为经过1倍上采样,尺寸是52×52×255;第二方面来源于预测支路Y2(即Yr-1=Y2),即沿输入逆向的第二个密集连接模块输出的特征图(尺寸是26×26×255)经过预测支路Y2的CBL模块再经21=2倍上采样处理后的特征图(尺寸是52×52×255);第三方面来源于预测支路Y1(即Yr-2=Y1),即沿输入逆向的第一个密集连接模块输出的特征图(尺寸是13×13×255)经预测支路Y1的CBL模块后再经22=4倍上采样处理后的特征图(尺寸是52×52×255);那么,本领域技术人员可以理解的是,上述过程将主干网络输出的3个不同尺度的特征图经过不同倍数的上采样处理后,可以使得待级联融合的3个特征图的尺寸一致,均为52×52×255。这样,预测支路Y3可以在级联融合之后,继续进行卷积等处理,得到预测结果Y3,Y3尺寸为52×52×255。
关于预测支路Y2的特征融合过程,请参见预测支路Y3,在此不再赘述。而针对预测支路Y1,其获取沿输入逆向的第一个密集连接模块输出的特征图后自行进行后续的预测过程,并不接受其余预测支路的特征图与之融合。
原先的YOLOv3网路的特征融合方式中,使用的是先将深层和较浅层网络特征相加,再一起进行上采样的方法,这种方法在将特征相加后,要通过卷积层提取特征图,这样的操作会破坏一些原始的特征信息。而在本实施方式中,将特征融合方式变为了密集的融合方法,即深层特征直接进行不同倍数的上采样,以此来使得传递的所有特征图具有相同的尺寸。将这些特征图和浅层的特征图通过串联的方式融合起来,对融合的结果再次提取特征来消除里面的噪声,保留主要信息,然后进行预测,这样可以利用到更多的原始信息,在浅层网络中也有高维语义信息的参与。因此,这样可以发挥密集连接网络保留更多特征图原始语义特征的优势,只不过对于自顶向下的方法来讲,保留的原始语义是更加高维的语义信息,这样可以对于物体的分类有帮助。通过直接接收更浅层网络的特征,可以得到更加具体的特征,这样将有效地减少特征的损失,并且可以减少需要运算的参数量,加速预测过程。
以上,主要针对特征融合方式进行介绍,各预测支路在特征融合之后主要是利用一些卷积操作进行预测,关于如何获取各自的预测结果请参见相关的现有技术,在此不进行说明。
另一种可选的实施方式为,对加入密集连接模块,并改进过渡模块之后的网络采用上述FPN特征融合方式。具体网络结构请参见图6的网络结构和图4的过渡模块结构,在此不再赘述。
下面针对上述的第三方面的改进进行说明:
在上述密集融合的YOLOv3网络(Dense-YOLO-2网络)的基础上,再对网络进行层级和通道级剪枝,再结合知识蒸馏引导网络恢复,具体方法包括:
示例性的,将所述Dense-YOLO-2网络中的密集连接模块的密集连接单元的数量由m个剪枝为n个,得到所述Dense-YOLO-21网络;其中,m、n均为自然数,且n<m。
作为优选的方案,Dense-YOLO-1网络中的密集连接模块的密集连接单元层剪枝数量n=1/2m;比如,Dense-YOLO-1网络中密集连接单元有限为4个一组,经层剪枝为2个一组;可以简化网络结构,同时能够将网络的参数量和运算量减小接近一半。
需要说明的是,最初的实验设计,并不包含对网络层的剪枝过程,原计划直接进行通道剪枝。但是,根据通道剪枝的结果分析,发现有超过半数的密集连接层的权重都很接近于0,因此按照通道剪枝的规则,整层的通道都将被剪去。这就表明,在前面设计的4个密集连接单元一组的密集连接模块中,存在有冗余的单元,因此在通道剪枝前,可以进行层剪枝来大幅降低冗余,而后再做相对更细粒度的通道剪枝。这也说明,对密集连接的YOLOv3网络在通道剪枝前进行层剪枝是非常有必要的。
在进行层剪枝后,将所述Dense-YOLO-21网络进行稀疏化训练,得到了BN层缩放系数稀疏分布的Dense-YOLO-22网络。
示例性的,将Dense-YOLO-21网络进行稀疏化训练,为密集连接的YOLOv3-1网络的每个通道引入一个比例系数γ,使得每一个通道的输出大小可以由这个比例系数控制。为了让大部分比例系数γ都接近于0,需要在训练过程中,为γ添加稀疏正则化。稀疏训练的损失函数为:
其中,表示网络原始的损失函数,(x,y)表示训练过程的输入数据和目标数据,W表示可训练的权重,为比例系数添加的正则项,g(γ)是对比例系数进行稀疏训练的惩罚函数,λ为权重。由于要使得比例系数γ具有稀疏性,惩罚函数选择L1范数。同时,由于不知道后一项所占比重,引入λ参数进行调整。
由于λ的取值与稀疏训练的收敛速度相关,本发明实施例的应用场景病虫害类别识别,待识别的类别相对来说并不复杂,所以λ的取值可以选取较大的λ值,稀疏训练的收敛速度也不会很慢,同时也可以通过提高模型学习率的方法来进一步加快收敛;但是考虑到参数选取过大又会对网络模型的精度造成一定的损失,最后确定将学习率为0.25×,λ为1×的组合作为稀疏化训练的优选参数组合。
在稀疏训练之后,将所述Dense-YOLO-22网络进行通道剪枝,删除不重要的通道,得到Dense-YOLO-23网络。
在稀疏化训练之后,得到了一个BN层缩放系数稀疏分布的网络模型,这就便于确定哪些通道的重要性更小。由此,可以剪去这些不太重要的通道,剪枝的方法是删除传入和传出连接以及相应的权重。
对网络进行通道剪枝操作,修剪一个通道基本上对应于删除该通道的所有传入和传出连接,可以直接获得一个轻量化的网络,而不需要使用任何特殊的稀疏计算包。通道剪枝过程中,缩放因子充当频道选择的代理;由于它们与网络权重共同优化,因此网络可以自动识别无关紧要的通道,这些通道可以安全地移除而不会极大地影响泛化性能。
具体的,针对Dense-YOLO-22网络,在所有层的所有通道中设定一个通道剪枝比例,然后将密集连接的YOLOv3-2网络中所有的BN层缩放系数按照升序排列,按通道剪枝比例剪掉排在前面的BN层缩放系数对应的通道。通过通道剪枝,可以删去冗余的通道,减少计算量,加快目标检测的速度。
但是在通道剪枝后,可能会由于参数减少而带来一些精度的下降,从不同的剪枝比例对网络精度的影响进行分析,如果网络剪枝比例过大,网络体积压缩更多,但也会造成网络精度的剧烈下降,由此需要进行一个网络压缩比例与压缩后网络精度的权衡。
作为一种优选方式,对Dense-YOLO-22网络的通道剪枝比例为55%。通道剪枝之所以选择60%是因为:
对不同通道剪枝比例压缩后的模型的及精度进行仿真,得到AP和mAP图像。由于待检测图像中数量较少的种类在网络压缩过程中受到影响比较大,这就会直接影响mAP,因此,要从数据集和网络压缩比例方面来考虑。对数据集的处理,本发明的实施例选择合并数量较少的种类来使得不同种类的数量达到均衡,或者是直接采用种类分布更加均衡的数据集。另外就是控制压缩比例,保证数量较少的种类的预测精度不会下降太多。根据mAP仿真结果来看,50%-60%的压缩比例是精度变化的转折点,因此可以初步选择60%的压缩比例。
除了从精度来分析压缩的影响外,还要考虑目标检测时间和模型压缩比例的关系,通过对不同剪枝比例处理的网络模型不同平台上(在Tesla V100服务器和Jetson TX2边缘设备)的运行时间进行仿真,根据仿真结果可以发现,不同网络压缩比例对于网络推测的时间影响很微弱,而对于NMS(非极大值抑制)所需时间影响较大,在压缩比例达到60%之前,检测速度随着网络压缩而加快,但是压缩比例超过60%后,检测速度反而出现了减慢。由此,最终选定通道剪枝比例为60%。
在进行通道剪枝后,将所述Dense-YOLO-23网络进行知识蒸馏,得到所述改进型YOLOv3网络。
经过剪枝,获得了一个更为紧凑的Dense-YOLO-23网络,然后需要进行微调使得精度恢复。这里引入了知识蒸馏的策略。
具体的,对密集连接的YOLOv3-3网络引入知识蒸馏,将所述Dense-YOLO-1网络作为老师网络,所述Dense-YOLO-23网络作为学生网络,由老师网络引导学生网络进行精度恢复和调整,得到所述改进型YOLOv3网络。
作为一种优选的实施方式,将改进型YOLOv3网络经过FPN特征融合之后的输出结果除以温度系数,来使得教师网络最终输出的预测值软化,而后学生网络利用软化后的预测值作为标签来辅助训练Dense-YOLO-23网络,最终实现密Dense-YOLO-23网络的精度与和Dense-YOLO-1网络相当;其中,温度系数是预先设定的值,不随网络训练发生变化。
引入温度参数T的原因是,一个完成训练、精度很高的网络对于输入数据的分类结果,和真实的标签是基本一致的。以三分类为例,真实已知的训练类别标签是[1,0,0],预测结果可能会是[0.95,0.02,0.03],和真实的标签值是非常逼近的。因此,对于学生网络来讲,使用教师网络的分类结果辅助训练和直接利用数据进行训练,差别不大。温度参数T可以用来控制预测标签的软化程度,即可以增加教师网络分类结果的偏差。
将添加了知识蒸馏策略的微调过程和一般的微调过程进行对比,经过知识蒸馏调整恢复的网络精度比Dense-YOLO-1网络更高。
需要说明的是,改进型YOLOv3网络与图7所示的Dense-YOLO-21网络网络相比,从结构图上来看,区别仅在于主干网络的组成密集连接模块的密集连接单元经过层剪枝处理后,其数量少于图7中所示的den unit*m的数量,因此,对改进型YOLOv3网络的结构说明,以及结合改进型YOLOv3网络的病虫害检测方法的说明均以图7所示的Dense-YOLO-21网络网络为示例,不再另作图说明。
在本发明实施例中,所述改进型YOLOv3网络在改进的主干网络和改进的FPN网络之后还可以包括:分类网络和非极大值抑制模块。
可选的,所述分类网络包括SoftMax分类器,目的是实现多个病虫害类别互斥的分类。当然也可以沿用YOLOv3网络的logistic回归进行分类,以实现多个独立的二分类。
非极大值抑制模块用于进行NMS(non_max_suppression,非极大值抑制)处理。用于在重复框选同一目标的多个预测框中,排除置信度相对较小的预测框。
关于分类网络和非极大值抑制模块的内容,可以参见现有技术相关说明,在此不再赘述。
以下以具体的实验说明本发明实施例所提供的改进型YOLOv3网络针对病虫害检测方面的效果。
原始的YOLOv3网络结构是针对MSCOCO数据集当中的80种物体进行检测和定位的。在本发明实施例中,由于病虫害类别的数量远远小于YOLOv3网络的类别数,因此,完全可以降低网络的复杂度和体积同时保持原有的精度。
具体的,搭建如图7所示的网络结构,采用图6所示的tran模块作为过渡模块,同时对得到的网络结构进行层剪枝、稀疏化训练、通道剪枝和知识蒸馏处理,得到的网络命名为改进型YOLOv3网络。改进型YOLOv3网络使用密集连接模块替换原有的残差模块,同时减少了卷积层的数量,也改进了过渡模块的结构,此外还进行了网络结构简化处理。
按照本发明实施例的训练方法完成对改进型YOLOv3网络的训练,在训练完成后,对改进型YOLOv3网络进行精度、速度、体积等参数的测试,根据性能分析网络改进的效果。
通过测试,改进型YOLOv3网络用于农作物病虫害检测时,相比于现有的YOLOv3网络,检测精度和速度都有明显提升。且由于网络精简后撇除了大量的冗余计算,网络体积明显变小,非常有利于部署在存储资源和计算资源都非常有限的边缘设备上,提高了网络模型的实时性,降低时延和其对资源的需求。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种农作物病虫害检测方法,其特征在于,包括:
采集农作物图像;
对所述农作物图像进行预处理;
将预处理后的图像输入预先训练得到的改进型YOLOv3网络中进行分析,判断农作物是否患有某种病症或出现虫害现象;
其中,所述改进型YOLOv3网络是基于YOLOv3网络的主干网络中残差模块更换为密集连接模块,YOLOv3网络的横向连接的FPN网络替换为密集连接的FPN网络后,并经过层级和通道级剪枝,再结合知识蒸馏引导网络恢复后形成的;所述改进型YOLOv3网络是根据农作物病虫害叶片和害虫图像,以及所述样本农作物病虫害叶片和病虫害图像对应的属性信息训练得到的。
2.根据权利要求1所述的方法,其特征在于,所述对所述农作物图像进行预处理,包括:
对采集的农作物图像利用领域增强算法对进行锐化处理,突出叶片的边缘轮廓,便于目标识别;
对进行锐化处理的图像使用scikit-image库中的SLIC超像素分割算法,将所述农作物图像进行分割;
对分割后的农作物图像进行剪裁,剪裁为小尺寸图像。
3.根据权利要求1所述的方法,其特征在于,所述改进型YOLOv3网络是根据农作物病虫害叶片和害虫图像,以及所述样本农作物病虫害叶片和害虫图像对应的属性信息训练得到的,包括:
从农业病虫害研究图库中获取农作物各生长阶段可能出现的病虫害图片以及健康植株的照片,构成样本集;
将样本库中的样本经过去噪、翻转、平移、裁剪等步骤进行数据预处理,并输入改进型YOLOv3网络中进行训练。
4.根据权利要求1所述的方法,其特征在于,所述将预处理后的图像输入预先训练得到的改进型YOLOv3网络中进行分析,判断农作物是否患有某种病症或出现虫害现象;包括:
将预处理后的图像输入改进型YOLOv3网络的主干网络进行特征提取,得到多个尺度的病虫害叶片和害虫图像的特征图,并在这些特征图中的各个位置上选取不同大小、不同长宽比的候选病斑和害虫区域;
将提取的多个特征图输入密集连接的FPN网络进行自顶向下密集连接的融合方式进行特征融合,输出对应多个尺度的病虫害预测图;
将每个尺度的病虫害预测图输入分类网络,输出病斑和害虫的区域以及病斑和害虫的类别,得到初步分类结果;
将所述初步分类结果输入非极大值抑制模块进行去重操作,输出病斑和害虫的精准区域以及病斑和害虫的准确类别。
5.根据权利要求1所述的方法,其特征在于,改进型YOLOv3网络是基于YOLOv3网络的主干网络中残差模块更换为密集连接模块,YOLOv3网络的横向连接的FPN网络替换为密集连接的FPN网络后,并经过层级和通道级剪枝,再结合知识蒸馏引导网络恢复后形成的,包括:
将YOLOv3网络主干网络中参差模块替换为密集连接模块,并增加过渡模块,得到Dense-YOLO-1网络;
将所述Dense-YOLO-1网络中的横向连接的FPN网络替换为密集连接的FPN网络,得到Dense-YOLO-2网络;
将所述Dense-YOLO-2网络中的密集连接模块进行层剪枝,得到Dense-YOLO-21网络;
将所述Dense-YOLO-21网络进行稀疏化训练,得到了BN层缩放系数稀疏分布的Dense-YOLO-22网络;
将所述Dense-YOLO-22网络进行通道剪枝,删除不重要的通道,得到Dense-YOLO-23网络;
将所述Dense-YOLO-23网络进行知识蒸馏,得到所述改进型YOLOv3网络。
6.根据权利要求5所述的方法,其特征在于,所述Dense-YOLO-1网络的主干网络包括多个间隔串接的密集连接模块和过渡模块;所述密集连接模块的数量至少为三个;所述密集连接模块包括串行连接的卷积网络模块和密集连接单元组;所述卷积网络模块包括串行连接的卷积层、BN层、Leakyrelu层;所述密集连接单元组包括m个密集连接单元;每个密集连接单元包括多个采用密集连接形式连接的所述卷积网络模块,并采用级联方式融合多个卷积网络模块输出的特征图;其中,m为大于等于4的自然数。
7.根据权利要求6所述的方法,其特征在于,所述过渡模块为所述卷积网络模块。
8.根据权利要求6所述的方法,其特征在于,所述过渡模块包括所述卷积网络模块和最大池化层;所述卷积网络模块的输入和所述最大池化层的输入共用,所述卷积网络模块输出的特征图和所述最大池化层输出的特征图采用级联方式融合。
9.根据权利要求5所述的方法,其特征在于,所述密集连接的FPN网络包括多个不同尺度的预测层的特征图,所述多个不同尺度的预测层的特征图形成自顶向下的金字塔结构;每个所述预测层的特征图分别由其对应特征层的特征图的卷积结果,以及对应特征层之上的每一个特征层的特征图的上采样结果进行级联融合并进行卷积得到。
10.根据权利要求5所述的方法,其特征在于,所述每个所述预测层的特征图分别由其对应特征层的特征图的卷积结果,以及对应特征层之上的每一个特征层的特征图的上采样结果进行级联融合并进行卷积得到;包括:
对每个所述预测层对应的特征层的特征图进行1倍的卷积,得到所述卷积结果;
对每个所述预测层对应的特征层之上由近及远的特征层的特征图分别进行2、4……2i倍的上采样,以使得到的所有预测层的特征图具有相同的尺寸,得到所述上采样结果;其中,i为自然数;
将所述卷积结果和所述上采样结果进行级联融合并进行卷积,得到所述预测层的特征图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011145549.1A CN112381764A (zh) | 2020-10-23 | 2020-10-23 | 一种农作物病虫害检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011145549.1A CN112381764A (zh) | 2020-10-23 | 2020-10-23 | 一种农作物病虫害检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112381764A true CN112381764A (zh) | 2021-02-19 |
Family
ID=74580766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011145549.1A Withdrawn CN112381764A (zh) | 2020-10-23 | 2020-10-23 | 一种农作物病虫害检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112381764A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113177612A (zh) * | 2021-05-24 | 2021-07-27 | 同济大学 | 一种基于cnn少样本的农业病虫害图像识别方法 |
CN113361655A (zh) * | 2021-07-12 | 2021-09-07 | 武汉智目智能技术合伙企业(有限合伙) | 一种基于残差网络与特征差拟合的异纤分类方法 |
CN114219984A (zh) * | 2021-12-14 | 2022-03-22 | 华南农业大学 | 一种基于改进YOLOv3的微小病虫害检测系统及其方法 |
CN114332849A (zh) * | 2022-03-16 | 2022-04-12 | 科大天工智能装备技术(天津)有限公司 | 一种农作物生长状态联合监测方法、装置及存储介质 |
CN114972347A (zh) * | 2022-07-29 | 2022-08-30 | 中化现代农业有限公司 | 农作物病虫害检测方法、系统、设备及介质 |
CN115578624A (zh) * | 2022-10-28 | 2023-01-06 | 北京市农林科学院 | 农业病虫害模型构建方法、检测方法及装置 |
CN116012718A (zh) * | 2023-02-15 | 2023-04-25 | 黑龙江科技大学 | 田间害虫检测方法、系统、电子设备及计算机存储介质 |
CN116630815A (zh) * | 2023-07-25 | 2023-08-22 | 济南玖通志恒信息技术有限公司 | 一种智慧农业病虫害检测方法 |
-
2020
- 2020-10-23 CN CN202011145549.1A patent/CN112381764A/zh not_active Withdrawn
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113177612A (zh) * | 2021-05-24 | 2021-07-27 | 同济大学 | 一种基于cnn少样本的农业病虫害图像识别方法 |
CN113177612B (zh) * | 2021-05-24 | 2022-09-13 | 同济大学 | 一种基于cnn少样本的农业病虫害图像识别方法 |
CN113361655A (zh) * | 2021-07-12 | 2021-09-07 | 武汉智目智能技术合伙企业(有限合伙) | 一种基于残差网络与特征差拟合的异纤分类方法 |
CN114219984A (zh) * | 2021-12-14 | 2022-03-22 | 华南农业大学 | 一种基于改进YOLOv3的微小病虫害检测系统及其方法 |
CN114219984B (zh) * | 2021-12-14 | 2024-03-01 | 华南农业大学 | 一种基于改进YOLOv3的微小病虫害检测系统及其方法 |
CN114332849A (zh) * | 2022-03-16 | 2022-04-12 | 科大天工智能装备技术(天津)有限公司 | 一种农作物生长状态联合监测方法、装置及存储介质 |
CN114972347A (zh) * | 2022-07-29 | 2022-08-30 | 中化现代农业有限公司 | 农作物病虫害检测方法、系统、设备及介质 |
CN115578624A (zh) * | 2022-10-28 | 2023-01-06 | 北京市农林科学院 | 农业病虫害模型构建方法、检测方法及装置 |
CN116012718A (zh) * | 2023-02-15 | 2023-04-25 | 黑龙江科技大学 | 田间害虫检测方法、系统、电子设备及计算机存储介质 |
CN116012718B (zh) * | 2023-02-15 | 2023-10-27 | 黑龙江科技大学 | 田间害虫检测方法、系统、电子设备及计算机存储介质 |
CN116630815A (zh) * | 2023-07-25 | 2023-08-22 | 济南玖通志恒信息技术有限公司 | 一种智慧农业病虫害检测方法 |
CN116630815B (zh) * | 2023-07-25 | 2023-09-22 | 济南玖通志恒信息技术有限公司 | 一种智慧农业病虫害检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112381764A (zh) | 一种农作物病虫害检测方法 | |
CN108648191B (zh) | 基于贝叶斯宽度残差神经网络的害虫图像识别方法 | |
WO2018052587A1 (en) | Method and system for cell image segmentation using multi-stage convolutional neural networks | |
CN112380917A (zh) | 一种用于农作物病虫害检测的无人机 | |
CN108090447A (zh) | 双分支深层结构下的高光谱图像分类方法及装置 | |
CN110490265B (zh) | 一种基于双路卷积和特征融合的图像隐写分析方法 | |
CN112381763A (zh) | 一种表面缺陷检测方法 | |
CN112364719A (zh) | 一种遥感图像目标快速检测方法 | |
CN113420794B (zh) | 一种基于深度学习的二值化Faster R-CNN柑橘病虫害识别方法 | |
CN108038499A (zh) | 一种基于深度学习的树种分类方法与系统 | |
CN115116054A (zh) | 一种基于多尺度轻量级网络的病虫害识别方法 | |
Alruwaili et al. | An enhanced plant disease classifier model based on deep learning techniques | |
Jasitha et al. | Venation based plant leaves classification using GoogLeNet and VGG | |
Correa et al. | Design and Implementation of a CNN architecture to classify images of banana leaves with diseases | |
CN113221913A (zh) | 一种基于高斯概率决策级融合的农林病虫害细粒度识别方法及装置 | |
CN115330759B (zh) | 一种基于豪斯多夫距离计算距离损失的方法及装置 | |
CN114067314B (zh) | 一种基于神经网络的花生霉变识别方法及系统 | |
CN112989912B (zh) | 一种基于无人机图像的油茶果品种识别方法 | |
CN113837062A (zh) | 一种分类方法、装置、存储介质及电子设备 | |
CN112364720A (zh) | 一种车辆类别快速识别与统计方法 | |
Mowla et al. | Weeds Detection Networks | |
CN112837330B (zh) | 基于多尺度双注意力机制和全卷积神经网络的叶分割方法 | |
CN117372881B (zh) | 一种烟叶病虫害智能识别方法、介质及系统 | |
Mayuri et al. | Artificial Neural Network (ANN) With Chan-Vese (CV) Algorithm-Based Plant Disease Detection And Classification | |
Singh et al. | Deep Learning-based Rice Leaf Disease Diagnosis using Convolutional Neural Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210219 |
|
WW01 | Invention patent application withdrawn after publication |