网站首页 > 技术文章 正文
作者:泡椒味的口香糖 | 来源:3DCV
在公众号「3DCV」后台,回复「原论文」可获取论文pdf、代码链接
添加v:dddvision,备注:目标检测,拉你入群
1、写在前面
这篇文章提出了一种名为YOLO-World的高效实时开放词汇目标检测方法,旨在解决传统目标检测方法在开放场景中受预定义类别限制的问题。其核心思想是通过视觉语言建模和大规模数据集预训练,增强YOLO系列检测器对开放词汇的检测能力。主要实现方法是使用可重参数化的视觉语言路径聚合网络RepVL-PAN连接文本和图像特征,并引入基于区域的文本对比损失进行预训练,YOLO-World在LVIS数据集上实现了35.4的AP和52帧每秒的速度。
下面一起来阅读一下这项工作~
2、摘要
"You Only Look Once"(YOLO)系列检测器已经成为高效实用的工具。然而,它们对预定义和训练的对象类别的依赖限制了它们在开放场景中的适用性。针对这一限制,我们引入了YOLO世界-World,这是一种创新的方法,通过视觉语言建模和大规模数据集上的预训练来增强YOLO的开放词汇检测能力。具体而言,我们提出了一种新的可重新参数化的视觉-语言路径聚合网络(RepVL-PAN)和区域-文本对比损失,以促进视觉和语言信息之间的交互。我们的方法擅长以高效率的Zero-shot方式检测各种各样的对象。在具有挑战性的LVIS数据集上,YOLO世界在V100上实现了52.0 FPS的35.4 AP,在准确性和速度方面都优于许多最先进的方法。此外,经过微调的YOLO世界在几个下游任务上取得了显著的性能,包括对象检测和开放词汇实例分割。
3、效果展示
速度和精度曲线: 比较了YOLO-World和最近的开放词汇方法的速度和准确性。所有模型都在LVIS minival上进行评估,推理速度是在一台NVIDIA V100 w/o TensorRT上测量的,圆圈大小代表模型的大小。
与其他目标检测范式的比较:(a)传统目标检测器:这些目标检测器只能检测由训练数据集预定义的固定词汇内的对象,例如80个类别的COCO数据集。(b)以前的开放词汇检测器,倾向于开发用于开放词汇检测的大而重的检测器,这些检测器直观上具有很强的能力。但由于同时对图像和文本进行编码作为预测的输入,对于实际应用来说非常耗时。(c)YOLO-World:展示了轻量级YOLO检测器的强大开放词汇性能,它没有使用在线词汇,而是提出了一种"先提示后检测"的有效推理范式,其中用户根据需要生成一系列提示,这些提示将被编码到离线词汇中。然后可以将其重新参数化为用于部署和进一步加速的模型权重。
4、主要贡献
(1)介绍了YOLO-World,一种先进的开放词汇对象检测器,具有现实世界应用的高效率。
(2)提出了一个可重新参数化的视觉语言PAN来连接视觉和语言特征,并为YOLO-World提出了一个开放词汇区域文本对比预训练方案。
(3)在大规模数据集上预先训练的YOLO-World展示了强大的Zero-shot性能,并在LVIS上以52.0 FPS实现了35.4 AP。预训练的YOLO-World可以很容易地适应下游任务,例如开放词汇实例分割和指代对象检测。此外,YOLO世界预训练的权重文件和代码将是开源的,以促进更多的实际应用。
5、具体原理
YOLO-World的整体架构: 与传统的YOLO检测器相比,YOLO-World作为一个开放词汇检测器采用文本作为输入。文本编码器首先对输入文本进行编码。然后,图像编码器将输入图像编码为多尺度图像特征,所提出的RepVL-PAN利用图像和文本特征的多级跨模态融合。最后,YOLO-World预测回归的边界框和对象嵌入,以匹配输入文本中出现的类别或名词。
5.1 预训练表示:区域-文本对
传统的目标检测数据为区域-标签对,作者将其重新定义为区域-文本对,即{Bi, ti}N i=1,其中Bi表示目标的坐标框,ti表示该目标的文本描述(类别名称、名词短语或对象描述),从而将文本与图像中的目标区域进行关联。
5.2 模型架构
YOLO-World的模型架构包括以下三个主要组件:
1) YOLO检测器:基于YOLOv8,包括图像编码器、路径聚合网络和预测头。
2) 文本编码器:使用CLIP预训练的Transformer编码器,将输入文本编码为文本特征。
3) 可重参数化的视觉语言路径聚合网络RepVL-PAN:连接文本特征和图像特征,包括文本引导的CSPLayer和图像池化注意力机制。
YOLO-World使用在线词汇进行训练。在训练过程中,为每个包含4张图像的mosaic样本构建一个在线词汇T。具体做法是,从mosaic图像中抽样所有涉及的正面名词,并从相应的数据集中随机抽样一些负面名词。
随后使用离线词汇进行推理。在推理阶段,采用一种"先提示-再检测"的策略,使用离线词汇以提高效率。用户可以定义一系列自定义提示,然后利用文本编码器对这些提示进行编码,并获得离线词汇嵌入。
5.3 可重参数化的视觉语言路径聚合网络
提出了文本引导的CSPLayer(T-CSPLayer)和图像池化注意力(I-Pooling Attention)机制,用于增强图像和文本特征之间的交互。文本引导的CSPLayer通过在图像特征上应用文本注意力,而图像池化注意力机制则通过聚合图像特征来更新文本特征。在推理时,文本特征可以重参数化为卷积或线性层的权重,从而简化模型。
RepVL-PAN的原理: 采用文本引导的CSPLayer将语言信息注入图像特征,并采用图像集中注意力增强图像感知文本嵌入。
5.4 预训练方案
介绍了在大规模数据集上进行开放词汇的区域-文本对比预训练的方案,包括使用大规模检测数据、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)进一步过滤冗余的边界框。
6、实验结果
6.1 实现细节
在预训练阶段,采用AdamW优化器,初始学习率为0.002,权重衰减为0.05。在32个NVIDIA V100 GPU上进行预训练,batch size大小为512。数据增强包括颜色增强、随机仿射、随机翻转和mosaic。文本编码器在预训练时被冻结。
6.2 预训练
简要总结:
(1)YOLO-World在Objects365、GQA、Flickr、CC3M数据集上进行预训练。
(2)使用在线词汇表进行训练,每个样本包含4幅图像的mosaic,词汇表大小默认为80。
(3)在CC3M图像-文本数据集上进行伪标签化,获得246k图像和821k伪注释。
(4)零样本评估在LVIS数据集上进行,YOLO-World-L获得35.4 AP,优于许多SOTA方法,同时速度更快。
6.3 消融实验
简要总结:
(1)在Objects365上预训练,添加GQA数据可显著提高性能,获得8.4 AP增益。
(2)添加CC3M样本可进一步提升性能,尤其是对稀有类别的APr提高了1.3。
(3)RepVL-PAN可提升1.1 AP,对稀有类别效果显著。
(4)使用CLIP文本编码器优于BERT,获得10.1 AP提升。
6.4 YOLO-World的微调
简要总结:
(1)在COCO数据集上微调,YOLO-World优于多个之前的YOLO版本。
(2)在LVIS数据集上微调,YOLO-World优于多个之前的open-vocabulary检测器。
6.5 开放词汇实例分割
将 YOLO-World 扩展到开放词汇实例分割,采用了两种微调策略:(1)仅微调分割头部和(2)微调所有模块,简要总结:
(1)在 LVIS-base 上微调获得了比基于 COCO 更好的性能。然而,AP 和 APr 之间的比例(APr/AP)几乎不变。
(2)当微调所有模块时,YOLO-World 在 LVIS 上取得了显著的改进,获得了 9.6 的 AP 增益。
7、总结
这篇文章介绍了YOLO-World,一款先进的实时开放词汇检测器,旨在提高实际应用中的效率和开放词汇能力。作者将流行的YOLOs重新塑造为一种用于开放词汇预训练和检测的视觉语言YOLO架构,并提出了RepVL-PAN,该架构将视觉和语言信息与网络连接,可重新参数化以实现高效部署。进一步提出了有效的预训练方案,包括检测、定位和图像-文本数据,赋予YOLO-World强大的开放词汇检测能力。
对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~
- 上一篇: 难以置信的目标检测小妙招
- 下一篇: 深兰科技ACM MM 2020冠军,视频级别目标身份和动态
猜你喜欢
- 2024-09-24 机器学习:借助实例深入理解PR、AP评估指标及PR与ROC曲线选择
- 2024-09-24 对mAP进行分解,让你了解的更清楚
- 2024-09-24 提升小目标检测的一包围框相似度度量
- 2024-09-24 测试服猴子改动:冲刺会指向目标,百分百ap加成可以玩ap猴子?
- 2024-09-24 YOLOv4:快速高精度目标检测
- 2024-09-24 目标检测中的“神奇指南”——平均精度(mAP)
- 2024-09-24 目标检测CornerNet讲解
- 2024-09-24 深兰科技ACM MM 2020冠军,视频级别目标身份和动态
- 2024-09-24 难以置信的目标检测小妙招
- 2024-09-24 YoloV:目标实时检测效果依然很棒(附源代码下载)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)