[0044] 下面结合附图和具体实施方式,进一步阐明本发明。
[0045] 如图1‑5所示,本发明包括如下步骤:
[0046] 步骤一:如附图2,获取GWHD数据集步骤101从步骤201到步骤204:
[0047] 步骤201:从Kaggle竞赛网站上下载Global Wheat Detection数据集,从数据集中的csv文件中提取目标的编号信息获得wheat_number.txt,提取坐标信息和类别名获得wheat_all.txt,得到数据集a0;
[0048] 步骤202:利用数据增强技术将数据集a0中的图片进行翻转,大小在0.25到2之间进行缩放,宽高在0.5到1.5之间扭曲,色调hue为0.1,亮度和饱和度增强为原图的1.5倍,同时使用数据抖动方式进行样本的扩充,得到包含6746张图片和295538个目标框的数据集a1;
[0049] 步骤203:按照8:1:1的比例将数据集a1划分为训练集、验证集和测试集,得到train_num.txt、val_num.txt和test_num.txt文件;
[0050] 步骤204:仿照VOC2007的格式调整数据集a1得到GWHD数据集,其中中等目标占数据集的68%左右。
[0051] 步骤二:如附图3,搭建Wheat_YOLO网络模型步骤102从步骤301到步骤305:
[0052] 步骤301:使用Relu函数和h‑swish函数作为激活函数,利用SE block、逆残差结构和深度可分离卷积搭建17个bneck结构,实现主干网络MobileNetV3‑Large;
[0053] 步骤302:通过DownSample操作在检测分支中增加一条自底向上的信息通道,采用concat操作进行横向特征融合;
[0054] 步骤303:在concat操作后增加一个SE block,使用深度可分离卷积替换普通卷积并增加残差结构,实现Wheat_YOLO的检测网络;
[0055] 步骤304:设置二元交叉熵损失函数作为网络的置信度和分类损失函数,平方差损失函数作为网络的回归损失函数,得到网络的损失函数model_loss;
[0056] 步骤305:将主干网络、检测网络和损失函数结合得到小麦头检测网络模型model。
[0057] 步骤三:如附图4,使用GWHD数据集训练Wheat_YOLO网络模型步骤103从步骤401到步骤414:
[0058] 步骤401:根据训练集中各样本编号从wheat_all.txt文件中提取样本的(xmin,ymin,xmax,ymax)和所属类别编号得到train.txt文件;
[0059] 步骤402:根据验证集中各样本编号从wheat_all.txt文件中提取样本的(xmin,ymin,xmax,ymax)和所属类别编号得到val.txt文件;
[0060] 步骤403:使用融合了线性尺度缩放的Kmean++算法对训练验证集中的所有目标执行聚类操作获得9个anchor box,每个特征层分别对应3个anchor box;
[0061] 步骤404:定义输入网络图片宽w和高h、计数变量m、n(表示检测指标无改善的训练轮数)和e以及val_loss减少量Δg,并赋值w=416,h=416,m=0,n=0,e=0;
[0062] 步骤405:model加载MobilenetV3_large预训练权重,冻结前227层;
[0063] 步骤406:设置Adam作为网络的优化函数,批训练数量epoch为200,初始学习率lr为0.001,批大小batch‑size为8;
[0064] 步骤407:进行模型训练并更新权值,e=e+1;
[0065] 步骤408:若Δg<=0,则m=m+1,n=n+1,执行步骤409,否则执行步骤409;
[0066] 步骤409:若n=2,则lr=lr*0.5,n=0,执行步骤410,否则执行步骤410;
[0067] 步骤410:当 若m=10,则 执行步骤411,否则执行步骤407;
[0068] 步骤411:当 若m=10或e=200,则执行步骤414,否则执行步骤412;
[0069] 步骤412:若 则lr=0.0001,否则执行步骤413;
[0070] 步骤413:对所有网络层进行训练并更新权值,e=e+1,执行步骤408;
[0071] 步骤414:保存模型权重last1.h5,模型训练结束。
[0072] 步骤四:如附图5,保存最优模型用于真实场景下的小麦头检测步骤105从步骤501到步骤504:
[0073] 步骤501:采集并处理原始数据得到416×416×3的输入数据;
[0074] 步骤502:对输入数据进行归一化处理;
[0075] 步骤503:加载最优模型对输入网络中的图片进行预测;
[0076] 步骤504:获得各检测目标的类别名、置信度分数和对应的目标框坐标信息,并展示在图片上,检测结束。
[0077] 为了更好的说明本方法的有效性,通过对GHWD数据集进行测试,使用YOLOv3网络与Wheat_YOLO进行了对比,结果如表1所示:与YOLOv3相比,Wheat_YOLO网络的平均准确度提高5.15%,检测速度提升65.8%
[0078] 表1 YOLOv3和Wheat_YOLO结果对比表
[0079]
[0080] 以上所述仅为本发明的实施例子而已,并不用于限制本发明。凡在本发明的原则之内,所作的等同替换,均应包含在本发明的保护范围之内。本发明未作详细阐述的内容属于本专业领域技术人员公知的已有技术。