点击上方↑↑↑“OpenCV学堂”关注我
来源:公众号 我爱计算机视觉 授权
▊ 引言
最近基于深度学习的显著目标检测方法取得了出色的性能。然而现有的大多数方法多事基于低分辨率输入设计的,这些模型在高分辨率图片上的表现不尽人意,这是由于网络的采样深度和感受野范围之间的矛盾所导致的。
为了缓解这一矛盾,我们提出了一个新颖的单阶段架构名叫金字塔嫁接网络(PGNet),使用transformer和CNN骨干网络从不同分辨率图像中独立地提取特征,然后将特征信息从transformer分支嫁接到CNN分支。
同时我们提供了一个新的超高分辨率显著目标检测数据集(UHRSD),包含了5,920张4K-8K分辨率的图片及其像素级标注。这是我们所知的目前规模最大分辨率最高的显著目标检测数据集,希望可以为未来高分辨率分割任务的研究提供帮助。大量实验表明,我们的方法简单高效地在高分辨率显著检测任务上取得了良好的表现。
▊ 1.论文、代码和数据集下载链接
论文地址:https://arxiv.org/abs/2204.05041
数据集地址:
https://drive.google.com/drive/folders/1u3K65AaKh78P5qKXTsMjVI1SvBXNAPFk?usp=sharing
代码地址:https://github.com/iCVTEAM/PGNet
▊ 2.研究动机
人类的视觉系统具有从复杂场景中快速、准确地定位感兴趣物体或区域的能力,称为选择性注意力机制。显著物体检测(Salient Object Detection, SOD)是对该机制的一种模拟,旨在分割给定图像中最具视觉吸引力的物体或区域。大多数现有的SOD方法在一个特定的输入分辨率范围内表现的很好(例如224×224,384×384)。
但随着图像采集设备的快速更新,获取到的图片分辨率也随之急速增长,高分辨率图像(例如1080P,2K,4K图像)在日常生活中很容易被获取。然而,这些日常获取到的图像显然超出了现有模型可处理的分辨率范围。
一些现有的方法已经开始关注高分辨率输入导致的问题。但这些方法都是多阶段的。在不同阶段以不同输入分辨率处理图像:在第一阶段以低分辨率输入对全局语义进行获取并得到初步的模糊预测结果;
在第二阶段,使用第一阶段得到的粗略结果以及高分辨率输入,通过轻量级的网络保证分辨率的同时避免巨大的计算消耗对第一阶段得到的模糊结果进行细化得到最终的结果。但这样也带来了新的问题,例如多阶段导致的推理速度变慢以及优化相对困难等。
图1:不同结构对比。(a) 输入图片 (b) 真值标签 (c)高分辨率直接输入卷积网络的结果 (d)下采样后输入Swin-FPN结果 (e) 我们方法的结果
我们认为单一深度的网络不能解决感受野和高分辨率细节同时保留的矛盾,因此我们提出分别以不同的输入分辨率提取两组特征然后将信息从一个分支嫁接到另一分支。
为此,我们重新思考了双分支的架构并设计了一个新颖的单阶段深度网络金字塔嫁接网络(Pyramid Grafting Network, PGNet)来解决高分辨率显著性的问题。
我们使用了ResNet和Transformer作为我们的特征提取器,并行地提取不同空间大小的特征。Transformer分支首先以特征金字塔的形式对提取到的特征进行解码,然后在他们两个分支特征大小相近的位置将全局语义信息传递给ResNet分支,我们将这一过程成为特征嫁接。
最终,ResNet分支完成整个解码过程。相比于一般的特征金字塔网络,我们以更低的成本构建了一个更高的特征金字塔。为了更好地嫁接两个跨模型的特征,我们基于注意力机制设计了跨模型嫁接模块以及配套的注意力引导损失进一步指导嫁接。
▊ 3.UHRSD数据集
对于监督学习而言,训练数据是非常重要的。在此之前,仅有的高分辨率SOD训练集只有1610张图片,经过我们的实验发现,仅在这个数据集上进行训练非常容易产生过拟合的现象,大大影响了模型的泛化能力。
另一方面,如果混合着规模较大的低分辨率数据集,其低质量的边缘又会对训练数据引入新的噪声影响模型对于高分辨率场景的性能。因此我们提出了一个大规模的超高分辨率显著性检测数据集UHRSD(Ultra High-Resolution for Saliency Detection)。
这个数据集包含共5920张超过4K分辨率(3840*2160)的图片。其中4932张图片和988张图片被分别划分为训练集和测试集。所有的图片都是从开源的图片网站手工挑选的。我们的数据集包含了各种各样丰富的场景,并且显著物体从简单到复杂都有涉及。在显著物体确认的过程中,多名参与者被要求确定同一场景中的显著物体,并经过投票统计得到每张图片中的显著物体。
对比现有的HRSOD数据集,我们的UHRSD不仅在数据集规模上远远大于HRSOD,同时图片尺寸(对角线长度)更是远超HRSOD数据集中的图片尺寸。此外,为了体现高分辨率图片丰富的细节,显著物体边缘的长度可以从一定程度上反映物体的细节复杂程度,从直方图中可以看到,UHRSD中显著物体的边缘长度更是远远大于HRSOD中的。因此我们的UHRSD对于高分辨率SOD任务来说更具有挑战性和研究价值。
图2:左图 边缘像素数量直方图对比;右图 图片对角线长度直方图对比
图3:左图 UHRSD样例及标注;右图其他高分辨率数据集样例及标注
除了数据集整体的基础属性优秀以外,UHRSD中图像的标注细致程度同样远超现有SOD数据集。左图为我们的UHRSD中的图片,右图为HRSOD数据集中图片。
相比于低分辨率图片,高分辨率图片拥有的细节是分割过程中需要提升优化的重要部分。可以看到,相比于现有的高分辨率数据集粗略的标注,精细的标注不仅有助于高分辨率分割模型的训练更有利于测试阶段的对模型获取细节能力的准确评估。
图4:左图 UHRSD样例及标注;右图 低分辨率数据集样例及标注
最后,我们的数据集不仅在细节上标注更加清晰,相比于低分辨率数据集,我们的标注细粒度更高。左图为UHRSD图片,右图为DUTS-TR中图片。对于同样的显著物体自行车车轮,我们的标注达到了更高的精细标准,经过我们的实验发现,这样的标注偏好会对模型的训练产生影响,这对高分辨率模型的研究有着重要的意义。
▊ 4.方法
图5:PGNet网络框架图
我们提出了一种新颖高效的错层嫁接架构(PGNet)用于高分辨率图像的显著性检测。我们使用两个相对较低的特征金字塔和错层连接结构以低成本构成了一个更高的特征金字塔。
一方面,Transformer编码器可以在低分辨率情况下获取准确的全局语义信息,在高分辨率输入下CNN编码器可以获取丰富的细节信息。另一方面,不同模型提取到的特征拥有更加丰富的特性,可以在显著性的识别过程中起到互补作用。
在编码阶段,不同分辨率的图像被送入两个编码器中以并行地获取全局语义信息和丰富的细节信息。解码阶段可以被划分为三个小的子阶段,首先是Swin-Transformer特征的解码,随之是嫁接特征的解码,最后是ResNet提取到的特征的解码。
其中嫁接的特征是由跨模型嫁接模块(CMGM)产生的,在这个模块中全局语义信息从Swin分支被嫁接到ResNet分支。这个跨模型嫁接模块产生一个名叫交叉注意力的矩阵被显式进行监督。整个网络结构以一种低计算成本实现了更加深的采样深度使其可以应对高分辨率输入带来的挑战。
图6:CMGM模块结构
我们提出跨模型嫁接模块(Cross Model Grafting Module,CMGM)来对不同骨干网络提取到的特征进行融合。与简单的特征融合方式相比,跨模型嫁接模块通过注意力机制,可以利用Transformer提取到的特征中的全局语义指导组合ResNet提取到的丰富细节特征。
具体而言,跨模型嫁接模块将ResNet提取到的特征展平为,对于Swin Transformer提取到的特征同样。受到多头注意力机制的启发,我们将层归一化和线性映射得到新的三个特征。通过矩阵乘法得到。如下公式所示:
然后我们将进行线性映射并重新恢复成后再通过卷积层。经过两个短路连接如图所示。除了产生嫁接特征以外,CMGM还将产生一个交叉注意力矩阵(Cross Attention Matrix, CAM),其生成过程可以表示为:
为了更好地将Transformer特征的全局语义信息嫁接到ResNet分支,我们设计了注意力引导损失(Attention Guided Loss, AGL)来辅助这一过程。我们认为CMGM产生的交叉注意力矩阵应该和真值标签产生的注意力矩阵相似,因为显著的特征应该有更高的相似度即在交叉注意力矩阵中更高的激活值。
图7:AGL标签构造方法
具体而言,我们需要首先构建注意力矩阵的标签。对于一个尺寸为的显著映射,将其展平为尺寸为的,然后对其自身应用矩阵乘法得到对应的注意力矩阵。这一过程可以记为:
其中表示中坐标为(x,y)的值,表示的转置矩阵中坐标为(x,1)的值,表示中坐标为(1,y)的值。利用变换得到其中为真值映射,分别为特征生成的显著预测中间结果。我们在加权二元交叉熵损失的基础上构建注意力引导损失来监督CMGM产生的CAM。因此可以写作:
其中为超参数来调整的权重。在上述公式中,在每个像素上的损失被控制。使用权重的主要目的是(1)矩阵乘法操作使正样本和负样本的不均衡度被平方倍扩大,因此通过加权可以更好的解决正负样本不均衡的问题。(2)加权可以使网络更关注那些两个特征共同的错误。
最终的损失可以写为:
▊ 5.实验结果
我们用多种训练集进行了训练,提供了包括DUTS-TR,DUTS-TR+HROSD,UHRSD+HRSOD的测试结果。在DUTS-TR和在混合数据集DUTS-TR+HRSOD的数据集上训练的性能都远超现有的方法。
当时用混合数据集DUTS-TR+HROSD时,我们的方法显著的在高分辨率测试集上得到了提升。这也许是由于高分辨率与低分辨率数据集不同的分布特点导致的。这个结论被在UHRSD+HRSOD混合数据集上训练的结果进一步证实:在这个混合数据集上训练的模型在高分辨率测试集上的结果提升巨大。这也证明了高分辨率训练集对于高分辨率SOD模型在监督训练上的重要性。
为了展示高分辨率图像的特性以及我们方法在处理高分辨率图像的优越性,我们提供了不同SOD方法的可视化结果。我们的方法可以优秀的捕捉细节并且产生清晰的边界(第1、2行)。
除了高质量的边界,另一个高分辨率SOD的重要特点是分割出在小分辨率下容易被忽视的显著物体的小的结构(第3、5、6行),这同样也证明了我们方法单阶段的优越性。此外,我们的方法在例如第4行的极度复杂的情况下依旧可以很好地工作。
▊ 6.总结
我们提出了一种新颖高效的错层嫁接架构(PGNet)用于高分辨率图像的显著性检测,包含了跨分辨率的连接架构,以及基于注意力机制的嫁接模块和相应监督损失函数。值得注意的是,我们提供了首个4K分辨率的大规模SOD数据集,希望为未来高分辨率SOD的研究做出贡献。