1.一种基于深度学习的害虫检测方法,其特征在于,包括如下步骤:
步骤1:利用拍照设备采集害虫图片,标记每张图片中的害虫,构建用于粮仓害虫检测的数据库;
步骤2:轻量化SSD模型的VGG16网络结构;
步骤3:在SSD损失函数中加入用于分类和回归任务的加权target;
步骤4:对采集的害虫图片中各种姿态和不同尺寸害虫进行训练,利用训练好的SSD模型对害虫进行检测。
2.如权利要求1所述的一种基于深度学习的害虫检测方法,其特征在于,所述步骤2包括以下步骤:步骤2.1:修改VGG16网络结构,将SSD主干网络VGG16模型的多个卷积和最大池化操改为卷积1_1、卷积1_2、最大池化1、卷积2_1、卷积2_2、最大池化2、卷积3_1、卷积3_3、最大池化3、卷积4_1、卷积4_3、最大池化4、卷积5_1、卷积5_3、最大池化5;
步骤2.2:将VGG16的卷积核和池化核的维数改为3×3、3×3、2×2、3×3、3×3、2×2、3×3、3×3、2×2、3×3、3×3、2×2、3×3、3×3、3×3;
步骤2.3:将VGG16特征图的维数改为300×300、300×300、150×150、150×150、150×
150、75×75、75×75、75×75、38×38、38×38、38×38、38×38、19×19、19×19、19×19;
步骤2.4:提取的特征图中选择所有卷积层对应的所有特征图与3×3的卷积核进行卷积,然后在每层输出的特征图上的每个特征图网格预设默认框,得到每个框相对标注框的偏移量与置信度。
3.如权利要求1所述的一种基于深度学习的害虫检测方法,其特征在于,步骤3包括以下步骤:步骤3.1:在SSD卷积网络训练阶段,将默认框和害虫进行匹配,若匹配则默认框为正样本,若不匹配则默认框为负样本;然后根据置信度的损失值对负样本进行排序,损失值由目标损失函数得到;
步骤3.2:在损失函数中加入用于分类和回归任务的加权target,target计算过程:假设有k个默认框,正样本数为n,负样本数为m,则k=m+n,设定用于分类的标签Label,当n>0时,则正样本分类的加权Pos_target为:Pos_target=Label/n;当m>0,且设定正负样本比例为1∶p时,则负样本分类的加权Neg_target为:Neg_target={1-Label}/m×p;整个分类任务的加权Tol_target为:Tol_target=Pos_target+Neg_target;加入回归任务的权重系数为θ,回归任务的加权Reg_target为:Reg_target=Pos_target×θ。
4.如权利要求3所述的一种基于深度学习的害虫检测方法,其特征在于,所述步骤3.1中的损失函数由分类和回归两个部分组成: 其中N是匹配到害虫默认框数;Lloc表示置信损失,由回归定位误差实现;Lconf表示置信度损失,由Softmax多分类函数来实现;z为实际害虫的位置信息;c为预测目标的置信度;l为预测物体框的位置信息;g表示害虫的位置信息;α为置信损失和位置损失的权衡参数,默认设置为1。
5.如权利要求1所述的一种基于深度学习的害虫检测方法,其特征在于,步骤4包括以下步骤:步骤4.1:将改进的SSD方法中的VGG16的输出用于害虫的初步特征提取,得到害虫图像的基本特征图;
步骤4.2:将步骤4.1得到的特征图,依次经过多尺度特征检测网络的多个卷积操作和最大池化操作进行多尺度特征提取,提取到多层级的特征图并在这些特征图中选取不同大小、不同长宽比的候选害虫区域;
步骤4.3:从步骤4.2提取的特征图中选择所有卷积层对应的所有特征图与3×3的卷积核进行卷积,然后在每层输出的特征图上的每个特征图网格预设默认框,得到每个框相对标注框的偏移量与置信度;其中,默认框为在特征图的每个网格上的一系列固定大小的框;
步骤4.4:根据步骤4.3各层卷积计算结果合并后传递给检测层,利用非极大值抑制法对所有层的检测结果进行融合,得到粮仓害虫图像检测结果。
6.如权利要求5所述的一种基于深度学习的害虫检测方法,其特征在于,步骤4.2中的多尺度特征检测网络包括卷积4_1、卷积4_3、最大池化4、卷积5_1、卷积5_3、最大池化5、卷积6_1、卷积6_2、卷积7_1、卷积7_2、卷积8_1、卷积8_2、卷积9_1和卷积9_2,其中卷积核和池化核的维数分别为3×3、3×3、2×2、3×3、3×3、3×3、1×1、3×3、1×1、3×3、1×1、3×3、1×1、3×3;得到的特征图的维数分别为38×38、38×38、38×38、19×19、19×19、19×19、19×19、10×10、10×10、5×5、5×5、3×3、3×3和1×1。
7.如权利要求5所述的一种基于深度学习的害虫检测方法,其特征在于,步骤4.4中的非极大值抑制法是一个迭代-遍历-消除的过程,包括以下步骤:
4.4.1:将所有框的得分排序,选中最高得分及其对应的框;
4.4.2:遍历其余的框,若与当前最高分框的重叠面积大于阈值,就将该框删除;
4.4.3:从未处理的框中选一个最高得分,重复上述过程。