code pytorch

原始的Non-local Block 结构图

1.Abstract

标准non-local存在的问题:

  1. 计算量过大
  2. GPU内存占用过高

作者提出了用于语义分割的非对称非局部神经网络,它具有两个突出的组成部分:非对称金字塔非局部块(APNB:大大减少了计算量和内存消耗)和非对称融合非局部块(AFNB)。

2.Introduction


之前的研究表明:
如果充分利用远程依赖关系,则可以提高性能。

对于标准的non-local 块,只要key分支和value分支的输出保持相同的大小,则非局部块的输出大小将保持不变。 考虑到这一点,如果我们只能从key分支和value分支中采样几个代表性的点,则有可能在不牺牲性能的情况下大大降低了时间复杂度。 所以将图中的N改成S(S<<N)。

3.Asymmetric Non-local Neural Network


3.1 Revisiting Non-local Block
  1. 输入特征X∈RC×H×W,使用三个1×1卷积Wφ,Wθ和Wγ将X变换为φ∈RCˆ×H×W
    θ∈RCˆ×H×W和γ∈RCˆ×H×W
  2. 展平为Cˆ×N的大小,其中N表示空间位置的总数,即N = H·W。求相似矩阵
    V∈RN×N
  3. 对V进行归一化,归一化函数f可以采用softmax,rescaling和none的形式。
  4. 对于γ中的每个位置,attention层的输出为

  5. 最终输出为

    其中也由1×1卷积实现的Wo用作加权参数,原始输入X,将通道尺寸从Cˆ恢复到C。
3.2. Asymmetric Pyramid Non-local Block

非局部网络有效地捕获了对语义分段至关重要的远程依赖关系。标准的非局部操作非常耗时且占用内存。显然,大矩阵乘法是非局部块效率低下的主要原因。

我们将N更改为另一个数字S(S << N),输出大小将保持不变,即


将N更改为一个小数S等效于从θ和γ采样几个代表点,而不是选择所有空间点,如图1所示。因此,计算复杂性可以大大减少

具体描述:

  1. 我们在θ和γ之后添加采样模块Pθ和Pγ,以采样几个稀疏的锚点,分别表示为
    θP∈RCˆ×S和γP∈RCˆ×S,其中S是采样的锚点数。

  2. 计算φ与锚点θP之间的相似度矩阵VP:

    注意,VP是大小为N×S的不对称矩阵。然后,VP通过与标准非局部块相同的归一化函数,得到统一的相似矩阵

  3. attention输出:


    这种不对称矩阵乘法会降低时间复杂度。但是,很难确保当S小时,性能不会同时下降太多。
    为了解决上述问题,我们在非局部块中嵌入金字塔池以增强全局表示,同时减少计算开销。


通过这样做,我们现在得出了不对称金字塔非本地块(APNB)的最终公式,如图3所示。 一个重要的变化是在θ和γ之后分别添加一个空间金字塔池模块以采样锚。 在图4中清楚地描述了该采样过程,其中在θ或γ之后应用了几个合并层,然后将四个合并结果展平并连接起来用作下一层的输入。

我们将空间金字塔池化模块表示为,其中上标n表示池化层输出大小的宽度(或高度)(经验上,宽度等于高度)。 在我们的模型中,我们设置n⊆{1,3,6,8}。 那么锚点的总数是

空间金字塔池提供了有关全局场景语义线索的足够的特征统计信息,以纠正由于减少的计算而导致的潜在性能下降。

3.3. Asymmetric Fusion Non-local Block

标准非局部块仅具有一个输入源,而FNB(Fusion Non-local Block)具有两个输入源:高级特征图Xh∈RCh×Nh和低级特征图Xl∈RCl×Nl
同样,使用1×1卷积将Xh和Xl变换为


然后,通过矩阵相乘来计算φh与θl之间的相似度矩阵
然后对VF进行归一化,得到统一的相似度矩阵

3.4. Network Architecture

ResNet-101作为我们的骨干网络,删除了最后两个下采样操作,并使用膨胀卷积来保存输入图像的最后两个阶段中的特征图。我们使用AFNB融合了Stage4和Stage5的功能。 随后将融合的特征与Stage5之后的特征图关联在一起,避免了AFNB无法产生准确的增强特征的情况。

ANN:Asymmetric Non-local Neural Networks for Semantic Segmentation相关推荐

  1. ANN:Asymmetric Non-local Neural Networks for Semantic Segmentation 文章解读

    <Asymmetric Non-local Neural Networks for Semantic Segmentation >文章解读 网络简介 文中提出了两个模块Asymmetric ...

  2. [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 ...

  3. 【FCN2015】Fully Convolutional Networks for Semantic Segmentation

    Fully Convolutional Networks for Semantic Segmentation 用于语义分割的全卷积网络 arXiv:1411.4038v2 [cs.CV] 8 Mar ...

  4. Fully Convolutional Networks for Semantic Segmentation (FCN)论文翻译和理解

    论文题目:Fully Convolutional Networks for Semantic Segmentation 论文来源:Fully Convolutional Networks for Se ...

  5. 【FCN】Fully Convolutional Networks for Semantic Segmentation学习

    论文翻译 又是一个看不懂原文,又看不懂翻译的论文. semantic segmentation 图像语义分割 就是预测每个像素所属的对象类别 语义分割是指像素级地识别图像,即标注出图像中每个像素所属的 ...

  6. FCN的学习及理解(Fully Convolutional Networks for Semantic Segmentation)

    大多数人接触"语义"都是在和文字相关的领域,或语音识别,期望机器能够识别你发出去的消息或简短的语音,然后给予你适当的反馈和回复.嗯,看到这里你应该已经猜到了,图像领域也是存在&qu ...

  7. 【论文翻译】Fully Convolutional Networks for Semantic Segmentation

    论文题目:Fully Convolutional Networks for Semantic Segmentation 论文来源:Fully Convolutional Networks for Se ...

  8. 论文笔记(FCN网络,语义分割):Fully Convolutional Networks for Semantic Segmentation

    FCN论文笔记:Fully Convolutional Networks for Semantic Segmentation 语义分割模型结构时序: FCN SegNet Dilated Convol ...

  9. Fully Convolutional Networks for Semantic Segmentation(FCN)阅读理解

    1. 作者介绍 在论文中声明 Jonathan Long 和 Evan Shelhamer 为共同一作,随后是 Trevor Darrell . 首先介绍 Jonathan Long,通过他的主页我们 ...

最新文章

  1. 如何kill同一个应用的所有进程
  2. springboot 搭建分布式_爱了!阿里巴巴内部出品“SpringBoot+微服务指南”,理论与实战...
  3. 离职交接文档_关于工作交接
  4. .NET/C# 获取一个正在运行的进程的命令行参数
  5. days to_days_Java2Days 2012:Java EE
  6. resopnse处理HTTP文件头
  7. JAVA8的双重循环怎么优化_Java8处理List的双层循环问题代码实例
  8. 秋季促销海报素材手机端模板,让打折季像诗一样
  9. halcon学习之图像分割
  10. crsctl stop crs 与 crsctl stop resources的区别
  11. 在DOS中使用系统还原工具
  12. Atitit 数据结构与常见文件元数据结构 目录 1. 分类 内部数据结构与外部存储数据结构 1 2. 编程语言内部数据结构 (堆栈 树 图等 1 2.1. 数据结构 (集合,列表,tree,map
  13. 微积分基本公式-牛顿莱布尼兹公式
  14. 团队协作OA解决方案
  15. 游百望山(记于17.09.05)
  16. 实验七 磁盘调度算法的模拟与实现
  17. 日本SUPER DELIVERY电商使用虚拟信用卡海淘购物攻略
  18. 数组——sort排序、reverse倒序
  19. 电视服务器绑上电池信号强吗,路由器上面绑电池,可以增加WiFi信号,真的有作用吗?...
  20. SQL Server从入门到精通(转)

热门文章

  1. 周期性行业是什么意思_周期股是什么意思?周期性高的行业有哪些
  2. Java网络 1.8 图片
  3. SpringMVC数据绑定全面示例(复杂对象,数组等)
  4. 上传图片或者视频进度条
  5. 悲情天才Walter Pitts—计算神经学,控制论和人工智能的诞生 1
  6. 打破壁垒,中兴新支点国产操作系统向所有用户免费使用
  7. 【5G核心网】 Handover procedures Execution phase切换流程执行阶段
  8. 08-操作系统之进程的状态(运行、就绪、阻塞、创建、终止)及转换(就绪->运行、运行->就绪、运行->阻塞、阻塞->就绪)
  9. CMake | 使用宏重用代码
  10. java毕业设计项目ssm+mysql实现的租车车辆管理系统汽车租赁出租[包运行成功]