• MMDetection库中的一些模块介绍


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

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

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

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

    1. 主干网络(BACKBONES)

    1.1 CSPDarkNet

      该网络是YOLOX和YOLOv5的主干网络。
    在这里插入图片描述

    • 初始化参数:
    参数名称数据类型默认值含义取值说明
    archstr‘P5’选择基本结构可为’P4’或’P5’,表示使用4阶段或5阶段的网络(分别对应一种预定义的基本结构)
    arch_overwriteList(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_factorfloat1.0-与num_blocks相乘,放缩每个阶段CSPLayer的DarkNetBottleNeck数
    widen_factorflo​​​​​​​at1.0-与in_channels和out_channels相乘,放缩通道维度
    use_depthwiseboolFalse是否使用深度卷积为True时会使用深度可分离卷积替代每阶段第一个普通卷积
    spp_kernal_sizesTuple(int)-SPP中的池化核大小池化操作的数量等于该参数长度
    out_indicesTuple(int)-输出特征图对应的阶段序号-
    conv_cfgdict卷积类型默认为Conv2d设置卷积类型配置文件格式
    norm_cfgdict归一化类型默认为BN设置归一化类型配置文件格式
    act_cfgdict激活函数类型默认为Swish设置激活函数类型配置文件格式
    frozen_stagesint-1训练时固定参数的层数前frozen_stages层会在训练时固定参数
    norm_evalboolFalse是否在训练时将BN层设置为评估模式-
    • forward函数:
    参数名称数据类型默认值含义取值说明
    xTensor(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这一主干网络搭配。
    在这里插入图片描述

    • 初始化参数:
    参数名称数据类型默认值含义取值说明
    in_channelsTuple(int)-输入通道数长度需要和输入特征图的尺度数相同(若主干网络为CSPDarkNet,则其值应该与CSPDarkNet的out_indices阶段输出通道数相同)
    out_channelsint-末端卷积的输出通道数-
    use_depthwiseboolFalse是否使用深度卷积为True时会使用深度可分离卷积替代bottom-up下采样的普通卷积
    up_sample_cfgdictdict(scale_factor=2, mode=’nearest’)上采样设置两项分别为上采样倍数和插值方法
    num_csp_blocksint-CSPLayer中DarkNetBottleNet的数量CSPLayer的结构见1.1节图
    conv_cfgdict卷积类型默认为Conv2d设置卷积类型配置文件格式
    norm_cfgdict归一化类型默认为BN设置归一化类型配置文件格式
    act_cfgdict激活函数类型默认为Swish设置激活函数类型配置文件格式
    • forward函数:
    参数名称数据类型默认值含义取值说明
    inputsList(Tensor(float))-多尺度图像特征可直接使用CSPDarkNet的输出
    返回值List(Tensor)返回值更新后的多尺度图像特征-
  • 相关阅读:
    SpringMVC_执行流程
    多重定义的全局符号,链接器会如何链接的情况
    linux服务器磁盘满了怎么办
    网络安全(黑客)自学
    JavaScript奇淫技巧:把JS编译成exe
    BGP选路的十一条原则(第八课)
    Multi-Path Transport 的误区
    pdf转jpg的方法【ps和工具方法】
    HK WEB3 MONTH & Polkadot Hong Kong 火热报名中!
    黑马Java笔记第二讲—java基础
  • 原文地址:https://blog.csdn.net/weixin_45657478/article/details/127893039