Visual grounding-视觉定位任务介绍

2024-03-12 11:44

本文主要是介绍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系列–领域初探

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

这篇关于Visual grounding-视觉定位任务介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/801155

相关文章

CSS Anchor Positioning重新定义锚点定位的时代来临(最新推荐)

《CSSAnchorPositioning重新定义锚点定位的时代来临(最新推荐)》CSSAnchorPositioning是一项仍在草案中的新特性,由Chrome125开始提供原生支持需... 目录 css Anchor Positioning:重新定义「锚定定位」的时代来了! 什么是 Anchor Pos

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

Spring Security介绍及配置实现代码

《SpringSecurity介绍及配置实现代码》SpringSecurity是一个功能强大的Java安全框架,它提供了全面的安全认证(Authentication)和授权(Authorizatio... 目录简介Spring Security配置配置实现代码简介Spring Security是一个功能强

JSR-107缓存规范介绍

《JSR-107缓存规范介绍》JSR是JavaSpecificationRequests的缩写,意思是Java规范提案,下面给大家介绍JSR-107缓存规范的相关知识,感兴趣的朋友一起看看吧... 目录1.什么是jsR-1072.应用调用缓存图示3.JSR-107规范使用4.Spring 缓存机制缓存是每一

Java中 instanceof 的用法详细介绍

《Java中instanceof的用法详细介绍》在Java中,instanceof是一个二元运算符(类型比较操作符),用于检查一个对象是否是某个特定类、接口的实例,或者是否是其子类的实例,这篇文章... 目录引言基本语法基本作用1. 检查对象是否是指定类的实例2. 检查对象是否是子类的实例3. 检查对象是否