CFBI+, Collaborative Video Object Segmentation by Multi-Scale Foreground-Background Integration
本篇介绍发表在 CVPR 2020 和 TPAMI 2021 上的文章:Collaborative Video Object Segmentation by Multi-Scale Foreground-Background Integration,基于多尺度的前景和背景整合的半监督视频目标分割方法。这篇文章是前篇 CFBI 的扩展与升级,增加了多尺度和空洞匹配到 CFBI。
文章资源
- 预印本 (Preprint):arxiv
- 正式发表版本 (Version of Record, VOR):TPAMI 2021
- 代码仓库:github,同 CFBI 仓库。
题目
文章题目是 Collaborative Video Object Segmentation by Multi-Scale Foreground-Background Integration,指明文章的应用领域是视频目标分割(Video Object Segmentation, VOS),文章提出同时考虑多尺度的前景和背景信息(Foreground-Background Integration)来解决视频目标分割(VOS)任务。
作者
文章作者分别是 Zongxin Yang, Yunchao Wei, Yi Yang。三位作者当时都是来自澳大利亚悉尼科技大学人工智能中心 ReLER,第一作者杨宗鑫博士当时在该学校攻读计算机科学的博士学位,导师是 Prof. Yi Yang. 投稿 CVPR 2020,DAVIS 2020 VOS 挑战赛第二名。
TPAMI 2021 发表时,Zongxin Yang 和 Yi Yang 工作在浙江大学计算机科学与技术学院,Zonxin Yang 是博后,Yi Yang 是教授。Yunchao Wei 工作在北京交通大学信息科学研究所,是教授。
问题定义
文章关注半监督 VOS,其目标是根据第一帧给出的对象掩码(ground-truth mask)在整个视频序列中分割特定对象。
创新点
基本框架同 CFBI,这里只介绍改进的点,更多关于 CFBI 的介绍,请查看我的另一篇博文:CFBI, Collaborative Video Object Segmentation by Foreground-Background Integration
多尺度匹配
高质量的匹配图对于 CFBI 生成具有清晰目标边界的准确预测至关重要,这是提高 VOS 性能的关键因素之一。然而,要实现精细且高分辨率的匹配图(例如,步长为 4),GPU 内存和时间成本都很高。直观上,有两种方法可以加速匹配过程。(1) 对低分辨率特征图进行匹配。虽然过程会轻量很多,但很容易错过很多物体细节。(2) 在保持使用高分辨率特征图的同时减少通道维度。计算量会随着通道维度线性减少,但特征图的代表性能力也会下降,导致匹配性能较差。
最近的一些工作证明多尺度策略可以有效提高卷积网络的性能。作者认为此类策略也有利于匹配过程。因此,在 CFBI 中引入了一种高效的多尺度匹配结构,从而形成了一个更强大的框架,即 CFBI+。 CFBI+ 的概述如下图 5 所示。首先,CFBI+ 从主干中提取三个不同尺度的特征(S = 4,8,16)。然后,使用特征金字塔网络(FPN)进一步融合从小尺度到大尺度的信息。之后,在每个尺度上进行CFBI 的所有匹配过程。每个尺度的输出将被发送到 CE 的每个相应阶段。
具体来说,为了利用这两种加速匹配过程的优点并减轻它们的缺点,作者对不同尺度的特征图采用自适应匹配策略。CFBI+ 将通道维度从较大尺度到较小尺度逐步线性增加,从而减少了较大尺度匹配的计算量。同时,较小尺度下更丰富的语义信息可以成功弥补由于较大尺度下通道维度减少而导致的性能下降。这样,各种由粗到细的信息可以帮助 CFBI+ 获得更好的分割结果。
此外,仅逐步线性增加通道维度不足以使多尺度匹配比单尺度匹配更有效,因为匹配过程的复杂性随着特征图分辨率的增加呈指数级增加。例如,$G_{T,o}(p)$在 S = 4 尺度上的计算是 S = 16 的 256 倍。因此,作者另外提出了一种空洞匹配 Atrous Matching(AM)策略来进一步节省匹配过程的计算和内存使用。引入 AM 有助于 CFBI+ 比 CFBI 更高效。
空洞匹配
空洞匹配 (AM)算法是一种小波分解算法,在最近的一些卷积网络中发挥了关键作用。通过在采样时添加空间间隔,atrous 算法可以在保持相同分辨率的情况下减少计算量。直观上,空间上接近的像素总是共享相似的语义信息。因此,作者认为 atrous 算法在匹配过程中也是有效的。从参考像素中删除部分相似像素不会严重降低性能,但会节省大量计算成本。
令 $q_{x,y}$ 为位置 $(x, y)$ 处的像素,令 $l$ 为空洞因子,将前景全局匹配推广为空洞形式,
$$ G_o^l(p) = \min_{q\in\mathcal{P}_{1,o}^l} D(p, q), $$这里
$$ \mathcal{P}_{1,o}^l = \{ q_{x,y} \in \mathcal{P}_{1,o}, \forall x,y \in \{ l, 2l, 3l, \cdots\} \} $$是一个 $l$-atrous 的像素集合。如下图6所示:
令 $x_p, y_p$ 记作像素 $p$ 的位置,前景局部匹配的空洞形式是
$$ L_{p}^l(p,k) = \begin{cases} \min_{q\in\mathcal{P}_{T-1,o}^{l,p,k}}D(p,q) & \text{if} \quad \mathcal{P}_{T-1,o}^{l,p,k} \neq \emptyset \\ 1 & \text{otherwise}, \end{cases} $$这里
$$ \mathcal{P}_{T-1,o}^{l,p,k} := \mathcal{P}_{T-1,o}\cap H^l(p,k), $$和
$$ H^l(p,k) = \{ q_{x,y} \in H(p,k), \forall x \in \{x_p, x_p \pm, x_p \pm 2l, \cdots \}, y \in \{y_p, y_p \pm l, y_p \pm 2l, \cdots, \} \} $$是 $l$-atrous 邻域集合。
同样的方法,可以扩展公式 $ \bar{G}_o^l(p), \bar{L}_o^l(p,k), ML_o^l(p,K), \bar{ML}_o^l(p,K) $ 为空洞形式。由于参考像素约简到 $l^2$ 倍,空洞匹配的计算复杂度变为原来的 $\frac{1}{l^2}$。特别地,当 $l=1$ 时,空洞匹配等于原始匹配,即 $G_o^{l=1}(p) \equiv G_o(p), L_o^{l=1}(p,k) \equiv L_o(p,k)$.
在 CFBI+ 的最大匹配规模(S=4)上,作者采用了 2-atrous 匹配过程,显着提高了 CFBI+ 的效率。值得注意的是,AM 是一种即插即用的算法,还可以提高 CFBI 在测试阶段的效率。
实施细节
继 FEELVOS 之后,作者使用 DeepLabv3+ 架构作为 CFBI+ 网络的骨干。然而,主干网络基于扩张的 ResNet-101,而不是 Xception-65,以节省计算资源。在主干中应用批量归一化(BN),并在 ImageNet 和 COCO 上对其进行预训练。为了使训练过程更加有效并与推理阶段保持一致,作者还采用了两种技巧,即平衡随机裁剪和顺序训练:
平衡随机裁剪。如下图 7 所示,VOS 数据集上前景和背景像素数之间存在明显的不平衡。这样的问题通常会使模型更容易对背景属性产生偏见。为了缓解这个问题,作者采用平衡随机裁剪方案,该方案使用相同的裁剪窗口裁剪一系列帧(即第一帧、前一帧和当前帧),并限制第一帧包含足够的前景信息。该限制方法简单而有效。具体来说,平衡随机裁剪将决定随机裁剪的帧是否包含足够的前景对象像素。如果没有,该方法将继续进行裁剪操作,直到获得预期的裁剪操作。
顺序训练。在训练阶段,FEELVOS 在一次迭代中仅预测一个步骤,指导掩模来自 ground-truth 数据。RGMP 和 STMVOS 在训练时使用之前的指导信息(掩模或特征记忆),与推理阶段更加一致,表现更好。先前的引导掩模始终由网络在评估阶段的先前推理步骤中生成。遵循 RGMP,作者在每次 SGD 迭代中使用一系列连续帧来训练网络。在每次迭代中,随机采样一批视频序列。对于每个视频序列,随机采样一帧作为参考帧,并连续采样 N + 1 帧作为前一帧和当前帧序列(有 N 帧)。在预测第一帧时,使用前一帧的真实情况作为前一个掩码。当预测后续帧时,使用最新的预测作为前一个掩模。在下图 8 中展示了一个例子。
在 CFBI 中,主干后面是一个深度可分离卷积,用于提取步长为 4 的像素级嵌入(通道 = 100)。作者进一步将嵌入特征下采样到一半大小,以便使用双局部匹配线性插值以节省 GPU 内存。
在 CFBI+ 中,主干后面是 FPN,用于提取三个像素级嵌入(通道 = 32、64 和 128),步长分别为 4、8 和 16。窗口大小为 {4,8,12,16,20,24},{2,4,6,8,10,12} 和 {4,6,8,10} 适用于三个等级(步长 = 4、8 和 16)。
对于协作集成器(CE),作者应用组归一化(GN)和门控通道变换(GCT)来提高使用小批量时的训练稳定性和性能。作者将 $b_B$ 和 $b_F$ 初始化为 0。在 CFBI+ 中,每个匹配尺度都有单独的 $b_B$ 和 $b_F$。
在训练过程中,首先将所有视频下采样到 480p 分辨率,这与 DAVIS 默认设置相同。采用动量为 0.9 的 SGD 并应用自举交叉熵损失,仅考虑 15% 最难的像素。此外,作者应用翻转、缩放和平衡随机裁剪作为数据增强。缩放范围为 1.0 到 1.3 倍,裁剪窗口大小为 465 x 465。在训练阶段,作者将 BN 的参数冻结在主干中。在测试阶段,所有视频的大小都调整为不超过 1.3 x 480p 分辨率,这与训练阶段一致。对于多尺度测试,分别在 YouTube-VOS 和 DAVIS 上应用尺度 {1.0,1.15,1.3,1.5} 和 {1.5, 1.7,1.9}。
对于 YouTube-VOS 实验,作者使用 4 个 Tesla V100 GPU,学习率为 0.01,执行 100,000 步,批量大小为 8。当前序列的长度为 $N = 3$。YouTube-VOS 上的训练时间约为 3 天。对于仅使用 DAVIS 进行的训练,作者使用 0.006 的学习率进行 50,000 步,批量大小为 6 个视频,使用 2 个 GPU。当前序列的长度也是 $N = 3$。对于使用 DAVIS 和 YouTube-VOS 进行训练,首先按照上述设置在 YouTube-VOS 上训练 CFBI 或 CFBI +。之后,在 DAVIS 上对模型进行微调。为了避免过度拟合,在微调时将 DAVIS 视频与 YouTube-VOS 以 1:2 的比例混合。此外,使用 0.01 的学习率进行 50,000 步,批量大小为 8 个视频,使用 4 个 Tesla V100 GPU。当前序列的长度是 $N = 5$ 比 $N = 3$ 稍好一些。作者使用 PyTorch 来实现他们的方法。
实验
遵循之前最先进的方法,作者在 YouTube-VOS、DAVIS 2016 和 DAVIS 2017 上评估方法。为了对 YouTube-VOS 进行评估,在 YouTube-VOS training split 上训练模型。对于 DAVIS,在 DAVIS-2017 training split 上训练模型。此外,根据一些最新算法使用 DAVIS 2017 和 YouTube-VOS 进行训练并提供 DAVIS 结果。
评估指标是 $\mathcal{J}$ 得分,计算为预测和地面真实掩模之间的平均 IoU,以及 $\mathcal{F}$ 得分,计算为预测边界和地面真实边界之间的平均边界相似性度量,以及它们的平均值 ($\mathcal{J}$&$\mathcal{F}$ )。作者在官方评估服务器上或使用官方工具评估结果。
Compare With the State-of-the-Art Methods
YouTube-VOS 是最新的用于多对象视频分割的大规模数据集。与包含 120 个视频的流行 DAVIS 基准相比,YouTube-VOS 大约大 37 倍。具体来说,YouTube-VOS 包含 training split 中的 3471 个视频(65 个类别)、validation split 中的 507 个视频(另外 26 个未见类别)和 testing split 中的 541 个视频(另外 29 个未见类别)。由于未见过的对象类别的存在,YouTube-VOS 验证分割非常适合衡量 VOS 方法的泛化能力。
如下表 1 所示,作者在 2018 validation split 和 2019 testing split 中将他们的方法与最新的 VOS 方法进行了比较。CFBI+ 平均得分为 82.0%,在每个评估指标上都明显优于所有其他方法。通过使用具有双倍批量大小和学习率的更强训练计划,可以将 CFBI+ 的性能提高到 82.8% ($CFBI+^{2\times}$)。特别是,CFBI+ 的多对象推理速度比 BoLT(1.36s)快得多。
受益于多尺度匹配,CFBI+ 比 CFBI 更稳健(82.0% v.s. 81.4%)且更高效(0.25s v.s. 0.29s)。特别是,CFBI+ 仅使用了一半的训练批量大小,就超过了 $CFBI^{2\times}$。此外,82.8% 的结果明显高于 KMNVOS(超 1.4%),KMNVOS 遵循 STMVOS 使用大量模拟数据进行训练。通过模拟数据,STMVOS 的性能大幅提升,从 68.2% 提高到 79.4%。一个可能的原因是 STMVOS 对时间平滑度没有任何假设,因此需要更多的数据来充分学习语义时空匹配。相比之下,CFBI 和 CFBI+ 可以有效地从 VOS 数据集中学习视频属性,受益于作者的 VOS 特定设计。此外,通过在评估过程中应用多尺度和翻转策略,可以将 CFBI+ 的性能进一步提高到 83.3%。
作者还将他们的方法与 2019 testing split 的两个最佳结果进行比较,即第二届大规模视频对象分割挑战赛中的排名 1 (EMN) 和排名 2 (MST) 的结果。在不使用模型集成、模拟数据或测试阶段增强的情况下,CFBI+ (82.9%) 显着优于 Rank 1 结果 (81.8%),同时保持 4 FPS 的高效多对象速度。值得注意的是,CFBI+ 的改进主要来自看不见的类别(78.9% $\mathcal{J}$ / 86.8% $\mathcal{F}$ v.s. 77.3%$\mathcal{J}$ / 84.7% $\mathcal{F}$),而不是看见的。如此强劲的结果进一步证明了 CFBI+ 的泛化能力和有效性。
DAVIS 2017 是 DAVIS 2016 的多对象扩展。DAVIS 2017 的 validation split 由 30 个视频中的 59 个对象组成。训练部分包含 60 个视频。与 YouTube-VOS 相比,DAVIS 体积小得多,而且容易过拟合。
如下表 2 所示,在不使用模拟数据的情况下,CFBI+ 超过了 KMNVOS 和 EGMN(82.9% v.s. 82.8%)。此外,CFBI+ 实现了比 KMNVOS (0.24%) 更快的多对象推理速度 (0.18s)。与 KMNVOS 和 EGMN 不同,CFBI+ 或 CFBI 的主干特征是为每帧中的所有对象共享的,这导致了更有效的多对象推理。评估时增强可以进一步将 CFBI+ 的得分提高到 84.5%。
作者还在 DAVIS-2017 testing split 上评估了他们的方法,这比 validation split 更具挑战性。在测试中,作者在 STMVOS 提出的设置(即在 600p 分辨率上进行评估)下比 KMNVOS(77.2%)高出 0.8%。在评估 DAVIS 默认 480p 分辨率时,CFBI+ 或 CFBI 比使用 600p 分辨率的 STMVOS 好得多(75.6% 或 75.0% v.s. 72.2%)。这些强有力的结果进一步证明了 CFBI+ 和 CFBI 的泛化能力。
仅当在 DAVIS 上使用 480p 分辨率进行评估时,CFBI+ 的速度才能与 CFBI 相媲美。原因是在小分辨率上进行评估时,卷积层的计算比例较大。而 CFBI+ 由于引入了 FPN,比 CFBI 有更多的卷积层。在较大分辨率(例如 600p)下,CFBI+ 比 CFBI 更快(0.29 秒 v.s. 0.35 秒)。
DAVIS 2016 包含 20 个视频,每个视频都用高质量蒙版注释单个目标对象。作者将 CFBI 方法与下表 3 中最先进的方法进行了比较。在 DAVIS-2016 validation split 上,作者使用额外的 YouTube-VOS 训练分割进行训练的 CFBI+ 取得了 89.9% 的平均分数,略差于 KMNVOS 90.5%,这是一种使用前面提到的模拟数据的方法。由于 DAVIS 中的数据量很小,使用额外的模拟数据可以帮助缓解过度拟合。与设置更接近作者的公平得多的基线(即 FEELVOS)相比,所提出的 CFBI+ 不仅实现了更好的准确度(89.9% vs 81.7%),而且保持了更快的推理速度(0.17s v.s. 0.45s).
Ablation Study
作者分析了 CFBI 中提出的每个组件对 DAVIS-2017 验证分割的消融效果。在 FEELVOS 之后,作者仅使用 DAVIS-2017 training split 作为这些实验的训练数据。
背景嵌入。如下表4所示,作者首先分析去除背景嵌入而仅保留前景的影响。如果没有任何背景机制,作者的方法的结果会从 74.9% 大幅下降到 70.9%。这一结果表明,协同嵌入前景和背景特征具有重要意义。此外,像素级匹配或实例级注意力中背景信息的缺失将使结果分别降低至 73.0% 或 72.3%。因此,与实例级注意力相比,像素级匹配性能对背景嵌入的影响更敏感。造成这种现象的一个可能的原因是存在一些与前景相似的背景像素的可能性高于一些背景实例。最后,作者从距离度量中删除前景和背景偏差 $b_F$ 和 $b_B$,结果下降到 72.8%,这进一步表明应该单独考虑前景像素之间的距离和背景像素之间的距离。
空洞匹配。如下表5所示,随着空洞因子($l$)的增加,CFBI 的性能会下降,速度会增加。与原始匹配相比,2-atrous 匹配会显着加快推理速度,但性能只会略有下降。进一步增大 $l$,速度将不再快速提升,性能会大幅下降。与 2-atrous 多局部匹配相比,2-atrous 全局匹配与原始全局匹配具有几乎相同的性能(81.3% v.s. 81.4%),但速度大大加快了 93%。简而言之,Atrous Matching 可以显着提高匹配过程的效率,尤其是全局匹配。
多尺度匹配。下表 6 显示了多尺度匹配的消融研究。在 CFBI 实验中,逐像素特征的通道维度为 100。在 CFBI+ 实验中,对于 S = 4、S = 8 和 S = 16,通道维度分别为 32、64 和 128。作者首先评估不同匹配尺度之间的差异。如图所示,进行更大规模的匹配会带来更好的性能,但需要更多的推理时间。 CFBI-S4 比 CFBI-S16 强大得多(81.6% v.s. 78.3%)。然而,CFBI-S16 的速度比 CFBI-S4 快约 5 倍。为了提高效率,CFBI 将 CFBI-S4 的多局部匹配从 S = 4 提升到 S = 8,速度提高了 124%,性能仅损失 0.2%。如果想要在更大范围内进行匹配,Atrous 全局匹配 ($l = 2$) 对于节省计算资源至关重要(CFBI-G2 0.15s v.s. CFBI 0.29s、CFBI-S4-G2 0.27s v.s. CFBI-S4 0.65s),同时几乎没有性能损失(CFBI-G2 81.3% v.s. CFBI 81.4%,CFBI-S4-G2 81.6% v.s. CFBI-S4 81.6%)。最后,通过结合三个尺度上的所有匹配过程并逐步增加其通道维度,CFBI+ 实现了更好的性能(82.0%),而提出的空洞匹配有助于保证高效的速度(0.25s)。
定性比较。为了进一步比较 CFBI 与 CFBI+,作者在下图 9 中可视化了 DAVIS-2017 validation split 的一些代表性比较结果。受益于较大规模的局部匹配,CFBI+ 可以在相似目标之间生成更准确的边界。此外,CFBI+ 能够预测一些 CFBI 难以预测的微小物体。此外,作者在下图 10 中展示了 DAVIS-2017 testing split 和 YouTubeVOS 上一些最困难情况下 CFBI+ 的更多结果。CFBI 在大多数情况下都能很好泛化,包括相似对象、小对象和遮挡。
- 其他组件。其他提议组件的消融研究如下表 7 所示。第 0 行(74.9%)是提议的 CFBI 的结果,第 6 行(68.3%)是作者复制的基线方法。在相同的设置下,作者的 CFBI 显着优于基线。
在第 1 行中,作者仅使用一个局部邻域窗口按照 FEELVOS 的设置进行局部匹配,这将结果从 74.9% 降到了 73.8%。这表明多本地匹配模块比 FEELVOS 的单本地匹配模块更加稳健和有效。值得注意的是,多局部匹配的计算复杂度主要取决于最大局部窗口大小,因为作者使用最大窗口局部匹配的中间结果来计算较小的窗口。
在第 2 行中,作者通过使用真实掩码而不是网络预测作为先前的掩码来替换顺序训练。通过这样做,CFBI 的性能从 74.9% 下降到 73.3%,这表明了在相同设置下顺序训练的有效性。
在第 3 行中,作者用 4 个深度可分离的卷积层替换了协作集成器(并且作者在每个可分离的卷积层之前继续应用实例级注意力)。该架构与 FEELVOS 的动态分割头相同。与作者的协作集成器相比,动态分割头的感受野要小得多,并且性能差 1.6%。
在第 4 行中,作者在训练过程中使用正常随机裁剪而不是平衡随机裁剪。在这种情况下,性能也会下降 2.1% 至 72.8%。正如预期的那样,平衡随机裁剪成功地缓解了模型形式对背景属性的偏差。
在第 5 行中,作者禁用实例级注意力作为协作集成器的指导信息,这意味着仅使用像素级信息来指导预测。在这种情况下,结果进一步恶化到 72.7%,这证明实例级信息可以进一步帮助像素级信息的分割。
总之,作者解释了 CFBI 和 CFBI+ 的每个拟议组件的有效性。对于 VOS 来说,需要同时嵌入前景和背景特征。此外,通过结合像素级信息和实例级信息,模型将更加鲁棒。值得注意的是,多尺度像素级匹配比单尺度匹配更有效,而空洞匹配对于提高匹配效率至关重要。除此之外,所提出的平衡随机裁剪和顺序训练在提高训练性能方面很有用但很简单。
结论
文章通过引入协作前景背景集成,提出了一种新颖的视频对象分割框架,并在三个流行的基准测试上取得了新的最先进的结果。具体来说,作者将前景目标及其相应背景的特征嵌入强加为对比。此外,作者集成了像素级和实例级嵌入,使作者的框架对各种对象尺度具有鲁棒性,同时保持网络简单和快速。特别是,作者的多尺度匹配设计可以进一步提高 VOS 的性能,而作者的空洞匹配可以大大提高匹配过程的效率。