
对于YoloV4而言,其整个网络结构可以分为三个部分。
分别是:
Backbone,对应图像上的CSPdarknet53SPP和PANetYoloHead,利用获得到的特征进行预测其中:
在这三部分中,第1部分和第2部分可以更容易去修改。第3部分可修改意义不大,毕竟本身也只是3x3卷积和1x1卷积的组合。
mobilenet系列网络可用于进行分类,其主干部分的作用是进行特征提取,我们可以使用mobilenet系列网络代替yolov4当中的CSPdarknet53进行特征提取,将三个初步的有效特征层相同shape的特征层进行加强特征提取,便可以将mobilenet系列替换进yolov4当中了。

对于yolov4来讲,我们需要利用主干特征提取网络获得的三个有效特征进行加强特征金字塔的构建。
利用上一步定义的MobilenetV1、MobilenetV2、MobilenetV3三个函数我们可以获得每个Mobilenet网络对应的三个有效特征层。
我们可以利用这三个有效特征层替换原来yolov4主干网络CSPdarknet53的有效特征层。
为了进一步减少参数量,我们可以使用深度可分离卷积代替yoloV4中用到的普通卷积。
对于PAnet的参数量主要集中在3x3的卷积中,如果可以对3x3卷积进行修改的话,就可以大幅度减少参数量。利用深度可分离结构快替换3x3卷积
卷积核倍率因子alpha,控制卷积核个数,修改该参数可以减少卷积核个数,从而减少网络的参数量
详见博客:Tensorflow2 利用mobilenet系列(v1,v2,v3)搭建yolov4目标检测平台
github源码:https://github.com/bubbliiiing/mobilenet-yolov4-tf2