多模态图像生成的突破:Image Anything一种无需训练的智能框架

多模态图像生成是内容创作领域的热点技术,尤其在媒体、艺术和元宇宙等领域。该技术旨在模拟人类的想象力,将视觉、文本和音频等多种模态属性相关联,以生成图像。早期的方法主要侧重于单一模态输入的图像生成,例如基于图像、文本或音频的生成。这些方法在处理现实世界中更复杂的模态输入时受到限制。

香港科技大学(广州)的研究团队提出了一种名为ImgAny的新型多模态图像生成框架。这一框架无需训练,能够从语言、音频到视觉等多种模态中生成高质量图像,包括图像、点云、热成像、深度和事件数据等。ImgAny通过模仿人类的认知过程,实现了模态间的整合与协调,生成视觉上吸引人的图像。

ImgAny框架能够处理的不同类型的输入模态,并生成相应的图像

ImgAny

ImgAny是一个端到端的多模态生成模型,它能够接受多达七种不同模态的输入,包括语言、音频和五种视觉模态(图像、点云、热成像、深度和事件数据)。这一框架的设计灵感来源于人类的认知过程,通过在实体和属性两个层面上整合多种输入模态,实现了无需特定调整的生成过程。

ImgAny的整体框架结构

ImgAny的整体框架由三个主要部分组成,整体来看ImgAny的框架设计允许它灵活地处理多种模态输入,并通过实体和属性的融合,生成在视觉上具有吸引力且与输入条件一致的图像。

  1. Multi-modal Encoder(多模态编码器)

    这是ImgAny框架的第一部分,负责从各种模态输入中提取特征。对于给定的n种模态,ImgAny包括n个编码器,用于提取多模态数据的特征。例如,如果输入包括文本、图像、音频等,每个模态都会有一个专门的编码器来处理并提取相应的特征。
  2. Entity Fusion Branch(实体融合分支)

    实体融合分支是框架的第二大组成部分,它的目的是确保输入和输出之间的一致性。这一分支通过使用外部的实体知识图谱来集成多模态表示中的实体特征。它首先基于WordNet构建一个实体知识图谱,然后使用文本编码器提取实体名词的特征。通过计算这些特征与多模态特征之间的余弦相似度,确定与多模态特征最相关的实体词,并将这些实体信息融合以形成生成图像的条件之一。
  3. Attribute Fusion Branch(属性融合分支)

    属性融合分支是框架的第三部分,它专注于合并来自所有输入模态的不同属性特征。与实体融合分支类似,属性融合分支也构建了一个属性知识图谱,但这里使用的是属性形容词。通过计算多模态特征的平均值与属性形容词特征之间的相似度,选择最相关的属性词,并提取相应的属性特征。这些属性信息随后被融合,形成生成图像的另一个条件。

实体融合分支是ImgAny中的一个关键创新点。这一分支的目的是保持输入和输出之间的一致性。通过构建一个基于WordNet的实体知识图谱,ImgAny能够提取与多模态特征最相关的实体词汇,并以此为基础生成实体特征。这些特征随后被用于计算实体基础的融合权重,并将多模态特征融合成实体基础的多模态特征。

(a) 实体特征提取器 : 展示了如何通过实体知识图谱提取与输入模态相关的实体特征
(b) 属性特征提取器: 展示了如何通过属性知识图谱提取和处理属性特征

与实体融合分支类似,属性融合分支旨在整合来自所有输入模态的不同属性特征。这一分支首先构建一个属性知识图谱,然后利用预训练的语言模型(如RoBERTa)来提取属性形容词的特征。通过计算多模态特征的平均值与属性形容词特征之间的余弦相似度,ImgAny能够检索出最相关的属性词汇,并据此提取属性特征和属性基础的融合权重,最终融合成属性基础的多模态特征。

ImgAny使用PointBind的多模态编码器作为其特征提取的基础。这些编码器能够处理包括图像、音频、文本等在内的不同模态的输入数据,并从中提取相应的特征表示。这些特征随后被用于实体融合分支和属性融合分支,这两个分支是ImgAny的关键创新点,它们分别负责处理实体和属性信息的融合。

实体融合分支利用了一个基于WordNet构建的实体知识图谱,通过计算多模态特征与知识图谱中实体的相似度,来确定与输入数据最相关的实体。属性融合分支则采用了一个属性知识图谱,它基于WordNet中的属性形容词,并通过预训练的语言模型(如RoBERTa)来辅助筛选和提取特征。

在特征融合之后,ImgAny使用了一个预训练的稳定扩散模型(Stable Diffusion V2.0)作为生成解码器。这个模型能够根据融合后的特征条件,迭代地从高斯噪声图像中去除噪声,逐步生成目标图像。值得注意的是,这个过程中Stable Diffusion的参数是被冻结的,这意味着ImgAny在生成图像时不需要进行额外的训练。

ImgAny的实现还考虑了效率和实用性。通过使用预训练的组件和冻结参数,ImgAny能够以较低的计算成本实现高质量的图像生成,这使得它在实际应用中更为可行。

实验

实验的比较方法包括CoDi和其他基线模型,如PointBind和Stable Diffusion。实验配置包括从文本、音频和图像的任意组合生成图像,以及从文本、音频、图像、点云、热成像、事件和深度的任意组合生成图像。使用的公共数据集包括Flickr-30K、ESC-50和FLIR V1等。

定量比较了ImgAny与其他方法在文本到图像(T→I)、音频到图像(A→I)和热成像到图像(Th→I)任务上的性能

通过与CoDi和基线模型的比较,ImgAny在识别和解释输入模态的多样化语义内容方面表现出色。ImgAny能够保留关键对象和属性,准确复制输入多模态条件中的实体特征(例如狗的形状)和属性特征(例如毛色)。

ImgAny在文本、音频和图像输入模态下生成图像的定性比较结果
表 2为图 4 中所示案例的CLIP得分

ImgAny展示了从热成像、点云和事件等与图像模态差异较大的输入生成图像的有效性。当处理具有五、六或七种模态的输入时,ImgAny在提取和保留多模态输入中的实体和属性特征方面表现出显著的能力。

ImgAny从七种模态输入生成图像的定性比较结果
表 3为图 5中所示案例的CLIP得分

消融研究首先关注于实体融合分支(EFB)对ImgAny性能的影响。通过对比有无EFB的ImgAny在音频到图像和文本到图像生成任务上的表现,研究者发现EFB在保持生成图像中实体信息的一致性方面起着至关重要的作用。定量结果表明,缺少EFB的ImgAny在CLIP得分上平均下降了3.28%,在FID得分上平均下降了13.72%。此外,定性结果也显示了在多种输入模态下,EFB在提取实体特征方面的能力。

有无实体融合分支(EFB)对生成图像的影响
有无实体融合分支(EFB)对ImgAny性能的影响

通过展示有无AFB的ImgAny生成的图像,可以观察到AFB在提取和保留属性特征方面的效果,例如狗的外貌、汽车的标志(奔驰)、消防车的状态和汽车的颜色(黄色)。定量的CLIP得分也显示了AFB在图像生成性能上的显著提升。

有无属性融合分支(AFB)对ImgAny生成图像的影响

人类评估部分涉及了27名参与者,其中大多数是年轻人,年龄在18-34岁之间,性别分布相对均衡,且超过半数的参与者有AIGC模型的相关经验。评估任务要求参与者使用7点Likert量表对生成图像的推理一致性和生成质量进行评分。图像以随机顺序展示给参与者,以减少偏见。

人类评估的结果显示,所有参与者一致认为ImgAny生成的图像在推理一致性方面表现优异,平均得分超过5分,远高于CoDi和基线方法。ImgAny在不同样本间的得分波动较小,这表明其在模仿人类推理和创造力方面具有较高的稳定性和一致性。

人类评估的结果,使用7点Likert量表来评估生成图像的推理一致性

实验证明ImgAny作为一种无需训练的图像生成方法,展现了对任意组合模态的适应性,以及在人类水平推理和创造力方面的能力。通过实体融合分支和属性融合分支的整合,ImgAny在视觉创作方面表现出色。

论文链接:https://arxiv.org/abs/2401.17664

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

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

相关文章

240703_昇思学习打卡-Day15-K近邻算法实现红酒聚类

KNN(K近邻)算法实现红酒聚类 K近邻算法,是有监督学习中的分类算法,可以用于分类和回归,本篇主要讲解其在分类上的用途。 文章目录 KNN(K近邻)算法实现红酒聚类算法原理数据下载数据读取与处理模型构建--计算距离模型预测 算法原理 KNN算法虽…

Mac单机游戏推荐:星际争霸母巢之战 for Mac v1.16.1汉化版

星际争霸母巢之战 for Mac是一款深受玩家的即时战略游戏,延续了原版《星际争霸》的剧情,并加入了新的游戏单位、科技、地图样式、背景音乐及平衡性调整。《星际争霸》与其它的即时战略类型游戏。 下载地址:点击下载 与原作相同,《…

一图胜千言|用Python搞定统计结果展示!

分享一份原创Python可视化教程:530张图形8000行代码,轻松搞定统计结果展示,部分如下, 每类图表包含详细代码详细代码注释,多达8000行代码,例如, 如何加入学习? 👇&#…

免费分享:2022年全国地铁站点数据(附下载方法)

数据简介 2022年全国地铁站点数据不仅反应我国城市交通网络的日益完善,也为城市规划、公共交通优化、商业布局、应急响应及智慧城市建设提供了宝贵的数据支持与参考,助力城市发展与居民生活质量的全面提升。 数据属性 数据名称:全国地铁站点…

Java同步包装器

通过 Collections.synchronizedList() 方法将一个普通的 ArrayList 包装成了线程安全的 List&#xff1a; import java.util.*;public class SynchronizedWrapperExample {public static void main(String[] args) {// 创建一个非线程安全的 ArrayListList<String> list…

python gdal 压缩栅格数据

1 压缩方法LZW 使用 LZW&#xff08;Lempel-Ziv-Welch&#xff09;&#xff0c;主要对图像数据压缩&#xff0c;可逆 2 代码 函数gdal_translate()&#xff1a;转换栅格的不同格式 我们使用的数据是GTiff格式的数据 GTiff – GeoTIFF File Format — GDAL documentation 参…

MySQL安装与环境配置

1.打开安装程序 2.默认配置&#xff0c;如下二三图 3.配置密码 4.等待安装完毕 5.检查 6.配置环境变量 7.从控制台登录检测

STM32F1+HAL库+FreeTOTS学习4——任务挂起与恢复

STM32F1HAL库FreeTOTS学习4——任务挂起与恢复 任务挂起和恢复的API介绍代码实现 上一期我们学习了FreeRTOS中任务创建的两种方法&#xff0c;这一期我们学习任务的挂起和恢复。 任务挂起和恢复的API介绍 在 &#xff1a;STM32F1HAL库FreeTOTS学习1——FreeRTOS入门 的学习中&…

苹果电脑虚拟机运行Windows Mac环境安装Win PD19虚拟机 parallels desktop19虚拟机安装教程免费密钥激活

在如今多元的数字时代&#xff0c;我们经常需要在不同的操作系统环境下进行工作和学习。而对于 Mac 用户来说&#xff0c;有时候需要在自己的电脑上安装 Windows 操作系统&#xff0c;以体验更多软件及功能&#xff0c;而在 Mac 安装 Windows 虚拟机是常用的一种操作。下面就来…

Python28-5 k-means算法

k-means 算法介绍 k-means 算法是一种经典的聚类算法&#xff0c;其目的是将数据集分成 ( k ) 个不同的簇&#xff0c;每个簇内的数据点尽可能接近。算法的基本思想是通过反复迭代优化簇中心的位置&#xff0c;使得每个簇内的点与簇中心的距离之和最小。k-means 算法的具体步骤…

【FFmpeg】avformat_find_stream_info函数

【FFmpeg】avformat_find_stream_info 1.avformat_find_stream_info1.1 初始化解析器&#xff08;av_parser_init&#xff09;1.2 查找探测解码器&#xff08;find_probe_decoder&#xff09;1.3 尝试打开解码器&#xff08;avcodec_open2&#xff09;1.4 读取帧&#xff08;re…

嵌入式Linux之Uboot简介和移植

uboot简介 uboot 的全称是 Universal Boot Loader&#xff0c;uboot 是一个遵循 GPL 协议的开源软件&#xff0c;uboot是一个裸机代码&#xff0c;可以看作是一个裸机综合例程。现在的 uboot 已经支持液晶屏、网络、USB 等高级功能。 也就是说&#xff0c;可以在没有系统的情况…

创建kobject

1、kobject介绍 kobject的全称是kernel object&#xff0c;即内核对象。每一个kobject都会对应系统/sys/下的一个目录。 2、相关结构体和api介绍 2.1 struct kobject // include/linux/kobject.h 2.2 kobject_create_and_add kobject_create_and_addkobject_createkobj…

开源自动化热键映射工具autohotkey十大用法及精选脚本

AutoHotkey&#xff08;AHK&#xff09;是一款功能强大的热键脚本语言工具&#xff0c;它允许用户通过编写脚本来自动化键盘、鼠标等设备的操作&#xff0c;从而极大地提高工作效率。以下是AutoHotkey的十大经典用法&#xff0c;这些用法不仅解放了用户的双手&#xff0c;还展示…

字节码编程ASM之插桩方法调用记录

写在前面 源码 。 正式开始之前&#xff0c;先分享一个让人”悲伤“的真实的故事。 那是一个风和日丽的周六的下午&#xff0c;俺正在开开心心的打着羽毛球&#xff0c;突然接到了来自于最不想联系的那个人&#xff08;没错&#xff0c;这个人就是我的领导&#xff01;&#x…

QT Creator生成uml类图

先说方法&#xff0c;使用Doxygen工具&#xff0c;笔者用的虚拟机linux系统下的qt5.7&#xff0c;没找到自带的uml生成类的工具。 1、Doxygen 安装 在 Ubuntu 系统中&#xff0c;执行下面命令安装 doxygen 和 graphviz 软件包。 sudo apt install graphviz # 用于生成代码…

等保2.0 实施方案之信息软件验证要求

一、等保2.0背景及意义 随着信息技术的快速发展和网络安全威胁的不断演变&#xff0c;网络安全已成为国家安全、社会稳定和经济发展的重要保障。等保2.0&#xff08;即《信息安全技术 网络安全等级保护基本要求》2.0版本&#xff09;作为网络安全等级保护制度的最新标准&#x…

Gradle学习-5 发布二进制插件

注&#xff1a;以下示例基于Gradle8.0 1、发布插件 复制一分 buildSrc&#xff0c;执行命令行&#xff0c;生成一个新目录 leon-gradle-plugin cp -rf buildSrc leon-gradle-plugin在 leon-gradle-plugin 目录下的 build.gradle 中引入maven plugins{// 引用 Groovy 插件&…

【热部署】✈️Springboot 项目的热部署实现方式

目录 &#x1f378;前言 &#x1f37b;一、热部署和手动重启 &#x1f37a;二、热部署的实现 2.1 手动启动热部署 2.2 自动检测热部署 2.3 关闭热部署 &#x1f49e;️三、章末 &#x1f378;前言 小伙伴们大家好&#xff0c;书接上文&#xff0c;通过Springboot 中的 actu…

解析Kotlin中扩展函数与扩展属性【笔记摘要】

1.扩展函数 1.1 作用域&#xff1a;扩展函数写的位置不同&#xff0c;作用域就也不同 扩展函数可以写成顶层函数&#xff08;Top-level Function&#xff09;&#xff0c;此时它只属于它所在的 package。这样你就能在任何类里使用它&#xff1a; package com.rengwuxianfun …