本文介绍: 所有的实例感知任务旨在发现利用 queries 查询到的目标,例如类别名语言表达式、目标标注,但这一领域被划分为多个独立的子任务。于是本文提出了一种统一的实例感知模型 UNINEXT。UNINEXT 将多个实例感知任务划分为一个统一的目标发现和检索过程,通过改变输入promots 能够弹性地感知不同类型的目标。于是有一些好处:不同任务的数据标签词汇能够用于训练统一的模型,而且有益于那些缺乏训练数据的任务;参数有效性,能够降低冗余的计算

EncLref(expression)                                     expressionguidedEncLref(concat(categories))                        categoryguidedmerge(EncVref([template, prior])                annotation-guided

4.2 图像-Prompt 特征融合

  与 Prompt 并行,整个图像穿过另一个视觉编码器

Enc

V

text{Enc}_text{V}

EncV,得到级联的视觉特征

F

v

F_v

Fv然后采用一个提前融合模块。具体来说。一个双向的 cross-attention(Bi-XAtt)模块用于检索不同输入的信息然后将检索到的表示添加到原始的特征上。这一过程描述为:

F

p

2

v

,

F

v

2

p

=

B

i

X

A

t

t

(

F

v

,

F

p

)

F

v

=

F

v

+

F

p

2

v

;

F

p

=

F

p

+

F

v

2

p

begin{aligned} &F_{mathrm{p2v}},F_{mathrm{v2p}}=mathrm{Bi-XAtt}(F_{v},F_{p}) \ &F_{v}^{prime}=F_{v}+F_{mathbf{p}2mathbf{v}};F_{p}^{prime}=F_{p}+F_{mathbf{v}2mathbf{p}} end{aligned}

Fp2v,Fv2p=BiXAtt(Fv,Fp)Fv=Fv+Fp2v;Fp=Fp+Fv2p  不同于 GLIP,其采用 6 层的视觉语言融合层和 6 层外部 BERT 层用于特征增强,本文的提前融合模块则更有效率。

4.3 目标发现和检索

  在提出显著性的视觉prompt 表示后,下一个关键步骤则是将输入的特征转化为不同感知任务中的实例。UNINEXT 采用 Deformable-DETR 中的编码器-解码架构

  Transformer 编码器以级联的 prompt 感知视觉特征作为输入。然后采用 Multi-scale Deformable Self-Attention 增强目标信息。此外,添加辅助的预测用于编码器的结尾,生成

N

N

N 个初始的参考点作为解码器的输入。

  Transformer 解码器以增强的多尺度特征,

N

N

N 个参考点 和

N

N

N 个目标 queries 作为输入。本文尝试两种 query 生成策略:静态 query,不随图像或 Prompts 而改变;基于 Prompt 的动态 queries。第一种策略很容易通过

nn.Embedding(N,d)

text{nn.Embedding(N,d)}

nn.Embedding(N,d) 实现,而第二种策略则可以通过池化序列维度,增强的 Prompt 特征

F

v

F_v^{prime}

Fv 得到,之后重复

N

N

N 次。实验部分表明静态策略通常执行的比动态策略好。原因可能是静态分包含了更丰富的信息,同时拥有更好的训练稳定性。

  在解码器的结尾,采用一组预测头来得到最终的实例预测,产生目标的 boxes 和 masks。此外,引入一个 embedding 头用于辅助 MOT、MOTS、VIS 所需要的轨迹。

  接下来产生精确的目标。具体来说,给定早期融合后的 prompt embedding

F

p

F_p^{prime}

Fp,对于类别引导任务,将每个名字的 embedding 视为一个权重矩阵

W

R

1

×

d

Winmathbb{R}^{1times d}

WR1×d。此外,对于表达式引导和标注引导的任务,权重矩阵

W

W

W 通过对聚合的 prompt embedding

F

p

F_p^{prime}

Fp使用全局平均池化 global average pooling (GAP) 沿着序列维度得到。给出公式描述过程:

W

=

{

F

p

[

i

]

,

i

{

0

,

1

,

.

.

.

,

C

1

}

category

1

L

i

=

0

L

F

p

(

i

,

j

)

expression/annotation

W=begin{cases}F_p'[i],iin{0,1,…,C-1}&text{category}\frac{1}{L}sum_{i=0}^LF_p'(i,j)&text{expression/annotation}end{cases}

W={Fp[i],i{0,1,,C1}L1i=0LFp(i,j)categoryexpression/annotation
  最终,实例-Prompt 匹配得分

S

S

S ,表示为目标特征和转换后的权重矩阵乘积

S

=

F

ins

W

T

S=F_text{ins}W^{text{T}}

S=FinsWT,通过 Focal Loss 监督训练

4.4 训练和推理

训练

  整体的训练过程包含三个连续阶段:通用的感知预训练;图像级别的共同训练;视频级别的共同训练。第一阶段,预训练 UNINEXT 在大规模目标检测数据集 Objects365 上。由于 Objects365 没有 mask 标注,于是引入 BoxInst 中提出的辅助损失用于训练 mask 分支,于是损失函数为:

L

s

t

a

g

e

1

=

L

r

e

t

r

i

e

v

e

+

L

b

o

x

+

L

m

a

s

k

b

o

x

i

n

s

t

mathcal{L}_{mathrm{stage}1}=mathcal{L}_{mathrm{retrieve}}+mathcal{L}_{mathrm{box}}+mathcal{L}_{mathrm{mask}}^{mathrm{boxinst}}

Lstage1=Lretrieve+Lbox+Lmaskboxinst
然后基于第一阶段的预训练权重,在图像数据集 COCO、RefCOCO、RefCOCO+、RefCOCOg 上微调 UNINEXT。使用 Dice Loss 和 Focal Loss 进行 mask 的训练:

L

s

t

a

g

e

2

=

L

r

e

t

r

i

e

v

e

+

L

b

o

x

+

L

m

a

s

k

mathcal{L}_{mathrm{stage2}}=mathcal{L}_{mathrm{retrieve}}+mathcal{L}_{mathrm{box}}+mathcal{L}_{mathrm{mask}}

Lstage2=Lretrieve+Lbox+Lmask
  最后在视频级别的数据集上微调 UNINEXT。为防止模型遗忘之前在图像级别上学到的知识,将图像级别的数据集转化为伪视频,和其它视频数据集一起训练。总结下,第三阶段的训练数据包含:伪标签视频、SOT&VOS 数据集(GOT-10K、LaSOT、TrackingNet、Youtube-VOS),MOT&VIS 数据集(BDD100K、VIS19、OVIS),R-VOS 数据集 Ref-Youtube-VOS。同时,一个用于 SOT&VOS 任务的指代视觉编码器和一个外部的 embedding 头用于辅助优化。于是第三阶段的损失如下:

L

s

t

a

g

e

3

=

L

r

e

t

r

i

e

v

e

+

L

l

o

o

x

+

L

m

a

s

k

+

L

e

m

b

e

d

mathcal{L}_{mathrm{stage}3}=mathcal{L}_{mathrm{retrieve}}+mathcal{L}_{mathrm{loox}}+mathcal{L}_{mathrm{mask}}+mathcal{L}_{mathrm{embed}}

Lstage3=Lretrieve+Lloox+Lmask+Lembed

推理

  对于类别引导的任务,UNINEXT 预测不同类别的实例并将其与之前的轨迹关联起来,这一过程是在线的方式。对于表达式引导和标注引导的任务,直接选择与给定 Prompt 最高匹配得分的目标作为最终的结果,无需后处理。

五、实验

5.1 实施细节

  尝试不同的视觉 Backbone 作为编码器,如 ResNet-50、ConvNeXt-Large、ViT-Huge。BERT 为文本编码器,其参数在第一个阶段训练而在第二个阶段冻结。Transformer 中的编码器和解码器结构有 6 层的编码器层和 6 层的解码器层。目标 queries 的数量

N

=

900

N=900

N=900优化器 AdamW,权重衰减 0.05。预训练在 Objects365 上采用 32 个 A100 GPU,而在其它阶段则采用 16 块 A100(一般的小作坊就不用尝试啦)。

5.2 在 10 个任务上的评估

目标检测和实例分割

在这里插入图片描述

REC 和 RES

在这里插入图片描述

SOT

在这里插入图片描述

VOS

在这里插入图片描述

MOT

在这里插入图片描述

MOTS

在这里插入图片描述

VIS

在这里插入图片描述

R-VOS

在这里插入图片描述

5.3 消融和其它分析

  所有的模型均采用 ResNet-50 作为 backbone,在五个任务(目标检测、REC、VOS、R-VOS、VIS)的五个数据集 COCO、RefCOCO、Youtube-VOS、Ref-Youtube-VOS、Youtube-VIS 2019 上进行评估。结果如下表所示:
在这里插入图片描述

六、结论

  本文提出 UNINEXT,采用 Prompt 引导的目标发现和检索算法统一了 10 个实例感知任务,大量实验表明 UNINEXT 在 20 个数据集上,同一套模型参数达到了 SOTA 的性能。

写在后面

  附录还有一些内容,关于训练细节可视化、损失函数啥的,这里就不过多展开了。通篇读下来,是一个以 Prompt 为主要形式的框架,新颖性可能也不算太高吧,毕竟有 SAM 和 Unified 等模型在前面开路,但是这个调参和实验的工作量应该是值得一篇顶会论文的。

原文地址:https://blog.csdn.net/qq_38929105/article/details/134610797

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_2637.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注