TF-ICON:基于扩散的无训练跨域图像合成 (ICCV 2023)
TF-ICON:基于扩散的无训练跨域图像合成 (ICCV 2023)
[] []
TF-ICON的官方实现。
TF-ICON:基于扩散的无训练跨域图像合成
Shilin Lu、Yanzhu Liu 和 Adams Wai-Kin Kong
ICCV 2023
摘要:
文本驱动的扩散模型表现出令人印象深刻的生成能力,可实现各种图像编辑任务。在本文中,我们提出了 TF-ICON,这是一种新颖的无需训练的图像合成框架,它利用文本驱动的扩散模型的强大功能进行跨域图像引导合成。此任务旨在将用户提供的对象无缝集成到特定的视觉环境中。当前基于扩散的方法通常涉及昂贵的基于实例的优化或在定制数据集上对预训练模型进行微调,这可能会破坏其丰富的先验知识。相比之下,TF-ICON 可以利用现成的扩散模型执行跨域图像引导合成,而无需额外的训练、微调或优化。此外,我们引入了不包含任何信息的特殊提示,以促进文本驱动的扩散模型准确地将真实图像转换为潜在表示,从而形成合成的基础。我们的实验表明,配备出色提示的稳定扩散在各种数据集(CelebA-HQ、COCO 和 ImageNet)上的表现优于最先进的反演方法,并且 TF-ICON 在多种视觉领域中超越了先前的基线。
内容
设置
构建 ,具有共享依赖项和模型架构。建议使用 23 GB 的 VRAM,但这可能会因输入样本而异(最低 20 GB)。
创建 Conda 环境
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>git clone https://github.com/Shilin-LU/TF-ICON.git
cd TF-ICON
conda env create -f tf_icon_env.yaml
conda activate tf-icon
</code></span></span></span></span>
下载稳定扩散权重
下载 StableDiffusion 权重 (下载sd-v2-1_512-ema-pruned.ckpt
文件),并将其放在./ckpt
文件夹下。
运行 TF-ICON
数据准备
目录下有多个输入样本./inputs
。每个样本涉及一个背景 (bg)、一个前景 (fg)、一个前景的分割掩码 (fg_mask) 和一个表示所需合成位置的用户掩码 (mask_bg_fg)。输入数据结构如下:
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>inputs
├── cross_domain
│ ├── prompt1
│ │ ├── bgxx.png
│ │ ├── fgxx.png
│ │ ├── fgxx_mask.png
│ │ ├── mask_bg_fg.png
│ ├── prompt2
│ ├── ...
├── same_domain
│ ├── prompt1
│ │ ├── bgxx.png
│ │ ├── fgxx.png
│ │ ├── fgxx_mask.png
│ │ ├── mask_bg_fg.png
│ ├── prompt2
│ ├── ...
</code></span></span></span></span>
中提供了更多示例,也可以自定义。注意输入前景的分辨率不要太小。
- 跨域:背景和前景图像源自不同的视觉域。
- 同一域:背景和前景图像都属于同一照片级真实感域。
图像合成
要在“cross_domain”模式下执行 TF-ICON,请运行以下命令:
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>python scripts/main_tf_icon.py --ckpt <path/to/model.ckpt/> \
--root ./inputs/cross_domain \
--domain 'cross' \
--dpm_steps 20 \
--dpm_order 2 \
--scale 5 \
--tau_a 0.4 \
--tau_b 0.8 \
--outdir ./outputs \
--gpu cuda:0 \
--seed 3407
</code></span></span></span></span>
对于“same_domain”模式,运行以下命令:
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>python scripts/main_tf_icon.py --ckpt <path/to/model.ckpt/> \
--root ./inputs/same_domain \
--domain 'same' \
--dpm_steps 20 \
--dpm_order 2 \
--scale 2.5 \
--tau_a 0.4 \
--tau_b 0.8 \
--outdir ./outputs \
--gpu cuda:0 \
--seed 3407
</code></span></span></span></span>
ckpt
:通往稳定扩散检查站的路径。root
:输入数据的路径。domain
:如果前景和背景来自不同的视觉域,则设置“交叉”,否则设置“相同”。dpm_steps
:扩散采样步骤。dpm_solver
:概率流 ODE 求解器的阶。scale
:无分类器指导(CFG)量表。tau_a
:注入复合自注意力图的阈值。tau_b
:保留背景的阈值。
TF-ICON 测试基准
完整的 TF-ICON 测试基准可在中找到。如果您发现该基准对您的研究有用,请考虑引用。
其他结果
素描画
油画
照相写实主义
卡通片
致谢
我们的工作是站在巨人的肩膀上。我们感谢以下贡献者,我们的代码基于这些贡献者:和。
引用
如果你发现该 repo 有用,请考虑引用:
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>@inproceedings{lu2023tf,
title={TF-ICON: Diffusion-Based Training-Free Cross-Domain Image Composition},
author={Lu, Shilin and Liu, Yanzhu and Kong, Adams Wai-Kin},
booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision},
pages={2294--2305},
year={2023}
}</code></span></span></span></span>