本文在之前文章yolov7分割训练的基础上进行改进:
https://blog.csdn.net/qq_41920323/article/details/129464115?spm=1001.2014.3001.5502
具体GitHub工程下载,环境安装配置,数据准备等,请借鉴之前的文章,此处只介绍如何进行改进。
MobileOne地址:https://github.com/apple/ml-mobileone
预训练权重地址:https://github.com/uniquechow/YOLO_series_doc/tree/main/lightweight/MobileOne
1、基本原理
使用Reparameterize重参数化实现模型的轻量化,基本模块如下图所示。
上图中的左侧部分构成了MobileOne的一个完整building block。它由上下两部分构成,其中上面部分基于深度卷积(Depthwise Convolution),下面部分基于点卷积(Pointwise Convolution)。
深度卷积本质上是一个分组卷积,它的分组数g与输入通道相同。而点卷积是一个1×1卷积。关于深度卷积与点卷积的详细介绍可以参考卷积神经网络之深度可分离卷积(Depthwise Separable Convolution)。
图中的深度卷积模块由三条分支构成。最左侧分支是1×1卷积;中间分支是过参数化的3×3卷积,即k个3×3卷积;右侧部分是一个包含BN层的跳跃连接。这里的1×1卷积和3×3卷积都是深度卷积(也即分组卷积,