Visual grounding-视觉定位任务介绍

🎀个人主页: https://zhangxiaoshu.blog.csdn.net
📢欢迎大家:关注🔍+点赞👍+评论📝+收藏⭐️,如有错误敬请指正!
💕未来很长,值得我们全力奔赴更美好的生活!

前言

为了解决多模态人工智能系统中语言理解与视觉感知之间的交互与融合问题,以实现更智能、更灵活的多模态数据处理和理解能力。视觉定位通过将自然语言描述与图像内容相匹配,实现了对图像中对象、场景和行为的准确理解,为图像标注、视觉问答等任务提供了基础。本文对视觉定位的常用方法进行简单介绍。


文章目录

  • 前言
  • 视觉定位是什么
  • 常用数据集合评价指标
  • 常用方法
    • 两阶段算法
    • 单阶段算法
    • 基于Transformer的方法
  • 总结


视觉定位是什么

视觉定位(Visual grounding) 是一种在计算机视觉和自然语言处理领域中的概念,指的是将自然语言描述与图像中的特定视觉内容相匹配的过程。听上去和目标检测非常类似,区别在于输入多了语言信息,在对物体进行定位时,要先对语言模态的输入进行理解,并且和视觉模态的信息进行融合,最后利用得到的特征表示进行定位预测。

它可以帮助计算机理解自然语言描述与图像之间的关系,从而实现更智能的多模态数据处理和理解。视觉定位旨在建立自然语言描述与图像内容之间的联系,为多模态智能系统提供更准确、更自然的交互和理解能力。
在这里插入图片描述

常用数据集合评价指标

  1. 常用数据集:
  • Flickr30k:Flickr30k是一个广泛用于视觉定位和图像标注任务的数据集。它由Flickr图像共享平台上的30,000张图像组成,每张图像都有5个人工标注的描述。这些描述涵盖了图像中的主要对象、场景和动作等信息。

  • RefCOCO:RefCOCO数据集是COCO数据集的一个子集,用于指代解析任务。它提供了自然语言描述和指向图像中对象的标注。

  • RefCOCO+:这是RefCOCO数据集的扩展版本,包含了更多复杂的自然语言描述和更精细的目标标注。

  • RefCOCOg:RefCOCOg数据集是对于游戏情境中的指代解析任务而设计的,其中包含了复杂的自然语言描述和图像中对象的标注。

  1. 评价指标:
  • mAP(mean Average Precision):平均精度的平均值,用于衡量模型在不同类别上的检测精度。

  • RefCOCO评价指标:RefCOCO数据集通常使用Top-K Accuracy、Recall@K等指标来评价模型在指代解析任务上的性能。

常用方法

两阶段算法

两阶段方法在第一阶段生成区域提议和区域特征提取,然后在第二阶段利用语言表达来选择最匹配的区域。

在这里插入图片描述
在第一阶段,区域提议是使用无监督方法或预训练的目标检测器生成的。

  • 无监督方法通常基于图像中的低级特征和相似性来生成候选区域,而不需要使用任何标注的训练数据(包括基于图像分割、边缘检测、纹理特征或颜色直方图等技术来提取图像中可能包含目标的区域)。

  • 预训练的目标检测器是在大规模标注数据集上预先训练好的模型,例如 Faster R-CNN、YOLO 或 SSD 等。

在第二阶段,应用二元分类或最大边缘排序的训练损失,以最大化正对象-查询对之间的相似性。

  • 对于每个正对象-查询对,将其标记为正例,而对于其他对象-查询对,将其标记为负例。然后训练一个二元分类器,使其能够正确地将正例与负例区分开来。

  • 将对象和查询表示为特征向量,并使用余弦相似度来衡量它们之间的相似性,定义一个损失函数,使得正对象-查询对的相似性得分尽可能高,同时确保与负对象的相似性得分之间有足够大的边缘。

问题:

  • 受到来自现成区域提议方法的严重依赖;
  • 对象提议生成和区域特征提取具有较高的计算密集;

单阶段算法

一阶段方法对语言上下文与视觉特征密集融合,并进一步利用融合的特征图以生成密集的候选框(滑动窗口等方式)执行边界框预测。

在这里插入图片描述

  • 文本嵌入和编码:将文本中的单词映射到高维向量空间中做文本嵌入处理(Word2Vec),将文本嵌入的向量序列输入到RNN或Transformer中进行文本编码。以捕捉文本的语言上下文信息。
  • 图像特征提取:使用CNN或视觉Transformer对图像进行特征提取,得到图像的视觉特征表示。
  • 特征融合:将图像特征和文本特征进行融合,以获取联合的语言-视觉表示特征。融合的方式可以包括拼接、相乘、加权求和等操作,或者使用注意力机制来动态地融合不同模态的特征。
  • 候选框生成(滑动窗口):以固定的步幅在特征图上进行滑动窗口操作,在每个滑动窗口位置,使用一个边界框预测器来预测该窗口中是否存在目标对象,并且预测目标对象的边界框。对于每个边界框,计算其得分,表示该边界框中是否包含目标对象的置信度。使用非极大值抑制算法来消除重叠边界框,保留得分最高的边界框作为最终检测结果。

*一阶段方法摆脱了两阶段范式中计算密集的区域提议生成和区域特征提取;

问题:

  • 通常包括复杂的多模态融合和关系学习模块;
  • 依赖手工设计的候选框生成;

基于Transformer的方法

基于Transformer的方法将图像和语言表达式分别应用视觉Transformer和语言Transformer来建模视觉和语言的全局特征,然后利用视觉-语言Transformer融合视觉和语言特征,执行跨模态关系推理。最后,直接回归对象的框坐标以进行定位。

在这里插入图片描述

  • 视觉-语言Transformer模型是一个多头注意力机制的变体(包括两个线性投影层(分别用于每个模态)和一个视觉-语言Transformer(包含6个Transformer编码器层的堆栈)),它能够同时处理视觉和语言输入,并学习它们之间的复杂关系。

  • 在视觉-语言Transformer模型中执行跨模态关系推理,模型会学习如何从图像和文本的表示中推断出它们之间的语义关系。

*一/二阶段算法依赖于复杂的模块和手动设计的机制来进行查询推理和多模态融合。这些机制往往导致在特定数据集上过拟合,并限制了视觉和语言上下文之间的交互。基于Transformer的方法用简单的Transformer编码器层的堆叠取代了复杂的融合模块,从而提高了性能,此外,将视觉定位定义为直接坐标回归问题,避免依赖候选区域提案、减少了后处理步骤(如非极大值抑制(NMS)或边界框的合并)。


总结

  1. 两阶段方法在第一阶段生成区域提议和区域特征提取,然后在第二阶段利用语言表达来选择最匹配的区域。其不仅过度依赖现成区域提议方法的性能和表现,而且对象提议生成和区域特征提取具有较高的计算密集。

  2. 一阶段方法对语言上下文与视觉特征密集融合,并进一步利用融合的特征图以生成密集的候选框(滑动窗口等方式)执行边界框预测。 其在很大程度上摆脱了两阶段范式中计算密集的区域提议生成和区域特征提取。然而,一阶段方法往往具有较为复杂的多模态融合和关系学习模块,另外,一阶段方法对手工设计的候选框生成具有较大的依赖性。

  3. 基于Transformer的方法将图像和语言表达式分别应用视觉Transformer和语言Transformer来建模视觉和语言的全局特征,然后利用视觉-语言Transformer融合视觉和语言特征,执行跨模态关系推理。 最后,直接回归对象的框坐标以进行定位。基于Transformer的方法用简单的Transformer编码器层的堆叠取代了复杂的融合模块,从而提高了性能,此外,将视觉定位定义为直接坐标回归问题,避免依赖候选区域提案、减少了后处理步骤(如非极大值抑制(NMS)或边界框的合并),极大的改善了一阶段方法的两个问题。

参考:
Visual grounding系列–领域初探

文中图片大多来自论文和网络,如有侵权,联系删除,文中有不对的地方欢迎指正、补充。

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

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

相关文章

网络通信另个角度的认识(进程间通信),端口号(为什么要有,和pid的关系,如何封装,和进程的定位原理+对应关系)客户端如何拿到服务端的port

目录 另一个角度认识网络通信 端口号 引入 -- 为什么要有端口号 问题 解决 端口号和pid 举例 介绍 分类 知名端口 注册端口 动态端口 客户端如何知道服务端的端口号 封装端口号 定位原理 进程和端口号的对应关系 数据如何被上层进程读到 另一个角度认识网络…

Node.js安装 (WIndows版本)

一. 下载地址 Node.js 安装包及源码下载地址为:https://nodejs.org/en/download 二. 具体安装步骤 下载对应msi文件后,双击下载后的安装包 点击next,进入下一步 选择安装目录,建议修改到非C盘目录 选择安装环境 点击 I…

docker启动时环境变量不生效(docker打包成镜像后环境变量失效)

前言 因项目需要多处部署,为了部署的方便,于是准备将项目环境打包成docker镜像以便于部署。mq、mysql这些在仓库中都有现成的镜像,虽然java和nginx的也都有,但是不知道当时是怎么想的,就不想搞太多镜像,也…

力扣大厂热门面试算法题 15-17

15. 三数之和,16. 最接近的三数之和,17. 电话号码的字母组合,每题做详细思路梳理,配套Python&Java双语代码, 2024.03.11 可通过leetcode所有测试用例。 目录 15. 三数之和 解题思路 完整代码 Java Python ​…

29.基于SSM实现的少儿编程网上报名系统(项目 + 论文PPT)

项目介绍 随着计算机的不断发展,已经融入到我们生活工作的每一个领域中,给我们的生活工作带来了很多的便利,因此,希望可以通过该系统的开发也能使少儿编程网上报名系统实现信息化管理,减轻人的负担,提高工作…

申请选择商家转账到零钱流程怎样的

商家转账到零钱是什么? 【商家转账到零钱】可以说是【企业付款到零钱】的升级版,商家转账到零钱可以为商户提供同时向多个用户微信零钱转账的能力,支持分销返佣、佣金报酬、企业报销、企业补贴、服务款项、采购货款等自动向用户转账的场景。…

伦敦金交易市场的参与者有哪些?

伦敦金交易市场,作为全球最大的黄金交易市场之一,吸引了众多的参与者。这些参与者来自不同的背景和角色,每个人都在这个市场中发挥着重要的作用。 首先,我们不得不提到的是市场的核心参与者——交易商。交易商是市场上最活跃的群体…

FTP,SFTP,FTPS,SSL,TSL简介,区别,联系,使用场景说明

文章目录 简介FTPFTPSSFTP加密场景选择FTPS还是SFTPFTP、SFTP、FTPS区别、联系和具体使用场景如何使用FTP、SFTP和FTPSSSLTLSSSL和TLS区别和联系,以及使用场景SSL和TLS技术上的区别一些问题隐式的TLS(FTPS/SSL)或者显式的TLS(FTPS…

【Python】新手入门学习:什么是python解释器,它的作用是什么?

【Python】新手入门学习:什么是python解释器,它的作用是什么? 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基…

STM32CubeMX学习笔记19——SD卡(SDIO接口)

1、简介 1.1 SD卡简介 很多单片机系统都需要大容量存储设备,以存储数据(常用的有U盘、FLASH芯片、SD卡等),比较而言SD卡是单片机大容量外部存储的首选,只需要少数几个IO口即可外扩一个容量从几十M到几十G的&#xff…

前端实现 查询包含分页 以及封装table表格 上手即用!

表格组件是 element plus 中的table 又经过了一层封装 封装的table代码在最底下 <div class"box2"><el-radio-group v-model"radio" style"margin-bottom: 16px"><el-radio-button label"1">类型1</el-radio…

vue3 uniapp 项目初始化集成配置【开箱即用】

https://gitee.com/charrie/vue3-uniapp-init 技术说明 采用vue3viteuniapp技术栈&#xff0c;setup语法糖编码方式引入unocss量子化样式引擎&#xff0c;动态css不用自己写样式&#xff0c;引用class即可&#xff0c;降低代码体积全局请求入口已封装&#xff0c;使用时自己封…

易基因: WGBS+ChIP-seq揭示食管癌的细胞类型和癌症特异性表观遗传调控|Genome Biol

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 食管癌是一种常见的恶性肿瘤&#xff0c;有两种亚型&#xff1a;鳞状细胞癌&#xff08;squamous cell carcinoma&#xff0c;ESCC&#xff09;和腺癌&#xff08;adenocarcinoma&#x…

【C++】string类(介绍、常用接口)

&#x1f308;个人主页&#xff1a;秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343&#x1f525; 系列专栏&#xff1a;http://t.csdnimg.cn/eCa5z 目录 string类的常用接口说明 string类对象的常见构造 ​编辑 string字符串的遍历&#xff08;迭代器&#xf…

力扣刷题Days12--104二叉树最大深度(js)

目录 1&#xff0c;题目 2&#xff0c;代码 2.1深度优先遍历--递归思想 2.2-0广度优先搜索--错误版 2.2广度优先搜索 3&#xff0c;学习与总结 3.1二叉树的复习 3.2array常用函数复习 1&#xff0c;题目 给定一个二叉树 root &#xff0c;返回其最大深度。二叉树的 最大…

解决Iterm2升级后遇到“Stashed changes“的问题

&#xff1c;&#xff1c;&#xff1c;&#xff1c;&#xff1c;&#xff1c;&#xff1c; Updated upstream ...... &#xff1e;&#xff1e;&#xff1e;&#xff1e;&#xff1e;&#xff1e;&#xff1e; Stashed changes冲突标记符的代码如题&#xff0c;最近有升级Item2…

鸿蒙原生应用元服务开发-WebGL网页图形库开发接口说明

一、场景介绍 WebGL主要帮助开发者在前端开发中完成图形图像的相关处理&#xff0c;比如绘制彩色图形等。目前该功能仅支持使用兼容JS的类Web开发范式开发。 二、接口说明 表1 WebGL主要接口列表 本文参考引用HarmonyOS官方开发文档&#xff0c;基于API9。

RStudio更换R语言版本

今天下载R语言用于读取.xlsx文件的readxl包时&#xff0c;RStudio提示该包是使用R-4.3.3版本构建&#xff0c;而我现在使用的是R-4.3.2版本&#xff0c;所以需要升级一下R语言版本&#xff0c;这里先下载最新版本的R语言&#xff0c; 下载地址&#xff1a;The Comprehensive R…

Early if-conversion - 优化阅读笔记

Early if-conversion 用于对于没有很多可预测指令的乱序CPU。目标是消除可能误预测的条件分支。 来自分支两侧的指令都会被推测性地执行&#xff0c;并使用 cmov 指令选择结果。 // SSAIfConv 类在确定可能的情况下&#xff0c;对SSA形式的机器码执行if-conversion。该类不包…

基于JAVA实现自由教学平台设计【附项目源码】分享

基于JAVA实现自由教学平台系统演示 视频&#xff1a;ssm自由教学平台演示录像-CSDN直播基于JAVA实现自由教学平台设计https://live.csdn.net/v/369811 项目源码地址&#xff1a;https://download.csdn.net/download/weixin_43894652/88842681 一、目标 构建一个基于JAVA的网…