大模型时代,图像描述生成(image caption)怎么走?

背景

      Image caption是计算机视觉研究领域中的一个重要分支,其主要目标是根据输入的图像信息,生成相应的文字描述,从而完成对图像内容的准确描述。对于图像描述任务而言,最关键的是能够将图片中的信息以清晰准确的文字形式展现出来。对于熟悉图像领域的专家而言,这个问题应该并不陌生。

主流结构:Transformer

      为了实现图像描述的任务,常见的方法是采用编码器-解码器(encoder-decoder)的结构。这种结构可以将输入的图像信息通过编码器进行抽象和提取,得到一个表示图像特征的向量。然后,解码器将这个向量作为输入,逐步生成与图像内容相对应的文字描述。这种结构的实现中,常常使用transformer作为主体机构。

       Transformer是一种基于自注意力机制的神经网络模型,其在自然语言处理领域取得了巨大的成功。它通过对输入序列中的不同位置进行自注意力计算,从而实现了对序列信息的全局建模。在图像描述任务中,transformer可以用来处理图像特征的编码和生成文字描述的解码过程。通过自注意力机制,transformer能够捕捉到图像中不同区域的语义关联,从而生成更准确、更有表现力的图像描述。

Robotic Transformer 2

        随着大模型的涌现,多模态任务的能力得到了显著提升。DeepMind提出了他们的机器人大模型Robotic Transformer 2(RT2),展现出了出色的语义理解和视觉理解能力。这一模型在许多任务中展现出了惊人的表现,例如帮助疲倦的人选择最适合的饮料。

        RT2的强大之处在于它能够同时处理语义和视觉信息,从而实现对多模态任务的高效处理。对于上述的例子,当面对一个疲倦的人时,RT2可以通过语义理解和视觉分析,准确判断出他们的需求,并选择出最适合的饮料。RT2的语义理解能力使其能够理解人类的需求和意图,通过对语言输入的处理,它能够准确地解析出人们所表达的需求。同时,RT2的视觉理解能力使其能够分析和理解图像或视频中的内容,从中获取关键信息。通过将这两种能力结合起来,RT2能够在多模态任务中取得出色的表现。

      DeepMind的Robotic Transformer 2展现出了强大的语义与视觉理解能力,在多模态任务中表现出色。这一能力对于实际应用具有重要意义,为人们提供了更智能、便捷的服务和体验。

     在实际生活中,空间是由三维坐标组成的。然而,简单的图像字幕或视觉问答往往无法满足下游场景应用对空间信息的需求。传统的图文生成模型对于三维空间数据并不敏感,无法通过图像中的三维信息来进行空间描述。对于空间描述的需求,我们需要更加细致和准确的方法来处理三维空间数据。

空间信息:Generating Visual Spatial Description via Holistic 3D Scene Understanding

       今年ACL 2023上发布了一篇重要的论文,题为《Generating Visual Spatial Description via Holistic 3D Scene Understanding》。该论文探讨了从平面图像中理解空间语义的新任务,即视觉空间位置描述。通过构建大规模的图片-空间描述数据集并结合预训练的视觉语言模型,同时提出了一种基于3D特征和空间场景图建模的全新框架,实现了基于空间感知的图文生成领域,并为空间感知建模提供了新的方法。这项研究的核心目标是通过对平面图像进行全面的3D场景理解,从而实现对视觉空间描述的生成。

       方法

        针对空间语义理解问题,该论文提出了一项基于空间的图文生成任务,即视觉空间位置描述(Visual Spatial Description,VSD)。该任务的主要目标是根据给定的图片和两个实体,生成描述这两个实体空间位置关系的自然语言描述。例如,在给定的图片中,根据实体"man"和"car",生成如下的空间位置描述:"A man is walking behind a red car from right to left." VSD任务通过从"空间位置信息"的角度对场景进行描述,并将核心描述准确表达出来。VSD任务的提出对于图文生成领域的空间感知具有重要意义。通过对空间位置关系的建模,可以使生成的描述更加准确、具有表现力,并且能够提供对场景的全面理解。这种基于空间的图文生成任务为实际应用提供了新的方法和思路。

建模与结构

    整体模型机构如下图:

     论文采用 3D 检测模型,对评价图像进行 3D 场景估计和目标检测,得到场景中每个物体的位置、姿态等 3D 特征。具体的可以去研究论文。

思路与方案

     针对以上思路,图像文本生成一定是要多模态的方法吗,可否借助大模型的优势去做一些工作呢。针对这个问题,进行了相关的实验。采用两部走的方案,检测+描述生成。检测部分可以采用目标检测常见的一些模型与方法,比如yolo等,同时也可以采用3D目标检测的方法。这样就可以得到检测结果。[[检测出的物体1,坐标1][检测出的物体2,坐标2]....],其中坐标可以是二维[X,Y]或三维[x,y,z]。基于上述检测结果采用prompt+gpt3.5就表示出图像的描述。

     同样针对视频,可以采用关键帧的思路,作为模型的输入,得到关于视频的描述。

第一帧
检测到的物体: 中年人、车
坐标信息:车:[0,200,0]、中年人:[60,100,0]
第二帧
检测到的物体: 中年人、车
坐标信息:车:[0,200,0]、中年人:[-60,100,0]描述:在第一帧中,我看到了一辆车和一个中年人。车在视野的中心,而中年人在车的右侧。然后在第二帧中,中年人从车的右侧移动到了车的左侧。

      可以看到模型对于空间关系有一定的理解力。图像生成文字描述,具体的场景需要结合不同的需求去建模,并不一定是多模态解决问题。

Reference:

1.https://arxiv.org/abs/2305.11768

2.https://www.blog.google/technology/ai/google-deepmind-rt2-robotics-vla-model

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Alien对.deb包与.rpm包相互转换

目录 1、切换到root 2、更新yum(更新比较耗时,不更新没试行不,自行斟酌是否跳过这一步) 3、卸载ibus 4、安装Alien及其依赖包 5、安装Alien 6、将.deb转换成.rpm包 7、安装RPM包 8、如果报错 9、将.rpm转换成.deb包 10、安…

IronPDF for .NET Crack

IronPDF for .NET Crack ronPDF现在将等待HTML元素加载后再进行渲染。 IronPDF现在将等待字体加载后再进行渲染。 添加了在绘制文本时指定旋转的功能。 添加了在保存为PDFA时指定自定义颜色配置文件的功能。 IronPDF for.NET允许开发人员在C#、F#和VB.NET for.NET Core和.NET F…

算法竞赛入门【码蹄集新手村600题】(MT1180-1200)C语言

算法竞赛入门【码蹄集新手村600题】(MT1180-1200)C语言 目录MT1181 圆包含MT1182 圆相交MT1183 矩形包含MT1184 矩形相交MT1185 while循环MT1186 do-while循环MT1187 累加和MT1188 平均值MT1189 正数负数的和MT1190 分数乘法MT1191 减半MT1192 翻倍MT1193 偶数的平方…

【前端】快速掌握HTML+CSS核心知识点

文章目录 1.HTML核心基础知识1.1.编写第一个HTML网页1.2.超链接a标签和路径1.3.图像img标签的用法1.4.表格table标签用法1.5.列表ul、ol、dl标签用法1.6.表单form标签用法1.7.区块标签和行内标签用法 2.CSS核心基础知识2.1.CSS标签选择器viewport布局2.2.CSS样式的几种写法2.3.…

算法通关村第4关【青铜】| 栈基础

1. 栈基础 栈的特征&#xff1a; 存取受限的线性表后进先出 栈的操作&#xff1a; push()pop()peek()empty() 2.数组实现栈 限制数组的存取规则&#xff0c;实现后进先出。注意数组边界的处理 public class Stack1<T> {private Object[] stack;private int top;//…

问题解决 | 关于torch中遇到的错误及解决

本博客主要解决在torch使用中遇到的问题与解决~ 1.安装相关问题 1.1.conda虚拟环境内无法安装torch&#xff08;pip install torch &#xff09; 解决方案&#xff1a; 如果是GPU版本&#xff0c;先查看cuda版本如果nvcc -V 命令运行后出来的是cuda11.3的话&#xff0c;其他…

机器学习重要内容:特征工程之特征抽取

目录 1、简介 2、⭐为什么需要特征工程 3、特征抽取 3.1、简介 3.2、特征提取主要内容 3.3、字典特征提取 3.4、"one-hot"编码 3.5、文本特征提取 3.5.1、英文文本 3.5.2、结巴分词 3.5.3、中文文本 3.5.4、Tf-idf ⭐所属专栏&#xff1a;人工智能 文中提…

Java教程:如何使用切面环绕方法对所有接口进行添加出入参日志保存功能

背景&#xff1a; ----在很多时候我们做开发时&#xff0c;往往只是提供一个对外接口来进行前后端调试&#xff0c;或第三方系统联调&#xff0c;并使用log进行日志打印&#xff0c;每当出现问题进行排查时&#xff0c;只需要查看服务器日志就可以定位到问题&#xff0c;从而解…

docker之简介与安装

环境配置问题 没有虚拟机&#xff0c;我们往往是打包代码发给对方&#xff0c;然后让对方安装相应的环境&#xff0c;比如node、数据库&#xff0c;要是配置不同&#xff0c;项目很有可能无法运行&#xff0c;还会报错&#xff0c;如果多个人想要运行这份代码&#xff0c;那还得…

【Redis】Redis中的布隆过滤器

【Redis】Redis中的布隆过滤器 前言 在实际开发中&#xff0c;会遇到很多要判断一个元素是否在某个集合中的业务场景&#xff0c;类似于垃圾邮件的识别&#xff0c;恶意IP地址的访问&#xff0c;缓存穿透等情况。类似于缓存穿透这种情况&#xff0c;有许多的解决方法&#xf…

【计算机设计大赛】国赛一等奖项目分享——基于多端融合的化工安全生产监管可视化系统

文章目录 一、计算机设计大赛国赛一等奖二、项目背景三、项目简介四、系统架构五、系统功能结构六、项目特色&#xff08;1&#xff09;多端融合&#xff08;2&#xff09;数据可视化&#xff08;3&#xff09;计算机视觉&#xff08;目标检测&#xff09; 七、系统界面设计&am…

PyQt5资源的加载和使用,即如何使用Pyrcc

1、打开QtDesigner&#xff0c;选择编辑资源 2、新建资源文件&#xff0c;随便找个地方保存 3、按照自己的喜好命名&#xff0c;然后添加资源 4、保存并退出 5、我们创建一个QLabel&#xff0c;在这里添加资源 6、我们保存界面文件&#xff0c;并编译为py文件&#xff0c;然后…