Abstract
背景
- 现有的SOD均多是以低分辨率图像作为输入
- 由于采样深度与感受野之间存在矛盾,所以现有的为低分辨率图像设计的模型,在高分辨率图像上无法有精准的效果
提出
金字塔移植网络(PGNet
):Encoder-Decoder架构,在Encoder中建立两条分支(Swin-Transformer及ResNet-18)提取特征,提出基于注意力的跨模型移植模块(CMGM
)结合两条分支的特征,设计注意力引导损失(AGL
)监督CMGM
模块的注意力矩阵,矫正特征融合。
超高分辨率显着性检测数据集 UHRSD
:包含5,920 张 4K-8K 分辨率的图像,是高分辨率 SOD 任务在数量和分辨率上最大的数据集。
1. Introduction
- 大多数现有的 SOD 方法在特定的输入低分辨率范围(例如,224 × 224、384 × 384)内表现良好
- 高分辨率图像做输入,Resnet-18为骨干,对比ground truth图,结果发现很多细节丢失
- 对输入图像进行下采样,然后对输出结果进行上采样以恢复原始分辨率,如Figure 1(d)所示
产生这样结果的原因:
由于大多数低分辨率的 SOD 网络都是以 Encoder-Decoder 风格设计的,随着输入分辨率的增加,提取的特征大小增加,但网络确定的感受野是固定的,使得相对感受野较小(占据图像的比例越小,获取的全局信息就更少,特征就更趋向局部细节)
处理高分辨率图像有两种典型方法:
- HRSOD:创建了第一个高分辨率的SOD数据集,分为全局阶段、局部阶段和重组阶段(使用 GSN 提取语义信息,使用 APS 引导 LRN 优化局部细节,最后使用 GLFN 进行预测融合)
- DHQSOD:将 SOD 任务分解为分类任务和回归任务(设计 LRSCN 以在低分辨率下捕获足够的语义并生成 trimap。通过引入不确定性损失,设计的 HRRN 可以使用低分辨率数据集细化第一阶段生成的 trimap)
典型方法的缺点:
- 分为语义阶段(低分辨率阶段)和详细阶段(高分辨率阶段),多阶段架构
导致的问题:
- 耗时:多阶段架构难以并行,而且存在参数数量增加的潜在问题
- 阶段之间的上下文语义转移不一致:前一阶段得到的中间图被输入到后一阶段,同时错误也被传递下去,同时没有足够语义的支持,错误会被放大,即显著图还是依赖于低分辨率网络的性能
提出:
- 第一个高分辨率显著性检测单阶段框架——
PGNet
,交错捕获连续语义和丰富的细节 - 超高分辨率显着性检测数据集 (UHRSD)
细节:
建立CNN
和Transformer
分支以提取特征,引入CMGM
模块将信息从Tansformer分支传输到CNN分支,提出AGL
矫正特征嫁接。
3. UHR Saliency Detection Dataset
对比本文建立的数据集 UHRSD
与HRSOD
相比,图像的边缘象素与图像大小都更大,且注释水平更高。
4. Methodology
4.1. Staggered Grafting Framework
模型结构:
两个Encoder+一个Decoder
Encoder:
Swin-Transformer+Resnet-18
- 向Resnet-18中传入高分辨率图像
- 处理高分辨率图像(数组采样操作
F.interpolate
),获取低分辨率图像(大小224 × 224),传入Swin-Transformer中
原因:
- Transformer能够在低分辨率的情况下获得准确的全局语义信息,卷积可以在高分辨率输入的情况下获得丰富的细节
- 不同编码器提取的特征是互补的
Decoder:
分为三个阶段:
- Swin解码(卷积+批归一化处理+激活函数(ReLU))
- 嫁接特征解码(其特征产生于
CMGM
模块:将Swin-Transformer分支的特征移植到Resnet-18分支) - Resnet-18交错解码
s4_,_ = DB1(s4)
s3_,_ = DB2(s3,s4_)
graft_feature_r5,cam = Grafting(r5_,s2_)
graft_feature_r5_,_=DB2(graft_feature_r5,s3_)
graft_feature_r4,_=DB3(s1,r4,graft_feature_r5_)
r3_,_ = DB2(r3,graft_feature_r4)
r2_,_ = DB2(r2,r3_)
4.2. Feature Extractors
Restnet-18
17个卷积层+1个全连接层
分为5个阶段,生成5个特征图,使用后四个特征图 { R i ∣ i = 2 , 3 , 4 , 5 } \{R_i|i=2,3,4,5\} {Ri∣i=2,3,4,5}
Swin-Transformer
用以验证Transformer可以用作网络通用骨干的模型,使用了滑动窗口的Transformer
对比Vision-Transformer:
Vision-Transformer在每一级都是16倍下采样率,对于多尺度特征把控不好,但是对于大多数视觉任务多尺度特征是至关重要的
Vision-Transformer在整张图片上进行自注意力操作,因此复杂度是平方倍增长的,全局建模浪费资源
借鉴卷积提出Swin-Transformer:
借鉴卷积的池化层(增大感受野):将相邻的小patch合成大patch(patch merging,隔几个采样点采样合成大patch,大patch在通道维度合并,经过
1
×
1
1\times 1
1×1卷积将通道数减半),增大感受野,获取多尺度层级信息
借鉴卷积局部性先验知识:相比于全局建模,Swin-Transformer在小窗口内进行自注意力机制,因此整张图片复杂度与窗口数量呈线性关系
引入滑动窗口:
以patch为最小单位,引入滑动窗口(在每个窗口中进行自注意力机制),使得窗口间可以进行互动,每个patch也能得到其他patch的信息,达到全局自注意力的效果
引入滑动窗口带来的问题:
如果原图像有4个窗口,窗口整体滑动后,会将整张图片分成9块(数量增加且大小不一)
解决方法:
- 传统解决方法:在图像外添加0以使得窗口大小一致,但会提升复杂度
- 循环移动+掩码:循环移动带来位置错位的问题,且错误的位置也需要进行自注意力机制(不必要的),因此设计了不同的掩码
经由Swin-Transformer分支,生成4个特征 { S i ∣ i = 1 , 2 , 3 , 4 } \{S_i|i=1,2,3,4\} {Si∣i=1,2,3,4}
因为 R 5 R_5 R5的空间大小接近 S 2 S_2 S2,因此在此处进行特征嫁接。
4.3. Cross-Model Grafting Module
提出跨模型移植模块(CMGM
) 融合两个编码器提取的特征
f
R
5
f_{R_5}
fR5和
f
S
2
f_{S_2}
fS2
其中
f
S
2
f_{S_2}
fS2包含丰富的全局语义信息,
f
R
5
f_{R_5}
fR5包含丰富的细节,但是由于特征大小和感受野间的矛盾,
f
R
5
f_{R_5}
fR5中背景会有很大噪声。
提出原因:
不同特征的融合结果有三种:1)都对;2)一部分正确;3)都错
特征融合多采用通道相乘或相加的操作,得到的结果大多是前两种情况。
但是通道相乘和相加的操作只关注有限的局部信息,导致融合方法难以弥补特征对应的错误。
解决方法:
重新计算 Resnet -18特征和Swin- Transformer 特征之间的逐点关系,将全局语义信息从 Transformer 分支转移到 Resnet 分支,以纠正错误
计算误差图:
E
=
∣
G
−
P
∣
∈
[
0.1
]
E=|G-P|\in[0.1]
E=∣G−P∣∈[0.1],其中
G
G
G是ground truth,
P
P
P是不同分支或CMGM
的结果
细节:
来自两个分支的特征
f
R
5
∈
ν
H
×
W
×
C
f_{R_5}\in \nu^{H\times W\times C}
fR5∈νH×W×C和
f
S
2
∈
ν
H
×
W
×
C
f_{S_2}\in \nu^{H\times W\times C}
fS2∈νH×W×C
将其展平为
f
R
′
∈
ν
1
×
C
×
H
W
f'_R\in \nu^{1\times C\times HW}
fR′∈ν1×C×HW和
f
S
′
∈
ν
1
×
C
×
H
W
f'_S\in \nu^{1\times C\times HW}
fS′∈ν1×C×HW
受到多头自注意力机制的启发,对其进行层归一化和线性投影,得到
f
R
q
f^q_R
fRq、
f
R
v
f^v_R
fRv和
f
S
k
f^k_S
fSk,通过矩阵乘法得到
Z
Z
Z,公式表征:
Y
=
s
o
f
t
m
a
x
(
f
R
q
×
f
S
k
T
)
Y=softmax(f^q_R \times {f^k_S}^T )
Y=softmax(fRq×fSkT)
Z
=
Y
×
f
R
v
Z=Y\times f^v_R
Z=Y×fRv
Z
Z
Z通过线性投影层,重塑大小为
ν
H
×
W
×
C
\nu^{H\times W\times C}
νH×W×C,经过两次shortcut
(快捷连接)
同时,在交叉注意过程中,基于 Y 生成交叉注意矩阵:
C
A
M
=
R
e
L
U
(
B
N
(
C
o
n
v
(
Y
+
Y
T
)
)
)
CAM = ReLU(BN(Conv(Y + Y^ T)))
CAM=ReLU(BN(Conv(Y+YT)))
4.4. Attention Guided Loss
为了更好地将Swin-Transformer的信息移植到Resnet-18,设计了注意力引导损失AGL
基本思想:
CMGM
的交叉注意矩阵,应该与由ground truth生成的注意力矩阵一致,即点积的值更大
细节:
有一个大小
H
×
W
H\times W
H×W的显著图
M
M
M,将其平展为
1
×
H
W
1\times HW
1×HW的
M
′
M'
M′,做矩阵相乘得注意力矩阵
M
a
M^a
Ma,公式表征:
M
x
y
a
=
M
x
′
T
×
M
y
M^a_{xy} = M^{'T}_x\times M_y
Mxya=Mx′T×My
通过上述步骤构建
G
a
G^a
Ga、
R
P
a
RP^a
RPa和
S
P
a
SP^a
SPa
提出基于 加权二元交叉熵 (wBCE) 的注意力引导损失(AGL
)来监督从CMGM
生成的交叉注意力矩阵
C
A
M
CAM
CAM,公式表征:
其中, P x y P_{xy} Pxy 是特征嫁接的注意力矩阵, G x y G_{xy} Gxy 是ground truth的注意力矩阵,都在 [ 0 , 1 ] [0,1] [0,1]范围内, β \beta β是调节权重 ω i j \omega _{ij} ωij的超参数,当 β = 0 \beta =0 β=0,公式6就会变成二元交叉熵损失 ι b c e \iota _{bce} ιbce
使用 ω \omega ω的目的:
- 矩阵乘法操作使正样本和负样本的不均衡度被平方倍扩大,因此通过加权可以更好的解决正负样本不均衡的问题
- 加权可以使网络更关注两个分支特征共同的错误
ω i j = 1 2 ( ∣ ( G i j a − R P i j a ) ∣ + ∣ ( G i j a − S P i j a ) ∣ ) + 1 \omega _{ij}=\frac{1}{2}(|(G^a_{ij}-RP^a_{ij})|+|(G^a_{ij}-SP^a_{ij})|)+1 ωij=21(∣(Gija−RPija)∣+∣(Gija−SPija)∣)+1
总损失:
其中, ι b + i = ι b c e + ι i o u \iota _{b+i}=\iota _{bce}+\iota _{iou} ιb+i=ιbce+ιiou, ι b + i a u x i l i a r y \iota ^{auxiliary}_{b+i} ιb+iauxiliary是由 R P RP RP和 S P SP SP获得的。
5. Experiments
5.4. Ablation Study
数据集:
UHRSD-TR + HRSOD-TR