共计 2915 个字符,预计需要花费 8 分钟才能阅读完成。
论文提出用于特色金字塔的高效特色交互办法 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 所示,借用高层的粗粒度特色 $X^c$ 来加强低层的细粒度特色 $X^f$。在计算时,类似度计算由点积替换为更高效的欧氏间隔 $F_{eud}$:
$q_i=f_q(X^f_i)$,$k_j=f_k(X^c_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 的输入维度与输出统一,可能自在嵌入到各种蕴含特色金字塔的检测算法中,从试验后果来看,成果不错。
如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】