怎样免费创建网站/seo优化排名易下拉用法
本文的主题是多模态融合和图文理解,文中提出了一种名为RegionSpot的新颖区域识别架构,旨在解决计算机视觉中的一个关键问题:理解无约束图像中的各个区域或patch的语义。这在开放世界目标检测等领域是一个具有挑战性的任务。
关于这一块,大家所熟知的大都是基于图像级别的视觉-语言(ViL)模型(如CLIP),以及使用区域标签对的对比模型的训练等方法。然而,这些方法存在一些问题,包括:
计算资源要求高;
容易受到数据噪音的干扰;
对上下文信息的不足;
为了解决这些问题,作者门提出了RegionSpot,其核心思想是将来自局部基础模型的位置感知信息与来自ViL模型的语义信息相结合。这种方法的优势在于能够充分利用预训练的知识,同时最小化训练的开销。此外,文中还介绍了一种轻量级的基于注意力机制的知识集成模块,以优化模型性能。
图1展示了区域级视觉理解架构:
(a)表示通过从裁剪区域中提取图像级 ViL 表示并将其合并到检测模型中来学习区域识别模型。
(b)表示使用大量区域标签对数据集完全微调视觉和文本模型。
©表示本文方法,其集成了预训练(冻结)定位和 ViL 模型,强调学习它们的表征相关性。
通过在开放世界物体识别的背景下进行的大量实验表明,所提方法相对于以前的方法取得了显著的性能改进,同时节省了大量的计算资源。例如,使用8个V100 GPU,仅在一天内便可对300万数据对进行training。最终,该模型在mAP指标上比GLIP还要高出6.5%,尤其是在更具挑战性和罕见的类别方面,提升高达14.8%!
方法
如上所述,RegionSpot 旨在使用预训练的ViL模型和局部模型来获取区域级别的表示,以实现鲁棒的物体概念化,特别是在开放世界的区域识别中。下面我们为大家详细地介绍下。
预备知识
Vision-language foundation models:这些模型使用对比学习的技术将视觉和文本数据映射到一个共享的嵌入空间,以最小化图像和其文本描述之间的距离,并最大化无关对之间的距离,例如CLIP和ALIGN。
Localization foundation models:这些模型旨在进行图像的局部理解,特别是在目标检测和分割任务中。比如Meta开源的SAM模型,它是一个里程碑式的工作,已经在大规模数据集上进行了训练,包括超过10亿自动生成的掩模,以及1100万张图像。
使用冻结基础模型的区域文本对齐
这一部分我们重点关注下如何获取位置感知标记和图像级语义特征,并通过交叉注意力机制进行区域文本对齐。
区域级别的位置感知标记:作者使用手动标注的目标边界框来表示图像的兴趣区域。对于这些区域,文中是使用SAM模型来提取位置感知标记。这些标记通过一个Transformer解码器生成,这个过程有点像DETR的架构,生成一个称为“位置感知”的标记,它包含了有关目标的重要信息,包括其纹理和位置。
图像级语义特征图:一幅图像可以包含多个对象和多个类别,捕捉了综合的上下文信息。为了充分利用 ViL 模型,作者将输入图像调整到所需的尺寸,然后输入到 ViL 模型中,获得图像级语义特征图。
关联位置感知标记和语义特征图:RegionSpot 中使用了交叉注意力机制来建立区域级别的位置感知标记和图像级语义特征图之间的联系。在这个机制中,位置感知标记充当查询,而语义特征图充当键和值。这种关系可以通过公式表示:
其中 是得分, 是位置感知标记的转换, 和 是来自 的线性投影, 则是投影特征维度。其实就是常规的 QKV 操作,可以有效地实现信息融合,至于融合的 gap 可能只有上帝知道。
损失函数:最后便是生成文本嵌入,通过处理类别特定的文本和提示模板,例如场景中类别的照片,使用文本编码器。然后,执行每个语义标记和其相应文本特征的点积操作,以计算匹配分数。这些分数可以使用Focal loss进行监督。
整体来说,方法部分的核心便是如何从两个不同的基础模型中提取信息,并通过交叉注意力机制实现区域文本对齐,以获得区域级别的语义表示。通过下面的实验部分我们可以直观感受到该方法在解决开放世界的物体识别问题中表现出色,其提供了丰富的细节来支持RegionSpot。
实验
训练数据
RegionSpot 模型采用了多个包含不同类别标签的数据集,以构建强大的训练环境。这种灵活的架构允许我们将独热标签(one-hot labels)替换为类别名称字符串。其中,作者提到了使用了公开可用的检测数据集,总共包括大约300万张图像。这些数据集包括 Objects 365 (O365)、OpenImages (OI) 和 V3Det (V3D)。
Objects 365:大规模的目标检测数据集,包含了365个不同的对象类别,总共有约66万张图像。文中是使用一个经过优化的版本,其中包含超过1000万个边界框,每张图像平均约15.8个注释。
OpenImages:这是目前最大的公共对象检测数据集,包括约1460万个边界框注释,每张图像平均约8个注释。
V3Det:这个数据集通过详细的组织,在类别树中构建了多达13,029个类别。
基线设置
Benchmark 使用了LVIS检测数据集,该数据集包含1203个类别和19809张图像用于验证。作者强调不仅仅优化在COCO数据集上表现的性能,因为COCO只包括Objects365训练数据集中的80个常见类别,这不能充分评估模型在开放世界环境中的泛化能力。
实现细节
优化器: AdamW,初始学习率为2.5 x 10^-5
硬件资源:8个GPU上,batchsize 设置为 16
超参数:450,000 iters,学习率在350,000次和420,000次迭代时除以10
训练策略:
第一阶段是利用Objects365来启动区域-词对齐的学习;
第二阶段是高级学习,使用来自三个不同的对象检测数据集的丰富信息来进行区域-词对齐的学习。
效果
可以看出,相对于 GLIP,RegionSpot 的区域级语义理解能力更强。
总结
简单来说,今天介绍的这篇文章主要贡献是提出了一种有效的多模态融合方法,用于改进图像中区域的语义理解,具有潜在的广泛应用前景。文中提出了将预训练的ViL模型与局部模型相结合的 RegionSpot 架构,以改进区域级别的视觉理解。RegionSpot 的方法旨在优化效率和数据利用方面具有卓越性,避免了从头开始训练的必要。通过大量实验证明,RegionSpot 在开放世界物体理解领域的性能明显优于 GLIP 等现有方法。
相关文章:

超越 GLIP! | RegionSpot: 识别一切区域,多模态融合的开放世界物体识别新方法
本文的主题是多模态融合和图文理解,文中提出了一种名为RegionSpot的新颖区域识别架构,旨在解决计算机视觉中的一个关键问题:理解无约束图像中的各个区域或patch的语义。这在开放世界目标检测等领域是一个具有挑战性的任务。 关于这一块&…...

webgoat-(A1)injection
SQL Injection (intro) SQL 命令主要分为三类: 数据操作语言 (DML)DML 语句可用于请求记录 (SELECT)、添加记录 (INSERT)、删除记录 (DELETE) 和修改现有记录 ÿ…...

51单片机-中断
文章目录 前言 前言 #include <reg52.h> #include <intrins.h>sbit key_s2P3^0; sbit flagP3^7;void delay(unsigned int z){unsigned int x,y;for(xz;x>0;x--)for(y114;y>0;y--); }void int_init(){EA1;EX11;IT11;}void main(){int_init();while(1){if (key…...

Canvas 梦幻树生长动画
canvas可以制作出非常炫酷的动画,以下是一个梦幻树的示例。 效果图 源代码 <!DOCTYPE> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8" /> <title>梦幻数生长动画</title&…...

Unity之UI、模型跟随鼠标移动(自适应屏幕分辨率、锚点、pivot中心点)
一、效果 UI跟随鼠标移动, 动态修改屏幕分辨率、锚点、pivot等参数也不会受到影响。同时脚本中包含3d物体跟随ui位置、鼠标位置移动 二、屏幕坐标、Canvas自适应、锚点、中心点 在说原理之前我们需要先了解屏幕坐标、Canvas自适应、锚点、中心的特性和之间的关系。 1.屏幕坐标…...

竞赛 深度学习猫狗分类 - python opencv cnn
文章目录 0 前言1 课题背景2 使用CNN进行猫狗分类3 数据集处理4 神经网络的编写5 Tensorflow计算图的构建6 模型的训练和测试7 预测效果8 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习猫狗分类 ** 该项目较为新颖&a…...

S4.2.4.7 Start of Data Stream Ordered Set (SDS)
一 本章节主讲知识点 1.1 xxx 1.2 sss 1.3 ddd 二 本章节原文翻译 2.1 SDS 数据流开始有序集 SDS 代表传输的数据类型从有序集转为数据流。它会在 Configuration.Idle,Recovery.Idle 和 Tx 的 L0s.FTS 状态发送。Loopback 模式下,主机允许发送 SDS。…...

CentOS操作系统的特点
CentOS操作系统的特点如下: 免费开源:CentOS是一个免费开源的操作系统,完全免费,无需花费任何成本。 稳定性高:CentOS以其出色的稳定性和安全性而闻名。它是一个基于Red Hat Enterprise Linux(RHEL&#x…...

Go基础(待更新)
Go基础(待更新) 参考Go 语言教程 文章目录 Go基础(待更新)一、基本语法1、格式化输出2、声明并赋值1)单变量赋值2)多变量赋值 二、math工具包的使用三、函数1、参数传递1)普通传递2)…...

二、Hadoop分布式系统基础架构
1、分布式 分布式体系中,会存在众多服务器,会造成混乱等情况。那如何让众多服务器一起工作,高效且不出现问题呢? 2、调度 (1)架构 在大数据体系中,分布式的调度主要有2类架构模式:…...

数据结构(超详细讲解!!)第二十一节 特殊矩阵的压缩存储
1.压缩存储的目标 值相同的元素只存储一次 压缩掉对零元的存储,只存储非零元 特殊形状矩阵: 是指非零元(如值相同的元素)或零元素分布具有一定规律性的矩阵。 如: 对称矩阵 上三角矩阵 下三角矩阵 对角矩阵 准…...

Python最强自动化神器Playwright!再也不用为爬虫逆向担忧了!
版权说明:本文禁止抄袭、转载,侵权必究! 目录 一、简介+使用场景二、环境部署(准备)三、代码生成器(优势)四、元素定位器(核心)五、追踪查看器(辅助)六、权限控制与认证(高级)七、其他重要功能(进阶)八、作者Info一、简介+使用场景 Playwright是什么?来自Chat…...

为什么 conda 不能升级 python 到 3.12
为什么 conda 不能升级 python 到 3.12 2023-11-05 23:33:29 ChrisZZ 1. 目的 弄清楚为什么执行了如下升级命令后, python 版本还是 3.11? conda update conda conda update python2. 原因 因为 conda forge 没有完成 migration Migration is the …...

0X02
web9 阐释一波密码,依然没有什么 发现,要不扫一下,或者看一看可不可以去爆破密码 就先扫了看看,发现robots.txt 访问看看,出现不允许被访问的目录 还是继续尝试访问看看 就可以下载源码,看看源码 <?php $fl…...

【手写数据库所需C语言基础】可变结构体,结构体成员计算,类型强制转换为统一类型,数据库中使用C语言方法和技巧
专栏内容: 手写数据库toadb 本专栏主要介绍如何从零开发,开发的步骤,以及开发过程中的涉及的原理,遇到的问题等,让大家能跟上并且可以一起开发,让每个需要的人成为参与者。 本专栏会定期更新,…...

Android Studio(适配器Adapter)
认识适配器 在学完并且在做了一个自主项目后,我对适配器有了以下认识:1. 适配器的作用: 数据驱动的动态页面列表渲染,所以适配器主要就做了两件事:遍历数据,渲染页面(列表项)。比…...

携程AI布局:三重创新引领旅游行业智能化升级
2023年10月24日,携程全球合作伙伴峰会在新加坡召开,携程集团联合创始人、董事局主席梁建章做了名为《旅游业是独一无二的最好的行业》的演讲,梁建章在演讲中宣布了携程生成式 AI、内容榜单、ESG 低碳酒店标准三重创新的战略方向。这些创新将为…...

IOS手机耗电量测试
1. 耗电量原始测试方法 1.1 方法原理: 根据iPhone手机右上角的电池百分比变化来计算耗电量。 1.2实际操作: 在iOS通用设置中打开电池百分比数值显示,然后操作30分钟,60分钟,90分钟,看开始时和结束时电池…...

LeetCode.6 N字形变换
一开始想的是真的创建一个数组 去按照题目所给的要求填入数据 最后输出不为空的数组项 但是不仅时间复杂度高 而且错误频繁出现 最终也没有提交成功 查阅题解后发现数组并不重要 假设我们忽略掉数组中的那些空白项 最终输出的结果就是numRows行的字符串的拼接 string conver…...

第一章 03Java入门-编写第一个Java程序HelloWorld以及JVM、JDK和JRE概念
文章目录 前言一、下载和安装JDK二、第一个程序HelloWorld1.用记事本编写程序2.编译文件3.运行程序三、HelloWorld案例常见问题四、环境变量五、Notepad软件的安装和使用六、Java语言的发展七、Java为什么这么火八、JRE和JDK总结前言 上次我们学习了常见的CMD指令以及环境变量…...

windbg的常见调试命令
windbg的常见调试命令 1).break:在指定的条件下停止调试。 2).bt:显示调用堆栈信息。 3).catch:设置异常捕获,可以用来捕获程序中的异常并进行调试。 4).continue:继续执…...

VBA之正则表达式(44)-- 拆分商品和规格
实例需求:商品组清单保存在A列中,现需要将其拆分为商品名称,保存在从B列开始的后续单元格中,部分商品包含规格,并且多种规格属性使用了逗号分隔,因此无法直接使用Excel分列功能完成数据拆分。 示例代码如下…...

听GPT 讲Rust源代码--library/std(13)
题图来自 Decoding Rust: Everything You Need to Know About the Programming Language[1] File: rust/library/std/src/os/horizon/raw.rs 在Rust源代码中,rust/library/std/src/os/horizon/raw.rs这个文件的作用是为Rust的标准库提供与Horizon操作系统相关的原始…...

计算机视觉任务图像预处理之去除图像中的背景区域-------使用连通域分析算法(包含完整代码)
原理 通过连通域分析算法能够找到最大的连通域,即图片的主体部分,然后保存该连通域的最小外接矩阵,即可去除掉无关的背景区域 代码 使用连通域分析算法去除图像中的空白部分 并将图像变为统一大小的正方形 from skimage import measure imp…...

SurfaceFlinger的硬件Vsync深入分析-千里马android framework车机手机系统开发
背景: 学过或者你看过surfaceflinger相关文章同学都知道,vsync其实都是由surfaceflinger软件层面进行模拟的,但是软件模拟有可能会有误差或偏差,这个时候就需要有个硬件vsync帮忙校准。 故才会在surfaceflinger的systrace出现如下…...

力扣160. 相交链表
目录 1.解题思路2.代码实现 1.解题思路 首先分析,如果两个链表的长度不一,假设他们有交点,那么他们的最后一定是相同的,也即是后面为相同的部分,但前面不好说,而又因为长度不一又没法简便的一一对比&#…...

操作系统学习与思考
x86体系架构 x86是因特尔8086代芯片的CPU总线位数以及寄存器种类的规范,大部分操作系统都是以该规范作为基准来生产的 计算机组成 CPU,可以根据程序计数器进行取指令操作,并根据指令执行运算(加、减、乘、除)。运算所…...

C++笔记之动态数组的申请和手动实现一个简单的vector
C笔记之动态数组的申请和手动实现一个简单的vector code review! 文章目录 C笔记之动态数组的申请和手动实现一个简单的vector1.C语言中动态数组的申请与使用1.动态数组的申请使用new和delete使用std::vector 1.std::vector的底层实现2.手动实现一个简单的vector:使用一个指向…...

答题测评考试小程序的效果如何
在线答题系统是一种在线练习、考试、测评的智能答题系统,适用于企业培训、测评考试、知识竞赛、模拟考试等场景,管理员可任意组题、随机出题,答题者成功提交后,系统自动判分。 多种题目类型,两种答题模式 练习模式&a…...