原文链接:https://bbs.cvmart.net/articles/3099
专注计算机视觉前沿资讯和技术干货
微信公众号:极市平台
官网:https://www.cvmart.net/
--------
论文 https://arxiv.org/pdf/2008.00490.pdf
代码 https://github.com/CWanli/RecoNet
香港中文大学等提出语义分割新方法:张量低秩重建。
提出背景:上下文信息在语义分割的作用很重要。目前的两种方法:一种是基于非局部自注意力对上下文信息进行收集。这种方法是用2D相似度矩阵描述3D上下文信息,但是这种空间压缩会导致通道方面的注意力的丢失。另一种方法是直接对上下文信息建模而不进行压缩,然而目前仍然没有成熟的方法。
基于以上两点,作者团队提出了一种对3D上下文表示建模的新方法,该方法不仅避免了空间压缩,而且还解决了高秩难题。作者的方法受到了张量正则-双峰分解理论(tensor canonical-polyadic decomposition theory)的启发。设计了一个从低到高的上下文重建框架。
大致流程:首先引入张量生成模块(TGM),该模块生成许多秩-1张量以捕获上下文特征片段,然后将秩-1张量送入本文的张量重构模块(TRM)进行处理,恢复高秩上下文特征。
最后通过实验证明,在各种公共数据集上都达到了SOTA。此外,在计算成本上,本文提出的方法的计算成本要低100倍以上。
1.引言
语义分割旨在给定一张图片的基础上对其进行像素级别的预测。这项任务的起始研究是FCN,即全卷积网络,另外还有一些其他的方法也达到了很好的效果。这些方法通过对上下文张量的元素重要性进行评级来对上下文表示建模。然而,这种方法得到的上下文特征缺少通道注意力,而通道注意力则是上下文的关键部分。
解决此问题的一个直观想法是直接构建上下文而不是使用2D相似度特征图。 然而,由于上下文特征的高秩属性,这种方法面临着很大困难。
因此,作者受到张量正则-双峰分解理论的启发,即,一个高阶张量可以表示为秩-1张量的组合。提出一种在不需要逐通道空间压缩的情况下对高秩上下文信息进行建模。图1表示整体流程
基本思想是:首先使用一系列低秩张量来收集上下文特征的片段,然后将其重建以重构细粒度的上下文特征。
本文的框架分为两个部分:秩-1张量生成模块(TGM)和高秩张量重建模块(TRM)
TGM模块:旨在通道,高度和宽度维度上生成秩-1张量,从而在具有低秩约束的不同视图中探索上下文特征。
TRM模块:采用张量规范-多态(CP)重构来重建高秩注意力特征图,其中基于不同视角的秩-1张量挖掘共现上下文信息。
本文的具体贡献是:
1.揭示上下文建模的新途径,即上下文从低秩到高秩的重建。
2.开发了新的语义分割框架RecoNet,该框架通过张量CP重建来探索上下文信息。 它不仅保持了空间和通道方面的注意力,而且还解决了高秩困难。
3.进行广泛的实验,将所提出的方法与其他各种公开数据集上的方法进行比较,从而获得显着的性能提升。 此外,RecoNet的计算成本也更低。
2.方法
2.1总览
受CP分解理论的启发,作者将上下文信息的建模分解为一系列低秩问题,这些低秩问题更易于处理。
模型的流程图如图2所示。模型由低阶张量生成模块(TGM),高阶张量重构模块(TRM)和全局池化模块(GPM)组成,以在空间和通道维度上获取全局上下文。 在语义标签预测之前使用双线性插值对模型输出进行上采样。
图 2
形式化定义: 假设在C / H / W方向上有3r个向量 v c i ∈ R C × 1 × 1 , v h i ∈ R 1 × H × 1 v_{ci}∈R^{C×1×1},v_{hi}∈R^{1×H×1} vci∈RC×1×1,vhi∈R1×H×1和 v w i ∈ R 1 × 1 × W v_{wi}∈R^{1×1×W} vwi∈R1×1×W,其中 i ∈ r i∈r i∈r和r是张量的秩。这些向量是 A ∈ R C × H × W A∈R^{C×H×W} A∈RC×H×W的CP分解片段,然后将张量CP 秩-r重建定义为:
其中, λ i λ_i λi是比例因子。
2.2 张量生成模块
作者首先给出基本定义,然后解释如何得到低秩张量。
上下文分片 定义上下文片段作为张量生成模块的输出,它指一些在通道,高度和宽度维度的秩1向量 v c i v_{ci} vci, v h i v_{hi} vhi和 v w i v_{wi} vwi。 每个上下文片段都包含一部分上下文信息。
特征生成器 定义三个特征生成器:通道生成器,高度生成器和宽度生成器。 每个生成器由Pool-Conv-Sigmoid序列组成。 在特征生成器中使用全局平均池化,以在C / H / W方向上获取全局上下文表示。
上下文分片生成 为了学习三个维度的上下文信息片段,在输入特征的顶部应用通道,高度和宽度生成器。 重复此过程r次,获得3r个可学习向量 v c i ∈ R C × 1 × 1 , v h i ∈ R 1 × H × 1 v_{ci}∈R^{C×1×1},v_{hi}∈R^{1×H×1} vci∈RC×1×1,vhi∈R1×H×1和 v w i ∈ R 1 × 1 × W v_{wi}∈R^{1×1×W} vwi∈R1×1×W,其中 i ∈ r i∈r i∈r 。所有向量均使用独立的卷积核生成。 每个向量都学习一部分上下文信息,并作为上下文片段输出。 TGM如图3所示。
TGM的非线性 添加非线性有两个原因。 首先,每个重新缩放的元素都可以看作是某种上下文特征的权重,它满足了注意力的定义。 其次,所有上下文片段都不应是线性相关的,以便它们中的每一个都可以代表不同的信息。
2.3 张量生成模块
这个部分主要介绍上下文重建与聚合的流程。整个重建过程基于公式1。首先来看上下文聚合
上下文聚合 TRM的目标是获得3D注意力特征图
A
∈
R
C
×
H
×
W
A∈R^{C×H×W}
A∈RC×H×W,从而在空间和通道注意力上保持响应。上下文特征是按元素乘积获得的。 给定输入特征
X
=
{
x
1
,
x
2
,
.
.
.
,
x
C
H
W
}
X = \{x_1,x_2,... ,x_{CHW}\}
X={x1,x2,...,xCHW}和上下文注意力特征图
A
=
{
a
1
,
a
2
,
.
.
.
,
a
C
H
W
}
A =\{a_1,a_2,... ,a_{CHW} \}
A={a1,a2,...,aCHW} ,细粒度的上下文特征
Y
=
{
y
1
,
y
2
,
.
.
.
,
y
C
H
W
}
Y = \{y_1,y_2,... ,y_{CHW}\}
Y={y1,y2,...,yCHW}则由下式给出:
其中每个 a i ∈ A a_i ∈ A ai∈A表示被激活的 x i ∈ X x_i ∈ X xi∈X的扩展。
低秩重建 张量重建模块为了处理上下文的高秩属性。 TRM分为两步:首先,三个上下文分片
v
c
1
∈
R
C
×
1
×
1
,
v
h
1
∈
R
1
×
H
×
1
,
v
w
1
∈
R
1
×
1
×
W
v_{c1} ∈ R^{C×1×1},v_{h1} ∈ R^{1×H×1} , v_{w1} ∈ R^{1×1×W}
vc1∈RC×1×1,vh1∈R1×H×1,vw1∈R1×1×W合成一个秩-1子注意力特征图
A
1
A_1
A1。(每个子注意力特征图表示一个低秩上下文信息)这个子注意力特征图表示3D上下文特征的一部分。然后,其他的上下文分片以同样的方式重建。最后使用权重均值聚合所有的子注意力特征图得到高秩张量:
其中 λ i ∈ ( 0 , 1 ) λ_i ∈ (0, 1) λi∈(0,1)是可学习的正则化因子。通过公式2,3可以得到空间和通道细粒度的上下文特征。
2.4 全局池化模块
全局池化模块由一个全局平均池化操作和一个1x1卷积组成,旨在学习空间和通道两个维度的上下文特征。
2.5 网络细节
这里用ResNet作为骨干网络,在Res-4和Res-5输出的结果后使用膨胀策略,Res-5的输出特征标记为X,将TGM+TRM和GPM放到X的顶部。设置权重α为0.2,损失函数如下:
最后将X与TGM+TRM和GPM生成的上下文特征和全局上下文进行连接,进行最终的预测。
2.6 与之前方法的联系
这部分主要与之前的non-local和它的变体相比。本文的模型主要使用一元注意力。一元注意力广泛使用在图像分类和语义分割中,两种任务的典型代表:SENet,CBAM,DFN,EncNet。
SENet是RecoNet.最简单的形式,SENet的3D特征图
A
S
E
∈
R
C
×
H
×
W
A_{SE }∈ R^{C×H×W}
ASE∈RC×H×W表示如下:
EncNet是SENet的升级版,也使用相同的空间权重。
CBAM中引入了不同的空间权重,将公式5进行拓展:
其中 A C B A M ∈ R C × H × W A_{CBAM} ∈ R^{C×H×W} ACBAM∈RC×H×W是CBAM.的3D注意力特征图。虽然在CBAM考虑到了空间注意力。但是,单一的秩-1张量 A C B A M A_{CBAM} ACBAM并不能对复杂的上下文信息进行建模。在本文中,将空间注意力使用CP分解理论变为两个秩-1张量, v h ∈ R 1 × H × 1 v_h ∈ R^{1×H×1} vh∈R1×H×1和 v w ∈ R 1 × 1 × W v_w ∈ R^{1×1×W} vw∈R1×1×W。于是, A C B A M A_{CBAM} ACBAM就成了RecoNet的子注意力特征图。
RecoNet不仅利用了一元注意力的简洁性和有效性,而且能从多个角度对特征进行表示。
3 实验
主要使用5个数据集:PASCAL-VOC12, PASCAL-Context, COCO-Stuff, ADE20K,SIFT-FLOW
3.1实验设定
使用pytorch框架。使用同步批正则化。学习率设定为 l r = b a s e _ l r × ( 1 − i t e r t o t a l i t e r s ) p o w e r lr = base\_lr × (1 −\frac{iter}{total_iters})^{power} lr=base_lr×(1−totalitersiter)power.
在PASCAL-VOC12, PASCAL-Context,COCO-Stuff上将base_lr设为0.001。
ADE20K,SIFT-FLOW的base_lr分别为0.01,0.0025. power设为0.9,在SGD优化器中设置weight decay和momentum分别为0.0001和0.9.
在ADE20K和COCO-Stuff分别训练120 epoch,180 epoch,其他数据集训练80epoch。所有的数据集batch_size 为16,输入图片随机裁剪为512x512.
3.2 不同数据集上的结果
3.3 消融研究
图5 注意力子特征图的可视化
图 6 PASCAL-VOC12数据集的量化结果
4.总结
本文主要提出一个对于复杂上下文特征预测的低秩张量重建方法。它解决了之前的特征压缩的问题。亮点在于引入了CP分解理论,通过它来将低秩张量构建称高秩上下文特征,这样做可以得到空间和通道多维的信息。开发了新的语义分割框架RecoNet,该框架通过张量CP重建来探索上下文信息。 它不仅保持了空间和渠道方面的注意力,而且还解决了高秩困难。
关注极市平台公众号(ID:extrememart),获取计算机视觉前沿资讯/技术干货/招聘面经等