mmdetection(2): DeformableConvNets(DCN)

先来点干货,基于pytorch的代码: https://github.com/4uiiurz1
DCN可以说是打破了传统的CNN,那到底是怎么搞的呢
v1: https://arxiv.org/abs/1703.06211

既然原始的只能提取特定区域,那我们给其加上个位移不就ok了
在这里插入图片描述
那位移应该怎么加呢,简单啊,每个kernel不是3x3吗(常见),那就在添加9个位移变量,分别对应3x3的每个权重值所乘的点的偏移值,但是要表示坐标偏移的话,得加2个不是,ok那就233,分别表示x,y的偏移值。

在这里插入图片描述
所以结合上图就非常好理解了,先conv一下,生成2N个特征图,N为33=9。然后根据特征图在原图上取值,然后再进行卷积操作,就是这么简单。
至于roi pooling,解释不好,不说了。
在这里插入图片描述

v2:https://arxiv.org/pdf/1811.11168.pdf
主要解决个啥呢
v1不是非常规的形状吗?但是这样有个缺点啊,容易提取冗余值,比如说,一个人牵着个狗,我要检测狗,DCN某几个节点给偏到人上去了,是不是很对,解决很简单,把人上的那几个点权重设为0 就好了啊、
在这里插入图片描述
这样也是,每个卷积核上的每个点得来个权重,用来表示该点有没有什么软用。那就得3*N了
还有Faster-Rcnn怎么办,mdcn提取特征的时候提取了一大堆冗余的数据,怎么搞呢,结合RCNN啊,
RCNN输入的仅仅局部图片,不会产生冗余数据,ok,怎么结合呢,最后产生的不是1024维度的向量吗?做个相似度比较啊,cos上一下,就能尽量让Fast-RCNN趋向RCNN,这样来保证不产生冗余数据。
在这里插入图片描述

mmdet怎么搞呢,具体咋搞的就不说了,杂用的还可以,看18和27 的channels,是不是就是29和39,就是2个只有x,y。3个加了个m(权重),至于deformable_groups,那就是组卷积了。不说了,看代码去

deformable_groups = dcn.get('deformable_groups', 1)
            if not self.with_modulated_dcn:
                conv_op = DeformConv
                offset_channels = 18
            else:
                conv_op = ModulatedDeformConv
                offset_channels = 27
            self.conv2_offset = nn.Conv2d(
                planes,
                deformable_groups * offset_channels,
                kernel_size=3,
                stride=self.conv2_stride,
                padding=dilation,
                dilation=dilation)
  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
mmdetection中的IndexError: list index out of range错误通常发生在训练目标检测模型时,表明索引超过了列表的长度,导致了错误。根据你提供的引用内容,有几种可能的解决方案。 首先,你可以检查类别是否被正确地定义。可以查看以下文件: - mmdetection/mmdet/datasets/voc.py中的CLASSES变量,确保类别列表的长度与数据集中的类别数一致。 - mmdetection/mmdet/core/evaluation/class_names.py中的voc_classes()函数,确保返回的类别列表与数据集中的类别一致。 - mmdetection/configs/_base_/models/retinanet_r50_fpn.py中的num_classes参数,确保其值与数据集中的类别数一致。 如果类别的定义没有问题,那么你可以尝试以下解决方案: - 确保数据集的标注文件正确无误,没有缺失或错误的标注。 - 检查模型配置文件中的参数是否正确设置,例如anchor的尺寸、缩放比例等。 - 尝试使用更大的输入图像尺寸或更小的批量大小,有时候这些参数的调整可以解决索引超出范围的问题。 根据你的具体情况,你可以尝试以上提到的解决方案来解决mmdetection中的IndexError: list index out of range错误。这些方法可以帮助你找到并修复问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [mmdetection训练出现:IndexError: list index out of range 错误](https://blog.csdn.net/weixin_41010198/article/details/107067843)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值