文章:CCNet: Criss-Cross Attention for Semantic Segmentation(ICCV2019

论文地址:https://arxiv.org/abs/1811.11721

论文代码:https://github.com/speedinghzl/CCNet

Abstract:

对于每个像素采用十字的路径来获取上下文信息;再进一步递归使得每个像素都能获得全局所有像素点的long-range depandence。(本文的方法是一种获得上下文信息的方法)

优点:

1.GPU内存友好

2.高计算效率

3.SOTA

Cityscapes ADE20Kmiou: 81.4, 45.22

代码:https://github.com/speedinghzl/CCNet.

Intro:

作者认为基于FCN的很多model都存在受局限于感受域与short-range上下文信息的情况;不能获得充足的环境信息。

为了扩大感受域,Deeplab用ASPP,PSPNet用金字塔池化模型,PSANet用attention map;但是空洞卷积只能从少数周围的像素中得到稀疏的信息;而基于池化的方法是无适应的方法、从所有像素中获得同质的环境信息,不能满足不同的像素需要不同的环境依赖的需求。全局的attention map难免计算量颇大((H*W)*(H*W))

【语义分割】Paper Reading-CCNet

如上图所示,a是Non-local block的方法,b是作者提出的以十字路径的attention module;上面的分支是attention maps,下面的分支是feature maps。时间空间复杂度从O((H×W)×(H×W)) 到O((H×W)×(H + W − 1)).

(residual connections are ignored.)

Contribution:

1.提出十字的attention module

2.迭代两次十字attention module获得Cityscapes ADE20k MSCOCO的领先效果

模型结构图:

【语义分割】Paper Reading-CCNet

如何获取X? 用DCNN获取fearture map,去掉最后的两层下采样和使用空洞卷积来使得X是1/8的原图大小;

然后降维X至H;然后H进入CCA module;第一个CCA出来的H‘只有水平和垂直方向的上下文信息,再将它送入CCA一遍,得到所有像素点的信息;两个CCA是share参数的;

CCA的细节图:(具体操作见文中)

【语义分割】Paper Reading-CCNet【语义分割】Paper Reading-CCNet

通过这样CCA的迭代,来实现一个像素对全局所有像素点的依赖,文中举了一个例子:(当迭代数为2时)

【语义分割】Paper Reading-CCNet

在Cityscape上可以达到state-of-the-art的效果;(validation miou81.3 test81.4)

(backbone为ResNet-101)

【语义分割】Paper Reading-CCNet

作者对比了其它的得到上下文信息的方法,可以看到CCNet比ASPP的效果还要好一些。

相关文章:

  • 2022-01-04
  • 2021-12-29
  • 2021-05-06
  • 2021-10-09
  • 2021-09-26
  • 2021-12-02
  • 2021-04-01
  • 2021-08-03
猜你喜欢
  • 2021-12-28
  • 2021-06-19
  • 2021-11-21
  • 2021-07-29
  • 2021-09-22
  • 2021-09-02
  • 2021-06-13
相关资源
相似解决方案