论文:
YOLO-World: Real-Time Open-Vocabulary Object Detection (thecvf.com)https://openaccess.thecvf.com/content/CVPR2024/papers/Cheng_YOLO-World_Real-Time_Open-Vocabulary_Object_Detection_CVPR_2024_paper.pdf代码:GitHub - AILab-CVC/YOLO-World: [CVPR 2024] Real-Time Open-Vocabulary Object Detection[CVPR 2024] Real-Time Open-Vocabulary Object Detection - AILab-CVC/YOLO-Worldhttps://github.com/AILab-CVC/YOLO-World
一、摘要
YOLO系列检测器因其高效性和实用性而被广泛使用。然而,它们对预定义和训练过的对象类别的依赖限制了它们在开放场景中的适用性。针对这一限制,本文提出了YOLO-World,通过视觉语言建模和大规模数据集的预训练,增强了YOLO的 Open-Vocabulary检测能力。具体而言,本文提出了一种新的可重新参数化视觉语言路径聚合网络(RepVL-PAN)和区域-文本对比损失,以促进视觉和语言信息之间的交互。该方法可以 zero-shot检测大范围目标的优点,且效率高。在LVIS数据集上,YOLO-World在V100上实现了35.4的AP和52.0的FPS,在精度和速度方面都优于许多最先进的方法。此外,优化后的YOLO-World在目标检测和开放词汇实例分割等下游任务上也能取得了不错的性能。
二、Motivation
1、传统目标检测的局限
现阶段的多数目标检测算法只能检测具有固定词汇表(Close Vocabulary)的目标,例如基于COCO数据集训练的检测模型只能检测该数据中的80个类别。这种目标类别被预先定义和标记好的检测器只能检测这些特定的类别,限制了算法开放场景(Open Vocabulary)的能力和适用性。
图2 不同检测范式的比较。(a)传统的对象检测器:该类目标检测器只能检测训练数据集预定义的固定词汇表内的目标,例如COCO数据集的80个类别。固定的词汇限制了开放场景的扩展。(b)以前的开放词汇检测器:以前的方法倾向于开发大而重的检测器用于开放词汇检测,直观上具有很强的能力。此外,这些检测器同时编码图像和文本作为预测的输入,这在实际应用中是耗时的。(c) YOLO- world:具备轻量级检测器的强大开放词汇性能,与使用在线词汇表不同,YOLO- world使用了一种高效推理的提示-检测范式,用户根据需要生成一系列提示,这些提示将被编码到离线词汇表中。然后可以将其重新参数化为模型权重,用于部署和进一步加速。
2、Open Vocabulary检测的困境
虽然目前也有不少学者尝试利用了视觉-语言模型来解决Open Vocabulary检测问题,如通过语言编码器(如BERT)来提取词汇知识或将目标检测训练重新定义为区域级视觉语言预训练,并在大规模数据集上训练开放词汇目标检测模型。但是仍然还是存在以下的问题:
(1)训练数据的稀缺性和词汇的多样性有限
(2)通常为了提高模型的性能而选择使用体量较大的检测器架构,如Swin-L
(3)在实际应用时面临着沉重的计算负担,且边缘设备部署复杂两大难题
三、创新点
- 提出了一个先进的Open Vocabulary目标检测器——YOLO-World,该模型在实际应用场景中具有很高的计算效率。
- 提出了RepVL-PAN模块用于聚合文本和图像特征,获得更好的语义表达;并提出了一种开放词汇的区域-文本对(region-text)比预训练方案。
- YOLO-World具有较强的Zero-Shot性能,且在LVIS数据集上能达到35.4的AP和52.0的FPS。同时,YOLO-World还可以很容易地适应下游任务。
四、YOLO-World概述
1、网络结构
YOLO-World结构主要由YOLO Detector、Text Encoder和RepVL-PAN三个部分组成,如下图所示。其中YOLO Detector和Text Encoder分别用于提取图像和文本的特征,RepVL-PAN模块主用于跨模态的特征融合。
图3 YOLO-World整体架构。与传统的YOLO检测器相比,YOLO- world作为一种开放词汇检测器,采用文本作为输入,文本编码器首先对输入文本嵌入进行编码。然后,图像编码器将输入图像编码成多尺度图像特征,所提出的RepVL-PAN利用图像和文本特征的多层次跨模态融合。最后,YOLO-World预测回归的边界框和目标嵌入,以匹配输入文本中出现的类别或名词。
(1)YOLO Detector
由YOLOv8改进而来,包含作为backbone的Darknet网络、用于多尺度特征金字塔聚合网络PAN,以及一个用于边界盒回归和目标embedding的头部。
(2)Text Encoder
采用CLIP预训练的文本编码器提取相应的文本embedding。
(3)RepVL-PAN
在RepVL-PAN中,为了增强图像特征和文本特征之间的交互,YOLO-World使用了Text-guided CSPLayer和Image Pooling Attention两个结构,从而提高开放词汇的视觉语义表示能力。其中Text-guided CSPLayer时一个拓展的的CSPLayer,它可以在多尺度图像特征中加入文本嵌入(Text Embedding),从而增强图像特征。Image Pooling Attention可以在多尺度的特征上通过Max Pooling来聚合图像处理后特征,并更新Text Embedding,从而实现文本特征和图像特征的深度融合。
图4 RepVL-PAN结构RepVL-PAN采用Text-guided CSPLayer (T-CSPLayer)将文本信息融合到图像特征中,采用图像池注意(Image Pooling Attention,I-Pooling Attention)增强文本embedding。
2、 将Region-Text对作为模型输入
不同于之间的YOLO系列算法将box-label对作为模型的输入,YOLO-World将Region-Text对作为模型的输入,其中Text可以是类别名称、名词短语或对目标的描述;Region是Text对应的区域。(模型的输出为:预测框box和相应的目标embedding)
为了生成Region-Text对,YOLO-World提出了一种自动标记方法来生成Region-Text对。具体分为以下三个步骤:
(1)提取名词短语:利用名词提取算法从文本中提取名词短语
(2)伪标注:采用预训练的开放词汇检测器,为每张图像的给定名词短语生成伪框,从而得到较为粗糙的Region-Text对。
(3)过滤:使用预训练的CLIP来评估Image-text对和Region-Text对的相关性,过滤掉相关性较低的伪注释和图像。