当前位置: 首页 > news >正文

【Image Captioning】DynRefer

DynRefer是由中国科学院大学于2024年提出的用于1种用于区域级多模态任务的模型。DynRefer 通过模拟人类视觉认知过程,显著提升了区域级多模态识别能力。通过引入人眼的动态分辨率机制, 能够以同时完成区域识别、区域属性检测和区域字幕生成任务。

文章链接:https://arxiv.org/abs/2405.16071

代码链接:https://github.com/callsys/DynRefer

一.介绍

区域级多模态任务模仿人类认知过程,根据特定的任务要求(开放词汇检测、属性识别、字幕生成等)将参考的图像区域翻译为语言输出。现有的方法以固定的分辨率作为输入,限制模型对于丰富分辨率的处理能力且难以捕获上下文信息。

人类的认知系统可以根据特定的语言描述(任务要求)通过注视和调整眼动的过程来调整视觉输入,形成非均匀的分辨率。现存的多模态大语言模型不具备视觉区域选择能力,导致应用于具体任务时缺乏特异性。

受视觉认知机制的启发,即增加聚焦区域的分辨率,同时抑制不相关的背景区域,提出动态分辨率方法,如下图所示。

DynRefer在训练时引入随机视觉-语言对齐,首先,对参考区域的周围进行采样,构建随机分辨率的图像;然后,将图像嵌入于具体任务的语言描述对齐。在推理时,执行动态多模态参考,形成与图像和语言描述先验相对应的动态分辨率图像。

二.相关工作

视觉语言模型

根据训练目标,Vision-Language Models(VLMs)可以分为图文对比学习、图文匹配、语言建模3种类型。应用于区域级任务时,模型在区域-文本对上进行训练以获取区域级理解能力。

区域级多模态任务

(1) 检测

基于对比学习的方法通过计算图像划定区域的特征与文本特征之间的相似度确定检测类别;基于语言建模的方法借助大语言模型,得到开放集中和图像区域最可能的类别。

(2) 属性

一些研究基于COCO Attributes、VAW等属性数据集,训练多分类网络实现属性预测;一些研究受到CLIP 、OVAD模型的启发,从字幕中得到属性类别(开集预测)。

(3)字幕生成

使用多模态模型生成区域级字幕的方法被研究者广泛采用。GRiT通过将对象类别看作为简短的字幕来统一分类和字幕生成任务;CapDet则是在预训练设置中将字幕与开放集检测结合起来。

视觉认知动态分辨率

视觉认知领域的研究表明,人类视觉系统具有动态分辨率。相比之下,计算机视觉系统缺乏动态机制,只能捕获静态视图。

三.方法

3.1 随机视觉-语言对齐

3.1.1 多视图构建

原始图像 x 被裁剪为多个候选视图。裁剪区域的计算方式为

其中,b_{r}表示参考区域的边界框,b_{x}表示整个图像的尺寸,t 表示插值系数。在训练过程中,从候选视图中随机选择 n 个视图,以模拟由于注视和眼球快速运动而生成的图像。 n 个视图对应于插值系数 t,即t=\left [ t_{1},t_{2},..., t_{n}\right ]

3.1.2 随机多视图嵌入

采样的n个视图,经过ViT模块获得空间特征并后接RoI Align模块得到区域嵌入\left \{ r_{i} \right \}_{i=1,2,..,n},如下图左侧所示。

由于crop、resize和 RoI-Align 操作引入的空间误差,区域嵌入在空间上并不对齐。受 deformable convolution 启发,提出了1个对齐模块Align module,通过将\left \{ r_{i} \right \}_{i=2,3,..,n}r_{1}对齐来减少偏差,其中,r_{1} 是仅包含参考区域的视图的区域嵌入。对于每个区域嵌入r_{i},首先,将其与 r_{1}连接,然后通过Conv计算2D偏移图;然后,𝑟𝑖的空间特征然后根据2D偏移重新采样;最后,对齐后的区域嵌入r_{i}沿通道维度连接并通过 MLPs 层进行融合。输出进一步通过视觉重采样模块,即 Q-former进行压缩,得到区域表示x_{v}

3.1.3 视觉语言对齐

通过随机多视图嵌入模块计算得到的区域表示x_{v},由3个解码器D_{x}进行解码,如上图右侧所示,分别受到3个多模态任务的监督。

i) 图像区域标签生成。采用基于查询的轻量级识别解码器进行区域标签生成。解码器  D_{tag}通过使用标签作为query,x_{v}作为key和value,计算预定义标记的置信度来完成标记过程。从字幕中解析出标签,以监督解码器,采用非对称损失。

ii) 区域 - 文本对比学习。解码器 D_{rtc}是基于查询的识别解码器,计算字幕与区域特征之间的相似性分数,使用Sigmoid损失。

iii) 语言建模。采用预训练的大语言模型 D_{llm}将区域表示x_{v} 转换为语言描述,采用cross-entropy损失。

3.2 动态多模态参考

在推理过程中,通过调整插值系数t=\left [ t_{1},t_{2},..., t_{n}\right ],得到具有动态分辨率的区域表示。在3个多模态任务上评估动态分辨率的影响,n=2,结果如下图所示。

可以看出,属性检测在t_{2}=0.1时(无上下文视图)可以获得更好的结果;字幕生成任务则在t_{2}=0.4t_{2}=0.5时(需要上下文来理解参考的区域)表现更佳,在t_{2}> 0.5时表现下降。

当任务已知时,可以根据任务特性采样合适的视图;当任务未知时,需要根据插值系数t,t\in \left \{ 0.1,0.1,...,1.0 \right \}构建候选视图。通过贪婪搜索算法从候选中选择n个视图,搜索目标为:

其中,t_{i}表示第i个插值系数,x\left ( t_{i} \right )表示第i个视图,pHASH(\cdot )表示感知图像哈希函数,\oplus表示异或操作。

3.3  多种视图

DynRefer学习多个区域表示x_{v}\left ( t \right ),如下图所示。

四.实验

DynRefer基于LAVIS框架实现,LLM模型采用Flan-T5XL,视觉重采样采用Q-former,采样视图呗调整为224*224分辨率,模型在VG V1.2上进行训练。

4.1 性能

区域级字幕

在区域级字幕任务中,与SOTA方法的对比结果如下。

在密集字幕中,与SOTA方法的对比结果如下。

开放词汇属性识别

在OVAD数据集上的表现如下表所示。

开放词汇区域识别

在COCO-2017数据集上的表现如下表所示。

多任务能力

DynRefer模型可以实现多模态多任务处理(字幕、标签、属性、类别),如下图所示。

http://www.lryc.cn/news/525530.html

相关文章:

  • Midjourney基础-常用修饰词+权重的用法大全
  • 没有屋檐的房子-023粪堆旁边的舞蹈
  • 基于Docker的Kafka分布式集群
  • 【博客之星】年度总结:在云影与墨香中探寻成长的足迹
  • SpringBoot的Swagger配置
  • machine learning knn算法之使用KNN对鸢尾花数据集进行分类
  • C语言练习(16)
  • SOAFEE 技术研讨会:汽车软件定义与自动驾驶技术探讨
  • R语言学习笔记之开发环境配置
  • 多版本并发控制:MVCC的作用和基本原理
  • ubuntu18.04安装nvm管理本机node和npm
  • 【数据结构进阶】红黑树超详解 + 实现(附源码)
  • leetcode_3092. 最高频率的 ID
  • 鸿蒙仓颉环境配置(仓颉SDK下载,仓颉VsCode开发环境配置,仓颉DevEco开发环境配置)
  • 数据统计–图形报表(day11)
  • 源码分析之Openlayers样式篇CircleStyle类
  • 解决CentOS9系统下Zabbix 7.2图形中文字符乱码问题
  • AF3 FourierEmbedding类源码解读
  • vsftpd虚拟用户部署
  • MySQL 容器已经停止(但仍然存在),但希望重新启动它,并使它的 3306 端口映射到宿主机的 3306 端口是不可行的
  • 汇编实验·顺序程序设计
  • AIGC视频扩散模型新星:Video 版本的SD模型
  • HarmonyOS:通过(SQLite)关系型数据库实现数据持久化
  • 10. SpringCloud Alibaba Sentinel 规则持久化部署详细剖析
  • STM32更新程序OTA
  • MarsCode青训营打卡Day10(2025年1月23日)|稀土掘金-147.寻找独一无二的糖葫芦串、119.游戏队友搜索
  • vue(33) : 安装组件出错解决
  • ChatGPT结合Excel辅助学术数据分析详细步骤分享!
  • stm32f103 单片机(一)第一个工程
  • 云计算和服务器