DiffMorpher:释放扩散模型的图像变形能力
CVPR 2024
在线演示
环境要求
要安装所需的依赖,请首先在您的环境中运行以下命令:
pip install -r requirements.txt
为了正确使用CUDA运行代码,您可以在requirement.txt
中注释掉torch
和torchvision
,然后根据PyTorch的说明安装适合的torch
和torchvision
版本。
您还可以从Huggingface下载预训练模型Stable Diffusion v2.1-base,并将model_path
指定到您的本地目录。
运行Gradio界面
要启动DiffMorpher的Gradio界面,请在您的环境中运行以下命令:
python app.py
然后,默认情况下,您可以在http://127.0.0.1:7860访问界面。
运行代码
您也可以使用以下命令运行代码:
python main.py \
--image_path_0 [图像路径0] --image_path_1 [图像路径1] \
--prompt_0 [提示词0] --prompt_1 [提示词1] \
--output_path [输出路径] \
--use_adain --use_reschedule --save_inter
该脚本还支持以下选项:
--image_path_0
:第一张图像的路径(默认:"")--prompt_0
:第一张图像的提示词(默认:"")--image_path_1
:第二张图像的路径(默认:"")--prompt_1
:第二张图像的提示词(默认:"")--model_path
:预训练模型路径(默认:"stabilityai/stable-diffusion-2-1-base")--output_path
:输出图像的路径(默认:"")--save_lora_dir
:输出lora目录的路径(默认:"./lora")--load_lora_path_0
:第一张图像的lora目录路径(默认:"")--load_lora_path_1
:第二张图像的lora目录路径(默认:"")--use_adain
:使用AdaIN(默认:False)--use_reschedule
:使用重新调度采样(默认:False)--lamb
:自注意力替换的超参数$\lambda \in [0,1]$,其中更大的$\lambda$表示更多的替换(默认:0.6)--fix_lora_value
:固定lora值(默认:LoRA插值,非固定)--save_inter
:保存中间结果(默认:False)--num_frames
:生成的帧数(默认:50)--duration
:每帧的持续时间(默认:50)
示例:
python main.py \
--image_path_0 ./assets/Trump.jpg --image_path_1 ./assets/Biden.jpg \
--prompt_0 "一张美国男性的照片" --prompt_1 "一张美国男性的照片" \
--output_path "./results/Trump_Biden" \
--use_adain --use_reschedule --save_inter
python main.py \
--image_path_0 ./assets/vangogh.jpg --image_path_1 ./assets/pearlgirl.jpg \
--prompt_0 "一幅男性的油画" --prompt_1 "一幅女性的油画" \
--output_path "./results/vangogh_pearlgirl" \
--use_adain --use_reschedule --save_inter
python main.py \
--image_path_0 ./assets/lion.png --image_path_1 ./assets/tiger.png \
--prompt_0 "一张狮子的照片" --prompt_1 "一张老虎的照片" \
--output_path "./results/lion_tiger" \
--use_adain --use_reschedule --save_inter
MorphBench
为了评估我们方法的有效性,我们提出了MorphBench,这是第一个用于评估通用物体图像变形的基准数据集。您可以从Google Drive或百度网盘下载该数据集。
许可证
与DiffMorpher算法相关的代码使用LICENSE许可。
然而,本项目主要基于开源库diffusers构建,该库使用单独的许可条款Apache License 2.0。(同时也向社区表示感谢!)
引用
@article{zhang2023diffmorpher,
title={DiffMorpher: Unleashing the Capability of Diffusion Models for Image Morphing},
author={Zhang, Kaiwen and Zhou, Yifan and Xu, Xudong and Pan, Xingang and Dai, Bo},
journal={arXiv preprint arXiv:2312.07409},
year={2023}
}