YOLO-World-理论阅读

一、概要

YOLO-World: Real-Time Open-Vocabulary Object Detection

YOLO-World是腾讯发布的一个YOLO变种,其是一个使用开放词汇进行目标检测的新框架,其以YOLOv8框架为detector,所以继承了YOLO系列的特点,也即轻量、快速、性能好。

其论文地址为:https://arxiv.org/abs/2401.17270

开源地址为:GitHub - AILab-CVC/YOLO-World: [CVPR 2024] Real-Time Open-Vocabulary Object Detection

demo地址为:https://huggingface.co/spaces/stevengrove/YOLO-World

二、主要贡献

  1. 提出了YOLO-World,实时、开放词汇的物体检测模型旨在提升开放词汇检测能力以及解决现有zero-shot目标检测模型的限制,特别是在速度方面。
  2. 提出了一个可重新参数化的视图-语言路径聚合网络(RepVL-PAN)和区域-文本对比损失函数,以促进视觉和语言信息之间的交互。
  3. 在大规模数据集上预训练的YOLO-World展示了强大的零样本(zero-shot)性能,并在LVIS数据集上达到了35.4 AP的检测准确度,同时保持了52.0 FPS的高效率。

三、效果对比

速度与准确度曲线对比

将 YOLO- World 与最近的开放词汇方法在速度和准确性方面进行了比较。所有模型都在 LVIS minival 上进行评估,而计算速度则是在一台NVIDIA V100(不含 TensorRT)上测量的。圆圈的大小代表模型的大小。可以看到, YOLO- World 不仅模型小,而且准确度高、速度快。

与其他目标检测模式的对比

传统目标检测器:这些目标检测器只能检测由训练数据集预定义的固定词汇内的对象,例如80个类别的COCO数据集。

以前的开放词汇检测器:倾向于开发用于开放词汇检测的大而重的检测器,这些检测器直观上具有很强的能力。但由于同时对图像和文本进行编码作为预测的输入,对于实际应用来说非常耗时。

YOLO-World:展示了轻量级YOLO检测器的强大开放词汇性能,它没有使用在线词汇,而是提出了一种"先提示后检测"的有效推理范式,其中用户根据需要生成一系列提示,这些提示将被编码到离线词汇中。然后可以将其重新参数化为用于部署和进一步加速的模型权重。

四、详细原理

整体架构

 

与传统的YOLO检测器相比,YOLO-World作为一个开放词汇检测器采用文本作为输入。文本编码器首先对输入文本进行编码。然后,图像编码器将输入图像编码为多尺度图像特征,所提出的RepVL-PAN利用图像和文本特征的多级跨模态融合。最后,YOLO-World预测回归的边界框和对象嵌入,以匹配输入文本中出现的类别或名词。

YOLO-World的模型架构包括以下三个主要组件:

1) YOLO检测器:基于YOLOv8,包括图像编码器、路径聚合网络和预测头。

2) 文本编码器:使用CLIP预训练的Transformer编码器。流程如下:给定一段text,首先会提取里面的名词,随后将提取的每个名词短语输入CLIP中得到向量。可以知道text encoder的输出为

C 是名词短语的数量, D是embedding的维度。

3) 可重参数化的视觉语言路径聚合网络RepVL-PAN:连接文本特征和图像特征,包括文本引导的CSPLayer和图像池化注意力机制。

CSPLayer

该层用文本向量来强化图片特征。具体计算公式如下

式中:

为多尺度的图片特征。 W j 为名词 j 的text embedding。 δ 为sigmoid函数。

图像池化注意力机制

该层用图片特征来强化文本向量。具体做法为:将多尺度图片特征通过max pooling,每个尺度经过max-pooling后的

即9个patch token,因为有3个尺度,总计27个patch token,记作

随后将这27个patch token作为 cross-attention的key,value,将text embedding作为query进行特征交互,从而得到image-aware的文本特征向量。

预训练方案

YOLO-World使用在线词汇进行训练。在训练过程中,为每个包含4张图像的mosaic样本构建一个在线词汇T。具体做法是,从mosaic图像中抽样所有涉及的正面名词,并从相应的数据集中随机抽样一些负面名词。

随后使用离线词汇进行推理。在推理阶段,采用一种"先提示-再检测"的策略,使用离线词汇以提高效率。用户可以定义一系列自定义提示,然后利用文本编码器对这些提示进行编码,并获得离线词汇嵌入。

预训练表示:区域-文本对

传统的目标检测数据为区域-标签对,作者将其重新定义为区域-文本对,即

其中Bi表示目标的坐标框,ti表示该目标的文本描述(类别名称、名词短语或对象描述),从而将文本与图像中的目标区域进行关联。

在大规模数据集上进行开放词汇的区域-文本对比预训练的方案,包括使用大规模检测数据、grounding数据和图像-文本数据进行预训练。

给定mosaic样本I和文本T,YOLO-World输出K个对象预测{Bk,sk}以及注释Ω = {Bi,ti}。利用任务对齐的标签分配,将预测与真值注释匹配,并为每个正预测分配一个文本索引作为分类标签。基于这个词汇表,通过对象-文本(区域-文本)相似度和对象-文本分配之间的交叉熵构建区域-文本对比损失Lcon。此外,采用IoU损失和分布式focal损失进行边界框回归,总训练损失定义为:L(I) = Lcon + λI · (Liou + Ldfl)。

提出使用伪标签进行预训练的方法,包含三个步骤:

(1)提取名词短语:首先利用 n-gram 算法从文本中提取名词短语;

(2)伪标签:采用预训练的开放词汇检测器GLIP,为给定的名词短语生成伪框,从而为每个图像提供粗略的区域-文本对;

(3)过滤:使用预训练的CLIP评估图像-文本对和区域-文本对的相关性,并过滤低相关性的伪注释和图像。使用非最大抑制(NMS)进一步过滤冗余的边界框。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值