Learning What to Learn for Video Object Segmentation

该论文提出了一种基于元学习的视频目标分割方法,将视频目标分割视为一shot学习任务。通过内部学习器学习目标模块的参数,以高效并端到端的方式处理每一帧图像。这种方法利用多通道信息增强目标表示,解决了单通道信息不足的问题,并通过梯度下降迭代优化目标模块。网络结构包括特征提取器、少样本标签生成器、权重预测器和分割解码器,以实现视频序列中的目标分割。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文地址
code

Abstract

通过meta-learning的思想完成one-shot VOS任务

3 Method

3.1节介绍few-shot learning的公式;3.2节介绍few-shot learner如何去学习的方法;3.3节介绍target module和internal few-shot learner的细节;3.4节介绍我们的分割架构;3.5和3.6节介绍推理和训练过程;3.7介绍我们的方法如何迁移到bounding box initialization的VOS任务上。

3.1 Video Object Segmentation as Few-shot Learning

本文提出的VOS架构可表示为 S θ ( I , T τ ( I ) ) S_{\theta}(I,T_{\tau}(I)) Sθ(I,Tτ(I)) θ \theta θ是可学习的参数,网络 S θ S_{\theta} Sθ获取当前图像 I I I和target module T τ T_{\tau} Tτ的输出。 S θ S_{\theta} Sθ本身和目标无关,但是它利用encode了目标信息的 τ \tau τ参数, τ \tau τ生成目标感知输出, S θ S_{\theta} Sθ使用该输出来预测最终分割结果。 τ \tau τ是通过第一帧图像 I 0 I_0 I0和它的mask y 0 y_0 y0得到的。我们把这个函数形容成 τ = A θ ( I 0 , y 0 ) \tau =A_{\theta}(I_0,y_0) τ=Aθ(I0,y0)。问题在于我们如何设计 T τ T_{\tau} Tτ A θ A_{\theta} Aθ

小结一下, T τ T_{\tau} Tτ负责做分割推理,其中的 τ \tau τ是通过 A θ A_{\theta} Aθ在第一帧图像和GT中学习到的。

我们的目标就是找到一个 τ \tau τ能够最小化分割模型 T τ T_{\tau} Tτ在第一帧图像和GT第loss:
τ = A θ ( x 0 , y 0 ) = arg min ⁡ τ ′ l ( T τ ′ ( x 0 ) , y 0 ) (1) \tau =A_{\theta}(x_0,y_0)=\argmin_{\tau^{'}}l(T_{\tau^{'}}(x_0),y_0) \tag 1 τ=Aθ(x0,y0)=τargminl(Tτ(x0),y0)(1)
T τ T_{\tau} Tτ在新的frame上生成分割结果后,由 S θ S_{\theta} Sθ进行细化, S θ S_{\theta} Sθ集成了来自大型 VOS 数据集的强大的预学习知识。
本文挑战有两个,一个就是上面的方程的学习过程得是高效的;另外为了实现端到端的训练, A θ A_{\theta} Aθ得是可微的。下一节会讲到如何解决上面这个方程的一个基本限制。

3.2 Learning What to Learn

这个限制就是single-channel包含的信息太少了,理想情况下,target model应该为当前帧的目标预测出丰富的语义表达,以减轻 S θ S_{\theta} Sθ的任务量。所以作者要用多channel的信息,让few-shot learner A θ A_{\theta} Aθ学习到what A θ A_{\theta} Aθ should learn。
τ = A θ ( x 0 , y 0 ) = arg min ⁡ τ ′ l ( T r ′ ( x 0 ) , E θ ( y 0 ) ) (2) \tau =A_{\theta}(x_0,y_0)=\argmin_{\tau^{'}}l(T_{r^{'}}(x_0),E_{\theta}(y_0)) \tag 2 τ=Aθ(x0,y0)=τargminl(Tr(x0),Eθ(y0))(2)
为了解决样本不平衡问题(比如目标边界的pixels数量很少),作者还设计了一个权重模型,输入是GT mask,输出是和 E θ ( y 0 ) E_{\theta}(y_0) Eθ(y0)同样维度的权重 W θ W_{\theta} Wθ

3.3 Internal Learner

target module T r : R H × W × C → R H × W × D T_r: \mathbb R^{H\times W\times C}\rightarrow \mathbb R^{H\times W\times D} Tr:RH×W×CRH×W×D
为了让 T r T_r Tr是高效且可微的,我们使用linear target medule T r ( x ) = x ∗ τ T_r(x)=x*\tau Tr(x)=xτ τ ∈ R K × K × C × D \tau\in\mathbb R^{K\times K\times C\times D} τRK×K×C×D构成kernel size大小为K的卷积层的权重。
这样一来,internal learner的任务就是最小化target module和带有权重的处理后多维GT的差别,让target module输出包含target mask的激活项。
L ( τ ) = 1 2 ∑ ( x i , y i ) ∈ D ∣ ∣ W θ ( y t ) ⋅ ( T r ( x t ) − E θ ( y t ) ) ∣ ∣ 2 + λ 2 ∣ ∣ τ ∣ ∣ 2 (3) L(\tau)=\frac{1}{2}\sum_{(x_i,y_i)\in D}||W_{\theta}(y_t)\cdot (T_r(x_t)-E_{\theta}(y_t))||^2+\frac{\lambda}{2}||\tau||^2 \tag 3 L(τ)=21(xi,yi)DWθ(yt)(Tr(xt)Eθ(yt))2+2λτ2(3)
D是support set,也就是第一帧图像和mask。
下一步是,我们怎么优化上面这一公式呢,并且这种优化方法要高效且可微,也就是说计算量不能太大,且可以完成端到端训练,坐着的方法是设计了一种steepest descent iteration。
steepest descent iteration
对于当前预测的 τ i \tau^i τi,它找到能够最快在梯度方向最小化损失的步长 α i \alpha^i αi α i = arg min ⁡ α L ( τ i − α g i ) \alpha^i=\argmin_{\alpha}L(\tau^i-\alpha g^i) αi=αargminL(τiαgi),这里 g i = ∇ L ( τ i ) g^i=\nabla L(\tau^i) gi=L(τi)是上式关于 τ i \tau^i τi的梯度。
在这里插入图片描述

关于 α i \alpha^i αi为什么长这样,在附录A中有详细推导,我没有完全看懂,但我目前的理解是: α \alpha α的目的是在一步内最快速地找到能把 L ( τ i + 1 ) L(\tau^{i+1}) L(τi+1)最小化接近0的 α \alpha α的值,那么怎么找到这个 α \alpha α呢?因为L是关于alpha的函数,而且是凸函数(为啥是凸函数?),所以我们找到 d L ( τ i + 1 ) d α = 0 \frac{dL(\tau^{i+1})}{d\alpha}=0 dαdL(τi+1)=0时,alpha的值,那么这个步长就可以让internal learner只迭代一次就能找到最合适的 τ \tau τ α \alpha α改变后,相应 τ \tau τ发生变化,那么再下一次迭代找到新的 d L ( τ i + 1 ) d α = 0 \frac{dL(\tau^{i+1})}{d\alpha}=0 dαdL(τi+1)=0的点,用新的步长去更新就能快速地使式(3)收敛。

3.4 Video Object Segmentation Architecture

在这里插入图片描述
Feature extractor F θ F_{\theta} Fθ:backbone为ResNet-50,其输出的特征同时输出给decoder module D θ D_{\theta} Dθ和target module T τ T_\tau Tτ。第三层的residual block通过一个卷积层将channel减少到512然后送入 T τ T_{\tau} Tτ
Few-shot label generator E θ E_{\theta} Eθ:输入是GT mask,输出是D通道的label feature,D就是target module输出的feature的维度(通道数)。
Weight predictor W θ W_{\theta} Wθ:输入是GT mask,其实就是 E θ E_{\theta} Eθ提取的特征额外加一个卷积层,输出大小也是 H × W × D H\times W\times D H×W×D
Target module T τ T_{\tau} Tτ and few-shot learner A θ A_{\theta} Aθ T τ T_{\tau} Tτ是一个卷积核,大小为3,D被设置成16。 A θ A_{\theta} Aθ T τ T_{\tau} Tτ生成参数 τ \tau τ
Segmentation decoder D θ D_{\theta} Dθ:接收 T τ T_{\tau} Tτ和backbone特征的输出得到最终分割结果。

3.5 Inference

3.6 Training

在推理的时候,我们送入第一帧图像和GT mask,然后经过N次迭代得到 τ \tau τ,然后用新的 τ \tau τ得到新的一帧的分割结果,然后把新的分割结果添加到support set中进行学习。在训练的时候,这个过程和推理过程是一样的,但是生成的分割结果会和真值求loss再添加到support set中,以此来更新 θ \theta θ
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值