开放词汇目标检测(Open-Vocabulary Object Detection, OVOD)综述

定义

开放词汇目标检测(Open-Vocabulary Object Detection, OVOD)是一种目标检测任务,旨在检测和识别那些未在训练集中明确标注的物体类别。传统的目标检测模型通常只能识别有限数量的预定义类别,而OVOD模型则具有识别“开放词汇”类别的能力,即在测试时可以识别和定位那些未曾在训练集中见过的类别。与开放词汇目标检测相对应的另一个重要概念是开集目标检测(Open-Set Object Detection, OSOD)。OSOD的目标是检测那些未在训练集中出现的未知类别,并将其标记为“未知”。与OVOD的不同之处在于,OSOD并不试图去识别这些未知类别是什么,而是关注于准确地检测它们的存在。本质上,开放词汇目标检测任务(Open-Vocabulary Object Detection)与零样本目标检测(Zero Shot Object Detection)、弱监督目标检测(Weakly supervised Object Detection)非常类似,核心思想都是在可见类(base class)的数据上进行训练,然后完成对不可见类(unseen/ target)数据的识别和检测。

参考链接:
https://blog.csdn.net/mieshizhishou/article/details/141216656
https://zhuanlan.zhihu.com/p/610639148

相关工作

OVR-CNN

2021年发表在CVPR的"open-vocabulary object detection using captions"是开放词汇对象检测领域第一篇重要工作,利用大规模image-caption数据改善对未知类的检测能力。本文提出了新的目标检测范式,用 image-caption 数据预训练视觉编码器。
论文:https://arxiv.org/pdf/2011.10678
源码:https://github.com/alirezazareian/ovr-cnn
解读:https://blog.csdn.net/jiaoyangwm/article/details/132000797
在这里插入图片描述

CLIP

于2021年由OpenAI发布。CLIP是一种图文多模态预训练神经网络。
基于视觉模型图像编码&基于nlp模型文本编码&相似度对比学习
论文:https://arxiv.org/pdf/2103.00020
源码:https://github.com/openai/CLIP
解读:https://blog.csdn.net/weixin_38252409/article/details/133828294
应用:图像分类、文本到图像检索、图像生成(结合GAN)、视觉问答(结合nlp)
在这里插入图片描述

ViLD

于2021 年由 Google Research 的Xiuye Gu等人提出。
以类似于Mask R-CNN 的两阶段检测器作为基础框架,第一阶段通过骨干网络(backbone)和区域提议网络(RPN)生成候选区域提议(proposals),第二阶段对这些提议进行分类和边界框回归,以确定目标的类别和位置。使用预训练的 CLIP 模型中的图像编码器和文本编码器,图像特征&文本特征&匹配关系等多模态信息融合共同优化损失函数。
论文:https://arxiv.org/pdf/2104.13921
源码:https://github.com/tensorflow/tpu/tree/master/models/official/detection/projects/vild
解读:https://hub.baai.ac.cn/view/12691
在这里插入图片描述

GLIP

于2021 年 12 月 7 日由微软团队首次发布提出。CLIP适用于分类任务,而GLIP尝试将这一技术应用于目标检测等复杂任务。视觉编码器&文本编码器&词-区域对齐&边界框回归
论文:https://arxiv.org/pdf/2112.03857.pdf
源码:https://github.com/microsoft/GLIP
解读:https://zhuanlan.zhihu.com/p/690342065
应用:开放词汇物体检测、视觉问答(VQA)、图像描述生成与检索
在这里插入图片描述

RegionCLIP

于2021年12月由微软团队提出。
基于预训练好的 CLIP 模型构建了一个 R-CNN 形式的目标检测器。
论文:https://arxiv.org/pdf/2112.09106.pdf
源码:https://github.com/microsoft/RegionCLIP
解读:https://blog.csdn.net/jiaoyangwm/article/details/131960703
在这里插入图片描述

Detic

于2022年1月由 Meta AI 和德克萨斯大学奥斯汀分校提出。
本质:使用图像分类的数据集来对目标检测器的分类头进行训练。
为了使得分类的分支具备检测出novel class的能力,基于image-supervised loss 的Detic,其将分类与定位解耦成两个问题,在分类时不再那么依赖标注数据。同样是两阶段范式。
论文:https://arxiv.org/pdf/2201.02605v3
源码:https://github.com/facebookresearch/Detic
解读:https://developer.aliyun.com/article/1277234

OWLViT

于2022 年由 Google Research 的 Matthias Minderer 等人提出。
OWL-ViT同样是以CLIP为多模态主干,创新之处在于其用于目标检测的微调阶段。在微调阶段,采用每个输出 token 的线性投影来获取每个对象的图像嵌入,而不是 CLIP 中使用的 token 池化和最终投影层。这些嵌入随后用于分类,而边界框坐标则是通过一个小型的 MLP 从 token 表示中推导出来的。支持基于图像嵌入做查询,允许检测难以通过文本描述的图像。
现在已经更新OWLViTv2。
论文:https://arxiv.org/pdf/2205.06230
源码:https://github.com/google-research/scenic/tree/main/scenic/projects/owl_vit
解读:https://zhuanlan.zhihu.com/p/613249723
在这里插入图片描述

VLDet

VLDet网络包括三个部分:视觉目标检测器,文本编码器和区域-词语之间的对齐。本文选择了Faster R-CNN作为目标检测模型。 目标检测的第一阶段与Faster R-CNN相同,通过RPN预测前景目标。为了适应开放词汇的设置,VLDet在两个方面修改了检测器的第二阶段:(1)使用所有类共享的定位分支,定位分支预测边界框而不考虑它们的类别。 (2) 使用文本特征替换可训练分类器权重,将检测器转换为开放词汇式检测器。 本文使用固定的预训练语言模型CLIP作为文本编码器。
论文:https://arxiv.org/pdf/2211.14843
源码:https://github.com/clin1223/VLDet
解读:https://blog.csdn.net/hanseywho/article/details/129143747
在这里插入图片描述

BARON

于2023年由Wu Size等人提出。首次提出了对齐 bag of regions 的 embedding,之前的方法都是对齐单个 region 的 embedding。基于 Faster R-CNN,为了让 Faster RNN 能够检测出任意词汇概念的目标,作者使用了一个线性映射层代替原本的分类器,将区域特征映射为伪词。
论文:https://arxiv.org/pdf/2302.13996
源码:https://github.com/wusize/ovdet
解读:https://blog.csdn.net/wzk4869/article/details/129713529
在这里插入图片描述

视觉-DINO

于2021年由 Facebook AI Research提出。
DINO学生网络和教师网络,两者具有相同的架构但参数不同,输入不同的图像视图,学生网络的输出通过与教师网络输出计算交叉熵损失来进行学习,教师网络使用学生网络的指数移动平均(EMA)进行更新。使用对比学习方法及全局自注意力机制,放弃负采样对的做法。
自监督的ViT可以呈现图像的语义分割信息,且在图像类间有良好的区分度。通过一个KNN就可以达到很高的分类准确率,所以用于算图像相似度、以图搜图的话应该是个好的选择。
论文:https://arxiv.org/pdf/2104.14294
代码:https://github.com/facebookresearch/dino
解读:https://zhuanlan.zhihu.com/p/635104575

视觉-DINOv2

于2023年由Meta AI Research提出。增强版DINO、大规模数据集LVD-142M
DINOv2包含两个完全相同的 ResNet 网络,其中一个作为学生网络,另一个作为教师网络,输入不同的图像,输出通过动量更新机制交互学习,这种结构有助于更好地学习图像的局部特征与全局特征。采用FlashAttention 机制,在同一前向传递中全局裁剪和局部裁剪,跳过了丢弃残差的计算。训练时采用全分片数据并行(FSDP)。
论文:https://arxiv.org/pdf/2304.07193
代码:https://github.com/facebookresearch/dinov2
解读:https://blog.csdn.net/CVHub/article/details/130304078

GroundingDINO

于2023年由清华大学、IDEA 研究院联合提出。GLIP是基于传统的one-stage detector结构,而Grounding DINO是一个双encoder单decoder结构,它包含了1个image backbone(Swin Transformer)用于提取多尺度图像特征,1个text backbone用于提取文本特征,1个feature enhancer用于融合图像和文本特征,1个language-guide query selection模块用于query初始化,1个cross-modality decoder用于bbox预测。
论文:https://arxiv.org/pdf/2303.05499
源码:https://github.com/IDEA-Research/GroundingDINO
解读:https://zhuanlan.zhihu.com/p/627646794
在这里插入图片描述

OV-DINO

于2024年由中山大学和美团联合提出。使用Swin Transformer作为图像编码器和BERT-base作为文本编码器的模型架构。统一的数据整合(UniDI)管道实现端到端训练,语言感知选择性融合(LASF)模块来优化跨模态的语义对齐。
论文:https://arxiv.org/pdf/2407.07844
源码:https://github.com/wanghao9610/OV-DINO
解读:https://blog.csdn.net/amusi1994/article/details/140836256
在这里插入图片描述

YOLO-World

于2024年由腾讯 AI 实验室提出。基于yolov8开发,采用CLIP预训练的Transformer文本编码器提取相应的文本嵌入,通过视觉语言建模和大规模数据集的预训练,提出一种新的可重新参数化的视觉-语言路径聚合网络(RepVL-PAN)和区域-文本对比损失,以促进视觉和语言信息之间的交互,增强了 YOLO 的开放词汇检测功能。
论文:https://arxiv.org/pdf/2401.17270v3
源码:https://github.com/AILAB-CVC/YOLO-World
解读:https://blog.csdn.net/weixin_47151388/article/details/137424184
在这里插入图片描述

其他最新工作2024-CVPR-Open-Vocabulary:

https://blog.csdn.net/m0_74163093/article/details/143247918

总结

综上,大多数工作均基于CLIP预训练的图像编码器和文本编码器。GlIP为解决目标检测任务提供了先例,后续很多工作常与目前较为广泛使用的目标检测网络结构相结合,从而构建新的开放词汇目标检测器。如ViLD基于Mask R-CNN、RegionCLIP基于R-CNN、VLDet和BARON基于Faster R-CNN。更具有创新性的工作是Detic,提出了使用图像分类的数据集来对目标检测器的分类头进行训练。OWL-ViT在目标检测微调阶段做创新,最有意思的是其支持基于图像嵌入做查询,允许检测难以通过文本描述的图像。这部分优势可能会使这个项目更能应用到实际任务中。另外的基于DINO的工作中,GroundingDINO更偏向于开集目标检测(OSOD)任务。与GLIP和G-DINO等其他方法相比,OV-DINO的预测更加精确,并且能够检测到标签中未标记的额外对象。而YOLO-World则主要是对yolov8的改进,目的在于为yolo架构赋予开放词汇检测能力。从开放词汇检测方案的发展历程上来看,YOLO-World的目标检测部分依然是单阶段范式的目标检测器,虽然效率更高速度更快,但一般不如两阶段范式的目标检测模型精度高。
开放词汇目标检测的核心思想是利用视觉-语言联合建模方法,将视觉特征和语言特征进行关联,从而实现对未见物体类别的检测。一般地,这类方法的关键组成有:
1.视觉特征提取(包括大规模图-文数据预训练、知识蒸馏、生成伪标签等)
2.文本嵌入(基于transformer)
3.视觉-语言匹配(基于referring 或grounding)
4.多模态融合

至于为何能做到开放词汇检测,关键在于利用了大规模预训练语言模型和视觉-语言联合表示学习。语言模型能够理解未见词语的语义,通过将目标类别名称编码为文本向量,然后与图像中的物体特征向量进行相似度计算。比如,对于一个新的类别 “独角兽”,语言模型能够理解这个词的语义,并且帮助检测器在图像中寻找具有相似语义特征的物体。

开放词汇对象检测/分割方案的常见架构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/942235.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《信管通低代码信息管理系统开发平台》Windows环境安装说明

1 简介 《信管通低代码信息管理系统应用平台》提供多环境软件产品开发服务,包括单机、局域网和互联网。我们专注于适用国产硬件和操作系统应用软件开发应用。为事业单位和企业提供行业软件定制开发,满足其独特需求。无论是简单的应用还是复杂的系统&…

畅捷通-条件竞争

反编译dll 逻辑上很清晰了。取得上传数据然后直接写入Templates目录里去,且写入路径直接拼接文件名,说明写入路径可控。然后马上又调用Delete方法删除文件。看起来貌似很正常的样子,但实际上这里已经出现了严重的安全问题。首先是未限制上传…

重温设计模式--工厂模式(简单、工厂、抽象)

文章目录 工厂模式定义工厂模式通常可以细分为以下几种类型1、简单工厂模式(Simple Factory Pattern)2、工厂方法模式(Factory Method Pattern)3、抽象工厂模式(Abstract Factory Pattern) UML 图1、简单工厂模式UML2、…

华为手机鸿蒙4.2连接不上adb

1、下载HiSuite华为手机助手 https://consumer.huawei.com/cn/support/hisuite/ 2、安装后点连接 3、就可以adb连接了

重温设计模式--代理模式

文章目录 定义UML图代理模式主要有以下几种常见类型:代理模式涉及的主要角色有:C 代码示例 定义 代理模式(Proxy Pattern)属于结构型设计模式,它为其他对象提供一种代理以控制对这个对象的访问。 通过引入代理对象&am…

JAVA开发入门学习七- 数组

数组的概念 概念 数组: 是多个相同类型数据按照一定排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理 数组中的概念 数组名: 数组的名称,命名 下标: 从0开始 元素:…

ECharts热力图-笛卡尔坐标系上的热力图,附视频讲解与代码下载

引言: 热力图(Heatmap)是一种数据可视化技术,它通过颜色的深浅变化来表示数据在不同区域的分布密集程度。在二维平面上,热力图将数据值映射为颜色,通常颜色越深表示数据值越大,颜色越浅表示数…

【解决问题】Java2DRenderer生成图片时中文乱码 Linux安装字体

一,问题 在使用Java2DRenderer框架将html生成图片时,html中的中文文本在图片上显示框框,即出现了中文乱码。在确认使用正确的字符编码utf-8之后,并且确认了修改成unicode也同样乱码的情况下,找到了真正的原因&#xf…

HTMLCSSJavaScriptDOM 之间的关系?

一、HTML 中文名:超文本标记语言 英文名:HyperText Markup Language HTML是一种用来结构化Web网页及其内容的标记语言。 HTML 由一系列的元素组成,这些元素可以用来包围不同部分的内容,使其以某种方式呈现或者工作。 图Ⅰ 每…

Linux系统编程深度解析:C语言实战指南

文章一览 前言一、gcc编译系统1.1 文件名后缀1.2 C语言编译过程1.3 gcc命令行选项 二、gdb程序调试工具2.1 启动gdb和查看内部命令2.2 显示源程序和数据2.2.1 显示和搜索源程序2.2.2 查看运行时数据 2.3 改变和显示目录或路径2.4 控制程序的执行2.4.1 设置断点2.4.2 显示断点2.…

使用QML实现播放器进度条效果

使用QML实现播放进度效果 QML Slider介绍 直接上DEMO如下: Slider {width: 300;height: 20;orientation: Qt.Vertical; //决定slider是横还是竖 默认是HorizontalstepSize: 0.1;value: 0.2;tickmarksEnabled: true; //显示刻度}效果图如下 那么我先改变滑块跟滚轮…

云数智融合体系建设实践——以工行软件开发中心为例

随着“云计算第三次浪潮”的涌动,业界正见证着一场围绕“算力”的结构性变革。云计算、大数据、人工智能三大核心技术的深度融合,正推动着算力基础设施的快速发展,实现算力的高效调度与利用,也标志着业界对云计算体系布局的全新理…

评估大语言模型在药物基因组学问答任务中的表现:PGxQA

​这篇文献主要介绍了一个名为PGxQA的资源,用于评估大语言模型(LLM)在药物基因组学问答任务中的表现。 研究背景 药物基因组学(Pharmacogenomics, PGx)是精准医学中最有前景的领域之一,通过基因指导的治疗…

com.google.common.collect.ImmutableList$SerializedForm

今天AndroidStudio安装了个2021版本的,gradle用了7.3.3,创建项目后控制台总是有这样一个错误: Unable to load class com.google.common.collect.ImmutableList$SerializedForm. This is an unexpected error. Please file a bug containing…

[机器学习]sklearn入门指南(2)

上一篇文章中,我们介绍了如何用sklearn训练和预测模型,以及缺失值处理,详见[机器学习]sklearn入门指南(1) 分类变量 分类变量(Categorical Variable),也称为定性变量(Q…

CentOS下,离线安装vscode的步骤;

前置条件: 1.CentOS7; 步骤: 1.下载vscode指定版本,例如; 例如 code-1.83.1-1696982959.el7.x86_64.rpm 2.使用下面命令: sudo rpm -ivh code-1.83.1-1696982959.el7.x86_64.rpm 其他: 卸载vscode的命…

AI一键制作圣诞帽头像丨附详细教程

我用AI换上圣诞帽头像啦~🎅 不管是搞笑表情、宠物头像还是你的自拍!!都能一键添加圣诞帽元素,毫无违和感!🎉 详细教程在P3、P4,手残党也能轻松搞定! 宝子们需要打“need”&#xff0…

基于java博网即时通讯软件的设计与实现【源码+文档+部署讲解】

目 录 1. 绪 论 1.1. 开发背景 1.2. 开发意义 2. 系统设计相关技术 2.1 Java语言 2.2 MySQL数据库 2.3 Socket 3. 系统需求分析 3.1 可行性分析 3.2 需求分析 3.3 系统流程图 3.4 非功能性需求 4. 系统设计 4.1 系统功能结构 4.2 数据库设计 5. 系统实现 5.…

智能公文写作一体机,开箱即用快速部署超便捷

在繁忙的政企事业单位中,时间就是生产力。公文撰写作为各类组织日常工作的核心环节,却常常因为传统的公文处理流程繁琐耗时而成为效率的瓶颈。如何打破这一瓶颈,实现高效的公文撰写,成为了众多单位关注的焦点。 一款即开即用的公文…

idea2024创建JavaWeb项目以及配置Tomcat详解

今天呢,博主的学习进度也是步入了JavaWeb,目前正在逐步杨帆旗航,迎接全新的狂潮海浪。 那么接下来就给大家出一期有关JavaWeb的配置教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正…