Deformable Convolutional Networks(可变形卷积DCN)理解

1、why???DCN

  • 视觉识别中的一个关键挑战是如何在目标尺度、姿态、视点以及部件变形中适应几何变化或建模几何变换。说白了就是:传统的卷积采用固定尺寸的卷积核,不能很好地适应几何形变,于是可以适应几何形变的它来了。

2、what???DCN

  • 可变形卷积,卷积核的形状是可变的,也就是感受野可以变化,但注意感受野的元素是“不变”的。

可变性卷积的流程为:

理解DC实现的关键:发生变形的不是卷积核k,而是输入的FM

  • 1、图1原始FM(大小为h*w),记为U,经过一个普通卷积,卷积填充为same,即输出输入大小不变,对应的输出结果为(h*w*2*k*k),记为V,输出的结果是指原FM中每个像素的偏移量(x偏移与y偏移,因此为2*k*k)。
图1 原始FM
图2 像素点偏移量
  • 2、将U中图片的像素索引值与V相加,得到偏移后的position(即在原始图片U中的坐标值),需要将position值限定为图片大小以内。position的大小为(h*w*2*k*k,但position只是一个坐标值,而且还是float类型的,我们需要这些float类型的坐标值获取像素。
    图3 像素点偏移像素值

  • 3、例如:取一个坐标值(a,b),将其转换为四个整数,floor(a),ceil(a),floor(b),ceil(b),将这四个整数进行整合, 得到四对坐标(floor(a),floor(b)), ((floor(a),ceil(b)),((ceil(a),floor(b))((ceil(a),ceil(b))。这四对坐标每个坐标都对应U中的一个像素值,而我们需要得到(a,b)的像素值,这里采用双线性差值的方式计算(一方面得到的像素准确,另一方面可以进行反向传播)。
    在这里插入图片描述

  • 4、在得到position的所有像素后,即得到了一个FM,将这个新FM作为输入数据输入到别的层中,如普通卷积。
    在这里插入图片描述
    代码地址: link.
    https://github.com/kastnerkyle/deform-conv

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值