您现在的位置:首页 >> 机器学习 >> 内容

m基于简化后的轻量级yolov4深度学习网络农作物检测算法matlab仿真

时间:2023/1/19 23:10:20 点击:

  核心提示:05_112_m,包括程序操作录像...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/Y56XlJZr

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览



3.算法概述

       YOLOv4 的深层网络包括 SPP 模块、PANet 模块、YOLO Head 模块和部分卷积,其主要作用是加强目标特征提取并获取预测结果。SPP 模块的输入端和输出端各连接一个三次卷积块,每个三次卷积块包含 2 个 1×1 卷积和 1 个 3×3 卷积。 PANet 模块包含特征层堆叠、上采样和下采样,每次堆叠后连接一个五次卷积块,每个五次卷积块包含 3 个 1×1 卷积和 2 个 3×3 卷积。每个 YOLO Head 都由 1 个3×3 卷积和 1 个 1×1 卷积组成。可以看出 YOLOv4 深层网络含有大量 3×3 标准卷积,借鉴 MobileNet 的思想把三次卷积块、五次卷积块、YOLO Head 和下采样中的 3×3 标准卷积替换为深度可分离卷积,大幅度降低深层网络的计算量和参数量,从而使整个网络模型轻量化。

4.部分源码

.....................................................................

inputLayer         = imageInputLayer(imageSize);

.....................................................................

bnecker1           = bneckLayer(Fsize33,numFilters1);

bnecker2           = bneckLayer(Fsize33,numFilters2);

bnecker3           = bneckLayer(Fsize33,numFilters2);

bnecker4           = bneckLayer(Fsize55,numFilters3);

bnecker5           = bneckLayer(Fsize55,numFilters3);

bnecker6           = bneckLayer(Fsize55,numFilters3);

bnecker7           = bneckLayer(Fsize55,numFilters4);

bnecker8           = bneckLayer(Fsize55,numFilters4);

bnecker9           = bneckLayer(Fsize55,numFilters5);

bnecker10          = bneckLayer(Fsize55,numFilters5);

bnecker11          = bneckLayer(Fsize55,numFilters5);

 

Fsize33b           = [GPv(8) GPv(8)];%3*3维卷积

numFilters3b       = GPv(9);

MobilenetV3Layer   = [convolution2dLayer(Fsize33b,numFilters3b,'Padding',2)

                      bnecker1

                      bnecker2

                      bnecker3

                      convolution2dLayer([1 1],8,'Padding',2) 

                      batchNormalizationLayer()

                      reluLayer()

                     ];

%%

Resizelayer        = [];

Fsize11            = [1 1];

%Necklayer:SPP+PANET

Fsize77            = [GPv(8) GPv(8)];%7*7维卷积

numFilters4        = GPv(10);

numFilters5        = GPv(11);

NECKlayer          = func_neck(Fsize77,numFilters4,Fsize33,numFilters5);

%%

finalLayers        = [fullyConnectedLayer(128)%全连接层

                      reluLayer

                      fullyConnectedLayer(NClass)

                      softmaxLayer

                      classificationLayer

                     ];

 

%%              

layers = [inputLayer;

          FPNlayer;

          MobilenetV3Layer;

          NECKlayer;

          finalLayers

          ];

 

...............................................

 

%调用训练库,GPU强,则可以扩充    

load train3.mat

nets = trainObjectDetector(gTruth,layers,options,'NegativeOverlapRange', [0 0.02], 'PositiveOverlapRange', [0.02 1])

05_112_m

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168