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

相关文章

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

C++——stack、queue的实现及deque的介绍

目录 1.stack与queue的实现 1.1stack的实现  1.2 queue的实现 2.重温vector、list、stack、queue的介绍 2.1 STL标准库中stack和queue的底层结构  3.deque的简单介绍 3.1为什么选择deque作为stack和queue的底层默认容器  3.2 STL中对stack与queue的模拟实现 ①stack模拟实现

Mysql BLOB类型介绍

BLOB类型的字段用于存储二进制数据 在MySQL中,BLOB类型,包括:TinyBlob、Blob、MediumBlob、LongBlob,这几个类型之间的唯一区别是在存储的大小不同。 TinyBlob 最大 255 Blob 最大 65K MediumBlob 最大 16M LongBlob 最大 4G