平滑扩散
这个仓库是 平滑扩散 的官方 PyTorch 实现。
平滑扩散:在扩散模型中构建平滑潜空间
郭佳怡*, 徐星乾*, 蒲一帆, 倪赞林, 王超飞, Manushree Vasu, 宋世继, 黄高, 史泰博
平滑扩散是一种新型的扩散模型,既高性能又平滑。
我们的方法正式将潜空间平滑性引入像稳定扩散这样的扩散模型中。这种平滑性显著有助于:1) 改善图像插值中过渡的连续性,2) 减少图像反演中的近似误差,3) 在图像编辑中更好地保留未编辑的内容。
新闻
- [2024.03.25] 我们的演示已在 🤗 Hugging Face 空间上线!
- [2024.03.20] 代码、模型和演示已发布!
- [2024.02.27] 平滑扩散被 CVPR 2024 接收!
- [2023.12.08] 论文发布!
待办事项
- ☑️ 发布代码和模型权重
- ☑️ Gradio 演示
概述
平滑扩散 (c) 确保输入潜变量的变化与输出预测的变化之比是一个常数。我们提出训练时平滑扩散 (d) 来优化 (c) 中变化约束的"单步快照"。DM:扩散模型。更多细节请参考我们的论文。
代码
设置
conda create --name smooth-diffusion python=3.9
conda activate smooth-diffusion
pip install torch==2.0.0 torchvision==0.15.1 torchaudio==2.0.1
pip install -r requirements.txt
推理(Gradio 演示)
我们提供了由 Gradio 支持的 WebUI。使用以下命令启动 WebUI:
python app.py
训练
我们提供了数据下载和训练的脚本。不幸的是,由于安全审查,LAION 数据集目前不可用。[LAIOM.ai 官方说明]
# 下载 LAION aesthetics 6.5+
python download_regularization_images.py
# 训练平滑 LoRA
bash train.sh
可视化
图像插值
使用在 Stable Diffusion V1.5 之上训练的平滑 LoRA。
将上述平滑 LoRA 集成到其他社区模型中。
图像反演
图像编辑
引用
如果您觉得我们的工作有帮助,请为这个仓库点星 🌟并引用 📑我们的论文。感谢您的支持!
@InProceedings{guo2024smooth,
title={Smooth Diffusion: Crafting Smooth Latent Spaces in Diffusion Models},
author={Jiayi Guo and Xingqian Xu and Yifan Pu and Zanlin Ni and Chaofei Wang and Manushree Vasu and Shiji Song and Gao Huang and Humphrey Shi},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2024}
}
致谢
我们感谢 Diffusers(LoRA 微调)和 AlignSD(数据下载)。
联系方式
guo-jy20 at mails dot tsinghua dot edu dot cn