热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

FPT:又是借鉴Transformer,这次多方向融合特征金字塔|ECCV2020

论文提出用于特征金字塔的高效特征交互方法FPT,包含3种精心设计的特征增强操作,分别用于借鉴层内特征进行增强、借鉴高层特征进行增强以及借鉴低层特征进行增强,FPT的输出维度与输入一

论文提出用于特征金字塔的高效特征交互方法FPT,包含3种精心设计的特征增强操作,分别用于借鉴层内特征进行增强、借鉴高层特征进行增强以及借鉴低层特征进行增强,FPT的输出维度与输入一致,能够自由嵌入到各种包含特征金字塔的检测算法中,从实验结果来看,效果不错



来源:晓飞的算法工程笔记 公众号


论文: Feature Pyramid Transformer



  • 论文地址:https://arxiv.org/abs/2007.09451

  • 论文代码:https://github.com/ZHANGDONG-NJUST/FPT


Introduction

  讲论文前先捋一下CNN网络结构相关的知识,论文的思想主要来自两个,一个是特征金字塔结构,一个是Non-local网络:



  • 首先是特征金字塔,如图1a,CNN网络以层级结构的形式逐层提取更丰富的特征,然后使用最后的特征层进行预测。但对于一些小物体而言,最后一层的特征图往往没有足够的像素点进行预测。为了更好地对不同大小的物体进行预测,人们提出图1b的金字塔特征,大物体使用高层的粗粒度特征,小物体使用底层的细粒度特征。对于一些pixel-level任务,比如语义分割,需要综合不同层的上下文信息进行细致的预测,所以就需要图1c的预测结构。

  • 其次是Non-local network,该网络借鉴了NLP模型的Self-attention思想,如图1d所示,能够借鉴特征图上的其它特征点来对当前特征点进行增强。

  基于上面两个思想,论文提出了FPT(Feature Pyramid Transformer),结构如图1e所示,核心在特征金字塔上进行类似Non-local的特征增强,然后再使用多层特征进行预测。FPT设计了3种特征增强操作,也是论文的主要贡献:



  • ST(Self-Transformer):跟non-local操作一样在对当前层进行特征增强。

  • GT(Grounding Transformer):这是top-down形式的non-local操作,将高层特征(尺寸小的)分别用于低层特征的增强。

  • RT(Rendering Transformer):这是bottom-up形式的non-local操作,将低层特征(尺寸大的)分别用于高层特征的增强。


Feature Pyramid Transformer

  FPT的特征转换流程如图2所示,输入为金字塔特征,首先对每层特征分别进行ST、GT、RT特征增强得到多个增强后的特征,然后对增强的特征按尺寸进行排序,将相同大小的特征concate到一起,通过卷积将增强后的特征维度恢复到输入时的相同维度。


Non-Local Interaction Revisited

  由于论文提出的特征增强操作与non-local操作有很大关系,这里需要先介绍下non-local的思想。常规non-local操作的输入为单特征图$X$上的queries(Q), keys(K)和values(V),输出与$X$尺寸相同的增强特征$\hat{X}$:

$q_i=f_q(X_i)\in Q$,$k_j=f_k(X_j)\in K$,$v_j=f_v(X_j)\in V$,$f_q(\cdot)$、$f_k(\cdot)$和$f_v(\cdot)$为对应的线性变换,$X_i$和$X_j$为特征图$X$上的第$i{th}$和$j{th}$位置上的特征,$F_{sim}$为相似度函数,默认为点积,$F_{nom}$为归一化函数,默认为softmax,$F_{mul}$为权重集成函数,默认为矩阵相乘,$\hat{X}_i$为输出特征图$\hat{X}$的第$i^{th}$位置上的特征。


Self-Transformer

  ST为改进版non-local操作,如图1a所示,主要有两点不同:



  • 将$q_i$和$k_j$分为$\mathcal{N}$部分,然后计算每部分的每组$q_{i,n}$和$k_{j,n}$相似度分数$s^n_{i,j}$

  • 相似度计算使用改进的MoS(Mixture of Softmaxes)函数$F_{mos}$:



    $\pi_n=Softmax(w^T_n \overline{k})$为特征集成时的权重,$w_n$为可学习的线性变换,$\overline{k}$为所有$k_j$的均值。

  基于上述的改进,ST定义为:


Grounding Transformer

  GT是top-down形式的non-local操作,如图2c所示,借用高层的粗粒度特征$Xc$来增强低层的细粒度特征$Xf$。在计算时,相似度计算由点积替换为更高效的欧氏距离$F_{eud}$:

$q_i=f_q(Xf_i)$,$k_j=f_k(Xc_j)$。GT跟ST一样将$q_i$和$k_j$分为$\mathcal{N}$部分,完整的定义为:

  在特征金字塔中,高低层特征分别包含图片的全局和局部信息,而对于语义分割任务,不需要关注过多高层的全局信息,更多的是需要query位置附近的上下文信息,所以图3b的跨层卷积对语义分割任务十分有效。由于GT操作是全局计算,所以论文提出了局部约束(Locality-constrained)的GT操作LGT,如图3c所示,每个$q_i$只与高层局部区域的$k_j$和$v_j$进行计算。高层局部区域以$q_i$对应的位置为中心,边长(square size)为固定值。如果高层的局部区域越出了特征图,则使用0代替。


Rendering Transformer

  与GT相反,RT是bottom-up形式的non-local操作,借用低层的细粒度特征来增强高层的粗粒度特征。RT也是局部约束(Locality-constrained)的,以channel-wise进行计算的,定义高层特征为$Q$,低层特征为$K$和$V$,计算步骤包含如下:



  • 对$K$和进行全局平均池化得到权重$w$。

  • 使用权重$w$对$Q$进行加权得到$Q_{att}$。

  • 对$V$进行带stride的$3\times 3$卷积下采样得到$V_{dow}$。

  • 使用$3\times 3$卷积对$Q_{att}$进行调整,并与$V_{dow}$相加,再过一层$3\times 3$卷积后输出。

  完整RT的定义为:

$F_{att}(\cdot)$为外积函数,$F_{scov}(\cdot)$为带stride的$3\times 3$卷积,$F_{conv}(\cdot)$为用于调整的$3\times 3$卷积,$F_{add}(\cdot)$为包含$3\times 3$卷积的特征相加函数。


Experiments

  在COCO上与其它算法的对比实验。

  在多个数据集上的进行语义分割性能对比。


Conclusion

  论文提出用于特征金字塔的高效特征交互方法FPT,包含3种精心设计的特征增强操作,分别用于借鉴层内特征进行增强、借鉴高层特征进行增强以及借鉴低层特征进行增强,FPT的输出维度与输入一致,能够自由嵌入到各种包含特征金字塔的检测算法中,从实验结果来看,效果不错。






如果本文对你有帮助,麻烦点个赞或在看呗~

更多内容请关注 微信公众号【晓飞的算法工程笔记】


work-life balance.



推荐阅读
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • IhaveconfiguredanactionforaremotenotificationwhenitarrivestomyiOsapp.Iwanttwodiff ... [详细]
  • HTML学习02 图像标签的使用和属性
    本文介绍了HTML中图像标签的使用和属性,包括定义图像、定义图像地图、使用源属性和替换文本属性。同时提供了相关实例和注意事项,帮助读者更好地理解和应用图像标签。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • ALTERTABLE通过更改、添加、除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义。语法ALTERTABLEtable{[ALTERCOLUMNcolu ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • 手把手教你使用GraphPad Prism和Excel绘制回归分析结果的森林图
    本文介绍了使用GraphPad Prism和Excel绘制回归分析结果的森林图的方法。通过展示森林图,可以更加直观地将回归分析结果可视化。GraphPad Prism是一款专门为医学专业人士设计的绘图软件,同时也兼顾统计分析的功能,操作便捷,可以帮助科研人员轻松绘制出高质量的专业图形。文章以一篇发表在JACC杂志上的研究为例,利用其中的多因素回归分析结果来绘制森林图。通过本文的指导,读者可以学会如何使用GraphPad Prism和Excel绘制回归分析结果的森林图。 ... [详细]
  • 本文整理了Java中org.apache.pig.backend.executionengine.ExecException.<init>()方法的一些代码 ... [详细]
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
  • 动态多点××× 单云双HUB
    动态多点是一个高扩展的IPSEC解决方案传统的ipsecS2S有如下劣势1.中心站点配置量大,无论是采用经典ipsec***还是采用greoveripsec多一个分支 ... [详细]
  • 一、命名规范1、变量--首写是小写字母。变量用来储存游戏状态中的任何信息。2、函数--首写是大写字母。函数是一个代码块,只需要写一次,在需要时候可以被再 ... [详细]
author-avatar
时尚淘宝交__流站
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有