最新Open-vocabulary方法个人学习小结

news2024/11/22 23:49:41

Open-vocabulary方法总结

Yolo-world

CVPR2024
预训练公式:区域-文本对
传统的目标检测方法,包括yolo系列都是用实例注释进行训练的,它由边界框和类别标签组成。
在本文中,我们将实例注释重新表述为区域-文本对。具体来说,文本可以是类别名称、名词短语或对象描述。

模型架构
YOLO-World的整体架构由一个YOLO检测器、一个文本编码器和一个可重新参数化的视觉语言路径聚合网络(repv1 - pan)组成。
在这里插入图片描述
骨干网络
YOLO探测器:YOLO-World主要是基于YOLOv8开发的,它包含了一个Darknet骨架作为图像编码器,一个用于多尺度特征金字塔的路径聚合网络(PAN),以及一个用于边界盒回归和对象嵌入的头部。

文本编码器
文本编码器:YOLO-World采用CLIP预训练的Transformer文本编码器提取相应的文本,与纯文本语言编码器相比,CLIP文本编码器提供了更好的视觉语义功能,可以将可视对象与文本连接起来。
在线词汇训练:在训练过程中,为每个包含4张图像的mosaic样本构建一个在线词汇T。具体来说,我们对mosaic图像中涉及的所有积极名词进行采样,并从相应的数据集中随机抽取一些消极名词。每个mosaic样本的词汇表最多包含n个名词,n被默认设置为80。

Mosaic数据增强方法是YOLOV4论文中提出来的,主要思想是将四张图片进行随机裁剪,再拼接到一张图上作为训练数据。这样做的好处是丰富了图片的背景,并且四张图片拼接在一起变相地提高了batch_size,在进行batch
normalization的时候也会计算四张图片,所以对本身batch_size不是很依赖,单块GPU就可以训练YOLOV4。

离线词汇推理:在推理阶段,使用在线词汇的提示–检测策略,用户可以定义一系列自定义提示,其中可能包括标题或类别。
然后,利用文本编码器对这些提示进行编码,并获得离线词汇嵌入。离线词汇表允许避免对每个输入进行计算,并提供根据需要调整词汇表的灵活性。

可重新参数化的视觉语言PAN

RepVL-PAN结构:遵循自上而下和自下而上的路径,用多尺度图像特征{C3,C4,C5}建立特征金字塔{P3,P4,P5}。
此外,提出了文本引导CSPLayer (T-CSPLayer)和图像集中注意力(I-Pooling Attention)),进一步增强图像特征和文本特征之间的交互作用,从而提高开放词汇的视觉语义表示能力。

在推理过程中,离线词汇嵌入可以被重新参数化为卷积层或线性层的权重,以供部署。
在这里插入图片描述

ODISE

CVPR2023
CLIP+Diffusion
CVPR2023: ODISE Open-Vocabulary Panoptic Segmentation
在这里插入图片描述
ODISE的算法思路参考以上两图. 很打眼的一个创新点是, image encoder不是cnn也不是Transformer, 而是盯上了diffusion model. 绝绝子!

模块一: 输入image和Implicit Text Embedding到text-to-image-diffusion model, 抽取model的internal特征. text-to-image-diffusion model实现文本指导生成图像, ta在做的就是一个开放类别域的事情, ta的internal特征对于下游任务很有价值. Implicit Text Embedding来自Implicit Captioner, 用的是冻住的image Encoder(CLIP)和MLP训练得到.

模块二: 训一个mask generator, 需要mask annotation做有监督训练(我又要cu segment anything了[3], 这部分可尝试开源用起来啊!~). 这部分出mask prediction, 然后和annotation算binary mask loss. 另外出mask embedding在模块三中使用(we can pool the ROI-Aligned features of each predicted mask’s region to compute its mask embedding features).

模块三: mask开放域分类. 用category labels or image caption输入冻住的text Encoder(CLIP), 结合模块二中学到的mask embedding, 输出分类结果. category labels 对应cross entropy loss做类别一一对应损失计算. image caption对应grounding loss(This similarity function encourages each noun to be grounded by one or a few masked regions of the image and avoids penalizing the regions that are not grounded by any word at all).

GroundingDINO & Grounding DINO1.5

ECCV2024
https://github.com/IDEA-Research/GroundingDINO

十分钟解读Grounding DINO-根据文字提示检测任意目标

既CLIP打破文字和图像之间的壁垒、DINO提高了目标检测精度的上限之后,又一力作横空出世,它就是–Grounding DINO。

在不需要任何COCO训练集的情况下,Grounding DINO就在COCO minival测试集中达到了52.5AP,经过微调之后达到了63.0AP。这样的结果可以说是非常的Amazing了,下面我将详细介绍Grounding DINO的原理。
在这里插入图片描述

Grounded SAM & Grounded SAM2

https://github.com/IDEA-Research/GroundingDINO

OV-DINO

开放域检测新SOTA!中山大学美团出品,开源性能最强

比Grounding DINO高12.7% AP,比YOLO-World 高4.7% AP

本文提出了一种名为OV-DINO的开放域检测方法。整体框架包括一个文本编码器、一个图像编码器和一个检测头。模型接收图像和提示文本作为输入,通过特定模板创建统一的文本嵌入表示。图像和文本嵌入经过编码器处理后,图像嵌入通过Transformer编码器生成精细化的图像嵌入。语言感知查询选择模块选择与文本嵌入相关的对象嵌入,并在解码器中与可学习的内容查询融合,最终输出分类分数和回归边界框。

在这里插入图片描述

统一数据集成(UniDI)
在预训练阶段,OV-DINO将检测数据、定位数据和图像-文本数据转换为统一的检测数据格式,从而简化模型优化过程并提高性能。检测数据和定位数据的集成相对简单,而图像-文本数据的转换则通过将图像描述视为图像的唯一类别来实现。所有文本输入都通过简单模板进行统一处理,确保一致的文本嵌入表示。

语言感知选择性融合(LASF)
该模块包括语言感知查询选择和语言感知查询融合两个关键组件。查询选择组件通过评估图像嵌入和文本嵌入的相似性来选择对象嵌入。查询融合组件逐步融合语言感知对象嵌入,同时保留内容查询的原始语义。语言感知查询选择通过计算图像嵌入和文本嵌入的相似性矩阵,并选择最相关的嵌入。查询融合则在解码器层中动态更新内容查询,逐步引入语言感知上下文。

预训练OV-DINO
采用检测中心的数据格式,将不同类型的数据(检测数据、定位数据和图像-文本数据)转化为适合检测的格式,允许在统一的框架内进行预训练。模型的前向传播过程包括图像编码器提取图像嵌入、文本编码器提取文本嵌入、Transformer编码器生成精细化图像嵌入、语言感知查询选择模块选择对象嵌入,以及Transformer解码器通过选择性融合模块进行查询分类和边界框回归。模型通过统一的分类损失函数和目标框损失函数进行优化。通过上述设计,OV-DINO实现了开放域检测的高效预训练和性能提升。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024 年 GitLab Global DevSecOps 报告解读

近日 GitLab 正式发布了 2024 年 GitLab Global DevSecOps 报告,报告主题为 What’s next in DevSecOps。在全球有超 5000 位 IT 人员参与了该报告的调研,超 70% 为企业管理者,50% 以上的受访者所在企业规模超过 500人。该报告深刻揭示了在 A…

Qt进程通信,不推荐使用QSharedMemory和QLocalSocket,而是推荐ZMQ

一、据一位资深的网友说QLocalSocket有问题,共享内存QSharedMemory也有,比如存在多线程问题,不灵活,丢数据等问题都有,而且还占资源。血的教训。后来换成了zmqprotobuf。ZMQ进程内,进程间,机器间…

重塑科普展厅魅力,以用户体验为核心的策略性规划新探索!

如今,尽管数字技术已在全国范围内得到广泛应用,努力缩小地域间的信息鸿沟,但地域信息差依然是一个不容忽视的存在,他们由于文化背景、教育水平、生活习惯等方面的差异,对科普知识的需求和接受程度也各不相同&#xff0…

深入解析全连接层:PyTorch 中的 nn.Linear、nn.Parameter 及矩阵运算

文章目录 数学概念(全连接层,线性层)nn.Linear()nn.Parameter()Q1. 为什么 self.weight 的权重矩阵 shape 使用 ( out_features , in_features ) (\text{out\_features}, \text{in\_features}) (out_features,in_features)而不是 ( in_featur…

复现OpenVLA:开源的视觉-语言-动作模型及原理详解

复现OpenVLA:开源的视觉-语言-动作模型及原理详解 1. 摘要2. 引言3. 相关工作4. 模型结构4.1 模视觉-语言模型VLM4.2 训练流程4.3 图像分辨率4.4 微调视觉编码器4.5 训练轮数4.6 学习率4.7 训练细节4.8 参数高效微调 5. 复现5.1 下拉代码5.2 安装环境依赖5.2.1 创建…

什么是科技与艺术相结合的异形创意圆形(饼/盘)LED显示屏

在当今数字化与创意并重的时代,科技与艺术的融合已成为推动社会进步与文化创新的重要力量。其中,晶锐创显异形创意圆形LED显示屏作为这一趋势下的杰出代表,不仅打破了传统显示设备的形态束缚,更以其独特的造型、卓越的显示效果和广…

浏览器百科:网页存储篇-IndexedDB介绍(十)

1.引言 在现代网页开发中,数据存储需求日益增多和复杂,传统的客户端存储技术如localStorage和sessionStorage已难以满足大型数据的存储和管理需求。为了解决这一问题,HTML5 引入了 IndexedDB,在本篇《浏览器百科:网页…

SiC,GaN驱动优选驱动方案SiLM5350系列SiLM5350MDDCM-DG 带米勒钳位Clamp保护功能 单通道隔离栅极驱动器

SiLM5350MDDCM-DG是一款适用于IGBT、MOSFET的单通道 隔离门极驱动器,具有10A拉电流和10A灌电流驱动能 力。提供内部钳位功能,可单独控制 上升时间和下降时间。 在 SOP8 封 装 中 具 有 3000VRMS 隔 离 耐 压 ( 符 合 UL1577)。 与…

Vue-Route4 ts

小满学习视频 Vue-Route 官网 项目的目录结构: 1. Vue-Router的使用 安装Vue-route pnpm add vue-router4创建router文件 /route/index.vue import { createRouter } from "vue-router"; import {createMemoryHistory,createWebHashHistory,create…

C语言 | Leetcode C语言题解之第395题至少有K个重复字符的最长子串

题目&#xff1a; 题解&#xff1a; int longestSubstring(char* s, int k) {int ret 0;int n strlen(s);for (int t 1; t < 26; t) {int l 0, r 0;int cnt[26];memset(cnt, 0, sizeof(cnt));int tot 0;int less 0;while (r < n) {cnt[s[r] - a];if (cnt[s[r] - …

Framework | 在Android中运行时获取顶层Activity并处理业务逻辑

Framework | 在Android中运行时获取顶层Activity并处理业务逻辑 在Android应用的开发中,有时需要获取当前正在运行的顶层Activity,尤其是当应用需要监控特定的页面或执行特殊的业务处理时,例如在截图界面进行操作或在特定的活动页面展示特定的功能。本文将详细介绍如何通过…

中电金信:金融级数字底座“源启”:打造新型数字基础设施 筑牢千行百业数字化转型发展基石

近期&#xff0c;金融级数字底座“源启”登录中国电子《最轻大国重器》融媒体报道。从数字底座到数智底座&#xff0c;从金融行业到千行百业&#xff0c;“源启”用数智化转型的中国电子解决方案&#xff0c;为全球企业转型及安全发展提供强大动能。 立足中国电子科技创新成果&…

英飞凌motor电机方案

电机主流方案的应用场景,一个是家电,一个是汽车,尤其是新能源汽车。 多家MCU厂商也都推出自己电机解决方案,比如华大电子: HC32M140 系列产品为华大半导体研制的 32bit 基于 ARM-Cortex M0+ 的 MCU,与传统的 CPU 内核相比,效率更高,功耗更低。更宽的工作电压范围,可同…

C语言的结构体类型

在我们使用C语言进行编写代码时&#xff0c;常常会使用已经给定的类型来创建变量&#xff0c;比如int型&#xff0c;char型&#xff0c;double型等&#xff0c;而当我们想创建一些较为复杂的东西时&#xff0c;单单用一个类型变量是没办法做到的&#xff0c;比如我们想创建一个…

图文讲解HarmonyOS应用发布流程

HarmonyOS应用的开发和发布过程可以分为以下几个步骤&#xff1a;证书生成、应用开发、应用签名和发布。 1. 证书生成&#xff1a; 在开始开发HarmonyOS应用之前&#xff0c;首先需要生成一个开发者证书。开发者证书用于标识应用的开发者身份并确保应用的安全性。可以通过Har…

R语言统计分析——功效分析3(相关、线性模型)

参考资料&#xff1a;R语言实战【第2版】 1、相关性 pwr.r.test()函数可以对相关性分析进行功效分析。格式如下&#xff1a; pwr.r.test(n, r, sig.level, power, alternative) 其中&#xff0c;n是观测数目&#xff0c;r是效应值&#xff08;通过线性相关系数衡量&#xff0…

LoRA: Low-Rank Adaptation Abstract

LoRA: Low-Rank Adaptation Abstract LoRA 论文的摘要介绍了一种用于减少大规模预训练模型微调过程中可训练参数数量和内存需求的方法&#xff0c;例如拥有1750亿参数的GPT-3。LoRA 通过冻结模型权重并引入可训练的低秩分解矩阵&#xff0c;减少了10,000倍的可训练参数&#xf…

HashMap常用方法及底层原理

目录 一、什么是HashMap二、HashMap的链表与红黑树1、数据结构2、链表转为红黑树3、红黑树退化为链表 三、存储&#xff08;put&#xff09;操作四、读取&#xff08;get&#xff09;操作五、扩容&#xff08;resize&#xff09;操作六、HashMap的线程安全与顺序1、线程安全2、…

云计算实训49——k8s环镜搭建(续2)

一、Metrics 部署 在新版的 Kubernetes 中系统资源的采集均使⽤ Metrics-server&#xff0c;可 以通过 Metrics 采集节点和 Pod 的内存、磁盘、CPU和⽹络的使⽤ 率。 &#xff08;1&#xff09;复制证书到所有 node 节点 将 master 节点的 front-proxy-ca.crt 复制到所有 No…

Linux进阶命令-top

作者介绍&#xff1a;简历上没有一个精通的运维工程师。希望大家多多关注作者&#xff0c;下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 经过上一章Linux日志的讲解&#xff0c;我们对Linux系统自带的日志服务已经有了一些了解。我们接下来将讲解一些进阶命令&am…