【多模态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
在这里插入图片描述

与主流方法对比

在这里插入图片描述

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

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

相关文章

【2024.2.5练习】砍竹子(25分)

题目描述 题目分析 考虑题目是否满足贪心。每次施展魔法会使一段连续的竹子高度变为一半左右的平方根。根据样例,似乎每次让最高的竹子变短就能得到最优解。 假设魔法一次只能对一根竹子使用,永远不出现连续相同高度的竹子,那么显然无论使用…

电商开放API商品采集接口、关键字搜索接口,获取商品ID、商品主图接口

API是application programming interface(应用程序接口)的简称,是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。…

Oracle Vagrant Box 扩展根文件系统

需求 默认的Oracle Database 19c Vagrant Box的磁盘为34GB。 最近在做数据库升级实验,加之导入AWR dump数据,导致空间不够。 因此需要对磁盘进行扩容。 扩容方法1:预先扩容 此方法参考文档Vagrant, how to specify the disk size?。 指…

Linux Shell编程系列--变量的定义与使用

一、目的 上一篇我们简单介绍了shell脚本的组成以及如何运行一个shell脚本,本篇将详解讲解shell中的变量。在Shell脚本中,变量是用来存储和处理数据的基本结构。 二、介绍 1、定义变量 变量名与等号()后跟值来定义一个变量&#…

考研数据结构笔记(1)

数据结构(1) 数据结构在学什么?数据结构的基本概念基本概念三要素逻辑结构集合线性结构树形结构图结构 物理结构(存储结构)顺序存储链式存储索引存储散列存储重点 数据的运算 算法的基本概念什么是算法算法的五个特性有…

VXLAN:虚拟化网络的强大引擎

1.什么是VXLAN VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网),是由IETF定义的NVO3(Network Virtualization over Layer 3)标准技术之一,是对传统VLAN协议的一种扩展。VXLAN的特…

【Spring】Spring事务和事务传播机制

文章目录 什么是事务事务的操作Spring 中事务的实现Spring编程式事务Spring 声明式事务 TransactionalTransactional作用Transactional 详解rollbackFor事务隔离级别Spring 事务隔离级别Spring 事务传播机制 什么是事务 事务(Transaction)是一个程序中一…

【vue-baidu-map】百度地图组件,实现精准搜索,当前定位功能

实现效果&#xff1a; 代码如下&#xff1a; //引入地图组件 <bmap ref"bmap" map-confirm"confirmPosition" />confirmPosition() {const _this this.$refs.bmapconst center _this.centervar point center.lng , center.latconsole.log(阀控…

JavaEE作业-实验一

目录 1 实验内容 2 思路 3 核心代码 &#xff08;1&#xff09;前端核心代码&#xff1a; &#xff08;2&#xff09;后端核心代码&#xff1a; 4 实验结果 1 实验内容 用Servlet JSP JavaBean实现登录功能 2 思路 ①建好web项目,创建数据库 ②建立两个简单的前端页…

HarmonyOS Next开发----k线图滑动问题

前言 最近做股票软件鸿蒙版本的适配&#xff0c;K线趋势图的手势交互上遇到了问题&#xff0c;这里记录下~ 功能需求&#xff1a; 实现k线趋势图滑动及fling的效果 思路&#xff1a; 1. 借鉴Flutter版本的思路&#xff0c;在K线趋势图上面叠加一个Scroll布局&#xff0c;使…

parted命令进行磁盘分区

1.使用lsblk 查看可用的磁盘 可以看到有sdb sdc两个物理盘还未挂载 2.使用parted命令分区(以sdb为例) 按需要把sdb分成4个逻辑分区 新建磁盘标签类型为gpt 出现提示,输入yes 开始分区: (1)输入mkpart回车,提示输入分区名称,按习惯可命名为sdb1(后面依次sdb2、sdb3)…

部署篇 | MatrixOne与MySQL全面对比

MatrixOne是一款高度兼容MySQL语法的HTAP数据库&#xff0c;在大部分场景下可以直接实现对MySQL的替换。 作为一款开源数据库&#xff0c;MatrixOne 选用对开发者友好的 Apache-2.0 License&#xff0c;支持在主流的 Linux 和 MacOS 系统中直接进行物理部署。在部署方式上&…

JVM 性能调优 - 参数基础(2)

查看 JDK 版本 $ java -version java version "1.8.0_151" Java(TM) SE Runtime Environment (build 1.8.0_151-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode) 查看 Java 帮助文档 $ java -help 用法: java [-options] class [args...] …

Python中的for循环用法详解,一文搞定它

文章目录 for循环1.for循环的基本语法&#xff08;1&#xff09;遍历不等长多级容器&#xff08;2&#xff09;遍历不等长多级容器&#xff08;3&#xff09;遍历等长的容器 2.变量的解包3.for...else【详细讲解】4.range对象5.总结6.打印 1 ~ 10 跳过57.打印菱形小星星 for循环…

Flink 动态表 (Dynamic Table) 解读

博主历时三年精心创作的《大数据平台架构与原型实现&#xff1a;数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行&#xff0c;点击《重磅推荐&#xff1a;建大数据平台太难了&#xff01;给我发个工程原型吧&#xff01;》了解图书详情&#xff0c;…

docer compose部署simple-docker

简介 一个看似简陋但是功能足够用的docker管理工具 安装 创建目录 mkdir -p /opt/simple-docker cd /opt/simple-docker 创建并启动容器 编写docker-compose.yml文件,内容如下 version: 3 services: redis: image: redis:latest restart: always web: image: registry.cn-…

HR看了都想点开的简历:吸睛模板+撰写技巧

工作致富的第一步&#xff1a;写一份好的简历。一个独特、简单、清晰的个人简历模板可以更好地吸引雇主的注意和兴趣&#xff0c;并帮助你在许多求职者中脱颖而出。如何制作一份令人印象深刻的简历&#xff1f;巧妙地使用个人简历模板是一个不错的选择。在本文中&#xff0c;我…

线性代数:矩阵的初等变换

目录 一、初等行变换 行阶梯 / 行最简 性质 二、矩阵的标准型 三、矩阵的等价 四、初等矩阵 五、重要性质与定理 一、初等行变换 行阶梯 / 行最简 性质 二、矩阵的标准型 三、矩阵的等价 四、初等矩阵 五、重要性质与定理

租游戏服务器多少钱1个月?一年价格多少?

游戏服务器租用多少钱一年&#xff1f;1个月游戏服务器费用多少&#xff1f;阿里云游戏服务器26元1个月、腾讯云游戏服务器32元&#xff0c;游戏服务器配置从4核16G、4核32G、8核32G、16核64G等配置可选&#xff0c;可以选择轻量应用服务器和云服务器&#xff0c;阿腾云atengyu…

SpringBoot注解--04--01--注解@Mapper在IDEA中自动注入警告的解决方案

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 问题原因 解决方案方法1&#xff1a;为 Autowired 注解设置required false方法2&#xff1a;用 Resource 替换 Autowired方法3&#xff1a;在Mapper接口上加上Repo…