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

【多模态MLLMs+图像编辑】MGIE:苹果开源基于指令和大语言模型的图片编辑神器(24.02.03开源)

项目主页:https://mllm-ie.github.io/
论文 :基于指令和多模态大语言模型图片编辑 2309.Guiding Instruction-based Image Editing via Multimodal Large Language Models (加州大学圣巴拉分校+苹果)
代码:https://github.com/apple/ml-mgie | gradio_UI
媒体:机器之心的解析https://mp.weixin.qq.com/s/c87cUuyz4bUgfW2_ma5xpA

封面图
在这里插入图片描述
网友实测
在这里插入图片描述

一些概念

MLLMs: 多模态大语言模型

多模态大语言模型(Multimodal large language models ),是从预训练的LLM(大语言模型)初始化参数,MLLM添加了一个视觉编码器(visual encoder 例如,CLIP-L )来提取视觉特征 f f f,以及一个适配器(adapter) W W W(一般为简单神经网络)将特征 f f f投影到语言模态中。根据论文2304.Visual Instruction Tuning(LLaVA) :MLLMs的训练可以概括为:
在这里插入图片描述
其中 l l l C C C 中单词切分后(word token)的长度。 C C C可以是图像标题(特征对齐)或数据的多模态指令(指令调优)。MLLM 遵循下一个单词预测的标准自回归训练,然后可以作为各种视觉任务的视觉助手(visual assistant),例如视觉问答(visual question answering)和复杂的推理(complex reasoning)。尽管 MLLM 能够通过上述训练进行视觉感知,但它的输出仍然仅限于文本

MGIE : 多模态大语言模型引导的图像编辑

MGIE 表示:Multimodal large language model-Guided Image Editing (MGIE)

原文摘要:

基于指令(Instruction-based)的图像编辑通过自然命令提高了图像操作的可控性和灵活性,而无需详细描述或区域掩模。然而,人类的指令有时过于简短,目前的方法无法捕捉和遵循。多模态大语言模型(Multimodal large language models (MLLMs))在跨模态理解和视觉感知响应生成方面显示出很好的能力。
我们研究了(investigate) MLLM如何促进编辑指令(instructions),并提出 MLLM 引导的图像编辑 (MGIE)。
MGIE学习推导表达指令(derive expressive instructions)并提供明确指导(explicit guidance)。编辑模型共同捕获这种视觉想象,并通过端到端训练执行操作。我们评估了photoshop方式的修改全局照片优化局部编辑的各个方面。

大量的实验结果表明,表达性指令对于基于指令的图像编辑至关重要,我们的MGIE可以在保持竞争性推理效率的同时显著改善自动度量和人工评估。

Instruction-based image editing improves the controllability and flexibility of image manipulation via natural commands without elaborate descriptions or regional masks. However, human instructions are sometimes too brief for current methods to capture and follow. Multimodal large language models (MLLMs) show promising capabilities in cross-modal understanding and visual-aware response generation via LMs. We investigate how MLLMs facilitate edit instructions and present MLLM-Guided Image Editing (MGIE). MGIE learns to derive expressive instructions and provides explicit guidance. The editing model jointly captures this visual imagination and performs manipulation through end-to-end training. We evaluate various aspects of Photoshop-style modification, global photo optimization, and local editing. Extensive experimental results demonstrate that expressive instructions are crucial to instruction-based image editing, and our MGIE can lead to a notable improvement in automatic metrics and human evaluation while maintaining competitive inference efficiency.

主要方法

基本架构参考

InstructPix2Pix,LLaMA-7B为基线 ,着重借鉴了 LLaVA的模型

22.11.InstructPix2Pix: Learning to Follow Image Editing Instructions.
23.02.LLaMA: Open and Efficient Foundation Language Models
23.04.LLaVA: Large Language and Vision Assistant(Visual Instruction Tuning)
在这里插入图片描述

MGIR模型框架

使用的MLLMs预训练多模态模型 LLaVA-7B 进行指令调优(instruction tuning)并获得相应的视觉tokens : https://huggingface.co/liuhaotian/LLaVA-Lightning-7B-delta-v1-1 (只微调了词嵌入(word embedding)和LM head)

一个预训练的文本总结模型 Flan-T5-XXL(summarizer)获得对简洁的叙述:https://huggingface.co/google/flan-t5-xxl ,用在训练中,与生成精炼题词计算loss.
w一个是借助外部模型生成题词总结,一个是MLLM微调后输出的总结。
在这里插入图片描述

图 2:方法概述。

利用 MLLM 来增强基于指令的图像编辑 (“what will this image be like if [instruction]” ,来重写)。
训练好后,大视觉语言模型直接推导出简洁明确的表达指令(concise expressive instruction),并为预期目标提供明确的视觉相关指导(visual token)然后通过Edit head 注入到Diffusion模型。 扩散模型以端到端的方式通过编辑头联合训练和实现具有潜在想象的图像编辑。
其中,
Edit Head 表示:序列到序列模型 (4层transformer),它将来自 MLLM 的顺序视觉标记(sequential visual tokens)映射到语义上有意义的潜在编码 U = {u1, u2,…, uL} 作为编辑指导
在这里插入图片描述

具体算法训练流程

V V V表示:输入图片
X X X表示:指令(例如具体修改意图:改颜色、修改内容)
O O O表示: 最终的目标图像
T T T:表示: 序列到序列模型 (4层transformer),它将来自 MLLM 的顺序视觉标记(sequential visual tokens)映射到语义上有意义的潜在编码 U = {u1, u2,…, uL} 作为编辑指导
u u u表示: 最终提示修改的视觉语义编辑
F F F表示:stable diffusion的预训练模型
算法 1 展示了 MGIE 学习过程。
MLLM 通过指令损失 L_ins 导出简洁指令 ε。借助 [IMG] 的潜在想象,图片转变其模态并引导 图片合成结果图像。编辑损失 L_edit 用于扩散训练。由于大多数权重可以被冻结(MLLM 内的自注意力块),因而可以实现参数高效的端到端训练。
在这里插入图片描述
公式2
在这里插入图片描述
公式5
在这里插入图片描述

与主流方法对比

在这里插入图片描述

相关文章:

【多模态MLLMs+图像编辑】MGIE:苹果开源基于指令和大语言模型的图片编辑神器(24.02.03开源)

项目主页:https://mllm-ie.github.io/ 论文 :基于指令和多模态大语言模型图片编辑 2309.Guiding Instruction-based Image Editing via Multimodal Large Language Models (加州大学圣巴拉分校苹果) 代码:https://github.com/appl…...

hpp文件:C++开发中的利器

1 什么是hpp文件? hpp文件是C程序中一种特殊头文件,它可以包含类的声明和实现。与传统的h文件相比,hpp文件具有以下特点: 将类的声明和实现放在同一个文件里,减少了代码量,提高了代码的可读性。无需再将c…...

如何查看电脑连接的wifi的密码

问题 很多时候我们电脑连上wifi之后就把密码忘记了,这个时候如果同事问自己密码是多少,如果作为程序员说不知道是不是感觉有点不好意思,哈哈…… 解决 我使用的是windows电脑,就以windows为例说明下自己是如何查看的。 打开wi…...

QTabWidget和QTabBar控件样式设置(qss)

QTabWidget和QTabBar控件样式设置 1、QTabWidget样式可自定义的有哪些示例:效果图 2、QTabBar样式可自定义的有哪些示例效果图 1、QTabWidget样式可自定义的有哪些 QTabWidget::pane{} 定义tabWidgetFrameQTabWidget::tab-bar{} 定义TabBar的位置QTabWidget::tab{}定…...

【智能家居入门3】(MQTT服务器、MQTT协议、微信小程序、STM32)

前面已经写了三篇博客关于智能家居的,服务器全都是使用ONENET中国移动,他最大的优点就是作为数据收发的中转站是免费的。本篇使用专门适配MQTT协议的MQTT服务器,有公用的,也可以自己搭建(应该要钱)&#xf…...

C语言第二十四弹---指针(八)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 指针 1、数组和指针笔试题解析 1.1、字符数组 1.1.1、代码1: 1.1.2、代码2: 1.1.3、代码3: 1.1.4、代码4: 1…...

m1芯片xcode15编译cocos2dx一些报错处理

报错1: No matching function for call to ‘iconv’ No matching function for call to ‘iconv_close’ 解决: 强转: iconv_close((iconv_t)_iconv); iconv((iconv_t)_iconv, (char**)&pin, &inLen, &pout, &outLen); 报错2: Proper…...

代码+视频基于R语言进行K折交叉验证

我们在建立数据模型后通常希望在外部数据验证模型的检验能力。然而当没有外部数据可以验证的时候,交叉验证也不失为一种方法。交叉验验证(交叉验证,CV)则是一种评估模型泛化能力的方法,广泛应用…...

第一篇【传奇开心果系列】Python的pyttsx3库技术点案例示例:文本转换语言

传奇开心果短博文系列 系列短博文目录Python的pyttsx3库技术点案例示例系列 短博文目录前言一、pyttsx3主要特点和功能介绍二、pyttsx3文字转语音操作步骤介绍三、多平台支持介绍和示例代码四、多语言支持介绍和示例代码五、自定义语言引擎介绍和示例代码六、调整语速和音量介绍…...

@ 代码随想录算法训练营第7周(C语言)|Day43(动态规划)

代码随想录算法训练营第7周(C语言)|Day43(动态规划) Day41、动态规划(包含题目 ● 1049. 最后一块石头的重量 II ● 494. 目标和 ● 474.一和零 ) 1049. 最后一块石头的重量 II 题目描述 有一堆石头&am…...

深度学习的新进展:探索人工智能的未来

文章目录 📑引言深度学习技术概述计算机视觉领域的深度应用自然语言处理的深度革命跨领域应用的深度拓展深度学习的挑战与未来展望结语 📑引言 在科技日新月异的今天,深度学习作为人工智能领域的一颗璀璨明珠,正在引领着技术创新…...

Vue中@change、@input和@blur、@focus的区别及@keyup介绍

Vue中change、input和blur、focus的区别及keyup介绍 1. change、input、blur、focus事件2. keyup事件3. 补充:el-input的change事件自定义传参 1. change、input、blur、focus事件 change在输入框发生变化且失去焦点后触发; input在输入框内容发生变化后…...

Raspbian简易RTSP服务

Raspbian简易RTSP服务 1. 源由2. 搭建简易RTSP服务器2.1 系统安装2.2 软件安装2.3 命令介绍2.3.1 libcamera-hello2.3.2 libcamera-vid2.3.3 cvlc 3. 实测4. 参考资料 1. 源由 鉴于前期的一些准备工作: 《ArduPilot开源飞控之Companion Computers简单分析》《Ardu…...

【ASP.NET 6 Web Api 全栈开发实战】--前言

《ASP.NET 6 Web Api 实战》专栏通过一步一步的开发并完善一个记账软件项目,来引导大家学习相关的知识,其中的知识包括但不限于如下内容: Web Api 开发.NET 6 项目微服务架构的搭建身份认证移动端应用开发more。。。 专栏结构 专栏分为单体…...

跳过mysql8.0密码重置密码 Shell脚本

要在 MySQL 8.0 中通过 Shell 脚本跳过密码验证以重置密码,你可以遵循以下步骤:首先,确保你有足够的权限来编辑配置文件和重启 MySQL 服务。下面是一个简单的 Shell 脚本示例,该脚本展示了如何跳过密码验证以重置 MySQL 8.0 的 ro…...

Maven之安装自定义jar到本地Maven仓库中

Maven之安装自定义jar到本地Maven仓库中 文章目录 Maven之安装自定义jar到本地Maven仓库中1. 命令行窗口安装方式1. 常用参数说明2. 安装实例 2. IDEA中安装方式3. 使用 1. 命令行窗口安装方式 安装指定文件到本地仓库命令:mvn install:install-file; 在windows的cm…...

SPI控制8_8点阵屏

协议与硬件概述 SPI SPI是串行外设接口(Serial Peripheral Interface)的缩写。是一种高速的(10Mbps)的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线。 引脚介绍 SCLK:…...

2.10

头文件&#xff1a; #include <sqlite3.h> 编译时候要加上-lsqlite3 gcc a.c -lsqlite3 1&#xff09;sqlite3_open 打开一个数据库&#xff0c;如果数据库不存在&#xff0c;则创建一个数据库 2&#xff09;sqlite3_close 关闭数据库&#xff0c;断开句柄所拥有的资…...

计算机服务器中了360后缀勒索病毒怎么办?360后缀勒索病毒处理流程

网络技术的不断应用与发展&#xff0c;为企业的生产运营提供了有利保障&#xff0c;越来越多的企业走向数字化办公模式&#xff0c;并且企业的发展离不开数据支撑&#xff0c;重视数据安全成为了众多企业关心的主要话题。春节前后&#xff0c;云天数据恢复中心接到很多企业的求…...

BigDecimal的常用API

BigDecimal用于解决浮点型运算时结果出现失真的问题。 这里0.20.1等于0.3就出现了失真 import java.math.BigDecimal; import java.math.RoundingMode;public class Test {public static void main(String[] args) {//BigDeciaml的使用&#xff1a;解决小数运算失真的问题doub…...

TP-LINK AX300 网卡驱动

TP-LINK AX300无线网卡的驱动一直不更新&#xff0c;只好自己动手 适配&#xff1a;TL-XDN6000H 免驱版 操作系统&#xff1a;Ubuntu 24.04.4 LTS 内核版本&#xff1a;6.17.0-29-generic #29~24.04.1-Ubuntu https://download.csdn.net/download/zzzhy/92882718...

技术文档检索总失败?Perplexity的chunking策略、embedding模型选型与rerank阈值调优(附实测Benchmark数据)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;技术文档检索总失败&#xff1f;Perplexity的chunking策略、embedding模型选型与rerank阈值调优&#xff08;附实测Benchmark数据&#xff09; 技术文档检索失败常源于文本切分不合理、语义表征能力不足或重排…...

微积分入门书籍之高考篇

导数的秘密&#xff08;第二版&#xff09;-2021.01 高考导数满分精讲&#xff08;2021&#xff09; 高考导数探秘&#xff1a;解题技巧与策略 董晟渤&#xff08;2024.10&#xff09; 微积分与高考数学&#xff08;第2版&#xff09;-2024 高考导数解题全攻略&#xff08;2024…...

Matlab 2020a老版本用户福音:手把手教你配置MinGW 6.3.0并集成第三方EXR工具

Matlab 2020a兼容性解决方案&#xff1a;MinGW 6.3.0与EXR工具链深度整合指南 对于长期依赖Matlab 2020a进行科研或工程开发的用户来说&#xff0c;遇到需要处理EXR图像文件的需求时往往会陷入两难——既无法放弃经过验证的稳定开发环境&#xff0c;又需要扩展功能支持。本文将…...

如何快速掌握Switch文件管理神器:NSC_BUILDER完整新手指南

如何快速掌握Switch文件管理神器&#xff1a;NSC_BUILDER完整新手指南 【免费下载链接】NSC_BUILDER Nintendo Switch Cleaner and Builder. A batchfile, python and html script based in hacbuild and Nuts python libraries. Designed initially to erase titlerights encr…...

FDTD Solutions 8.0 保姆级上手教程:从软件安装到第一个仿真结果

FDTD Solutions 8.0 零基础实战指南&#xff1a;从安装到首个完整仿真 当你第一次打开FDTD Solutions 8.0时&#xff0c;那些复杂的工具栏和陌生的术语可能会让你望而却步。作为一款专业的光学仿真软件&#xff0c;它确实有着陡峭的学习曲线——但别担心&#xff0c;这正是本文…...

用$monitor给Verilog模块装个‘实时仪表盘’:以UART回环测试为例的调试实战

用$monitor给Verilog模块装个‘实时仪表盘’&#xff1a;以UART回环测试为例的调试实战 在数字电路验证的浩瀚海洋中&#xff0c;调试就像是在黑暗中寻找灯塔的过程。传统波形调试如同手持火炬前行&#xff0c;而$monitor系统任务则为我们装上了全景雷达——它能自动捕捉信号变…...

AIGC 检测怎么识别 ChatGPT 写作指纹?嘎嘎降 AI 帮你 AI 率从 85% 降到 5%

AIGC 检测怎么识别 ChatGPT 写作指纹&#xff1f;嘎嘎降 AI 帮你 AI 率从 85% 降到 5% 很多同学好奇——为什么 ChatGPT 改写论文之后送知网检测 AI 率反而涨了&#xff1f;真相是——ChatGPT 的输出有自己独特的"写作指纹"——AIGC 检测算法早就识别了这种指纹。这篇…...

对比直接使用官方api体验taotoken在计费透明性与灵活性上的优势

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 对比直接使用官方 API 体验 Taotoken 在计费透明性与灵活性上的优势 在开发基于大模型的应用时&#xff0c;除了模型效果和稳定性&…...

别再死记硬背!用Python+Verilog双视角图解2ASK/2FSK调制解调原理

PythonVerilog双视角图解2ASK/2FSK调制解调原理 通信工程的学习者常常陷入理论公式与硬件实现之间的认知断层。当教科书上的数学表达式突然变成硬件描述语言时&#xff0c;那种手足无措的感觉我深有体会——三年前第一次接触Verilog实现调制解调时&#xff0c;盯着代码里那些分…...