本文目前仅包含1个主干网络和1个颈部网络。如果有机会,会继续补充更多模型。
若发现内容有误,欢迎指出。
MMDetection的图像数据一般会经历如下步骤/模块:
下面分别介绍各部分的一些典型模型。
该网络是YOLOX和YOLOv5的主干网络。
参数名称 | 数据类型 | 默认值 | 含义 | 取值说明 |
---|---|---|---|---|
arch | str | ‘P5’ | 选择基本结构 | 可为’P4’或’P5’,表示使用4阶段或5阶段的网络(分别对应一种预定义的基本结构) |
arch_overwrite | List(List) | None | 自定义网络结构 | None表示使用基本结构;否则为自定义网络结构,外层列表的长度为阶段数(图中最上方虚线框结构的重复次数),内层列表的格式为[int, int, int, bool, bool] ,分别表示in_channels,out_channels,num_blocks,add_identity,use_spp。其中每一阶段的in_channels应和上一阶段的out_channels相同;num_blocks为CSPLayer中DarkbottleNeck的数量(图中NNN);add_identity为True表示DarkbottleNeck有skip connection操作;use_spp为True表示使用SPP。 |
deepen_factor | float | 1.0 | - | 与num_blocks相乘,放缩每个阶段CSPLayer的DarkNetBottleNeck数 |
widen_factor | float | 1.0 | - | 与in_channels和out_channels相乘,放缩通道维度 |
use_depthwise | bool | False | 是否使用深度卷积 | 为True时会使用深度可分离卷积替代每阶段第一个普通卷积 |
spp_kernal_sizes | Tuple(int) | - | SPP中的池化核大小 | 池化操作的数量等于该参数长度 |
out_indices | Tuple(int) | - | 输出特征图对应的阶段序号 | - |
conv_cfg | dict | 卷积类型默认为Conv2d | 设置卷积类型 | 配置文件格式 |
norm_cfg | dict | 归一化类型默认为BN | 设置归一化类型 | 配置文件格式 |
act_cfg | dict | 激活函数类型默认为Swish | 设置激活函数类型 | 配置文件格式 |
frozen_stages | int | -1 | 训练时固定参数的层数 | 前frozen_stages层会在训练时固定参数 |
norm_eval | bool | False | 是否在训练时将BN层设置为评估模式 | - |
参数名称 | 数据类型 | 默认值 | 含义 | 取值说明 |
---|---|---|---|---|
x | Tensor(float) | - | 输入图像 | 大小为(B,3,H,W)(B,3,H,W)(B,3,H,W) |
返回值 | List(Tensor(float)) | 返回值 | 多尺度图像特征 | 每个元素对应out_indices中一个阶段的输出特征图 |
该网络是YOLOX的颈部网络,可与CSPDarkNet这一主干网络搭配。
参数名称 | 数据类型 | 默认值 | 含义 | 取值说明 |
---|---|---|---|---|
in_channels | Tuple(int) | - | 输入通道数 | 长度需要和输入特征图的尺度数相同(若主干网络为CSPDarkNet,则其值应该与CSPDarkNet的out_indices阶段输出通道数相同) |
out_channels | int | - | 末端卷积的输出通道数 | - |
use_depthwise | bool | False | 是否使用深度卷积 | 为True时会使用深度可分离卷积替代bottom-up下采样的普通卷积 |
up_sample_cfg | dict | dict(scale_factor=2, mode=’nearest’) | 上采样设置 | 两项分别为上采样倍数和插值方法 |
num_csp_blocks | int | - | CSPLayer中DarkNetBottleNet的数量 | CSPLayer的结构见1.1节图 |
conv_cfg | dict | 卷积类型默认为Conv2d | 设置卷积类型 | 配置文件格式 |
norm_cfg | dict | 归一化类型默认为BN | 设置归一化类型 | 配置文件格式 |
act_cfg | dict | 激活函数类型默认为Swish | 设置激活函数类型 | 配置文件格式 |
参数名称 | 数据类型 | 默认值 | 含义 | 取值说明 |
---|---|---|---|---|
inputs | List(Tensor(float)) | - | 多尺度图像特征 | 可直接使用CSPDarkNet的输出 |
返回值 | List(Tensor) | 返回值 | 更新后的多尺度图像特征 | - |