可变形卷积DeformableConvolutionNet(DCN)理解

更新时间:2023-05-09 21:09:00 阅读: 评论:0

可变形卷积DeformableConvolutionNet(DCN)理解
1. 为什么做DCN
传统的卷积采⽤固定尺⼨的卷积核,不能很好地适应⼏何形变
2. 什么是DCN
可形变卷积,卷积核的形状是可变的,也就是感受野可以变化,但注意感受野的元素是“不变”的。
3. DCN的具体实现
代码似乎也是按照这个流程写的,不过上⾯的输出结果不应该是(b*h*w*2c),⽽是(b*h*w* (2kernel_size*kernel_size)),因为只需要记录可变形卷积滤波器变形之后的位置,滤波器的原始尺⼨是kernel_size*kernel_size,需记录x坐标和y坐标,故为
2*kernel_size*kernel_size
代码参考,关键步骤及其解释如下:
这⼀步输⼊图⽚学习偏移量offt,输⼊的feature map尺⼨是(64,28,28)分别表⽰通道数,h和w。输出之所以是18通道的,是因为kernel size是3,卷积核有3*3=9个点,每个点都有x偏移量和y偏移量(从这⾥看得出每个输⼊通道做同样的偏移处理),18通道的前九个通道表⽰x偏移量,后9个通道表⽰y偏移量。
由于offt是偏移量,需要得到偏移之后的绝对坐标p,直接把偏移量加到原始坐标就好
原始坐标⼀般⽤meshgrid函数表⽰
最后,万事具备,偏移的位置都已经确定好了,⽤正常的卷积操作实现实现DCN:
注意执⾏_reshape_x_offt函数前x_offt的形状是torch.Size([32, 64, 28, 28, 9]),由于dcn的卷积核是3*3,所以感受野⾥总共9个元素(这也是最后⼀个通道是9点原因),reshape之后把9维向量的感受野展开成平⾯(torch.Size([32, 64, 84, 84])),⽽且由于

本文发布于:2023-05-09 21:09:00,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/567228.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:卷积   通道   偏移量   感受   变形
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图