目标检测一直是计算机视觉行业的一个基本挑战,在机器人、图像理解、自动驾驶汽车和图像识别方面都有应用。近年来,人工智能领域的突破性工作,特别是通过深度神经网络,已经显着推进了目标检测。但是,这些模型具有固定的词汇表,仅限于检测 COCO 数据集的 80 个类别中的对象。这种局限性源于训练过程,在训练过程中,目标检测器被训练为仅识别特定类别,从而限制了它们的适用性。
为了克服这个问题,我们引入了 YOLO-World,这是一种创新方法,旨在通过开放词汇检测功能增强 YOLO(You Only Look Once)框架。这是通过在大规模数据集上预训练框架并实施视觉语言建模方法来实现的。具体来说,YOLO-World采用可重参数化的视觉-语言路径聚合网络(RepVL-PAN)和区域-文本对比损失来促进语言和视觉信息之间的交互。通过RepVL-PAN和区域文本对比损失,YOLO-World可以在零样本设置下准确检测各种物体,在开放词汇分割和物体检测任务中表现出卓越的性能。
本文旨在全面了解YOLO-World的技术基础、模型架构、训练流程和应用场景。让我们开始吧。
YOLO或You Only Look Once是计算机视觉行业中最流行的现代物体检测方法之一。YOLO机制以其令人难以置信的速度和效率而闻名,它的出现彻底改变了机器实时解释和检测图像和视频中特定对象的方式。传统的对象检测框架实现了两步对象检测方法:在第一步中,框架提出可能包含对象的区域,框架在下一步中对对象进行分类。另一方面,YOLO框架将这两个步骤集成到一个单一的神经网络模型中,这种方法允许框架只看一次图像,以预测对象及其在图像中的位置,因此,名称YOLO或你只看一次。
此外,YOLO框架将目标检测视为回归问题,并直接从完整图像中一目了然地预测类概率和边界框。该方法的实施不仅提高了检测过程的速度,还增强了模型从复杂和多样化的数据中泛化的能力,使其成为实时运行的应用(如自动驾驶、速度检测或车牌识别)的合适选择。此外,深度神经网络在过去几年中的重大进步也为目标检测框架的发展做出了重大贡献,但目标检测框架的成功仍然有限,因为它们只能用有限的词汇来检测对象。这主要是因为一旦在数据集中定义和标记了对象类别,框架中经过训练的检测器就只能识别这些特定的类别,从而限制了在实时和开放场景中部署对象检测模型的适用性和能力。
与此同时,最近开发的视觉语言模型利用语言编码器中提炼的词汇知识来解决开放词汇检测问题。尽管这些框架在开放词汇检测方面比传统的目标检测模型表现更好,但由于词汇多样性有限的训练数据稀缺,它们的适用性仍然有限。此外,选定的框架可以大规模训练开放词汇对象检测器,并将训练对象检测器归类为区域级视觉语言预训练。然而,由于两个主要原因,该方法在实时检测对象方面仍然很困难:边缘设备的复杂部署过程和繁重的计算要求。积极的一面是,这些框架已经显示出对大型探测器进行预训练以使其具有开放识别能力的积极结果。
YOLO-World框架旨在实现高效的开放词汇对象检测,并探索大规模预训练方法的可能性,以提高传统YOLO检测器的开放词汇对象检测效率。与之前在目标检测方面的工作相反,YOLO-World框架在推理速度快的情况下表现出了非凡的效率,并且可以轻松部署在下游应用程序上。YOLO-World 模型遵循传统的 YOLO 架构,利用预训练的 CLIP 文本编码器的功能对输入文本进行编码。此外,YOLO-World框架在其架构中包括一个可重新参数化的视觉语言路径聚合网络(RepVL-PAN)组件,用于连接图像和文本特征以增强视觉语义表示。在推理阶段,框架删除了文本编码器,并将文本嵌入重新参数化到 RepVL-PAN 权重中,从而实现了高效部署。该框架还在其框架中包括区域文本对比学习,以研究传统 YOLO 模型的开放词汇预训练方法。区域文本对比学习方法将图像文本数据、接地数据和检测数据统一为区域文本对。在此基础上,在区域文本对上预先训练的 YOLO-World 框架展示了卓越的开放和大型词汇检测能力。此外,YOLO-World框架还探索了一种先提示后检测的范式,旨在提高开放词汇对象检测在实时和真实场景中的效率。
如下图所示,传统的对象检测器侧重于具有预定义类别的固定词汇的紧密集检测,而开放词汇检测器通过使用文本编码器对用户提示进行编码来检测对象。相比之下,YOLO-World的先提示后检测方法首先通过对用户提示进行编码来构建离线词汇表(根据不同需求改变词汇表),允许检测器实时解释离线词汇表,而无需重新编码提示。
传统上,对象检测框架(包括 YOLO 系列对象检测器)使用包含类别标签和边界框的实例注释进行训练。相比之下,YOLO-World 框架将实例注释重新表述为区域-文本对,其中文本可以是对象、名词短语或类别名称的描述。值得一提的是,YOLO-World框架采用文本和图像作为输入和输出预测框,并嵌入相应的对象。
YOLO-World 模型的核心由一个文本编码器、一个 YOLO 检测器和可重新参数化的视觉语言路径聚合网络 (RepVL-PAN) 组件组成,如下图所示。
对于输入文本,文本编码器组件将文本编码为文本嵌入,然后由 YOLO 检测器组件中的图像检测器从输入图像中提取多尺度特征。然后,可重新参数化的视觉语言路径聚合网络 (RepVL-PAN) 组件利用文本和特征嵌入之间的跨模态融合来增强文本和图像表示。
YOLO-World 模型建立在现有的 YOLOv8 框架之上,该框架包含一个 Darknet 骨干组件作为其图像编码器、一个用于对象嵌入和边界框回归的头部,以及一个用于多尺度特征金字塔的 PAN 或路径侵略网络。
对于给定的文本,YOLO-World 模型通过采用具有一定数量名词和嵌入维度的预训练 CLIP Transformer 文本编码器来提取相应的文本嵌入。YOLO-World框架之所以采用CLIP文本编码器,主要是因为它为连接文本和视觉对象提供了更好的视觉语义性能,明显优于传统的纯文本语言编码器。但是,如果输入文本是标题或引用表达式,则 YOLO-World 模型会选择更简单的 n-gram 算法来提取短语。然后将这些短语馈送到文本编码器。
解耦头是早期目标检测模型使用的组件,YOLO-World框架采用具有双3×3卷积的解耦头来回归固定数量对象的对象嵌入和边界框。YOLO-World 框架采用文本对比头,使用 L2 规范化方法和文本嵌入来获得对象-文本相似性。此外,YOLO-World模型还采用了具有移位因子和可学习比例因子的仿射变换方法,L2归一化和仿射变换增强了模型在区域文本训练过程中的稳定性。
在训练阶段,YOLO-World 模型为每个镶嵌样本构建一个在线词汇表,每个样本由 4 张图像组成。该模型对镶嵌图像中包含的所有正面名词进行采样,并从相应的数据集中随机采样一些负面名词。每个样本的词汇表最多包含 n 个名词,默认值为 80。
在推理过程中,YOLO-World模型提出了一种带有离线词汇的先提示后检测策略,以进一步提高模型的效率。用户首先定义一系列自定义提示,这些提示可能包括类别甚至标题。然后,YOLO-World 模型通过利用文本编码器对这些提示进行编码来获取离线词汇嵌入。因此,离线词汇用于推理有助于模型避免对每个输入进行计算,也允许模型根据需求灵活调整词汇。
下图说明了所提出的可重参数化的视觉-语言路径攻击网络的结构,该网络遵循自上而下和自下而上的路径来建立具有多尺度特征图像的特征金字塔。
为了增强文本和图像特征之间的交互,YOLO-World模型提出了图像池注意力和文本引导的CSPLayer(跨阶段部分层),最终目的是改善开放词汇能力的视觉语义表示。在推理过程中,YOLO-World 模型将离线词汇嵌入重新参数化到线性或卷积层的权重中,以便有效部署。
从上图可以看出,YOLO-World模型在自上而下或自下而上的融合之后利用了CSPLayer,并将文本引导融入多尺度图像特征中,形成了文本引导CSPLayer,从而扩展了CSPLayer。对于任何给定的图像特征及其相应的文本嵌入,该模型在最后一个瓶颈块之后采用最大 sigmoid 注意力将文本特征聚合为图像特征。然后,更新的图像特征与跨级特征连接起来,并显示为输出。
接下来,YOLO-World 模型通过引入图像池注意力层来聚合图像特征以更新文本嵌入,以使用图像感知信息增强文本嵌入。该模型不是直接在图像特征上使用交叉注意力,而是利用多尺度特征的最大池化来获得 3×3 个区域,从而产生 27 个补丁标记,模型将在下一步中更新文本嵌入。
YOLO-World 模型遵循两种主要的预训练方案:从区域文本对比损失中学习和使用图像文本数据进行伪标记。对于主要的预训练方案,该模型输出对象预测以及给定文本和镶嵌样本的注释。YOLO-World 框架通过遵循和利用任务分配的标签分配,将预测与地面实况注释进行匹配,并使用用作分类标签的文本索引分配单个正面预测。另一方面,Pseudo Labeling with Image-Text Data预训练方案提出使用自动标记方法,而不是使用图像-文本对来生成区域-文本对。所提出的标记方法包括三个步骤:提取名词短语、伪标记和过滤。 第一步利用n-gram算法从输入文本中提取名词短语,第二步采用预训练的开放词汇检测器为单个图像的给定名词短语生成伪框,而第三步也是最后一步采用预训练的CLIP框架来评估区域-文本和文本-图像对的相关性, 之后,模型过滤低相关性伪图像和注释。
一旦YOLO-World模型被预训练,它就会在零样本设置中直接在LVIS数据集上进行评估,LVIS数据集由1200多个类别组成,远远超过现有框架用于测试其在大词汇检测方面的性能的预训练数据集。下图演示了 YOLO-World 框架在零样本设置下在 LVIS 数据集上使用一些现有最先进的对象检测框架的性能。
可以看出,YOLO-World 框架在推理速度和零样本性能方面优于大多数现有框架,即使使用 Grounding DINO、GLIP 和 GLIPv2 等包含更多数据的框架也是如此。总体而言,结果表明,像YOLO-World-S这样只有1300万个参数的小型目标检测模型可以用于视觉语言任务的预训练,具有非凡的开放词汇能力。
在本文中,我们讨论了 YOLO-World,这是一种创新方法,旨在通过在大规模数据集上预训练框架并实现视觉语言建模方法,增强具有开放词汇检测能力的 YOLO 或 You Only Look Once 框架的能力。更具体地说,YOLO-World框架建议实现可重参数化的视觉语言路径聚合网络或RepVL-PAN,以及区域文本对比损失,以促进语言和视觉信息之间的交互。通过实施 RepVL-PAN 和区域文本对比损失,YOLO-World 框架能够在零样本设置中准确有效地检测各种对象。
文章来源:unite.ai