0.摘要
问题:
代表性的实例分割方法大多用固定分辨率的掩码分割不同的对象实例,例如28 × 28网格。然而,低分辨率掩码会丢失丰富的细节,而高分辨率掩码会产生二次计算开销。
方法:
为不同大小的对象proposal自动选择合适尺寸的掩码
首先,开发了一种具有自适应特征聚合的双层特征金字塔网络(FPN),以逐渐增加掩码网格分辨率,确保对象的高质量分割。具体来说,引入了一种高效的区域级自顶向下路径(r-FPN),以结合图像级FPN (i-FPN)不同阶段的互补上下文和详细信息。
然后,为了缓解使用大掩码引起的计算和内存成本的增加,我们开发了一个计算成本可以忽略不计的掩码切换模块(MSM),为每个实例选择最合适的掩码分辨率,在保持高分割精度的同时实现了高效率。
code
https://github.com/lslrh/DynaMask
1. Introduction
两阶段方法一般比一阶段精度更高,同时计算的开销也更大
经典两阶段方法:MASK R-CNN,Boundary-Preserving MASK R-CNN,PointRend【2019】
两阶段方法需要为所有 预测框 预测统一分辨率的二值网格掩码,例如28 × 28,然后将其上采样到原始图像大小。
例如,Mask R-CNN首先使用object detector生成一组proposal,然后在感兴趣区域(RoIs)上执行每个像素前景/背景分割。尽管取得了不错的性能,但 Mask R-CNN 的低分辨率掩码不足以捕获更详细的信息,导致预测不理想,尤其是在对象边界上。
提高分割质量的直观解决方案是采用更大的掩码。然而,高分辨率掩码通常会对平滑区域产生过多的预测,导致计算复杂度高。
使用固定大小的mask来预测不同大小的目标是很难的,形状不规则、边界复杂的物体需要更细粒度的mask来预测,称为“hard”样本,如图一中的人;而具有规则形状和细节较少的“easy”样本可以使用较粗粒度的mask有效地分割,如图1中的“飞盘”。受上述观察的启发,我们建议自适应地调整用于预测每个实例的mask大小,以获得更好的IS性能。即将高分辨率掩码分配给“hard”对象,将低分辨率掩码分配给“easy”对象。
问题:
通过 Mask R-CNN直接预测高分辨率掩码会降低掩码平均精度 (AP)。有两个主要原因。
首先,由于下采样操作,从较高的金字塔层次中提取较大对象的RoI特征,这是非常粗粒度的。因此,简单地增加这些 RoI 的掩码大小不会带来额外的有用信息。
其次,Mask R-CNN 的掩码头过于简单,随着掩码网格大小的增加,它不能做出更准确的预测。
方法:
提出了一种双层FPN框架,逐步扩大掩模网格
具体来说,除了传统的图像级FPN (i-FPN)外,还设计了一个区域级FPN (r-FPN)来实现从粗到细的掩码预测。其中,我们在不同金字塔层次上构造i-FPN和r-FPN之间的信息流,旨在结合来自多个特征级别的互补上下文和详细信息进行高质量的分割。
通过双层FPN,我们提出了一个数据依赖的掩码切换模块(MSM),计算成本可以忽略不计,自适应地为每个实例选择掩码。
贡献:
•提出了一种动态掩码选择方法(DynaMask),以自适应地为不同的实例分配适当的掩码。具体来说,它将低分辨率掩码分配给“简单”样本以提高效率,同时将高分辨率掩码分配给“硬”样本的准确性。
•为 IS 开发了一个双层 FPN 框架。我们在多个层次上从 i-FPN 到 rFPN 构建直接信息流,促进来自多个金字塔级别的互补信息聚合。
• 大量实验表明,DynaMask 在 IS 准确性和效率之间取得了很好的平衡,以适度的计算开销优于许多最先进的两阶段 IS 方法。
2.相关工作
2.1Instance Segmentation
这些基于proposal的方法通常使用object detector来定位边界框中的每个实例。然后使用RoI 池化/Align 。根据检测到的边界框从FPN特征中裁剪和提取实例特征。最后,部署一个紧凑的segmentation Head来获得所需的对象掩码。
如:
Mask Scoring R-CNN [2019] 通过使用分支显式学习预测掩码的质量来对齐掩码质量和分数。
BMask RCNN[2020]利用边界细节来提高掩码定位能力。
DCT-Mask [2021] 通过离散余弦变换 (DCT) 将高分辨率二进制掩码编码为紧凑向量。
PANet [] 构建了两个特征金字塔来改进掩码预测。
·级联方法细化来提高mask质量的相关工作
HTC [2019] 在检测和分割任务上执行级联细化,并探索它们之间的相互关系。
PointRend [2019] 和 RefineMask [2021] 以多阶段方式提取细粒度特征。前者对模糊区域进行基于点的预测,而后者细化整个RoI特征。尽管分割结果很有希望,但多个细化阶段不可避免地会增加推理时间和内存负担。
2.2动态网络
近年来,旨在根据输入特征自适应调整网络架构的动态网络得到了广泛的研究。动态模型压缩方法要么丢弃块[14,26,31],要么修剪通道[22,33],以加快推理速度。
例如,SkipNet [2018] 通过基于强化学习的门控网络跳过卷积块。
Huang等人提出了一种具有多个分类器的多尺度密集网络,用于为“简单”和“硬”样本分配不同的计算。
Li等人[2020]采用端到端动态路由框架来缓解输入之间的尺度方差。
DRNet[2021]试图减少现代cnn输入分辨率的冗余。
然而,在 IS 领域很少探索采用不同分辨率的动态掩码来分割不同的实例。传统方法 [6,12,18-20] 通常会预测固定大小的掩码,而与对象类型无关。这足以用于“简单”的样本,但对精细细节上的“硬”样本产生过度平滑的预测。为了在不引入许多额外的计算负担的情况下提高分割性能,我们设计了一个动态掩码选择框架,根据分割困难自适应地为不同的对象分配合适的掩码。
3.Dynamic Mask Selection
DynaMask 框架如图 2 所示。首先提出了一种双层 FPN 架构来提高 IS 质量,然后开发了一个 Mask Switch Module (MSM) 来为每个实例动态分配适当的掩码,以便在保持卓越的 IS 性能的同时降低资源消耗。我们的 DynaMask 以适度的计算开销产生高质量的分割。
3.1. Dual-Level FPN
原始图像级 FPN (i-FP) [23] 引入了一个自上而下的路径来从更高的层到更低的层传递上下文语义信息。实际上,低级特征包含比高级特征更细粒度的细节,这有利于高质量的分割,尤其是在边界区域,但在 Mask R-CNN [12] 中并未充分探索这些信息。在这项工作中,我们提出了一种区域级FPN (r-FPN),将i-FPN较低层更详细的信息集成到区域特征层次结构中。信息从i-FPN的每一层流向r-FPN如图2所示。
3.1.1Region-Level FPN
我们遵循原始的i-FPN 来定义层,用来生成与一个特征级别对应的网络阶段相同分辨率的特征图。(原文:We follow the original i-FPN to define the layers producing feature maps of the same resolution as one network stage corresponding to one feature level.)我们使用 {P2, P3, P4, P5} 来表示 i-FPN 的不同特征级别。r-FPN 从一个 RoI-Aligned 区域特征开始,通过融合 i-FPN 的 {P2, P3, P4} 中的互补信息来逐渐增强,从而产生自上而下的基于区域的特征层次结构,表示为{Ltiny , Lsmall, Lmedium, Llarge}。从 Ltiny 到 Llarge,空间分辨率逐渐提高 2 倍。我们设计了一个特征聚合模块(FAM)来整合 r-FPN 特征 Lr 和 i-FPN 特征 Pi。
3.1.2Feature Aggregation Module (FAM)
·问题:
由于上采样和 RoI 池化 [27] 操作,Lr 和 Pi 之间存在空间错位,这可能会降低边界区域的分割性能。
·方法
为了克服这个限制,我们提出了 FAM 来自适应地聚合多尺度特征。
如图 3 所示,FAM 包含两个扮演不同角色的变形卷积 [8]。第一个是 (Deform Conv1) 调整 Lr 的位置,使其更好地与 Pi 对齐。在这里,我们首先将 Lr 与 Pi 连接起来,然后通过 3 × 3Conv 传递连接的特征以获得偏移映射(offset map),用 Δo 表示。最后,Lr通过学习到的偏移 Δo与 Pi 对齐。第二个是 (Deform Conv2) ,它就像注意力机制一样,关注对象的显著部分。所提出的 FAM 被插入到 r-FPN 的不同阶段,它在改进掩码预测中起着关键作用。
3.2.掩码切换模块(MSM)
所提出的两级 FPN 框架带来了显著的性能改进,但代价是计算量和内存负担昂贵。受不同实例需要不同的掩码网格来实现准确分割这一事实的启发,我们提出了一种新颖的方法来自适应地调整不同实例的掩码网格分辨率。具体来说,开发了一个 MSM ,在预算计算消耗下执行掩码解析预测,在分割精度和效率之间取得了良好的折中。
3.2.1最佳掩码分配。
MSM模块实际上是一个轻量级的分类器,用表示,如图4所示。它包含一个通道注意模块[SE模块][13],然后是几个卷积层和全连接层。该分类器旨在从 K 个候选者的集合中找到最佳掩码分辨率,即 [r1, r2, · · · , rK ],以便可以以最少的资源成本准确地分割实例。具体来说,MSM 将裁剪的区域 RoI 特征作为输入,并通过采用 softmax 操作输出一个概率向量 P = [p1, · · · , pK]。该向量的每个元素表示选择相应候选分辨率的概率:
其中 x 是输入 MSM 的输入 RoI 特征。选择最大概率的候选分辨率作为切换状态,它决定掩码网格的解析来分割对象。
3.2.2使用 Gumbel-Softmax 重新参数化
MSM的软输出 P 应该转化为one-hot预测,用 Y = [y1, · · · , yK ], yk ∈ {0, 1} 表示。这个过程可以通过离散采样来完成,但是是不可微的,不支持端到端训练。
为了允许梯度反向传播更新 MSM,我们引入了一种重新参数化方法 [16],称为 Gumbel-Softmax。给定一个类概率为 P = [p1, · · · , pK ] 的分类分布,我们可以通过规则
绘制一组掩码,其中
是从 Gumbel(0, 1) 分布中抽取的独立同分布样本,由 g =−log( − log(u)) 定义,其中 u ∼ Uniform(0, 1)。然后我们使用 Gumbel-softmax 函数作为原始 softmax 函数的连续可微近似:
其中 τ 表示temperature parameter。当 τ 接近 0 时,Gumbel-softmax 接近 one-hot。
3.3. Objective Loss Function
所提出的框架将掩码分辨率逐渐依次扩大了 2 倍,以提高分割性能。一方面,FAM 自适应地聚合来自 i-FPN 和 r-FPN 的多个阶段的互补信息以增强特征层次结构。另一方面,MSM 为图像中的不同实例动态分配不同分辨率的掩码,在不牺牲准确性的情况下降低资源成本。在本小节中,我们将详细介绍用于训练掩码头的损失函数。
3.3.1 mask loss。
给定一个正实例 xi,我们首先通过 MSM 预测其掩码切换状态 Y = [y1, · · · , yK],并通过将此实例传递给 r-FPN 的不同阶段来获得 K 个不同分辨率的一组掩码预测图 { ^m1i , · · · , ^mK i }。我们将掩码损失函数定义如下:
其中 ^mk i 表示 xi 的第 k 个掩码预测,mi 表示其对应的GT mask grid。yk 表示第 k 个掩码分辨率是否被选为输出分辨率。被定义为本文中的二元交叉熵损失。
3.3.2 Edge Loss
问题:
在等式3中,我们假设产生较小损失的掩码应该具有更高的质量,以便通过最小化掩码损失来选择最准确的掩码。然而,我们的实证结果表明,不同掩码产生的掩码损失非常接近,难以区分掩码质量。
方法:
相比之下,如图5所示,不同分辨率掩模产生的边缘损失差异很大,可以更好地揭示掩模质量。给定 MSM Y= [y1, · · · , yK ] 的输出以及不同分辨率的边缘图,用表示,边缘损失定义如下:
其中ei表示GT的边缘,它首先在GT mask mi上应用拉普拉斯算子得到软边缘映射,然后通过阈值[6]将其转换为二值边缘map。图 5 显示了使用不同分辨率的掩码预测的对象边缘。可以看出,边缘损失可以更好地揭示掩码的质量,即更高分辨率的掩码产生更接近 GT 的边(较小的损失),而低分辨率掩码产生与 GT 更不同的边缘(更大的损失)。
3.3.3 Budget Constraint(计算资源优化)
通过优化Eq. 4中的边缘损失,模型倾向于收敛到一个次优解,即所有实例都用最大的掩码进行分割,即112 × 112,它包含了更详细的信息,因此预测损失最小。实际上,并非所有样本都需要最大的掩码进行分割。可以节省分割“简单”样本的冗余计算以提高效率。为了减少计算成本并避免上述次优解决方案,我们建议用Budget Constraint训练 MSM。具体来说,设C表示所选掩码分辨率对应的计算成本(例如FLOPs)。当在当前批处理数据上计算的FLOPs的期望(用E(C)表示)超过目标FLOPs时,我们在模型中添加了惩罚,用Ct表示。Budget Constraint 定义如下:
我们进一步引入了一种信息熵损失来平衡 MSM 的分辨率预测。给定一组输出概率向量 P1、P2、···、PN ,其中 N 是当前批次的实例数,第 k 个实例的分辨率的频率由下式计算:。那么信息熵损失定义如下:
上述熵损失倾向于将每个元素 fk 推送为 1/K,以便 MSM 可以选择具有相似概率的不同分辨率。
3.3.4 total loss
最后,得到掩码分支的总目标函数如下:
其中 λ1 和 λ2 是权衡超参数。Lreg表示通过结合Eq. 5中的预算约束(Budget Constraint)和Eq. 6中的信息熵损失得到的正则化项,即
。
4.实验
我们在基准实例分割数据集上进行了广泛的实验:COCO [24] 和 Cityscapes [7]。COCO [24] 包含大约 115k 张图像(train2017),实例级注释为 80 个类别进行训练。我们使用 val2017 集(大约 5k 图像)进行消融研究,并使用 test-dev2017 集(约 20k 图像)与其他方法进行比较。Cityscapes 数据集 [7] 包含 2975、500 和 1525 张图像,这些图像分别从 8 个类别的城市场景中收集用于训练、验证和测试。在 COCO 和 Cityscapes 数据集上,我们使用标准的掩码 AP 作为评估指标,它计算不同 IoU 阈值的平均精度(从 0.5 到 0.95)。
4.1. 实现细节
我们采用 Mask R-CNN [12] 作为我们的基线。主干在 ImageNet 上进行了预训练。除非另有说明,超参数和损失函数设置为与MMDetection[4]中实现的Mask R-CNN相同。所提出的 MSM 有四个开关状态,对应于四个候选分辨率,即 [14 × 14, 28 × 28, 56 × 56, 112 ×112]。超参数 λ1 设置为 0.1。我们首先在一个 epoch 的所有分辨率下使用掩码损失对没有 MSM 的模型进行预训练。初始学习率为 0.02,批量大小为 16 在 8 个 GPU 上。然后我们使用具有相同初始学习率和批量大小的 SGD 训练所有模块 12 个 epoch,并分别在 8 个和 11 个 epoch 之后将学习率降低 0.1 倍。多尺度训练与从[640,800]中随机采样的短边一起使用,而对于推理,短边被调整为800。在消融研究中,我们使用MMDetection[4]中定义的标准1×训练计划和数据增强。
4.2 主要结果
4.2.1 与 Mask R-CNN 的比较
我们首先使用 ResNet-50 和 ResNet-101 主干将 DynaMask 的性能与基线 Mask R-CNN 进行比较。如表2中所示。我们的方法大大优于 Mask R-CNN。当使用 ResNet-50-FPN 主干时,使用“1×”和“2×”时间表,性能分别提高了 2.9% AP 和 2.8% AP。特别是,DynaMask 在 AP75 方面分别以“1×”和“2×”时间表优于基线 3.3% 和 3.6%。当 ResNet-101-FPN 用作主干时,可以获得类似的观察结果。这是因为所提出的双层FPN结构融合了来自多层FPN的互补语义和详细信息,从而实现了更精确的掩码定位和更高质量的分割。
4.2.2 与最先进方法的比较
然后,我们将DynaMask的分割性能与COCO 上许多其他最先进的方法。结果列于表3中。所有模型都在COCOtrain2017上进行训练,并在COCO test-dev2017上进行评估。在没有花里胡哨的情况下,DynaMask以可见的优势超越了这些方法。此外,我们将我们的方法与 Cityscapes val 集上其他具有代表性的两阶段 IS 方法进行比较 见表4。 我们的方法比 Mask R-CNN [12] 高出 4.2%。值得注意的是,它在大对象上的性能比 Mask R-CNN 高 5.8% AP。这是因为 DynaMask 采用高分辨率掩码在大型和困难的对象上实现高质量的分割。RefineMask [2021] 也产生了出色的性能,因为它使用细粒度特征细化掩码预测,但由于多阶段细化,它需要大量的计算。
4.2.3 分割结果的可视化
在图6中,我们将DynaMask的分割结果与Mask R-CNN[12]和PointRend[18]两种代表性方法进行了比较。可以看出,我们的方法在对象边界周围实现了更精细和更准确的预测。这是因为 Dynamask 引入了 r-FPN 来融合来自多个阶段的互补信息,以便可以使用包含更多细粒度细节的大型掩码来分割困难实例。Mask RCNN[12]采用统一的粗掩模进行预测,PointRend[18]只在模糊区域进行逐点细化,不足以捕获足够的细节。
4.3 消融实验
4.3.1掩模分辨率预测。
为了更好地理解DynaMask如何为不同的实例选择合适的掩码,我们在图7中展示了掩码选择结果。可以看出,不规则形状和复杂边界的“hard”对象被分配了大掩码,如“盆栽植物”、“人”、“长颈鹿”等。相反,具有规则形状和细节较少的“easy”样本被分配小掩码,如“skis”、“suitcase”、“dining table”等。值得一提的是,mask size的选择与目标的size无关。例如,在第三幅图像中,small而hard的物体“盆栽植物”被分配了一个大的mask,而第五幅图像中big而easy的样本“手提箱”可以用一个小的mask精确分割。我们对补充文件中预测的掩码分辨率和类之间的相关性进行了定量分析。
4.3.2 预算约束(Budget Constraint)的影响
在表5中。我们探讨了Budget Constraint对模型复杂性 (FLOPs) 的影响。平均 FLOPs 是通过对验证集的所有实例取平均值来计算的。通过将超参数 Ct 和 λ2 调整到不同的值,我们得到了不同计算成本的模型。例如,通过将 Ct 和 λ2 分别设置为 1.0 和 0.4,在不牺牲分割性能的情况下,FLOPs 减少了约 19%。这表明,当对所有实例使用大掩码(112 × 112)时,存在很多冗余。实际上,COCO 数据集中的许多实例都可以用较小的掩码有效地分割。因此,可以减少更容易样本的冗余计算,同时仍然使用更大的掩码来保持更难样本的准确性。通过将目标 FLOPs Ct 设置为较小的值(例如 0.4、0.6、0.8),可以在准确度略有下降的情况下实现更显著的计算量减少。例如,通过将 Ct 和 λ2 设置为 0.4,减少了一半以上的 FLOPs(大约 54%),同时仍然产生有竞争力的分割结果(36.8% AP)。
4.3.3不同方法的速度比较
为了验证我们模型的效率,我们在 表6 中 比较了不同两阶段 IS 方法的模型精度、FLOPs 和运行时间。输入大小为 800 × 1333 时,在 NVIDIA TITAN RTX 上对推理时间进行测试。与这些方法相比,我们的 DynaMask 方法在少量额外计算成本下实现了可见的性能增益。具体来说,DynaMask (Ct = 0.4) 分别以 1.2% AP 和 0.3% AP 优于 PointRend [18] 和 DCT-mask [28],运行时间相当。尽管 HTC [3] 产生了与 DynaMask 相似的分割结果(AP 低 0.2%),但它比 DynaMask 慢两倍,因为它在检测和分割任务上执行混合级联细化,导致大量的内存和计算开销。
4.3.4 掩码大小的影响
Mask Switch Module (MSM) 输出四种不同的候选掩码分辨率 [14 ×14、28 × 28, 56 × 56, 112 × 112]。我们选择其中一个作为统一的输出掩码大小,并在 表7 中报告了相应的结果。可以看出,具有较大掩码分辨率的模型可以获得更高的分割性能,尤其是在大对象上,但计算成本也明显增加。例如,当掩码分辨率从 14×14 增加到 28×28、56×56 和 112 × 112时,性能提高了 3.2%、4.2% 和 4.7% AP。然而,随着掩码大小进一步增加,性能趋于饱和。
4.3.5 基于大小的掩码选择方法
我们比较了 表8 中不同掩码选择方法的性能和掩码分布。 基线是通过使用所有对象的统一掩码大小 (28 × 28) 来执行的。基于大小的方法表示根据对象的大小分配掩码。具体来说,我们通过以下规则将掩码 分配给宽度 w 和高度 h 的实例:
其中 w0 和 h0 分别表示输入图像的宽度和高度。k0 表示最高掩码分辨率 112 × 112 的索引,即 k0 = 4。直观地说,等式 8 表示较大的对象将被分配更高分辨率的掩码。这符合我们的常识,因为较大的对象通常包含许多细节,需要更细粒度的掩码来实现高质量的预测。
从表8中可以看出。基于大小的方法以较低的成本实现了与基线相当的性能。我们的 DynaMask (Ct = 0.4) 在稍微额外的计算成本下比基线高 0.7% AP,基于大小的方法高出 0.9% AP,表明提出的掩码选择策略可以根据不同对象的分割难度更好地划分不同的对象,并分配更合适的掩码以获得更好的性能。有关预测掩码尺度分布的更多分析可以在补充材料中找到。
5. 结论
在这项工作中,我们提出了一种简单而有效的方法,可以在少量的计算和内存开销下提高实例分割性能。我们设计了一个双层 FPN 结构,以更好地探索来自多个金字塔级别的互补上下文和详细信息。具体来说,除了传统的图像级FPN (i-FPN)外,我们还增强了区域级自顶向下路径(r-FPN),以逐步扩大掩码大小,并从i-FPN中加入更多的细节。此外,为了减少使用大掩码带来的计算和内存成本,我们引入了一个掩码开关模块(MSM)来自适应地为每个提议选择合适的掩码,以便可以通过使用更小的掩码来减少简单样本的冗余计算。大量的实验结果表明,我们的方法在适度的额外计算开销下取得了显著的性能提升。
6. Supplemental Materials
6.1. Analyses on Mask Resolution Prediction
6.1.1 掩码分辨率和类之间的相关性
我们在图 8 中展示了 DynaMask (54% ↓) 不同类别的掩码分布。可以看出,形状不规则的类(例如,“giraffe”)往往被分配更大的掩码,而规则形状的类(例如,“book”)被分配更小的掩码以提高效率。
6.2. Distribution of Predicted Mask Resolutions(预测掩码分辨率的分布)
为了更好地理解我们的方法可以减少计算的原因,我们统计分配到各分辨率的掩码比例,并在表9中报告了它们。我们采用“基于大小”的方法,根据对象的大小分配掩码(请参阅主论文中的公式 8)。可以看出,通过选择低分辨率掩码,在性能不下降的情况下,FLOPs 可以减少 19%,表明对所有实例使用大掩码是冗余的。DynaMask (54%↓) 以可比较的 FLOP 优于基于大小的方法 0.9% AP,这表明所提出的动态掩码选择对于选择合适的掩码更有效。
6.3 Results on LVIS Dataset
由于COCO[24]中掩码注释的质量是有限的,这使得coco不适合验证高分辨率掩码预测的准确性。因此,我们在LVIS[11]评估了我们模型的性能,LVIS具有更高质量的注释。相应的结果报告在表10中。DynaMask 比 Mask R-CNN [12] 高 3.6% AP,因为我们将更高分辨率的掩码应用于“更难”的样本,这些样本通常包含更多细节。
6.4. Comparisons with Other Variants of FPN(与其他FPN变体比较)
我们采用Dual-FPN集成区域级特征来细化掩码预测。我们将我们的方法与FPN的其他变体进行比较,如PANet[25]、BiFPN[2019]和NAS-FPN[2019]。结果如表11所示。可以看出,我们的方法表现更好,因为我们自适应地聚合来自不同特征级别的互补信息。
6.5. Qualitative Results(定性结果)
在图10-12中,我们可视化了DynaMask的分割结果以及两种代表性方法:Mask R-CNN[12]和PointRend[12]。可以看出,我们的方法实现了更精细和更准确的预测,尤其是在对象的边界区域。