网络替换实现思路
1、网络结构解析与替换思路解析
对于YoloV4而言,其整个网络结构可以分为三个部分。 分别是:
- 1、主干特征提取网络
Backbone ,对应图像上的CSPdarknet53 - 2、加强特征提取网络,对应图像上的
SPP 和PANet - 3、预测网络
YoloHead ,利用获得到的特征进行预测
其中:
- 第一部分主干特征提取网络的功能是进行初步的特征提取,利用主干特征提取网络,我们可以获得三个初步的有效特征层。
- 第二部分加强特征提取网络的功能是进行加强的特征提取,利用加强特征提取网络,我们可以对三个初步的有效特征层进行特征融合,提取出更好的特征,获得三个更有效的有效特征层。
- 第三部分预测网络的功能是利用更有效的有效特整层获得预测结果。
在这三部分中,第1部分和第2部分可以更容易去修改。第3部分可修改意义不大,毕竟本身也只是3x3卷积和1x1卷积的组合。
mobilenet系列网络可用于进行分类,其主干部分的作用是进行特征提取,我们可以使用mobilenet 系列网络代替yolov4当中的CSPdarknet53 进行特征提取,将三个初步的有效特征层相同shape的特征层进行加强特征提取,便可以将mobilenet系列替换进yolov4当中了。
3、将特征提取结果融入到yolov4网络当中
对于yolov4来讲,我们需要利用主干特征提取网络获得的三个有效特征进行加强特征金字塔的构建。
利用上一步定义的MobilenetV1、MobilenetV2、MobilenetV3三个函数我们可以获得每个Mobilenet网络对应的三个有效特征层。
我们可以利用这三个有效特征层替换原来yolov4主干网络CSPdarknet53的有效特征层。
为了进一步减少参数量,我们可以使用深度可分离卷积代替yoloV4中用到的普通卷积。
4、修改加强特征提取网络PAnet,减少网络参数量
对于PAnet的参数量主要集中在3x3 的卷积中,如果可以对3x3 卷积进行修改的话,就可以大幅度减少参数量。利用深度可分离结构快 替换3x3 卷积
5.修改卷积核倍率因子alpha
卷积核倍率因子alpha,控制卷积核个数,修改该参数可以减少卷积核个数,从而减少网络的参数量
详见博客:Tensorflow2 利用mobilenet系列(v1,v2,v3)搭建yolov4目标检测平台 github源码:https://github.com/bubbliiiing/mobilenet-yolov4-tf2
B站视频:Tensorflow2 搭建自己的Mobilenet-YoloV4目标检测平台
|