VovNetV2代码分析之detectron2(backbone)


前言

ResNet是目标检测模型最常用的backbone,DenseNet其实比ResNet提取特征能力更强,而且其参数更少,计算量(FLOPs)也更少,用于目标检测虽然效果好,但是速度较慢,这主要是因为DenseNet中密集连接所导致的高内存访问成本和能耗。
VoVNet就是为了解决DenseNet这一问题,基于VoVNet的目标检测模型性能超越基于DenseNet的模型,速度也更快,相比ResNet也是性能更好。

代码实现参考:https://github.com/youngwanLEE/vovnet-detectron2

一、优化的地方

在这里插入图片描述
DenseNet的一大问题就是密集连接太重了,而且每个layer都会聚合前面层的特征,其实造成的是特征冗余。
这种信息冗余反而是可以优化的方向,据此这里提出了OSA(One-Shot Aggregation)模块,如图1b所示,简单来说,就是只在最后一次性聚合前面所有的layer。
DenseNet中很多中间特征可能是冗余的,这对于目标检测非常重要,因为检测模型一般的输入都是较大的。

二、VovNet

VoVNet由OSA模块构成
首先是一个由3个3x3卷积层构成的stem block
然后4个阶段的OSA模块,每个stage的最后会采用一个stride为2的3x3 max pooling层进行降采样,模型最终的output stride是32。与其他网络类似,每次降采样后都会提升特征的channel数。
每个OSA模块里面都是5个3x3 conv,然后concat。
在这里插入图片描述

1.VoVNetV2

VoVNetV2引入了ResNet的残差连接和SENet的SE模块

在这里插入图片描述
从图b可以看到,改进的OSA模块直接将输入加到输出上,增加短路连接,使得VoVNet可以训练更深的网络,论文中是VoVNet-99。
从图2c可以看到,改进的另外一个点是在最后的特征层上加上了sSE模块来进一步增强特征,原始的SE模块包含两个FC层,其中中间的FC层主要是为降维,这在一定程度上会造成信息丢失。而sSE模块是去掉了这个中间FC层。

VoVNetV2相比VoVNet增加了少许的计算量,但是模型性能有提升。

模型效果参考https://blog.youkuaiyun.com/xiaohu2022/article/details/105318534/

2.代码分析

VoVNet39_eSE = {
   
   
    'stem': [64, 64, 128],      #三个stem模块输入的通道数
    "stage_conv_ch": [128, 160, 192, 224], #stage2-5的输入通道
    "stage_out_ch": [256, 512, 768, 1024],  #stage2-5的输出通道
    "layer_per_block": 5,                   #每个osa模块包含的3*3 conv数量
    "block_per_stage": [1, 1, 2, 2],        #每个stage的osa模块数量
    "eSE": True,                            #ese注意力机制
    "dw" : False							#Depthwise卷积与Pointwise卷积
}
# OSA模块的实现
class _OSA_module(nn.Module):
    def __init__(self, in_ch, stage_ch, concat_ch, layer_per_block, module_name, 
    			SE=False, identity=False, depthwise=False):
        super(_OSA_module, self).__init__()

        self.identity = identity
        self.depthwise = depthwise
        self.isReduced = False
        self
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值