MMDetection库中的一些模块介绍

本文目前仅包含1个主干网络和1个颈部网络。如果有机会,会继续补充更多模型。
若发现内容有误,欢迎指出。

  MMDetection的图像数据一般会经历如下步骤/模块:

训练阶段
测试阶段
图像
主干网络
颈部网络
检测头
损失函数计算
预测结果生成

  下面分别介绍各部分的一些典型模型。

1. 主干网络(BACKBONES)

1.1 CSPDarkNet

  该网络是YOLOX和YOLOv5的主干网络。
MMDetection库中的一些模块介绍_第1张图片

  • 初始化参数:
参数名称 数据类型 默认值 含义 取值说明
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的数量(图中 N N N);add_identity为True表示DarkbottleNeck有skip connection操作;use_spp为True表示使用SPP。
deepen_factor float 1.0 - 与num_blocks相乘,放缩每个阶段CSPLayer的DarkNetBottleNeck数
widen_factor flo​​​​​​​at 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层设置为评估模式 -
  • forward函数:
参数名称 数据类型 默认值 含义 取值说明
x Tensor(float) - 输入图像 大小为 ( B , 3 , H , W ) (B,3,H,W) (B,3,H,W)
返回值 List(Tensor(float)) 返回值 多尺度图像特征 每个元素对应out_indices中一个阶段的输出特征图

2.颈部网络(NECKS)

2.1 YOLOXPAFPN

  该网络是YOLOX的颈部网络,可与CSPDarkNet这一主干网络搭配。
MMDetection库中的一些模块介绍_第2张图片

  • 初始化参数:
参数名称 数据类型 默认值 含义 取值说明
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 设置激活函数类型 配置文件格式
  • forward函数:
参数名称 数据类型 默认值 含义 取值说明
inputs List(Tensor(float)) - 多尺度图像特征 可直接使用CSPDarkNet的输出
返回值 List(Tensor) 返回值 更新后的多尺度图像特征 -

你可能感兴趣的:(MMDetection,/,MMDetection,3D学习,深度学习,目标检测)