🚀 上下文图像编辑(ICEdit)
在大规模扩散Transformer中,通过上下文生成实现基于指令的图像编辑,仅需现有最优方法0.5%的训练数据和1%的参数,即可达到先进水平。
团队信息
资源链接
项目概览

我们提出了上下文图像编辑(In-Context Edit)方法,这是一种新颖的图像编辑技术。仅使用现有最优方法0.5%的训练数据和1%的参数,就能实现基于指令的图像编辑,并达到先进水平。第一行展示了一系列高精度的多轮编辑结果,第二行和第三行则突出了该方法多样且视觉效果出色的单轮编辑结果。
📖 更多视觉效果请查看项目主页。
本仓库将包含 ICEdit 的官方实现代码。
⚠️ 重要提示
若遇到编辑失败的情况,请尝试更换随机种子!
- 我们的基础模型 FLUX 本身不支持广泛的风格,因此我们的大部分数据集都涉及风格迁移。这可能导致模型有时会莫名改变图像的艺术风格。
- 我们的训练数据集主要针对写实图像。对于非写实图像,如动漫或模糊图片,编辑的成功率会下降,并可能影响最终图像质量。
- 虽然添加对象、修改颜色属性、应用风格迁移和更改背景的成功率较高,但由于 OmniEdit 移除数据集质量较低,对象移除的成功率相对较低。
当前模型是论文实验中使用的模型,仅使用 4 块 A800 GPU 进行训练(总 batch_size
= 2 x 2 x 4 = 16)。未来,我们将增强数据集、扩大规模,并最终发布更强大的模型。
📋 待办事项
- [x] 推理代码
- [ ] 使用视觉语言模型(VLM)进行推理时缩放
- [x] 预训练权重
- [ ] 更多推理演示
- [x] Gradio 演示
- [ ] Comfy UI 演示
- [ ] 训练代码
🎆 最新消息
- [2025/4/30] 🔥 我们发布了 Huggingface 演示 🤗,快来试试!
- [2025/4/30] 🔥 我们在 Huggingface 上发布了推理代码和 预训练权重 🤗!
- [2025/4/30] 🔥 我们在 arXiv 上发布了 论文!
- [2025/4/29] 我们发布了 项目主页 和演示视频!代码将在下周发布~ 劳动节快乐!
📦 安装指南
创建Conda环境
conda create -n icedit python=3.10
conda activate icedit
pip install -r requirements.txt
pip install -U huggingface_hub
下载预训练权重
如果可以连接到 Huggingface,则无需下载权重。否则,需要将权重下载到本地:
在Bash中进行推理(不使用VLM推理时缩放)
现在你可以尝试进行图像编辑了!
我们的模型仅支持编辑宽度为 512 像素的图像(高度无限制)。如果传入的图像宽度不是 512 像素,模型将自动将其调整为 512 像素。
如果模型未能生成预期结果,请尝试更改 --seed
参数。使用 VLM 进行推理时缩放可以显著改善结果。
python scripts/inference.py --image assets/girl.png \
--instruction "Make her hair dark green and her clothes checked." \
--seed 42 \
编辑 512×768 图像需要 35 GB 的 GPU 内存。如果需要在 24 GB GPU 内存的系统上运行(如 NVIDIA RTX3090),可以添加 --enable-model-cpu-offload
参数:
python scripts/inference.py --image assets/girl.png \
--instruction "Make her hair dark green and her clothes checked." \
--enable-model-cpu-offload
如果你已将预训练权重下载到本地,请在推理时传递参数:
python scripts/inference.py --image assets/girl.png \
--instruction "Make her hair dark green and her clothes checked." \
--flux-path /path/to/flux.1-fill-dev \
--lora-path /path/to/ICEdit-MoE-LoRA
在Gradio演示中进行推理
我们提供了一个 Gradio 演示,让你可以更方便地进行图像编辑。可以运行以下命令启动演示:
python scripts/gradio_demo.py --port 7860
与推理脚本类似,如果你想在 24 GB GPU 内存的系统上运行演示,可以添加 --enable-model-cpu-offload
参数。如果你已将预训练权重下载到本地,请在推理时传递参数:
python scripts/gradio_demo.py --port 7860 \
--flux-path /path/to/flux.1-fill-dev (可选) \
--lora-path /path/to/ICEdit-MoE-LoRA (可选) \
--enable-model-cpu-offload (可选) \
然后在浏览器中打开链接即可进行图像编辑。
🎨 尽情享受编辑乐趣!
与商业模型的比较

与 Gemini 和 GPT-4o 等商业模型相比,我们的方法在人物身份保留和指令遵循方面与这些商业模型相当,甚至更优。我们的方法更加开源,成本更低,速度更快(处理一张图像约需 9 秒),且性能强大。
📄 许可证
本项目采用 Apache-2.0 许可证。
📖 Bibtex引用
如果本工作对你的研究有帮助,请考虑引用以下 BibTeX 条目:
@misc{zhang2025ICEdit,
title={In-Context Edit: Enabling Instructional Image Editing with In-Context Generation in Large Scale Diffusion Transformer},
author={Zechuan Zhang and Ji Xie and Yu Lu and Zongxin Yang and Yi Yang},
year={2025},
eprint={2504.20690},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2504.20690},
}