即插即用的方法
OVMR
将新类别的多模态线索嵌入到VLM
中,以增强其在开放词汇识别中的能力。它最初利用多模态分类器生成模块将示例图像嵌入到视觉标记中,然后通过推断它们与语言编码器的上下文关系来自适应地融合多模态线索。为了减轻低质量模态的负面影响,通过一个无参数融合模块根据每个类别对这些分类器的特定偏好,动态地将多模态分类器与两个单模分类器集成来源:晓飞的算法工程笔记 公众号
论文: OVMR: Open-Vocabulary Recognition with Multi-Modal References
- 论文地址:https://arxiv.org/abs/2406.04675
- 论文代码:https://github.com/Zehong-Ma/OVMR
Introduction
开放词汇识别旨在识别训练集之外的未见过的对象,这是一项具有挑战性的任务,因为模型对测试集中的新类别一无所知。除了尽量预训练具有较强泛化能力的模型外,最近的研究还通过将新颖类别线索嵌入预训练主干模型来开发更轻量级的策略。在这些工作中,一种流行的策略是在小规模任务特定数据集上微调一个通用模型。这种少样本微调策略能够有效优化任务特定参数,但耗时、缺乏灵活性,并且降低了泛化能力。
另一方面的研究是利用视觉-语言模型(VLMs
)强大的泛化能力,通过提供图像或文本描述作为新类别线索。一些研究使用从文本描述中提取的文本嵌入作为新类别的分类器,但文本描述可能含糊不清,并且缺乏对视觉线索的详细描述,降低该分类器的区分能力。例如,bat
这个词既可以指体育器材,也可以指动物。收集示例图像可能是另一个提供类别线索的选项,但图像样本可能表现出多样化质量,容易受到域差异、混乱背景等问题影响。
论文从不同的角度解决开放词汇识别问题,参考由文本描述和示例图像组成的多模态线索。换句话说,通过将文本描述和示例图像同时输入VLM
,挖掘文本和图像的互补线索,从而学习更强大的新类别分类器。如图1
所示,在此过程中,期望文本模态提供可泛化的语义线索,而示例图像则被分析以提取视觉细节,这对生成分类器的区分能力至关重要。为了缓解低质量文本或图像示例的负面影响,论文还评估了这些单模态和多模态分类器的性能,以自适应生成最终分类器。论文将提出的方法命名为OVMR
。
如图1
所示,OVMR
以文本描述和描绘新类别的多个示例图像作为输入,包括两个模块来生成最终的分类器:
- 第一个模块动态地融合视觉示例和文本描述以生成多模态分类器,该模块一共包含两个单模态分类器和一个多模态分类器。首先利用轻量级视觉标记生成器从给定的示例中提取视觉标记,随后语言编码器通过推断它们之间的上下文关系来自适应地融合视觉和文本标记。这个多模态分类器生成模块由于其轻量级结构而非常高效,不需要训练特定于类别的参数,确保其良好的泛化性能和对各种类别可扩展性。
- 第二个模块通过基于偏好的融合将上述三个分类器生成最终的分类器。为了缓解低质量分类器的负面影响,论文提出了一种通过评估性能来进行动态融合的策略。由于有多个示例图像,将它们作为验证集来测试每个分类器的性能,最后作为学习融合权重的线索。如图
1
所示,这个过程通过利用示例图像作为测试集来模拟测试阶段,可以有效地保证最终融合分类器的稳健性。
论文进行了大量实验来测试OVMR
的性能,在11
个图像分类数据集和LVIS
目标检测数据集上均明显优于最近的开放词汇方法,也优于那些仅简单应用普通平均融合和文本引导融合来生成新分类器的相关工作。
论文的贡献可以总结为三个方面:
- 提出了一个灵活的即插即用模块,将新类别的线索嵌入
VLMs
中,以增强它们在开放词汇识别任务中的能力。补充多模态线索相对于仅依赖视觉或文本线索带来了显著优势。 OVMR
提出了一种从双模态输入生成稳健分类器的新型流程。它自适应地融合文本和视觉线索生成多模态分类器,并进一步提出了一个无需参数的融合模块,以缓解低质量模态的负面影响。- 广泛的实验表明,
OVMR
在开放词汇分类和检测任务中表现出优越性能,展示了其在开放词汇识别中的潜力。
Related Work
Open-Vocabulary Classification
现有的开放词汇分类方法可以总结为三类,即预训练、提示学习和少样本适应方法。
许多预训练工作都致力于增强VLM
在开放词汇分类中的能力,包括大型策划数据集和增强的训练策略。它们需要从头开始重新训练模型,这需要相当多的时间、样本和注释。
为了有效地增强VLM
在分类中的能力,业界提出了各种prompt
学习方法(编码文本和待分类图片,文本产生类别数个的输出与图片编码计算相似度,取最大的文本)。CoOp
从少样本数据集中学习静态上下文标记,但倾向于过拟合训练类别,在未见类别上性能下降。为了缓解这一问题,CoCoOp
从输入图像中获取动态的实例特定标记,旨在改善未见类别的分类。MaPLe
致力于跨不同层次学习视觉和语言分支的多模式提示标记。这些方法需要在每个下游数据集上进行微调,而且倾向于过拟合已见类别,并且缺乏VLM
中的泛化能力。
Few-shot
分类包括一个训练阶段,在这个阶段,模型在一个相对大的数据集上学习,以及一个适应阶段,在这个阶段,调整学习的模型以适应之前未见任务的有限标记样本。在这个框架下,可以粗略地分为两种方法:元学习方法和非元学习方法。最近的一项工作揭示了少样本图像分类中的训练和适应阶段是完全解耦的。此外,它还表明,使用CLIP
的训练算法预训练的视觉主干比以前的少样本训练算法表现更优秀。
在论文的工作中,将CLIP
的预训练视觉主干作为基础模型,并评估不同的适应方法。这些适应方法包括无需训练的MatchingNet
、Nearest Centroid Classifier
(PN
)以及需要训练的MAML
、逻辑回归、余弦分类器、URL
和CEPA
。
Open-Vocabulary Detection
最近的许多工作旨在将VLM
的开放词汇能力转移到目标检测领域。包括知识蒸馏和prompt
优化在内的技术已被用来训练一个使用预训练VLM
的开放词汇检测器。弱标记和伪框方法也被提出,以增强VLM
的对象级别识别能力。此外,一些工作在VLM
或SAM
的预训练视觉主干顶部添加了新的检测头,无论是保持主干冻结还是可微调。最近,为开放词汇检测预训练视觉-语言模型是一个新方向。GLIP
和DetCLIP
在检测、定位和字幕数据的组合上进行训练,以学习单词-区域对齐。RO-ViT
提出了预训练区域感知位置嵌入,以增强VLM
在密集预测任务中的能力。
此外,最近的MM-OVOD
和MQ-Det
引入示例图像以增强用于开放词汇检测的文本分类器。然而,MM-OVOD
同等对待两种模态,并直接计算新学习的基于视觉的分类器与现有文本分类器在VLMs
中的算术平均值,以获得多模态分类器。MQ-Det
使用文本特征作为查询,从示例图像中提取信息,并利用交叉注意机制优化原始文本分类器。这是基于文本模态更重要的假设。然而,受示例和文本质量的影响,对两种模态的偏好应在不同类别之间动态变化。
Differences with Previous Works
OVMR
方法与先前的开放词汇分类和检测方法有几个不同之处:
- 与传统的需要大量资源的预训练方法不同,
OVMR
使用在较小数据集上预训练的轻量级视觉令牌生成器。这使得能够在不完全重新训练模型的情况下,高效地将新的类别线索集成到模型中。 OVMR
有效地避免了提示学习方法中固有的过拟合问题,因为它不学习类别特定的参数。此外,插拔属性使其能够在预训练后无缝地转移到各种任务中。OVMR
利用语言模型的强大泛化能力,自适应地融合多模态线索。与像MM-OVOD
和MQ-Det
这样同等对待模态或优先考虑文本的方法不同,OVMR
通过评估它们的性能进一步动态地集成单模态分类器和多模态分类器。这种两阶段的分类器生成流程对于具有低质量示例或文本描述的场景更加稳健,使得OVMR
在各种任务中表现更好。
Methodology
如图2
所示,OVMR
由两个主要模块组成。第一个是多模态分类器生成模块,利用可通用的语言编码器动态地集成文本和视觉示例。它还包括一个新预训练的视觉标记生成器,将示例图像嵌入到语言空间中。第二个模块是测试时用的基于偏好的融合模块,不引入任何可训练参数。
Multi-modal Classifier Generation
多模态分类器生成模块旨在通过自适应地融合视觉示例和文本描述来生成多模态分类器。对于感兴趣的新类别
C
i
C_i
Ci ,将其视觉示例、目标图像和文本标记分别表示为
E
i
∈
R
M
×
H
×
W
×
3
E_i\in \mathbb{R}^{M\times H \times W \times 3}
Ei∈RM×H×W×3 、
V
i
∈
R
N
×
H
×
W
×
3
V_i\in \mathbb{R}^{N\times H \times W \times 3}
Vi∈RN×H×W×3 和
t
i
∈
R
L
i
×
d
t_i\in \mathbb{R}^{L_i\times d}
ti∈RLi×d ,其中
M
M
M 是示例图像数量,
N
N
N 是目标图像数量,
L
i
L_i
Li 是属于
C
i
C_i
Ci 类别的文本标记长度,
d
d
d 是标记嵌入的隐藏维度。此外,视觉示例
E
i
E_i
Ei 和目标图像
V
i
V_i
Vi 通过CLIP
图像编码器
Φ
C
L
I
P
−
V
\Phi_{CLIP-V}
ΦCLIP−V 编码为示例特征
e
i
e_i
ei 和视觉特征
v
i
v_i
vi 。
为了利用语言编码器生成一个良好的多模态分类器,一个关键的先决条件是从视觉示例中提取出语言编码器能够理解的稳健的视觉标记,这些视觉标记需要准确地表示具有类别判别性的视觉细节。视觉标记生成器由
P
P
P 个与类别无关的可学习查询
q
∈
R
P
×
d
q \in \mathbb{R}^{P\times d}
q∈RP×d 和四层全局自注意力Transformer
块组成。通过利用可学习查询和示例特征之间的自注意力交互,可学习查询
q
q
q 自适应地从示例特征
e
i
e_i
ei 中提取出属于
C
i
C_i
Ci 类别的视觉标记。这个过程可以形式化为:
voken i = Φ VOK ( [ q , e i ] ) , \begin{equation} \text{voken}_i=\Phi_\text{VOK} ([q, e_i]), \end{equation} vokeni=ΦVOK([q,ei]),
其中 [ ⋅ ] [\cdot] [⋅] 表示单词级别的串联, voken i ∈ R P × d \text{voken}_i\in \mathbb{R}^{P\times d} vokeni∈RP×d 是查询标记 q q q 的相应输出。
然后,使用语言编码器分析视觉和文本标记之间的关系,并自适应地生成 C i C_i Ci 类别的多模态分类器的权重 w V T i w_{VT}^i wVTi ,其计算方式为:
KaTeX parse error: Undefined control sequence: \label at position 19: …egin{equation} \̲l̲a̲b̲e̲l̲{eq:w_gen} w_\t…
因此,多模态分类器 Φ C L S V T \Phi_{CLS}^{VT} ΦCLSVT 可以表示为(与权重计算相似度后的归一化输出):
KaTeX parse error: Undefined control sequence: \label at position 19: …egin{equation} \̲l̲a̲b̲e̲l̲{eq:cls_gen} \P…
这里, sim ( ⋅ , ⋅ ) \text{sim}(\cdot, \cdot) sim(⋅,⋅) 表示余弦相似度, τ t \tau_t τt 是温度参数。
视觉标记生成器是OVMR
中唯一可训练的组件,从示例图像中提取类别判别性的视觉信息,并影响多模态分类器的性能。因此,确保视觉标记尽可能包含类别判别性的视觉细节非常重要。将视觉标记分别输入语言编码器以生成基于视觉的分类器
Φ
C
L
S
V
\Phi_{CLS}^V
ΦCLSV ,然后将基于视觉的分类器与多模态分类器一起进行优化。目标图像
v
v
v 在基于视觉和多模态分类器上的预测概率计算为:
KaTeX parse error: Undefined control sequence: \label at position 19: …egin{equation} \̲l̲a̲b̲e̲l̲{equation:logit…
视觉标记生成器的整体预训练目标可以表示为:
L = CE ( p V , T ) + CE ( p VT , T ) , \begin{equation} \mathcal{L} = \text{CE}(p_\text{V}, \mathcal{T})+\text{CE}(p_\text{VT}, \mathcal{T}), \end{equation} L=CE(pV,T)+CE(pVT,T),
其中,$ {\tt CE} (\cdot) 表示交叉熵损失, 表示交叉熵损失, 表示交叉熵损失, \mathcal{T}$是目标图像的真实标签。
为了确保视觉标记生成器的泛化能力,论文设计了一种有效的预训练策略。在每个训练迭代中,从ImageNet21k-OVR
中随机抽取每个类别的K
张图像,这是ImageNet21k
的一个子集。从这些图像中,随机选择
M
M
M 张图像作为每个类别的视觉示例,并将剩下的
N
N
N =
K
K
K -
M
M
M 张图像用作目标图像。示例数目
M
M
M 在范围
[
K
/
4
,
3
K
/
4
]
[K/4, 3K/4]
[K/4,3K/4] 内随机变化,以模拟实际应用中遇到的多样情况。重要的是要确保示例和目标图像之间没有重叠,这可以引导模型学习具有类别区分性特征而不是实例特定细节。此外,在视觉标记生成器的注意力层和每个Transformer
块中,还采用了诸如注意力路径随机dropup
和通道级别dropup
等技术来进一步增强其泛化能力。
Preference-Based Fusion
基于偏好的融合旨在模拟对示例图像进行测试时的验证结果,以衡量基于文本、基于视觉和多模态分类器的偏好。因此,它根据预测的偏好生成了一个更强大的融合分类器。基于文本的分类器 Φ CLS T \Phi_{\text{CLS}}^{\text{T}} ΦCLST,可以通过将文本标记输入语言编码器来直接地获取。
基于偏好的融合过程从对示例图像上不同分类器的验证开始。类似于公式4
,通过将示例特征
e
e
e (含多个示例图像)输入到各种分类器中,可以获得示例图像在不同分类器上的预测概率
p
^
VT
\hat{p}_{\text{VT}}
p^VT 、
p
^
V
\hat{p}_{\text{V}}
p^V 和
p
^
T
\hat{p}_{\text{T}}
p^T ,分别对应于多模态、基于视觉和基于文本的分类器。然后,基于这些预测概率,可以得到每个类别对不同分类器的偏好:
α T = Ω ( p ^ T , T E ) , α V = Ω ( p ^ V , T E ) , α VT = Ω ( p ^ VT , T E ) , \begin{equation} \begin{aligned} &\alpha_\text{T}=\Omega(\hat{p}_\text{T}, \mathcal{T}_E), \\ &\alpha_\text{V}=\Omega(\hat{p}_\text{V}, \mathcal{T}_E), \\ &\alpha_\text{VT}=\Omega(\hat{p}_\text{VT}, \mathcal{T}_E), \end{aligned} \end{equation} αT=Ω(p^T,TE),αV=Ω(p^V,TE),αVT=Ω(p^VT,TE),
其中,
α
T
\alpha_{\text{T}}
αT ,
α
V
\alpha_{\text{V}}
αV ,
α
VT
∈
R
∣
C
∣
×
1
\alpha_{\text{VT}} \in \mathbb{R}^{|C|\times 1}
αVT∈R∣C∣×1 分别表示基于文本、基于视觉和多模态分类器的偏好。
T
E
\mathcal{T}_E
TE 是示例图像的真实标签。
Ω
\Omega
Ω 表示选择的评估指标,这里是开放词汇分类任务中的F1
分数,可以通过全面考虑精确度和召回率稳定地反映了分类器的质量。对不同分类器的偏好可以表示为:
[ α ^ V , α ^ VT , α ^ T ] = σ ( τ p [ α V , α VT , α T ] ) , \begin{equation} [\hat{\alpha}_\text{V}, \hat{\alpha}_\text{VT}, \hat{\alpha}_\text{T}] = \sigma(\tau_p[\alpha_\text{V}, \alpha_\text{VT}, \alpha_\text{T}]), \end{equation} [α^V,α^VT,α^T]=σ(τp[αV,αVT,αT]),
其中,
σ
\sigma
σ 表示softmax
函数,
τ
p
\tau_p
τp 是用于生成偏好的温度参数,
[
⋅
]
[\cdot]
[⋅] 表示在最后一个维度上的连接。
那么,多模态分类器和单模态分类器的融合分类器可以表示为(仅融合分类器中类别对应的权重):
Φ CLS F = α ^ V ⋅ Φ CLS V + α ^ VT ⋅ Φ CLS VT + α ^ T ⋅ Φ CLS T . \begin{equation} \Phi_\text{CLS}^F = \hat{\alpha}_\text{V}\cdot \Phi_\text{CLS}^\text{V}+ \hat{\alpha}_\text{VT}\cdot \Phi_\text{CLS}^\text{VT}+ \hat{\alpha}_\text{T} \cdot \Phi_\text{CLS}^\text{T}. \end{equation} ΦCLSF=α^V⋅ΦCLSV+α^VT⋅ΦCLSVT+α^T⋅ΦCLST.
因此,可以得到目标图像在融合分类器上的最终预测概率 p p p ,如下所示:
p = Φ CLS F ( v ) . \begin{equation} p = \Phi_\text{CLS}^F(v). \end{equation} p=ΦCLSF(v).
基于偏好的融合有效地利用示例图像来提升VLM
的识别能力,而不引入任何可训练的参数。
Adaptation to Open-Vocabulary Detection
论文的方法不仅局限于开放词汇分类,也可以灵活地适应其他开放词汇识别任务,如检测。在这项工作中,使用基于CenterNet2
的多阶段检测器,就像Detic
和MM-OVOD
中所做的那样。为简单起见,使用该分类器的两阶段变体。用
{
b
j
,
p
j
}
j
=
1
H
\left\{{b}_j, p^j\right\}^{H}_{j=1}
{bj,pj}j=1H 表示其输出,
H
H
H 为提议的数量,可以表示为
KaTeX parse error: Undefined control sequence: \label at position 48: …\}^{H}_{j=1} = \̲l̲a̲b̲e̲l̲{eq:a} \Phi_\te…
每个输入图像
I
I
I 首先被一系列操作依次处理:一个可训练的图像编码器
(
Φ
enc
)
\left(\Phi_{\text{enc}}\right)
(Φenc) ,一个提议生成器
(
Φ
pg
)
\left(\Phi_{\text{pg}}\right)
(Φpg) ,一个感兴趣区域(RoI
)特征池化模块
(
Φ
roi
)
\left(\Phi_{\text{roi}}\right)
(Φroi) ,最终得到一组RoI
特征
{
r
j
}
j
=
1
H
\left\{r_j\right\}^{H}_{j=1}
{rj}j=1H 。RoI
特征经过边界框模块处理
(
Φ
bbox
)
\left(\Phi_{\text{bbox}}\right)
(Φbbox) 以推断物体位置,得到
{
b
j
}
j
=
1
H
\left \{{b}_j \right \}^{H}_{j=1}
{bj}j=1H 。
此外,RoI
特征经过分类模块处理,包括线性投影
(
Φ
proj
)
\left(\Phi_{\text{proj}}\right)
(Φproj) 和多模态分类器
(
Φ
CLS
∈
{
Φ
CLS
VT
,
Φ
CLS
V
,
Φ
CLS
T
}
)
\left(\Phi_{\text{CLS}} \in \{\Phi_{\text{CLS}}^{\text{VT}}, \Phi_{\text{CLS}}^{\text{V}}, \Phi_{\text{CLS}}^{\text{T}}\}\right)
(ΦCLS∈{ΦCLSVT,ΦCLSV,ΦCLST}) ,得到RoI
特征的预测概率
{
p
j
}
j
=
1
H
\left\{p^j\right\}^{H}_{j=1}
{pj}j=1H ,其中
p
j
∈
{
p
VT
j
,
p
V
j
,
p
T
j
}
p^j \in \{p^j_{\text{VT}}, p^j_{\text{V}}, p^j_{\text{T}}\}
pj∈{pVTj,pVj,pTj} 。
在训练过程中,多模态、基于视觉和基于文本的分类器保持冻结,而检测器中的其他组件是可训练的,通过为每个分类器引入了一个sigmoid
交叉熵损失反向传播。在基于偏好的融合中,检测器以及多模态分类器用于识别每个示例图像的GT
标签中最准确的伪框。随后,使用这些伪注释计算每个类别的平均精度(AP
),这有助于计算不同分类器的偏好。
Experiments
Datasets
遵循prompt
学习方法,使用了11
个图像分类数据集,涵盖了多样的识别任务。具体来说,基准包括ImageNet
和Caltech101
用于一般对象分类;OxfordPets
、StanfordCars
(Cars
)、Flowers102
、Food101
和FGVCAircraft
(Aircraft
)用于细粒度分类;SUN397
用于场景识别;UCF101
用于动作识别;DTD
用于纹理分类;最后EuroSAT
用于卫星图像识别。
在开放词汇检测中,遵循以往的研究使用了包含1,203
个类别的100,000
张图像的LVIS
数据集。这些类别根据训练图像数量分为三组,即频繁、常见和稀有。将337
个稀有类别视为新颖类别,并使用频繁和常见类别作为基础类别进行训练。当使用图像分类数据作为额外的弱监督时,使用与LVIS
词汇重叠的ImageNet21k
中的一部分类别子集,并将其表示为IN-L
(如Detic
)。
根据ImageNet21k
构建了预训练数据集。为了防止数据泄漏,从ImageNet21k
中删除了在11
个分类数据集和LVIS
数据集中都存在的任何重叠类别。此外,限制每个类别的图像数量为64
,以提高预训练效率。因此,论文创建了一个名为ImageNet21k-OVR
的64-shot ImageNet21k
子集。该子集包含18,631
个类别,总共包含110
万张图像,远小于VLM
预训练使用的数据集规模。
Implementation Details
根据prompt
学习方法,选择了CLIP
的ViT-B
/16
作为基础模型,并预训练了一个即插即用的视觉标记生成器,以增强其识别能力。每个类别的样本数
K
K
K 设置为8
,每批次随机选取192
个类别,总批次大小为1536
。在单个3090 GPU
上使用ImageNet21k-OVR
对视觉标记生成器进行30
轮预训练,在12
小时内完成。采用Adam
优化器和余弦学习率调度程序,其中学习率设置为0.0002
。视觉标记数量
P
P
P 设定为2
。偏好融合中的
τ
p
\tau_p
τp 设定为10
。
该架构和训练方法几乎与Detic
和MM-OVOD
中的相同,使用了CenterNet2
模型,其主干网络为在ImageNet21k-P
上预训练的ResNet-50
或Swin-B
。值得注意的是,论文重新实现了Detic
的内存高效版本,限制每个图像中实际边界框的最大数量为10
个,从而能够在四个24GB 3090 GPU
上复现Detic
在实验中的结果。基于内存高效版本,用论文提出的多模态分类器替换了原始分类器,并进一步引入了基于偏好的融合。此外,为了公平比较,按照以前的工作,在LVIS
基础类别上为CLIP
的ViT-B
/32
预先训练一个新的视觉标记生成器,并使用ImageNet21k-OVR
进行训练。在系统级实现中,采用Swin-B
作为主干网络,并遵循Detic
使用额外带标签图像数据(IN-L
)对检测器进行训练。
在开放词汇分类中,选择分类数据集中的前半部分类别作为基础类别,并对基础类别进行比较,以公平地与现有方法进行比较。在prompt
学习设置中,先前方法在推理期间需要利用使用的相同16
张训练图像作为示例图像。prompt
学习方法需要使用这些16
张训练图像对每个下游数据集进行微调,而OVMR
不需要任何额外的训练。测试集也与prompt
学习方法保持一致。在传统的少样本设置中,遵循最近的工作,在相同的16
张示例图像设置下使用CLIP
的视觉编码器作为基础模型,并评估不同的少样本适应算法,就像prompt
学习方法一样。在开放词汇检测方面,示例图像与MM-OVOD
中相同,即为每个类别提供5
张示例图像。主要评估指标是在“稀有”类别上平均计算得到的mask AP
(平均精度),表示为mask AP
r
_r
r。
Comparison with Recent Works
Ablation Study
Analysis of Exemplar Images
如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】