[2020-CVPR] Dynamic Region-Aware Convolution 论文简析

论文地址:https://arxiv.org/abs/2003.12243
参考代码地址(非官方):https://github.com/shallowtoil/DRConv-PyTorch

代码笔者自己试了一下,应该是可以的,但是没做到文中的性能,欢迎讨论。

本文设计了一种新型动态区域感知卷积(DRConv),根据图像的信息将图像划分为多个区域,并为每个区域单独生成定制的卷积核。有强大的语义表示能力并且保持了平移不变性,本文还具体设计了此种卷积的反向传播方式,根据总体的梯度进行参数更新,实现了端到端的训练,该卷积在多项任务上具有极其优异的性能。

DRConv针对的问题是常规卷积同一个通道中所有卷积核共享参数,无法对图像的不同的语义区域进行有针对性的卷积操作,所以标准卷积只能通过增加通道数来提取更多的视觉元素,这无疑会大幅增加计算的开销。而本文提出的DRConv会根据图像中不同的语义信息划分不同的区域,然后针对每个语义区域定制不同的卷积核进行卷积,即不同区域间的卷积核的参数是不共享的、定制化的,这使得DRConv比标准卷积在建模语义信息的多样性上表现更好。即DRConv将通道维度上的卷积核个数的增加转换为了空间维度上可学习的区域划分,这不仅提高了卷积的表示能力,并且保持了标准卷积的计算量和平移不变形。
作者还针对这个过程中的argmax函数无法反向传播求梯度的问题提出了用softmax在反向传播是近似代替argmax(hardmax)的解决方案。

实验部分,作者将DRConv替换掉MobileNet等网络的一些卷积层,在分类、人脸识别、检测和分割任务上都取得了比较好的效果。

DRConv的具体结构如图所示,我们先对输入图像使用标准卷积来得到guided feature。根据guided feature,将空间维度划分为若干区域。如图所示,guided mask中相同颜色的像素表示同一块区域。在每个共享区域中,我们使用filter generator模块来生成一个卷积核去执行2维的卷积操作。这样需要优化的参数主要在filter generator模块中,并且这些参数的数量与图像本身的大小没有关系。因此,除了大幅提升模型的性能外,DRConv相较于局部卷积来说参数的数量也大大下降了,与标准卷积的参数量相当。

标准卷积在空间域卷积核都使用权值共享。问题是计算不够高效,并且优化困难。
局部卷积在不同的像素位置使用不同的权值在空间维度上使用多卷积核的方法来利用语义信息的多样性,如此比标准卷积在提取空间特征是更加高效。但问题一是大大增加了参数量,而是是破坏了卷积的平移不变性。而且其在不同的样本之间还是共享卷积核的,这使它对于每个样本各自的特定特征不够敏感。

具体来说,作者设计了一个可学习的guided mask模块,来根据输入图像的特点将空间维度划分为多个区域,将图像划分成不同的区域,在不同的区域上使用不同的卷积。区域内卷积是通用的,不同区域卷积不通用。GGG 是生成卷积的模块,有多少个区域,就生成多少个卷积核 WiW_iWi​ 。在每个区域内部只有一个共享的卷积核。不同样本的不同区域的卷积核会根据输入的相应特征动态生成,这能够使我们更加高效地关注于它们的关键特征。

Method

标准卷积:
Yu,v,o=∑c=1CXu,v,o∗Wc(o)Y_{u,v,o}=\sum_{c=1}^CX_{u,v,o}*W_c^{(o)} Yu,v,o​=c=1∑C​Xu,v,o​∗Wc(o)​
局部卷积:
Yu,v,o=∑c=1CXu,v,o∗W(u,v,c)(o)Y_{u,v,o}=\sum_{c=1}^CX_{u,v,o}*W_{(u,v,c)}^{(o)} Yu,v,o​=c=1∑C​Xu,v,o​∗W(u,v,c)(o)​
DRConv:
Yu,v,g=∑c=1CXu,v,o∗W(t,c)(o)Y_{u,v,g}=\sum_{c=1}^CX_{u,v,o}*W_{(t,c)}^{(o)} Yu,v,g​=c=1∑C​Xu,v,o​∗W(t,c)(o)​
可概括为两步,两个主要模块:learnable guided mask模块和filter generator模块,前者决定哪个分类起被分配到哪个块,后者决定根据输入特征生成相关的卷积核

learnable guided mask

该模块根据相应的损失函数进行参数更新,所以可以适应不同的图像输入产生不同的分块

具体来说,对于一个k*k的DRConv(k是卷积核尺寸),m个区域。我们先使用k*k的标准卷积来生成m个通道的guided feature,

对于空间域中每个位置,有:
Mu,v=argmax(Fu,v0^,Fu,v1^,...,Fu,vm−1^)M_{u,v}=argmax(\hat{F_{u,v}^0},\hat{F_{u,v}^1},...,\hat{F_{u,v}^{m-1}}) Mu,v​=argmax(Fu,v0​^​,Fu,v1​^​,...,Fu,vm−1​^​)
M是guided mask(U*V),F是guided feature在(u,v)处的特征向量,有m个元素(U*V*m),该argmax取的是索引(M是个索引,取值在0到m-1之间)

为了使该模块可学习,需要有梯度来更新参数,但是guided feature,argmax并没有梯度,为此,本文设计了一种得到guided feature近似梯度的方法。

前向传播

我们已经根据上式得到了guided mask,有每个位置(u,v)的卷积核如下:
W^u,v=WMu,v,Mu,v∈[0,m−1]=W∗Mu,v\hat{W}_{u,v}=W_{M_{u,v}},\ \ \ \ \ \ \ \ \ \ \ M_{u,v}\in[0,m-1]=W*M_{u,v} W^u,v​=WMu,v​​,           Mu,v​∈[0,m−1]=W∗Mu,v​

WMu,vW_{M_{u,v}}WMu,v​​ 是由filter generator模块G生成的m个卷积核之一,Mu,vM_{u,v}Mu,v​是guided feature FFF位置(u,v)通道维度中最大值的索引。这样,m个卷积核会与所有的位置建立相关关系,整个空间域的所有像素会被分成m组。各组中的像素使用同样的滤波器,他们具有相似的语义,因为他们是通过具有平移不变性的标准卷积将他们的信息转换到guided feature 上的。

注意:前向传播时是one hot的hardmax

反向传播

对 Mu,vM_{u,v}Mu,v​ 的one-hot形式,如 Mu,v=2M_{u,v}=2Mu,v​=2, m=5m=5m=5,则其one-hot形式:(0,0,1,0,0)(0, 0, 1, 0, 0)(0,0,1,0,0) 作softmax得到 F^\hat{F}F^。

因为argmax是hardmax,没法求导,所以这里在反向传播的时候使用了softmax来近似代替。

filter generator

该模块功能主要体现在针对不同输入图像,抓住其独有特征。

具体做法如上图右侧所示:先经过一个自适应的池化层将 U∗V∗CU*V*CU∗V∗C 的图像降采样到 k∗k∗Ck*k*Ck∗k∗C ,再经过两个 1∗11*11∗1 的卷积得到 mmm 个卷积核。

experiments

分类检测分割均有提升,表就不放了,有兴趣请自行查看原文。

可以看到模型规模越小,本文方法提升越明显,这是因为DRConv在空间维上提高了语义表达能力,对于表达能力较弱的小模型,帮助更为明显。

不同层的可视化,可以看到有比较明显的按照语义进行区域划分的效果。

[2020-CVPR] Dynamic Region-Aware Convolution 论文简析相关推荐

  1. [2021-CVPR] Fine-grained Angular Contrastive Learning with Coarse Labels 论文简析

    [2021-CVPR] Fine-grained Angular Contrastive Learning with Coarse Labels 论文简析 论文地址:https://arxiv.org ...

  2. [2020-ECCV]PIPAL-a Large-Scale Image Quality Assessment Dataset for Perceptual Image Restoration论文简析

    [2020-ECCV] PIPAL: a Large-Scale Image Quality Assessment Dataset for Perceptual Image Restoration 论 ...

  3. [2021-ICCV] MUSIQ Multi-scale Image Quality Transformer 论文简析

    [2021-ICCV] MUSIQ: Multi-scale Image Quality Transformer 论文简析 论文:https://arxiv.org/abs/2108.05997 代码 ...

  4. [2021-CVPR] Jigsaw Clustering for Unsupervised Visual Representation Learning 论文简析及关键代码简析

    [2021-CVPR] Jigsaw Clustering for Unsupervised Visual Representation Learning 论文简析及关键代码简析 论文:https:/ ...

  5. [2020-AAAI] Revisiting Image Aesthetic Assessment via Self-Supervised Feature Learning 论文简析

    [2020-AAAI] Revisiting Image Aesthetic Assessment via Self-Supervised Feature Learning 论文简析 论文链接:htt ...

  6. SIGMOD 2021 论文简析:当公交网络连接满足通勤需求时的公共交通规划 Public Transport Planning

    SIGMOD-2021 论文简析:当公交网络连接满足通勤需求时的公共交通规划 - Public Transport Planning: When Transit Network Connectivit ...

  7. ICDE-2020 论文简析:空间众包中的预测任务分配 : 一种数据驱动的方法 Predictive Task Assignment in Spatial Crowdsourcing

    ICDE-2020 论文简析:空间众包中的预测任务分配:一种数据驱动的方法 Predictive Task Assignment in Spatial Crowdsourcing: A Data-dr ...

  8. 【重制ver】LesaNet论文简析(CVPR2019)——医学影像

    Holistic and Comprehensive Annotation of Clinically Significant Findings on Diverse CT Images: Learni ...

  9. ICDE-2020 论文简析:依赖感知空间众包中的任务分配 - Task Allocation in Dependency-aware Spatial Crowdsourcing

    ICDE-2020 论文简析:依赖感知空间众包中的任务分配 - Task Allocation in Dependency-aware Spatial Crowdsourcing 研究背景 研究目标 ...

最新文章

  1. 微信支付回调重复通知,正确的响应
  2. Python SQLite 用法
  3. windows下使用Jenkins搭建CI持续集成平台(版本源码管理使用SVN)
  4. 剑指offer-调整数组顺序使奇数位于偶数前面
  5. MSSQL SELECT(刚刚)新插入到表中的那条记录
  6. 第八届蓝桥杯省赛第二题---等差素数列
  7. jsp简单练习-简单的下拉表单
  8. live server插件怎么用_分享几个我日常使用的VS Code插件
  9. kali dvwa php mysql,kali linux 2.0下搭建DVWA渗透测试演练平台
  10. 谈谈研发PLM项目管理
  11. 【人工智能】推荐系统算法
  12. 云计算是商业模式创新而非技术创新
  13. 美国卡内基梅隆大学计算机科学生源质量,卡内基梅隆大学2020新生数据,计算机学院录取率堪比藤校!...
  14. c语言如何编辑数学公式,怎样用C语言编写数学公式
  15. 2019中南大学计算机考研分数线,中南大学2019年硕士研究生招生复试基本分数线...
  16. 新松机器人招股说明书_来看看绿的谐波招股书披露的重要信息
  17. 一种实用的笑脸检测方法
  18. Java web实现百度地图导航
  19. 车载平板android 002,用平板代替车载大屏,行得通吗?
  20. python3 sleep 延时秒 毫秒

热门文章

  1. RuoYi-Cloud 部署篇_02(windows环境 Oracle +nginx版本)
  2. flowable springboot 集成 flowableDMN_05
  3. 项目运行报'vue-cli-service' 不是内部或外部命令,也不是可运行的程序 或批处理文件“
  4. JavaScript-面向对象 class 继承
  5. Java-While循环
  6. android monkey优化,GitHub - baozhida/AndroidMonkey: 这个项目是CrashMonkey4Android可执行文件,修复了一些bug,做了一些优化...
  7. android顶部导航高度,Android特效——————底部/顶部导航条(Fragment+ViewPaper+XTabLayout)...
  8. php量表是什么心理量表,心理学中的“5大心理学测评量表”你知道多少?
  9. element upload预览_vue element upload实现图片本地预览
  10. 计算机网络静态路由大作业 3地互联,计算机网络-静态路由配置