前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ScarfNet: Multi-scale Features with Deeply Fused and Redistributed Semantics

ScarfNet: Multi-scale Features with Deeply Fused and Redistributed Semantics

作者头像
狼啸风云
修改2022-09-02 22:35:20
6120
修改2022-09-02 22:35:20
举报

1、已经存在的特征金字塔方法

为了检测到变化尺寸的目标,基于特征金字塔的检测器,在不同特征层之间,基于在k特征图上的决策,例如下图(a)所示,基线检测器使用在特征层 上的特征图X_l

X_{l}=B_{l}\left(X_{l-1}\right)
\text { DetectionOup }=D_{l}\left(X_{l}\right)

其中l=n-k+1, \ldots, n 。其中X_{1: n-k}\left(=\left[X_{1}, X_{2}, \ldots, X_{n-k}\right]\right) 是骨干网络产生的特征图,X_{n-k+1: n} 是从后来的卷积层由底向上得到。

B_{l}(\cdot)代表了第l个卷积层执行的操作。D_{l}(\cdot) 代表检测子网络,通常采用一个单一的3 \times 3 的卷积层来产生分类和框回归的输出。由于从金字塔层输入的深度不同,较浅的底层特征缺乏语义信息。

为了减少不同金字塔层之间的语义差距,有一些工作提出了使用横向连接的自顶向下结构,如图(c)所示。这种结构使用增加分辨率的方式使来自顶层的语义信息传播到底层。通过横向连接保持较高的空间分辨率。第l层的特征图X'_l 产生的方式为

X_{l}^{\prime}=L_{l}\left(X_{l}\right) \oplus T_{l}\left(X_{l+1}^{\prime}\right)

\text { Detection Outputs }=D_{l}\left(X_{l}^{\prime}\right)

其中l=n-k+1, \ldots, nL_{l}(\cdot) 是第l层的横向连接,T_{l}(\cdot) 是第l的自顶向下的连接。操作符\oplus 代表两个特征图的组合,例如通道连接和相加。不同的方法仅仅采用了不同的T_{l}(\cdot)T_l(\cdot) 。对特征金字塔这些方法比较抽象,他们依然有一些限制。因为自顶向下的连接以没有方向的方式传播语义,这些语义在各层上是不均匀分布的。结果是金字塔特征层之间的语义分隔依然存在。接下来,在所有特征层上,特征的单向连接处理对产生增加语义信息的能力有限制。为了解决这个问题我们开发了一个使用biLSTM在所有特征层之间以单向横向连接产生深度融合的语义。接下来的章节将展示我们提出方法的细节。

3.2、ScarfNet:整个结构

ScarfNet用两步来解决语义信息的不符:(1)、使用biLSTM来组合打散的语义信息。(2)、使用逐通道注意模块将融合的特征重新分布到每个特征层。整个结构如下图所示:

将第k个金字塔特征X_{n-k+1: n} 作为输入,ScarfNet产生第l个特征图X'_l 为:

\begin{aligned} X_{l}^{\prime}=& \operatorname{ScarfNet}_{l}\left(X_{n-k+1: n}\right) \\ =& X_{l} \oplus \operatorname{ArNet}_{l}\left(\operatorname{ScNet}\left(X_{n-k+1: n}\right)\right) \\ & \text { Detection Outputs }=D_{l}\left(X_{l}^{\prime}\right) \end{aligned}

其中l=n-k+1, \ldots, n ,如式(6)所示ScarfNet由两部分组成:语义重组网络(ScNet)和注意重分布网络(ArNet)。首先,ScNet通过biLSTM来融合金字塔特征X_{n-k+1: n} ,并且用融合的语义产生输出特征。第二,ArNet收集从biLSTM的输出特征,并且用逐通道注意力来产生高质量的语义多尺度特征,连接到原始的特征金子塔上。最终,结果特征图用检测子网络D_{l}(\cdot) 单独处理来产生最终的检测结果。

3、语义组合网络(ScNet)

通过ScNet产生的特征图X_{n-k+1: n}^{f} 为:

X_{n-k+1: n}^{f}=\operatorname{ScNet}\left(X_{n-k+1: n}\right)

X_l^f是第l层的输出特征图,细节如下图所示,描述了ScNet的细节。ScNet使用biLSTM在不同的金字塔之间均匀的融合打散的特征。biLSTM通过门函数,在多尺度层上选择融合语义信息。ScNet有匹配模块和biLSTM组成。匹配模块首先对金字塔特征X_{n-k+1: n} 的尺寸进行变换,使他们的尺寸相同。然后使用1\times 1 的卷积层来调整通道维度。结果,匹配模块产生通道数和尺寸都相同的特征图。尺寸变换操作通过双线性插值来完成。biLSTM和参考文献[23]相同。基于全局池化的结果,对输入连接和门参数的计算使用卷积层,来显著的节省计算。

特别地,biLSTM的操作可以简化为:

\begin{array}{c} \bar{X}_{l}=\text { GlobalAveragePooling }\left(X_{l}\right) \\ \bar{X}_{l-1}^{f}=\text { GlobalAveragePooling }\left(X_{l-1}^{f}\right) \\ i_{l}=\sigma\left(W_{x i} \bar{X}_{l}+W_{x^{f} i} \bar{X}_{l-1}^{f}+b_{i}\right) \\ f_{l}=\sigma\left(W_{x f} \bar{X}_{l}+W_{x^{f} f} \bar{X}_{l-1}^{f}+b_{f}\right) \\ o_{l}=\sigma\left(W_{x o} \bar{X}_{l}+W_{x^{f} o} \bar{X}_{l-1}^{f}+b_{o}\right) \\ G_{l}=\tanh \left(W_{x c} * X_{l}+W_{x^{f} c} * X_{l-1}^{f}+b_{c}\right) \\ C_{t}=X_{l} \circ C_{l-1}+i_{l} \circ G_{l} \\ X_{l}^{f}=o_{l} \circ \tanh \left(C_{l}\right) \end{array}

其中 \circ 代表哈达玛积,biLSTM的状态在前向和后向都更新。上式为前向更新,后向更新的表达式类似。

4、注意力重分布网络(ArNet)

ArNet产生高层的语义特征图,连接到原始的金字塔特征图X_l 上,表达式为:

X_{l}^{\prime}=X_{l} \oplus \operatorname{ArNet}_{l}\left(X_{n-k+1: n}^{f}\right)

操作符\oplus 代表主通道连接。ArNet的具体结构如图4所示。ArNet连接biLSTM的输出X_{n-k+1: n}^{f} ,对他们应用逐通道注意力机制。注意力机制的权重通过构建1\times 1 的向量获得,具体方式为使用全局平均池化,并且将将它传递到两个全连接层,最后再接一个sigmoid函数。注意,这些逐通道注意力模块允许选择将语义传播到金字塔的每层。一旦注意力的权重使用了,匹配模块将特征图的结果进行下采样,并且应用1\times 1 的卷积来匹配通道维数,利用这些原始的金字塔特征。最终,输出的匹配模块连接到原始的特征图X_l 上,来产生高的语义特征X'_l

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-04-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、已经存在的特征金字塔方法
  • 3.2、ScarfNet:整个结构
  • 3、语义组合网络(ScNet)
  • 4、注意力重分布网络(ArNet)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档