FastComposer: 无需微调的多主体图像生成与局部化注意力 [网站] [演示][replicate api]
摘要
扩散模型在文本到图像生成方面表现出色,尤其是在以主体为驱动的个性化图像生成方面。然而,现有方法由于需要针对特定主体进行微调,效率低下,计算密集且阻碍了高效部署。此外,现有方法在多主体生成时往往会混合各个主体的特征,因此在处理多主体生成时存在困难。我们提出了FastComposer,它能够在不进行微调的情况下实现高效、个性化的多主体文本到图像生成。FastComposer使用图像编码器提取的主体嵌入来增强扩散模型中的通用文本条件,仅通过前向传递就能根据主体图像和文本指令实现个性化图像生成。为了解决多主体生成中的身份混合问题,FastComposer在训练过程中提出了交叉注意力定位监督,强制参考主体的注意力集中在目标图像的正确区域。简单地对主体嵌入进行条件控制会导致主体过拟合。FastComposer提出了在去噪步骤中延迟主体条件控制,以在以主体为驱动的图像生成中同时保持身份和可编辑性。FastComposer可以生成具有不同风格、动作和背景的多个未见过的个体的图像。与基于微调的方法相比,它实现了300-2500倍的加速,并且对新主体不需要额外的存储空间。FastComposer为高效、个性化和高质量的多主体图像创作铺平了道路。
使用方法
环境配置
conda create -n fastcomposer python
conda activate fastcomposer
pip install torch torchvision torchaudio
pip install transformers==4.25.1 accelerate datasets evaluate diffusers==0.16.1 xformers triton scipy clip gradio facenet-pytorch
python setup.py install
下载预训练模型
mkdir -p model/fastcomposer ; cd model/fastcomposer
wget https://huggingface.co/mit-han-lab/fastcomposer/resolve/main/pytorch_model.bin
Gradio演示
我们在这里提供了一个演示。你也可以通过以下方式在本地运行演示:
python demo/run_gradio.py --finetuned_model_path model/fastcomposer/pytorch_model.bin --mixed_precision "fp16"
推理
bash scripts/run_inference.sh
评估
python evaluation/single_object/run.py --finetuned_model_path model/fastcomposer/pytorch_model.bin --mixed_precision "fp16" --dataset_name data/celeba_test_single/ --seed 42 --num_images_per_prompt 4 --object_resolution 224 --output_dir OUTPUT_DIR
python evaluation/single_object/single_object_evaluation.py --prediction_folder OUTPUT_DIR --reference_folder data/celeba_test_single/
训练
准备FFHQ训练数据:
cd data
wget https://huggingface.co/datasets/mit-han-lab/ffhq-fastcomposer/resolve/main/ffhq_fastcomposer.tgz
tar -xvzf ffhq_fastcomposer.tgz
运行训练:
bash scripts/run_training.sh
待办事项
- 发布推理代码
- 发布预训练模型
- 发布演示
- 发布训练代码和数据
- 发布评估代码和数据
引用
如果你发现FastComposer对你的研究有用或相关,请引用我们的论文:
@article{xiao2023fastcomposer,
title={FastComposer: Tuning-Free Multi-Subject Image Generation with Localized Attention},
author={Xiao, Guangxuan and Yin, Tianwei and Freeman, William T. and Durand, Frédo and Han, Song},
journal={arXiv},
year={2023}
}