MasaCtrl

MasaCtrl

实现一致性图像合成与编辑

MasaCtrl是一种基于互自注意力控制的图像处理技术,实现了一致性图像合成和编辑。该方法结合源图像内容和文本提示生成的布局,无需额外微调即可进行非刚性图像修改。MasaCtrl支持多种应用场景,包括基于提示的合成、真实图像编辑、与可控扩散模型集成等,并可扩展到视频合成。这一技术兼容Stable Diffusion等多种模型,为图像创作提供了新的可能性。

MasaCtrl一致性图像合成图像编辑扩散模型无需微调Github开源项目

MasaCtrl: 无需微调的相互自注意力控制,用于一致性图像合成和编辑

Pytorch实现 MasaCtrl: 无需微调的相互自注意力控制,用于一致性图像合成和编辑

Mingdeng Cao, Xintao Wang, Zhongang Qi, Ying Shan, Xiaohu Qie, Yinqiang Zheng

arXiv 项目主页 演示 演示 在OpenXLab中打开


<div align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/da2c5bd8-518a-41aa-aa79-e4dddd286f45.gif"> <i> MasaCtrl 能够在不进行微调和优化的情况下,实现各种一致性的非刚性图像合成和编辑。</i> </div>

更新

  • [2023/8/20] MasaCtrl 现在支持 SDXL(及其他变体)。sdxl_示例
  • [2023/5/13] MasaCtrl 与 T2I-Adapter 结合的推理代码已可用。
  • [2023/4/28] Hugging Face 演示已发布。
  • [2023/4/25] 代码已发布。
  • [2023/4/17] 论文可在此处获取。

简介

我们提出了 MasaCtrl,这是一种无需微调的方法,用于非刚性一致性图像合成和编辑。其核心思想是通过相互自注意力控制查询语义相关特征,将源图像的"内容"与从文本提示和额外控制合成的"布局"结合起来,生成所需的合成或编辑图像。

主要特点

1 一致性图像合成和编辑

MasaCtrl 可以执行基于提示的图像合成和编辑,改变布局的同时保持源图像的内容。

目标布局直接从目标提示合成。

<details><summary>查看视觉结果</summary> <div align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/8eaeb07d-a684-4cd4-856a-f78e82397583.png"> <i>一致性合成结果</i> <img src="https://yellow-cdn.veclightyear.com/835a84d5/59412c0e-6daa-4694-b195-33cc82afd167.png"> <i>真实图像编辑结果</i> </div> </details>

2 与可控扩散模型的集成

直接修改文本提示通常无法生成所需图像的目标布局,因此我们进一步将我们的方法集成到现有的可控扩散流程中(如 T2I-Adapter 和 ControlNet),以获得稳定的合成和编辑结果。

目标布局由额外指导控制。

<details><summary>查看视觉结果</summary> <div align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/71da8fae-c098-4db9-a755-261292559d4b.png"> <i>使用 T2I-Adapter 的合成(左侧)和编辑(右侧)结果</i> </div> </details>

3 推广到其他模型:Anything-V4

我们的方法也能很好地推广到其他基于 Stable Diffusion 的模型。

<details><summary>查看视觉结果</summary> <div align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/5be7c410-2c1e-4a23-b283-e485fc6ba3ab.png"> <i>Anything-V4 的结果</i> </div> </details>

4 扩展到视频合成

通过密集一致性指导,MasaCtrl 实现了视频合成

<details><summary>查看视觉结果</summary> <div align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/5bb19932-ade4-498f-a71d-e1ec66e6f6f2.png"> <i>视频合成结果(使用关键姿势和 Canny 边缘指导)</i> </div> </details>

使用方法

环境要求

我们使用 diffusers 代码库实现我们的方法,代码结构类似于 Prompt-to-Prompt。代码在 Python 3.8.5 和 Pytorch 1.11 环境下运行。强烈建议使用 Conda 环境。

pip install -r requirements.txt

检查点

稳定扩散: 我们主要在稳定扩散v1-4版本上进行实验,但我们的方法可以推广到其他版本(如v1-5)。你可以在官方仓库和Hugging Face上下载这些检查点。

个性化模型: 你可以从CIVITAI下载个性化模型或训练自己的定制模型。

演示

笔记本演示

要使用MasaCtrl进行合成,需要至少16 GB显存的单个GPU。

playground.ipynbplayground_real.ipynb笔记本分别提供了合成和真实编辑的样例。

在线演示

我们提供了带有Gradio应用的演示。请注意,你可能需要将演示复制到自己的空间以使用GPU。在线Colab演示演示也可用。

本地Gradio演示

你可以通过以下命令在本地启动提供的Gradio演示

CUDA_VISIBLE_DEVICES=0 python app.py

结合T2I-Adapter的MasaCtrl

按照提供的教程安装T2I-Adapter并准备检查点。假设它已成功安装,根目录为T2I-Adapter

然后将核心masactrl包和推理代码masactrl_w_adapter.py复制到T2I-Adapter的根目录

cp -r MasaCtrl/masactrl T2I-Adapter/ cp MasaCtrl/masactrl_w_adapter/masactrl_w_adapter.py T2I-Adapter/

[更新] 或者你可以直接克隆MasaCtrl-w-T2I-Adapter仓库到本地。

最后,你可以使用以下命令推理图像(使用草图适配器)

python masactrl_w_adapter.py \ --which_cond sketch \ --cond_path_src 源条件路径 \ --cond_path 条件路径 \ --cond_inp_type sketch \ --prompt_src "森林中行走的熊" \ --prompt "森林中站立的熊" \ --sd_ckpt models/sd-v1-4.ckpt \ --resize_short_edge 512 \ --cond_tau 1.0 \ --cond_weight 1.0 \ --n_samples 1 \ --adapter_ckpt models/t2iadapter_sketch_sd14v1.pth

注意:你可以在这里下载草图示例。

对于真实图像,使用DDIM反演将图像转换为噪声图,因此我们在原始DDIM采样器中添加了反演过程。你应该用扩展版本MasaCtrl/masactrl_w_adapter/ddim.py替换原始文件T2I-Adapter/ldm/models/diffusion/ddim.py以启用反演功能。然后你可以使用以下命令编辑真实图像(使用草图适配器)

python masactrl_w_adapter.py \ --src_img_path 源图像路径 \ --cond_path 条件路径 \ --cond_inp_type image \ --prompt_src "" \ --prompt "一张穿黑色T恤竖起大拇指的男人的照片" \ --sd_ckpt models/sd-v1-4.ckpt \ --resize_short_edge 512 \ --cond_tau 1.0 \ --cond_weight 1.0 \ --n_samples 1 \ --which_cond sketch \ --adapter_ckpt models/t2iadapter_sketch_sd14v1.pth \ --outdir ./workdir/masactrl_w_adapter_inversion/black-shirt

注意:你可以在这里下载真实图像编辑示例。

致谢

我们感谢这些出色的研究工作Prompt-to-PromptT2I-Adapter

引用

@InProceedings{cao_2023_masactrl, author = {Cao, Mingdeng and Wang, Xintao and Qi, Zhongang and Shan, Ying and Qie, Xiaohu and Zheng, Yinqiang}, title = {MasaCtrl: Tuning-Free Mutual Self-Attention Control for Consistent Image Synthesis and Editing}, booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)}, month = {October}, year = {2023}, pages = {22560-22570} }

联系

如果你有任何意见或问题,请开启一个新的issue或随时联系曹明登王鑫涛

编辑推荐精选

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

下拉加载更多