YOLO-World#
标题: YOLO-World: Real-Time Open-Vocabulary Object Detection
作者: Tianheng Cheng, Lin Song, Yixiao Ge, Wenyu Liu, Xinggang Wang, Ying Shan
机构: 腾讯AI实验室, ARC实验室, 华中科技大学
摘要: 本文提出了YOLO-World,一种创新的方法,通过视觉-语言建模和在大规模数据集上的预训练,增强了YOLO的目标检测能力,使其具备了开放词汇表检测能力。具体来说,提出了一种新的可重参数化的视语言路径聚合网络(RepVL-PAN)和区域-文本对比损失,以促进视觉和语言信息之间的交互。该方法在检测广泛对象方面表现出色,并且在零样本(zero-shot)情况下具有高效率。在LVIS数据集上,YOLO-World实现了35.4 AP和52.0 FPS的性能,超越了许多现有的最先进方法。
1. 论文做了什么工作,它的动机是什么? 论文提出了YOLO-World,一个用于实时开放词汇表目标检测的系统。动机是现有的YOLO系列检测器依赖于预定义和训练过的对象类别,这限制了它们在开放场景中的应用。为了解决这个问题,YOLO-World通过在大规模数据集上的预训练和视觉-语言建模,增强了YOLO的开放词汇表检测能力。
2. 试图解决什么问题? 解决的问题是现有目标检测器在开放场景下的局限性,即它们只能检测预先定义的类别,无法识别新的未见过的类别。
3. 是否是一个新的问题? 开放词汇表目标检测(Open-Vocabulary Object Detection, OVD)是一个新近出现的问题,它要求检测器能够识别超出训练时已知类别的对象。
4. 文章要验证的科学假设? 假设是:通过视觉-语言预训练和提出的RepVL-PAN网络,可以提升检测器在开放词汇表上的性能,即使在零样本情况下也能有效地检测对象。
5. 相关研究?如何归类?值得关注的研究员? 相关研究包括传统的目标检测方法、开放词汇表目标检测方法,以及视觉-语言预训练模型。这些研究可以归类为计算机视觉和自然语言处理的交叉领域。领域内值得关注的研究员包括但不限于Alec Radford、Joseph Redmon、Tsung-Yi Lin等。
6. 解决方案的关键是什么? 解决方案的关键是提出了RepVL-PAN网络和区域-文本对比损失。RepVL-PAN网络通过视觉和语言信息的交互,增强了模型的语义表示能力。区域-文本对比损失则用于训练过程中,优化模型以更好地匹配区域和文本描述。
7. 实验是如何设计的? 实验设计包括在LVIS数据集上的零样本评估,以及在COCO和LVIS数据集上进行微调后的评估。实验还包含了消融研究,以分析不同组件对模型性能的影响。
8. 用于定量评估的数据集是什么?代码有没有开源? 用于定量评估的数据集是LVIS、COCO和Objects365。代码和模型已经在论文中提供的链接中开源。
9. 实验及结果是否很好地支持需要验证的科学假设? 是的,实验结果表明YOLO-World在零样本检测任务上取得了优异的性能,并且在COCO和LVIS数据集上的微调评估也证明了其有效性,这些都很好地支持了论文提出的科学假设。
10. 这篇论文的贡献? 论文的主要贡献包括:
提出了YOLO-World,一个适用于实时应用的高效开放词汇表目标检测器。
提出了RepVL-PAN网络和区域-文本对比损失,用于增强模型的语义表示能力。
在LVIS数据集上取得了35.4 AP和52.0 FPS的性能,超越了现有的最先进方法。
证明了在小模型上进行视觉-语言预训练的可行性,为未来的研究提供了新的方向。
11. 下一步工作? 下一步的工作可能包括:
探索更大规模的数据集和更复杂的语言模型,以进一步提升模型的开放词汇表检测能力。
研究如何减少模型在微调时零样本能力的下降。
将YOLO-World应用于更多样化的实际场景,如视频监控、机器人视觉等。
进一步研究如何优化模型结构,以适应不同的计算资源和实时性要求。
这篇论文中提出的Vision-Language Path Aggregation Network(RepVL-PAN)是一个关键组件,用于实现视觉和语言信息之间的交互。下面是RepVL-PAN模块的主要实现细节:
结构: RepVL-PAN遵循自顶向下和自底向上的路径来建立特征金字塔{P3, P4, P5},这些特征金字塔由多尺度图像特征{C3, C4, C5}构成。
Text-guided CSPLayer (T-CSPLayer): 这是RepVL-PAN的一个组成部分,用于将文本引导融入多尺度图像特征中。具体来说,给定文本嵌入W和图像特征Xl,通过在最后一个dark bottleneck块后使用max-sigmoid注意力机制来聚合文本特征到图像特征中。
Image-Pooling Attention (I-Pooling Attention): 为了增强文本嵌入的图像意识信息,通过在多尺度特征上使用最大池化来获取3x3区域,生成27个patch tokens,然后使用多头注意力机制更新文本嵌入。
推理时的重参数化: 在推理阶段,可以采用重参数化技术将文本嵌入转换为卷积层或线性层的权重,以实现高效的部署。
跨模态融合: RepVL-PAN利用跨模态融合来增强文本和图像表示,通过Text-guided CSPLayer和Image-Pooling Attention实现。
训练与推理的差异: 在训练期间,模型使用在线词汇表,而在推理阶段,采用离线词汇表策略,用户可以定义一系列自定义提示,这些提示随后被编码成离线词汇表嵌入。
Region-Text Contrastive Loss: 在训练阶段,使用区域-文本对比损失来学习区域-文本对,通过交叉熵损失实现对象-文本相似度和对象-文本分配之间的对比。
伪标签方法: 为了生成区域-文本对,提出了一种自动标注方法,包括使用n-gram算法提取名词短语、使用预训练的开放词汇表检测器生成伪框,以及使用预训练的CLIP模型评估图像-文本对的相关性并过滤低相关性标注。
RepVL-PAN的设计允许模型在保持高推理速度的同时,有效地处理开放词汇表检测任务。通过这种方式,YOLO-World能够在零样本(zero-shot)情况下检测出广泛的对象类别。
RepVL-PAN(Re-parameterizable Vision-Language Path Aggregation Network)是YOLO-World中的一个关键组件,它负责加强视觉信息和语言信息之间的交互。以下是该结构的细节描述:
特征金字塔建立:RepVL-PAN通过自顶向下和自底向上的路径建立特征金字塔,这些路径由不同层级的多尺度图像特征构成,即{C3, C4, C5}分别对应于P3, P4, P5。
Text-guided CSPLayer (T-CSPLayer):
这是RepVL-PAN中用于将文本嵌入信息注入到图像特征中的一个层。
给定文本嵌入W和图像特征Xl,T-CSPLayer在CSPLayer(跨阶段部分层)后使用max-sigmoid注意力机制,将文本特征聚合到图像特征中。
公式表示为 $𝑋𝑙′=𝑋𝑙⋅𝛿(max𝑗∈{1..𝐶}(𝑋_𝑙𝑊^𝑗_𝑇)$,其中$𝑋𝑙′$是更新后的图像特征,$𝛿$表示sigmoid函数。
Image-Pooling Attention (I-Pooling Attention):
- 该组件旨在通过图像特征增强文本嵌入。
- 使用最大池化在多尺度特征上获取3x3区域,生成27个patch tokens 𝑋~X~。
- 文本嵌入W通过多头注意力机制更新:$$𝑊′=𝑊+MultiHead-Attention(𝑊,𝑋~,𝑋~)$$
推理时的重参数化:
在模型部署阶段,为了提高效率,文本嵌入W可以被重参数化为卷积层或线性层的权重。
T-CSPLayer和I-Pooling Attention都可以简化为使用1x1卷积或线性变换。
跨模态融合:
RepVL-PAN通过T-CSPLayer和I-Pooling Attention实现了图像和文本特征的深度融合,增强了模型对视觉-语义信息的表示能力。
训练与推理的差异:
训练时,模型使用在线词汇表构建每个样本的词汇表,包含正样本和负样本。
推理时,采用离线词汇表策略,用户定义的提示被编码成离线词汇表嵌入,避免了对每个输入重新计算。
Region-Text Contrastive Loss:
在训练阶段,使用区域-文本对比损失来优化模型,通过比较预测的对象-文本相似度和实际的分配来计算损失。
伪标签方法:
为了生成训练数据,使用了一个自动标注流程,包括名词短语提取、伪框生成和使用CLIP模型的过滤步骤。
RepVL-PAN的设计允许YOLO-World在保持高效率的同时,具备处理开放词汇表检测任务的能力。这种设计使得YOLO-World能够在没有见过的类别上也表现出色,即所谓的零样本学习能力。
CLIP模型在其中是起到一个什么作用
在YOLO-World中,CLIP模型主要起到了两个关键作用:
文本嵌入:CLIP模型的文本编码器被用来将输入文本转换成文本嵌入(text embeddings)。这些嵌入捕获了文本的语义信息,并且能够与图像特征进行交互。在YOLO-World中,这些文本嵌入与图像特征相结合,以增强模型对视觉对象的理解和识别能力。
评估和过滤:在自动标注流程中,CLIP模型被用来评估和过滤生成的伪标签(pseudo labels)。具体步骤如下:
计算图像-文本相似度:CLIP模型将整个图像和相应的文本描述作为输入,计算它们之间的相似度分数,这反映了图像内容与文本描述的一致性。
计算区域-文本相似度:对于每个由预训练的开放词汇表检测器生成的伪框,CLIP模型将裁剪后的区域图像与对应的文本一起输入,计算它们之间的相似度分数。
重分派和过滤:使用CLIP计算得到的区域-文本相似度来调整伪框的置信度分数,并进行过滤。这包括:
可选的重新标注:对于每个裁剪后的图像区域,可以将其与所有名词一起输入CLIP,选择相似度最高的名词进行标注,以纠正可能的错误标注。
重分派:使用区域-文本相似度来调整伪框的置信度分数。
区域级别过滤:对具有相同文本的区域-文本提案进行分组,并执行非极大值抑制(NMS)来过滤重复的预测,然后过滤掉置信度分数低的提案。
图像级别过滤:计算图像级别的区域-文本分数,并保留分数高于某个阈值的图像。
通过这种方式,CLIP模型帮助YOLO-World提高了训练数据的质量,尤其是在使用大规模图像-文本数据进行预训练时,确保了模型能够学习到更准确的视觉-语言对齐。这对于实现开放词汇表对象检测的性能至关重要,因为它允许模型在没有明确训练过的情况下识别和检测新的类别。
fig1
主要观察
YOLO-World系列模型:
YOLO-World-S、YOLO-World-M和YOLO-World-L在推理速度(FPS)方面表现优异,尤其是YOLO-World-S,达到了约80 FPS。
在准确性(LVIS mAP)方面,YOLO-World系列模型也表现良好,尤其是YOLO-World-L,达到了约40的mAP。
GLIPv1-T、GLIPv2-T、Grounding DINO-T和DetCLIP-T:
这些模型在准确性方面表现较好,但推理速度较慢,FPS值较低。
GLIPv1-T和GLIPv2-T的mAP值在35左右,但FPS值接近0,推理速度非常慢。
Grounding DINO-T和DetCLIP-T的mAP值在30-35之间,FPS值也较低。
速度与准确性的权衡:
图表中用红色虚线标注了“20x Speedup”,表示YOLO-World系列模型在保持较高准确性的同时,推理速度显著提升。
这表明YOLO-World系列模型在速度和准确性之间达到了较好的平衡。
结论
YOLO-World系列模型在推理速度和准确性方面表现出色,尤其是YOLO-World-S和YOLO-World-L,适合需要高实时性和高准确性的应用场景。
GLIPv1-T、GLIPv2-T、Grounding DINO-T和DetCLIP-T在准确性方面表现良好,但推理速度较慢,适合对实时性要求不高但需要高精度的应用场景。
通过图表可以看出,YOLO-World系列模型在速度和准确性之间达到了较好的平衡,具有显著的优势。
这个图表为选择合适的模型提供了有价值的参考,帮助我们在不同应用场景中做出最佳决策。
fig2
这个图表展示了三种不同的检测范式:传统目标检测器、之前的开放词汇检测器和YOLO-World。以下是对图表的详细分析:
图表解读
(a) Traditional Object Detector (传统目标检测器):
描述:传统目标检测器只能检测训练数据集中预定义的固定词汇中的对象。例如,COCO数据集中的80个类别。
局限性:固定词汇限制了检测器的扩展性,无法检测训练数据集中未出现的对象。
图示:用户输入通过对象检测器,检测器只能识别固定词汇中的对象。
(b) Previous Open-Vocabulary Detector (之前的开放词汇检测器):
描述:之前的方法需要开发大型和重型检测器来实现开放词汇检测,这些检测器通常具有较高的计算复杂度。
局限性:这些检测器需要同时编码图像和文本,进行在线词汇匹配,这对于实际应用来说是耗时的。
图示:用户输入通过大型检测器,检测器在线编码文本词汇并进行匹配。
(c) YOLO-World:
描述:YOLO-World展示了轻量级检测器在开放词汇检测中的强大性能,特别适用于实时应用场景。
创新点:提出了“prompt-then-detect”范式,用户生成一系列提示词,这些提示词将被编码为离线词汇。然后,模型可以根据需要进行重新参数化,以便于部署和进一步加速。
图示:用户输入通过轻量级检测器,检测器使用离线编码的词汇进行匹配。
主要观察
传统目标检测器的局限性:
只能检测固定词汇中的对象,缺乏扩展性。
适用于特定任务,但在面对新对象时表现不佳。
之前的开放词汇检测器的复杂性:
需要大型和重型检测器,计算复杂度高。
在线编码和匹配过程耗时,不适合实时应用。
YOLO-World的优势:
轻量级检测器,计算复杂度低,适合实时应用。
离线编码词汇,提高了检测效率。
“prompt-then-detect”范式使得模型可以根据需要进行重新参数化,便于部署和加速。
结论
传统目标检测器适用于固定任务,但在面对新对象时表现不佳,缺乏扩展性。
之前的开放词汇检测器虽然能够检测开放词汇中的对象,但计算复杂度高,在线编码和匹配过程耗时,不适合实时应用。
YOLO-World通过轻量级检测器和离线编码词汇的创新方法,展示了在开放词汇检测中的强大性能,特别适用于需要高实时性和高效率的应用场景。
这个图表清晰地展示了YOLO-World在开放词汇检测中的优势,为选择合适的检测范式提供了有价值的参考。
fig3
这个模型的架构和输入输出流程可以分为以下几个部分:
输入图像处理
输入图像:模型的输入是一个图像。
YOLO Backbone:输入图像首先通过YOLO(You Only Look Once)骨干网络,提取多尺度的图像特征。
词汇嵌入
训练阶段:在线词汇:
文本编码器:从句子中提取名词。例如,句子 “A man and a woman are skiing with a dog” 中提取出 “man”, “woman”, “dog”。
词汇嵌入:将提取的名词通过词汇嵌入层转换为词汇嵌入向量。
部署阶段:离线词汇:
用户词汇:用户可以提供自己的词汇表,这些词汇通过词汇嵌入层转换为词汇嵌入向量。
图像-词汇匹配
视觉-语言 PAN:将多尺度图像特征和词汇嵌入向量输入到视觉-语言 PAN(可能是指一种特定的注意力网络)中,生成对象嵌入向量。
区域-文本匹配:通过区域-文本匹配模块,将对象嵌入向量与词汇嵌入向量进行匹配,生成匹配结果。
输出处理
文本对比头:用于对比文本和图像特征,确保匹配的准确性。
框头:用于生成边界框,标注图像中的对象。
实现逻辑
图像输入:图像通过YOLO骨干网络提取特征。
词汇提取和嵌入:在训练阶段,通过文本编码器提取名词并生成词汇嵌入;在部署阶段,用户提供词汇表并生成词汇嵌入。
特征融合:多尺度图像特征和词汇嵌入通过视觉-语言 PAN 进行融合,生成对象嵌入。
匹配和输出:通过区域-文本匹配模块进行匹配,生成匹配结果,并通过文本对比头和框头生成最终的输出,包括对象的边界框和标签。
总结
这个模型通过结合图像特征和文本特征,实现了图像中对象的检测和标注。它利用YOLO骨干网络提取图像特征,通过文本编码器提取名词并生成词汇嵌入,最终通过视觉-语言 PAN 进行特征融合和匹配,生成对象的边界框和标签。
模型结构解读
输入部分:
输入图像:模型的输入是图像。
用户词汇:用户提供的词汇,包含需要检测的对象类别。
Text Encoder (文本编码器):
训练阶段:在线词汇编码。文本编码器将输入文本(例如“一个男人和一个女人在和一只狗滑雪”)编码成词汇嵌入(Vocabulary Embeddings)。
部署阶段:离线词汇编码。用户提供的词汇被编码成词汇嵌入。
YOLO Backbone (YOLO骨干网络):
功能:处理输入图像,提取多尺度图像特征(Multi-scale Image Features)。
Vision-Language PAN (视觉-语言特征金字塔网络):
功能:将多尺度图像特征和词汇嵌入进行融合,生成图像感知嵌入(Image-aware Embeddings)。
多层次跨模态融合:RepVL-PAN模块实现了图像特征和文本特征的多层次跨模态融合。
Text Contrastive Head (文本对比头):
功能:进行区域-文本匹配(Region-Text Matching),将图像中的区域与文本中的对象进行匹配,生成对象嵌入(Object Embeddings)。
Box Head (边界框头):
功能:预测回归边界框(Regressed Bounding Boxes),确定图像中对象的位置。
主要观察
文本编码器的作用:
在训练阶段,文本编码器将输入文本编码成词汇嵌入,提供给视觉-语言特征金字塔网络进行融合。
在部署阶段,用户提供的词汇被离线编码成词汇嵌入,提高了检测效率。
YOLO骨干网络的作用:
提取输入图像的多尺度特征,为后续的跨模态融合提供基础。
视觉-语言特征金字塔网络的作用:
实现图像特征和文本特征的多层次跨模态融合,生成图像感知嵌入。
通过RepVL-PAN模块,增强了图像和文本特征的融合效果。
文本对比头和边界框头的作用:
文本对比头进行区域-文本匹配,将图像中的区域与文本中的对象进行匹配。
边界框头预测回归边界框,确定图像中对象的位置。
结论
YOLO-World模型通过结合文本编码器、YOLO骨干网络和视觉-语言特征金字塔网络,实现了开放词汇对象检测。
文本编码器在训练阶段和部署阶段分别进行在线和离线编码,提高了检测效率。
YOLO骨干网络提取多尺度图像特征,为跨模态融合提供基础。
视觉-语言特征金字塔网络通过多层次跨模态融合,生成图像感知嵌入,增强了图像和文本特征的融合效果。
文本对比头和边界框头分别进行区域-文本匹配和边界框预测,完成对象检测任务。
fig4
模型结构解读
输入部分:
Text Embeddings(文本嵌入):来自文本编码器的文本嵌入。
Image-aware Embeddings(图像感知嵌入):来自YOLO骨干网络的多尺度图像特征。
T-CSPlayer(Text-guided CSPlayer):
功能:将语言信息注入到图像特征中。
结构:
Split(分割):将输入特征分割成两部分。
Dark Bottleneck:处理图像特征的瓶颈层。
Max-Sigmoid:对文本嵌入进行处理,生成权重。
Concat(连接):将处理后的图像特征和文本权重连接起来。
作用:通过将文本信息注入到图像特征中,增强图像特征的语义信息。
I-Pooling Attention(Image Pooling Attention):
功能:增强图像感知文本嵌入。
结构:
3x3 Conv:3x3卷积层,用于特征提取。
MHCA(Multi-Head Cross Attention):多头交叉注意力机制,用于图像和文本特征的交互。
作用:通过图像特征池化和多头交叉注意力机制,增强图像感知文本嵌入的表示能力。
多尺度特征融合:
C3, C4, C5:来自YOLO骨干网络的多尺度图像特征。
P3, P4, P5:经过T-CSPlayer和I-Pooling Attention处理后的多尺度图像感知嵌入。
Text to Image(文本到图像):T-CSPlayer将文本嵌入注入到图像特征中。
Image to Text(图像到文本):I-Pooling Attention将图像特征注入到文本嵌入中。
主要观察
T-CSPlayer的作用:
通过将文本信息注入到图像特征中,增强了图像特征的语义信息。
这种注入方式使得图像特征能够更好地理解和表示文本中的对象和场景。
I-Pooling Attention的作用:
通过图像特征池化和多头交叉注意力机制,增强了图像感知文本嵌入的表示能力。
这种增强方式使得文本嵌入能够更好地捕捉图像中的细节和上下文信息。
多尺度特征融合:
通过对多尺度图像特征(C3, C4, C5)进行处理,生成多尺度图像感知嵌入(P3, P4, P5)。
这种多尺度特征融合方式使得模型能够同时捕捉图像中的全局和局部信息,提高了检测的准确性和鲁棒性。
结论
RepVL-PAN模型通过T-CSPlayer和I-Pooling Attention实现了文本和图像特征的深度融合,增强了图像特征的语义信息和文本嵌入的表示能力。
T-CSPlayer通过将文本信息注入到图像特征中,使得图像特征能够更好地理解和表示文本中的对象和场景。
I-Pooling Attention通过图像特征池化和多头交叉注意力机制,增强了图像感知文本嵌入的表示能力。
多尺度特征融合使得模型能够同时捕捉图像中的全局和局部信息,提高了检测的准确性和鲁棒性。
这个图表清晰地展示了RepVL-PAN模型的核心组件和多尺度特征融合机制,为理解其在开放词汇对象检测中的优势提供了详细的参考。
fig5
主要观察
零样本推理能力:
定义:零样本推理指的是模型能够检测和识别训练数据集中未见过的对象类别。
表现:YOLO-World-L模型在LVIS数据集上的零样本推理结果展示了其强大的泛化能力,能够准确地检测和识别大量未见过的对象类别。
多类别检测:
多样性:模型能够检测到非常多样的对象类别,涵盖了日常生活中的各种物品和场景。
复杂场景:即使在复杂的场景中(如多个对象重叠或背景复杂),模型仍然能够准确地检测和标注对象。
预训练模型的优势:
预训练:使用预训练的YOLO-World-L模型进行推理,表明预训练在大规模数据集上的模型具有强大的泛化能力。
词汇扩展:通过使用LVIS词汇(包含1203个类别),模型能够扩展其检测能力,覆盖更多的对象类别。
结论
YOLO-World-L模型展示了在LVIS数据集上的强大零样本推理能力,能够准确地检测和识别大量未见过的对象类别。
多样性和复杂场景:模型能够在多样的对象类别和复杂的场景中表现出色,展示了其强大的泛化能力和鲁棒性。
预训练模型的优势:使用预训练模型进行推理,结合大规模词汇扩展,显著提高了模型的检测能力和覆盖范围。
这个图表清晰地展示了YOLO-World-L模型在零样本推理中的出色表现,为理解其在开放词汇对象检测中的优势提供了详细的参考。
图表解读
图像展示:
图表中展示了四个图像,每个图像中都有多个被检测到的对象。
每个图像下方都有一个对应的自定义词汇列表,列出了用户希望检测的对象类别。
检测结果:
图像1:自定义词汇为{men, women, boy, girl},模型检测并标注了图像中的人。
图像2:自定义词汇为{elephant, ear, leg, trunk, ivory},模型检测并标注了大象及其身体部位。
图像3:自定义词汇为{golden dog, black dog, spotted dog},模型检测并标注了不同颜色的狗。
图像4:自定义词汇为{grass, sky, zebra, trunk, tree},模型检测并标注了草地、天空、斑马、树干和树。
主要观察
用户自定义词汇:
定义:用户可以为每个输入图像定义自定义词汇,列出希望检测的对象类别。
灵活性:这种方式提供了极大的灵活性,用户可以根据具体需求定制检测对象。
检测准确性:
精确检测:模型能够根据用户提供的自定义词汇,准确地检测并标注图像中的对象。
多样性:无论是人、动物还是自然景观,模型都能准确地识别和标注。
复杂场景处理:
多对象检测:即使在包含多个对象的复杂场景中,模型仍然能够准确地检测和标注每个对象。
细节识别:模型能够识别并标注对象的细节部分(如大象的耳朵、腿、象牙等)。
结论#
YOLO-World模型展示了在用户自定义词汇上的强大检测能力,能够根据用户提供的词汇准确地检测并标注图像中的对象。
灵活性和多样性:用户可以根据具体需求定制检测对象,模型能够处理多样的对象类别和复杂的场景。
检测准确性:模型能够精确地识别和标注图像中的对象及其细节部分,展示了其强大的检测能力和细节识别能力。
这个图表清晰地展示了YOLO-World模型在用户自定义词汇上的出色表现,为理解其在开放词汇对象检测中的灵活性和准确性提供了详细的参考。