开放词汇目标检测(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.多模态融合

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单点登录平台Casdoor搭建与使用,集成gitlab同步创建删除账号

一,简介 一般来说,公司有很多系统使用,为了实现统一的用户名管理和登录所有系统(如 GitLab、Harbor 等),并在员工离职时只需删除一个主账号即可实现权限清除,可以采用 单点登录 (SSO) 和 集中式…

算法笔记—前缀和(动态规划)

【模板】前缀和_牛客题霸_牛客网 (nowcoder.com) #include <initializer_list> #include <iostream> #include <vector> using namespace std;int main() {//输入数据int n,q;cin>>n>>q;vector<int> arr;arr.resize(n1);for(int i1;i<…

力扣438-找到字符串中所有字母异位词

力扣438-找到字符串中所有字母异位词 力扣438-找到字符串中所有字母异位词原题地址&#xff1a;https://leetcode.cn/problems/find-all-anagrams-in-a-string/description/ 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找到 s 中所有 p 的 异位词的子串&#x…

linux-----进程及基本操作

进程的基本概念 定义&#xff1a;在Linux系统中&#xff0c;进程是正在执行的一个程序实例&#xff0c;它是资源分配和调度的基本单位。每个进程都有自己独立的地址空间、数据段、代码段、栈以及一组系统资源&#xff08;如文件描述符、内存等&#xff09;。进程的组成部分&am…

胡九道:经典传承(贵宾酒)

胡九道的由来 在辽阔的科尔沁草原上&#xff0c;有一个美丽的女子&#xff0c;她才貌双全&#xff0c;知书达礼&#xff0c;她就是历史上著名的孝庄皇后。大玉儿不仅聪慧过人&#xff0c;而且深具母仪天下的气质&#xff0c;深受百姓和皇室的敬爱。当她跟随丈夫皇太极入关来到…

【Mongo工具】Mongo迁移工具之Mongo-shake

Mongo-Shake 简介 Mongo-Shake 是一个基于 MongoDB 操作日志&#xff08;oplog&#xff09;的通用服务平台。它从源 MongoDB 数据库中获取操作日志&#xff0c;并在目标 MongoDB 数据库中重放&#xff0c;或者通过不同的隧道发送到其他终端。如果目标端是 MongoDB 数据库&…

EGO Swarm翻译

目录 摘要 Ⅰ 介绍 Ⅱ 相关工作 A . 单四旋翼局部规划 B . 拓扑规划 C. 分布式无人机集群 Ⅲ 基于梯度的局部规划隐式拓扑轨迹生成 A.无需ESDF梯度的局部路径规划 B.隐式拓扑轨迹生成 Ⅳ 无人机集群导航 A 机间避碰 B. 定位漂移补偿 C. 从深度图像中去除agent Ⅴ …

虚拟机断网没有网络,需清理内存,删除后再重启

进入NetworkManager可能没权限&#xff0c;设置权限777 to

整合 Knife4j 于 Spring Cloud 网关:实现跨服务的 API 文档统一展示

&#x1f3af;导读&#xff1a;本文档概述了构建和配置基于JDK 17、Spring Boot 3.0.7及Spring Cloud 2022.0.3的微服务系统&#xff0c;特别聚焦于集成Knife4j以增强API文档管理和接口测试功能。文中详细介绍了如何在Spring Boot应用中添加Knife4j依赖、配置Swagger UI路径和A…

使用光耦合器测量电压:实用指南

光耦合器&#xff0c;也称为光隔离器&#xff0c;是用于电气隔离和信号传输的多功能组件。其应用之一是测量电路中的电压。本文介绍了如何利用光耦合器进行电压测量&#xff0c;阐明了其操作和实际用途。 使用光耦合器进行电压测量的工作原理 使用光耦合器进行电压测量依赖于其…

LeetCode刷题day29——动态规划(完全背包)

LeetCode刷题day29——动态规划&#xff08;完全背包&#xff09; 377. 组合总和 Ⅳ分析&#xff1a; 57. 爬楼梯&#xff08;第八期模拟笔试&#xff09;题目描述输入描述输出描述输入示例输出示例提示信息 分析&#xff1a; 322. 零钱兑换分析&#xff1a; 279. 完全平方数分…

【STM32 Modbus编程】-作为主设备写入多个线圈和寄存器

作为主设备写入多个线圈和寄存器 文章目录 作为主设备写入多个线圈和寄存器1、硬件准备与连接1.1 RS485模块介绍1.2 硬件配置与接线1.3 软件准备2、写入多个线圈2.1 数据格式2.2 发送数据2.3 结果3、写入多个寄存器3.1 数据格式3.2 发送数据3.3 结果本文将实现STM32作为ModBus主…

Unity 圆形循环复用滚动列表

一.在上一篇垂直循环复用滚动列表的基础上&#xff0c;扩展延申了圆形循环复用滚动列表。实现此效果需要导入垂直循环复用滚动列表里面的类。 1.基础类 using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; using …

【前后端】HTTP网络传输协议

近期更新完毕&#xff0c;建议关注、收藏&#xff01; http请求 URL 严格意义上应该是URI http or https http不加密不安全&#xff1b;https加密协议&#xff08;公网使用&#xff09; http端口号80 https端口号443GET or POST GET和POST是HTTP请求的两种基本方法. 因为POST需…

基于LSB最低有效位的音频水印嵌入提取算法FPGA实现,包含testbench和MATLAB对比

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 vivado2019.2 matlab2022a 3.部分核心程序 &#xff08;完整版代码包含详细中文注释和操作步骤视…

疾风大模型气象系统:精准预报,引领未来

精准预报,引领未来 在当今快速变化的世界中,天气预报已成为日常生活和社会运行中不可或缺的一部分。从规划日常出行到防范极端天气影响,高精准的气象服务正在重新定义我们的生活方式。而在这一领域,疾风大模型气象系统以其卓越的技术实力和领先的预测能力,正引领气象服务…

中间件 redis安装

redis官网地址&#xff1a;Redis - The Real-time Data Platform 环境 CentOS Linux release 7.9.2009 (Core) java version "17.0.12" 2024-07-16 LTS 1、通过压缩包安装redis 1&#xff0c;远程下载redis压缩包&#xff0c;或去官网下载&#xff1a;Downloads …

rfid标签打印开发指导

使用java连接斑马打印机&#xff0c;开发rfid标签打印功能 1.引用斑马打印机的SDKjar包 ZSDK_API.jar 将这个jar文件放到项目的lib目录下&#xff0c;没有就新建一个。 然后点击 File–Project Sreucture–Modules 点击加号 选择对应jar包即可 2.代码开发 1.打印机连接地址…

【笔记】深度学习模型评估指标

推荐链接&#xff1a; &#xff08;0&#xff09;多分类器的评价指标 &#xff08;1&#xff09;泛化误差的评价方法&#xff1a;【机器学习】模型评估与选择&#xff08;留出法、交叉验证法、查全率、查准率、偏差、方差&#xff09; &#xff08;2&#xff09;机器学习&…

【MAC】深入浅出 Homebrew 下 Nginx 的安装与配置指南

硬件&#xff1a;Apple M4 Pro 16寸 系统&#xff1a; macos Sonoma 15.1.1 Nginx 是一款高性能的 Web 服务器和反向代理服务器&#xff0c;广泛应用于全球各地的网站和企业应用中。本文将详细介绍如何在 macOS 环境下使用 Homebrew 安装、启动、管理以及优化配置 Nginx&#x…