Pyramid Grafting Network for One-Stage High Resolution Saliency Detection

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)
典型方法的缺点:
  • 分为语义阶段(低分辨率阶段)和详细阶段(高分辨率阶段),多阶段架构
导致的问题:
  1. 耗时:多阶段架构难以并行,而且存在参数数量增加的潜在问题
  2. 阶段之间的上下文语义转移不一致:前一阶段得到的中间图被输入到后一阶段,同时错误也被传递下去,同时没有足够语义的支持,错误会被放大,即显著图还是依赖于低分辨率网络的性能
提出:
  • 第一个高分辨率显著性检测单阶段框架——PGNet,交错捕获连续语义和丰富的细节
  • 超高分辨率显着性检测数据集 (UHRSD)
细节:

建立CNNTransformer分支以提取特征,引入CMGM模块将信息从Tansformer分支传输到CNN分支,提出AGL矫正特征嫁接。

3. UHR Saliency Detection Dataset

对比本文建立的数据集 UHRSDHRSOD相比,图像的边缘象素与图像大小都更大,且注释水平更高。

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\} {Rii=2,3,4,5}

恒等映射:加上x,使得网络层数增加避免了网络退化(误差累加)
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\} {Sii=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=GP[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=MxT×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((GijaRPija)+(GijaSPija))+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

组合分支的消融实验:
嫁接位置的消融实验:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值