YOLO-World——超级轻量级开放词汇目标检测方法

前言

目标检测一直是计算机视觉领域中不可忽视的基础挑战,对图像理解、机器人技术和自主驾驶等领域具有广泛应用。随着深度神经网络的发展,目标检测方面的研究取得了显著进展。尽管这些方法取得了成功,但它们存在一些限制,主要体现在只能处理具有固定词汇表的目标检测问题,例如COCO数据集中的80个类别。一旦目标类别被定义和标记,训练好的目标检测器只能识别这些特定的类别,从而限制了其在开放场景中的适用性。

近期的研究致力于解决开放词汇检测问题,探索了流行的视觉语言模型(如BERT)以从语言编码器中提取词汇知识。然而,这些基于蒸馏的方法受制于训练数据的稀缺性和词汇多样性的限制,比如OV-COCO只包含48个基本类别。有些方法尝试通过重新构建物体检测训练为基于区域的视觉语言预训练,并在大规模上训练具有开放词汇的物体检测器。然而,这些方法在真实世界场景中仍然面临挑战,主要因为计算负担较重且在边缘设备上部署复杂。过去的研究已经验证了大型检测器的预训练在性能上的表现,但对于预训练小型检测器以赋予其开放识别能力的研究尚未深入进行。

YOLO-World

YOLO-World似乎致力于在open vocabulary物体检测领域实现高效的解决方案。通过探索大规模预训练方案,该项目旨在提升传统YOLO检测器的open vocabulary能力。YOLO-World的推理速度高效且易于部署,其推理过程中甚至可以移除文本编码器,通过将文本嵌入重新参数化为RepVL-PAN的权重来实现高效部署。此外,通过区域-文本对比学习在大规模数据集上进行open vocabulary预训练,进一步提升了YOLO-World的性能。预训练结果表明,YOLO-World在大词汇检测方面表现强大,而通过更多数据的训练,预计可以实现更大的改进。

YOLO-World采用了可重参数化的视觉-语言PAN和开放词汇区域-文本对比预训练方案。该检测器在大规模数据集上进行了预训练,展现出卓越的零样本性能,并能够轻松适应各种下游任务。不仅如此,该检测器的预训练权重和代码将会被开源,以促进更广泛的实际应用。此外,文章还提出了一种提示-检测范式,旨在进一步提高open vocabulary物体检测的效率。

预训练

YOLO-World引入了一种创新的目标检测方法,重新将实例标注定义为区域-文本对,其中文本可以是类别名称、名词短语或对象描述。该方法以图像和文本作为输入,然后输出预测框和相应的对象嵌入。这种方法的独特之处在于将文本信息与图像结合,为目标检测任务提供了更丰富的语义信息,有望提高检测的准确性和鲁棒性。

模型架构

YOLO-World的整体架构包括YOLO检测器、文本编码器和可重新参数化的视觉-语言路径聚合网络(RepVL-PAN)。在给定输入文本的情况下,YOLO-World中的文本编码器将文本编码成文本嵌入。图像编码器在YOLO检测器中提取多尺度特征。RepVL-PAN通过跨模态融合图像特征和文本嵌入来增强文本和图像的表示。

YOLO检测器方面,基于YOLOv8开发,包括Darknet作为图像编码器的骨干,路径聚合网络(PAN)用于多尺度特征金字塔,以及头部用于边界框回归和对象嵌入。

文本编码器方面,给定文本T,采用CLIP预训练的Transformer文本编码器提取文本嵌入W = TextEncoder(T)。相较于纯文本语言编码器,CLIP文本编码器具有更强的视觉-语义能力,有助于连接视觉对象与文本。对于标题或引用表达式的输入文本,使用简单的n-gram算法提取名词短语,并输入文本编码器。

文本对比Head采用具有两个3×3卷积的解耦头,用于回归边界框和对象嵌入。引入了文本对比中心,通过一种方法获取对象-文本相似度。

在训练过程中,为每个包含4张图像的马赛克样本构建一个在线词汇表T。对涉及的所有积极名词进行采样,并从相应数据集中随机采样一些消极名词。每个马赛克样本的词汇表最多包含M个名词,M默认设置为80。

在推理阶段,引入了基于离线词汇表的先提示后检测策略,用户可以定义自定义提示,通过文本编码器进行编码,获得离线词汇嵌入,以提高效率。

重新参数化VL-PAN

RepVL-PAN遵循自上而下和自下而上的路径,以建立多尺度图像特征金字塔。此外,文本引导的CSPLayer和Image-Pooling注意力被引入,进一步增强图像特征和文本特征之间的交互,提高open vocabulary表的视觉语义表示能力。在推理过程中,离线词汇嵌入可以被重新参数化为卷积层或线性层的权重以进行部署。

文本引导的CSPLayer在自顶向下或自底向上融合后使用跨阶段局部层(CSPLayer),通过融合文本引导信息对CSPLayer进行扩展,形成文本引导的CSPLayer。

Image-Pooling注意力为了用图像感知信息增强文本嵌入,提出了图像池化注意力(Image-Pooling Attention)。不直接在图像特征上使用交叉注意力,而是通过多尺度特征上的最大池化获取3×3区域,总共产生27个patch。然后通过以下方式更新文本嵌入:

训练方式

在大规模检测、定位和图像文本数据集上,YOLO-World进行了预训练。预训练过程采用了区域-文本对比损失函数,通过交叉熵计算目标-文本相似度和目标-文本分配之间的损失。边界框回归方面则使用了IoU损失和分布式焦点损失。在图像-文本数据集中,考虑到存在噪声框,只对准确边界框的样本计算回归损失。整体的训练损失由区域-文本对比损失和边界框回归损失组成。

此外,为了进行预训练,采用了图像-文本数据的伪标记方法。这个过程包括三个关键步骤:提取名词短语、伪标注和过滤。首先,通过提取名词短语和使用预训练的open vocabulary检测器生成伪框,得到初步的区域-文本对。接着,利用预训练的CLIP模型评估图像-文本对和区域-文本对的相关性,并过滤掉相关性较低的伪标注和图像。最后,通过非极大值抑制等手段,过滤掉冗余的边界框。通过这一方法,从CC3M数据集中采样和标注了246k张图像,生成了821k个伪标注。

实验与结果

通过在大规模数据集上进行预 训练并在LVIS基准和COCO基准上以零 样本的方式评估YOLO-World的有效性。还评估 了YOLO-World在COCO和LVIS上进行目标检测的微调 性能。

实验设置。我们使用预训练的权重来初始化YOLO-World进行微调。所有模型都使用AdamW优化器进行80个epoch的微调。此外,我们使用学习因子0.01对CLIP文本编码器进行微调。对于LVIS数据集,我们遵循之前的工作,并在LVIS-base(常见和频繁)上微调YOLO-World,并在LVIS-novel(罕见)上进行评估。

COCO目标检测。我们将预训练的YOLO-World与之前的YOLO检测器进行了比较。在COCO数据集上微调YOLO-World时,考虑到COCO数据集的词汇量较小,我们移除了提出的RepVL-PAN以进一步加速。从结果可以看出,我们的方法在COCO数据集上可以取得不错的零样本性能,这表明YOLO-World具有很强的泛化能力。此外,经过在COCO train2017上微调后,YOLO-World的性能比之前从头开始训练的方法更高。

LVIS目标检测。我们评估了YOLO-World在标准LVIS数据集上的微调性能。与在完整LVIS数据集上训练的oracle YOLOv8s相比,YOLO-World取得了显著的改进,特别是对于较大的模型,例如YOLO-World-L的AP提高了7.2,APr提高了10.2。这些改进证明了针对大词汇检测的预训练策略的有效性。此外,作为一种高效的单阶段检测器,YOLO-World在整体性能上优于之前的最先进的两阶段方法,例如可学习提示[7]或基于区域的对齐。

open vocabulary实例分割

我们进一步对YOLO-World进行微调,以在open vocabulary的情况下进行对象分割,这可以称为open vocabulary实例分割(OVIS)。我们直接在具有掩码注释的数据子集上对YOLO-World进行微调,并在大词汇设置下评估分割性能。我们在两种设置下评估open vocabulary实例分割:

从COCO到LVIS设置,我们在COCO数据集上对YOLO-World进行微调(包括80个类别),模型需要从80个类别转移到1203个类别(80→1203)

从LVIS-base到LVIS设置,我们在LVIS-base上对YOLO-World进行微调(包括866个类别,常见和频繁的类别),模型需要从866个类别转移到1203个类别(866→1203)。

我们在具有1203个类别的标准LVIS val2017上评估微调模型,其中有337个罕见类别是未见过的,可以用来衡量open vocabulary性能。

结果。我们采用了两种微调策略:(1)仅微调分割头部和(2)微调所有模块。在策略(1)下,经过微调的YOLO-World仍保留了从预训练阶段获得的零样本能力,使其能够推广到未见过的类别而无需额外微调。策略(2)使YOLO-World更好地适应LVIS数据集,但可能会导致零样本能力的降低。

结果表明,在LVIS-base上进行fine-tuning可以获得更好的性能,这可能是因为LVIS数据集提供了更详细和更密集的分割注释。当fine-tuning所有模块时,YOLO-World在LVIS上获得了显著的改进,但可能会降低open vocabulary表现。

可视化

本文介绍了预训练的YOLO-World-L模型在三种不同场景下的可视化结果:零样本推理、用户自定义词汇的检测和指代检测。结果表明,该模型具有强大的零样本迁移能力和指代能力,并且能够进行细粒度的检测和分类。这种能力得益于该模型的大规模训练数据和预训练策略。


相关推荐
是十一月末14 分钟前
Opencv实现图片的边界填充和阈值处理
人工智能·python·opencv·计算机视觉
机智的叉烧1 小时前
前沿重器[57] | sigir24:大模型推荐系统的文本ID对齐学习
人工智能·学习·机器学习
凳子花❀1 小时前
强化学习与深度学习以及相关芯片之间的区别
人工智能·深度学习·神经网络·ai·强化学习
泰迪智能科技013 小时前
高校深度学习视觉应用平台产品介绍
人工智能·深度学习
盛派网络小助手3 小时前
微信 SDK 更新 Sample,NCF 文档和模板更新,更多更新日志,欢迎解锁
开发语言·人工智能·后端·架构·c#
Eric.Lee20213 小时前
Paddle OCR 中英文检测识别 - python 实现
人工智能·opencv·计算机视觉·ocr检测
cd_farsight4 小时前
nlp初学者怎么入门?需要学习哪些?
人工智能·自然语言处理
AI明说4 小时前
评估大语言模型在药物基因组学问答任务中的表现:PGxQA
人工智能·语言模型·自然语言处理·数智药师·数智药学
Focus_Liu4 小时前
NLP-UIE(Universal Information Extraction)
人工智能·自然语言处理