mmdetection修改源码来进行backbone结构改进

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

本文以mobilenet作为backbone举例

1、找到mmdet中的backbone相关的模型源码

首先要找到你安装在虚拟环境中的mmdet库的路径,mmdet中的源码文件如下图所示:

mmdetection修改源码来进行backbone结构改进
在mmdet->models->backbones文件夹下就都是各种特征提取的backbone源码了
mmdetection修改源码来进行backbone结构改进

; 2、修改backbone源码

我们打开mobilenetv2的代码,可以看到如下所示:

mmdetection修改源码来进行backbone结构改进
对比论文中的模型结构
mmdetection修改源码来进行backbone结构改进
我们可以发现,源码的二维数组就是对应的每一个module的配置,以[1,16,1,1]为例,就是第0个bottleneck的配置,t=1,c=16,n=1,s=1。t表示扩张系数,c为输出通道数,n为该层重复的次数,s为步长。通过修改这些可以轻易地改变模型的深度(重复层数)和宽度(卷积通道数)。

3、修改对应的config代码

这里以faster-rcnn作为检测器,Mobilenet_v2作为backbone为例。

mmdetection修改源码来进行backbone结构改进
mmdetection修改源码来进行backbone结构改进

上图是用FPN将mobilenet的四个不同尺寸的特征做融合,这边选择的是1,2,4,7层的特征,一定要记得这边要跟源码里的通道数对应,最后输出通道数32一定要与后续的rpn neck对应上

mmdetection修改源码来进行backbone结构改进
其他的模块也可以根据自己的需求去做不同的配置,很方便的。

; 总结

以上就是最近使用到的一些自己配置mmdet的东西,mmdet的配置是可以很灵活的,有需要还可以自己写backbone或者损失函数然后放到注册信息里就可以。大家有兴趣的话可以一键三连一下支持一下博主。

Original: https://blog.csdn.net/qq_39004111/article/details/121633672
Author: 弓长
Title: mmdetection修改源码来进行backbone结构改进

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/680136/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球