【文献阅读】CCNet: Criss-Cross Attention for Semantic Segmentation
论文链接:https://arxiv.org/pdf/1811.11721.pdf
国内镜像:https://xxx.itp.ac.cn/pdf/1811.11721.pdf
FCN由于固定的几何结构,它们天生局限于局部的接受域和短距离的上下文信息。
全图像依赖提供了有用的上下文信息,有利于视觉理解问题。
- 基于空洞卷积的方法从周围的几个像素点收集信息,实际上并不能生成密集的上下文信息
① Rethinking atrous convolution for semantic image segmentation
② Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution,and fully connected crfs
③ Context contrasted feature and gated multiscale aggregation for scene segmentation - 基于池化的方法以非自适应的方式聚合上下文信息,所有图像像素都采用同构的上下文信息,不能满足不同像素需要不同上下文依赖的要求
① Pyramid scene parsing network
② Context encoding for semantic segmentation - 基于注意力的方法需要生成巨大的attention map来测量每个像素对之间的关系,它们在时间和空间上的复杂性都是O((H×W)×(H×W))
① Psanet: Pointwise spatial attention network for scene parsing
② Non-local neural networks
③ Long short-term memory-networks for machine reading
④ Attention is all you need
主要优势:
- GPU内存友好。与non-local block相比,提出的周期性交叉注意模块需要11×更少的GPU内存使用
- 计算效率高。周期的交叉注意力在计算全图依赖时,与non-local block相比减少了85%的FLOPs
- SOTA
用连续稀疏注意力代替non-local networks中的单层稠密注意力。
使用了两个连续的、十字交叉的注意力模块,其中每个位置只有(H+W - 1)的稀疏连接。
分解策略大大降低了时间和空间复杂度,从O((H×W)×(H×W))减少到O((H×W)×(H+W−1))。
CCNet vs. Non-Local vs. GCN
在上下文信息聚合方面,GCN只有中心点才能感知到所有像素点的上下文信息。Non-local Network和CCNet保证一个像素在任何位置都能从所有像素中感知上下文信息。GCN可将方形卷积运算分解为与CCNet相关的水平和垂直的线性卷积运算,CCNet采用纵横交叉的方式获取上下文信息,比水平-垂直分离方式更有效。
CCNet的提出是为了模仿Non-local Network,通过一个更有效、更高效的递归交叉注意模块获取密集的上下文信息,其中不相似的特征得到的注意权重较低,而高注意权重的特征是相似的
网络设计
整体架构:
首先用CNN提取特征,得到特征图X;
对于给定的X,使用卷积层来获得降维的特征图H;
然后,将特征图H输入到交叉注意模块中,生成新的特征图H’,H’为其交叉路径中的每个聚合了上下文信息的像素;
为了获得更丰富、更密集的上下文信息,再次将H’输入到十字交叉注意模块中,输出H”。如此,特征图H’‘中的每个位置实际上收集了所有像素的信息;前后两个交叉的注意力模块共享相同的参数,避免添加过多的额外参数
然后,concat H’’ 和X,紧跟一个或多个卷积层,bn层和激活层;
最后,将融合的特征送入segmentation layer,来预测标签。
Criss-Cross Attention
输入特征图HHH,分别用两个1x1卷积生成特征图QQQ和KKK,{Q,K}∈RC′×W×H\{Q, K\}\in \mathbb{R}^{C^{'} \times W \times H}{Q,K}∈RC′×W×H,C′C^{'}C′小于CCC,减小维度。
Affinity operatioin:
di,u=QuΩi,uTd_{i,u}=Q_{u} \Omega_{i,u}^T di,u=QuΩi,uT
其中,QuQ_{u}Qu是特征图QQQ上uuu点处的向量,Qu∈RC′Q_{u} \in \mathbb{R}^{C^{'}}Qu∈RC′;Ωu\Omega_{u}Ωu是特征图KKK上与uuu点同行同列的一组向量,Ωu∈R(H+W−1)×C′\Omega_{u} \in \mathbb{R} ^{(H+W-1) \times C^{'}}Ωu∈R(H+W−1)×C′,Ωi,u∈RC′\Omega_{i,u} \in \mathbb{R}^{C^{'}}Ωi,u∈RC′是Ωu\Omega_{u}Ωu的第iii个元素。
动图如下:
此时,D∈R(H+W−1)×W×HD\in\mathbb{R}^{(H+W-1)\times W \times H}D∈R(H+W−1)×W×H。接着对DDD在channel维做softmax,即可得到attention map A。
用1x1卷积生成特征图VVV,V∈RC×H×WV \in \mathbb{R}^{C \times H \times W}V∈RC×H×W。
Aggregation operation:
Hu′=∑i∈∣Φu∣Ai,uΦi,u+HuH_{u}^{'}=\sum _{i \in |\Phi_{u}|} A_{i,u} \Phi_{i,u}+H_{u} Hu′=i∈∣Φu∣∑Ai,uΦi,u+Hu
其中,Φu\Phi_{u}Φu是特征图VVV上与uuu点同行同列的一组向量,Φu∈R(H+W−1)×C\Phi_{u} \in \mathbb{R}^{(H+W-1)\times C}Φu∈R(H+W−1)×C。
动图如下:
Recurrent Criss-Cross Attention (RCCA)
在第一个循环中,交叉注意以从CNN模型中提取的feature maps H作为输入,输出feature maps H’,其中H和H ‘形状相同;
在第二次循环中,交叉注意以特征图H’为输入,以特征图H’'为输出。
一次CCA仅能捕捉到同行同列的信息,两次就可以捕获到全图其他所有点的信息了。
将Ai,x,yA_{i,x,y}Ai,x,y与点x′x^{'}x′、y′y^{'}y′间的权重用公式表示为:
Ai,x,y=f(A,x,y,x′,y′)A_{i,x,y}=f(A,x,y,x^{'},y^{'})Ai,x,y=f(A,x,y,x′,y′)
则两次CCA的信息传递如下:
Hu′′←[f(A,ux,θy,θx,θy)⋅f(A′,ux,uy,ux,θy)+f(A,θx,uy,θx,θy)⋅f(A′,ux,uy,θx,uy)]H_{u}^{''} \leftarrow [f(A,u_{x},\theta_{y},\theta_{x},\theta_{y}) \cdot f(A^{'},u_{x}, u_{y},u_{x},\theta_{y})+f(A,\theta_{x},u_{y},\theta_{x},\theta_{y}) \cdot f(A^{'},u_{x},u_{y},\theta_{x},u_{y})] Hu′′←[f(A,ux,θy,θx,θy)⋅f(A′,ux,uy,ux,θy)+f(A,θx,uy,θx,θy)⋅f(A′,ux,uy,θx,uy)]
实验结果
Cityscapes
ADE20K
COCO
【文献阅读】CCNet: Criss-Cross Attention for Semantic Segmentation相关推荐
- CCNet: Criss-Cross Attention for Semantic Segmentation论文读书笔记
CCNet: Criss-Cross Attention for Semantic Segmentation读书笔记 Criss-Cross Network(CCNet): 作用: 用来获得上下文信息 ...
- 文献阅读10期:ATTENTION, LEARN TO SOLVE ROUTING PROBLEMS!
[ 文献阅读·路径规划 ] ATTENTION, LEARN TO SOLVE ROUTING PROBLEMS! [1] 推荐理由:这篇应该不用多说了,ATTENTION模型做路径规划,算是一篇Mi ...
- 【Few-Shot Segmentation论文阅读笔记】PANet: Few-Shot Image Semantic Segmentation with Prototype , ICCV, 2019
Abstract Target Question: Few-shot Segmentation 本文主要工作: 基于metric-learning的思想,本文提出了PANet(Prototype Al ...
- 论文阅读 | Residual Conv-Deconv Grid Network for Semantic Segmentation
GridNet发表在BMVC2017,用于语义分割,一篇很早期的文章 论文地址:[here] (文章没有给代码地址,但是里面的网络设计讲的很详细,可以自己复现出来,github上也有很多别人复现的代码 ...
- 论文阅读 (88):Adversarial Examples for Semantic Segmentation and Object Detection
文章目录 1. 概述 2 算法 2.1 稠密对抗生成 2.2 选择用于检测的输入提案 1. 概述 题目:用于语义分割和目标检测的对抗样本 核心点:将对抗性样本的概念扩展到语义分割和对象检测,并提出稠密 ...
- 【文献阅读】A2-Nets: Double Attention Networks
原文链接:https://arxiv.org/abs/1810.11579 学习捕获长距离关系是图像/视频识别的基础.现有的CNN模型一般依赖于增加深度来对这种关系进行建模,效率非常低.作者提出了&q ...
- [论文阅读] Cost-Effective REgion-based Active Learning for Semantic Segmentation
论文地址:https://arxiv.org/abs/1810.09726 发表于:BMVC'18 Abstract 最先进的语义分割方法在有监督的情况下使用大量的标注训练图像语料库进行训练.然而,与 ...
- 【论文阅读】Fully Convolutional Networks for Semantic Segmentation【CVPR,PAMI】
摘要 我们的研究表明,卷积网络通过端到端.像素到像素的训练,在语义分割方面比之前的最佳结果有所提高 我们的关键见解是构建完全卷积网络,它接受任意大小的输入,并产生相应大小的输出,并具有有效的推理和学习 ...
- 【论文阅读】Structured Knowledge Distillation for Semantic Segmentation
概述 这篇论文来自CVPR2019 Oral. 论文的出发点:语义分割的模型往往很难兼顾速度与精度,也因此语义分割的网络分为两类,论文中描述为 cumbersome segmentation netw ...
- [ICCV2019论文阅读]Asymmetric Non-local Neural Networks for Semantic Segmentation
作者:Zhen Zhu, Mengde Xu, Song Bai, Tengteng Huang, Xiang Bai 机构:Huazhong University of Science and Te ...
最新文章
- 原型开发、模型构建和设计反馈在线工具
- 帮奶牛找对象?华为云AI黑科技大揭秘
- Android Studio 提示Error running app: No Android facet found for app
- 这款网络排查工具,堪称神器!
- ckeditor 图片上传_关于上传中国鸟类图库和哺乳动物图库物种数量及称号的最新规定...
- 【转】C++标准转换运算符static_cast
- 顺利搭建了oracle
- 零基础带你学习MySQL—Insert语句以及注意事项(七)
- 设计模式之六 --- 抽象工厂模式(Abstract Factory)
- WCF Error: 客户端配置部分中,找不到引用协定{0}的默认终结点元素……
- POJ 3257 Cow Roller Coaster 二维背包
- java 流水账号生成器_Java之流水号生成器(示例代码)
- 正二十面体的各个面位置点
- 因机构系统维护服务暂不可用_因合作方系统维护,暂时无法使用是什么意思?...
- Tableau文件管理
- SQL和Oracle数据库备份
- 2种RamDisk的读写速度
- 10个Python图像免费处理工具,非常全了
- Sql - EXISTS 用于子查询
- 白领做全身体操可有效防治鼠标手