img2img-turbo 项目介绍
项目概述
img2img-turbo 是一个旨在通过对抗学习改进单步扩散模型的通用方法。这个项目基于现有的预训练扩散模型,如 SD-Turbo,帮助我们在不同任务和领域中高效地进行推理。在现代图形处理器(如 A6000、A100)上,它可以快速对 512x512 像素的图像进行推断,分别耗时仅为 0.29 秒和 0.11 秒。
为了实现多样化的图像到图像翻译任务,该项目推出了两个强大的工具:CycleGAN-Turbo 和 pix2pix-turbo。这两个模型可以在无对和有对的情况下出色地执行多种图像转换任务。CycleGAN-Turbo 比现有的 GAN 和扩散模型更具优势,而 pix2pix-turbo 则在 Sketch2Photo 和 Edge2Image 等任务上与新近的方法如 ControlNet 相当,但只需一步推断。
项目亮点
- 快速推断:单步推断使得图像生成速度极快。
- 广泛应用:适用于从线条草图转换为完整图像,亦可进行昼夜、晴雨等无配对图像间的转换。
- 多样输出:通过调整输入噪声和文本提示,可以生成风格多样的输出。
- 灵活训练:支持通过自有数据训练,提供对应的模型训练方法和文档。
图像翻译中的应用
- 成对翻译 (pix2pix-turbo):可以从边缘图生成相应风格的图像。
- 成对翻译的多样化输出:通过改变输入噪声图,可以从同一输入条件生成多样化的图像。
- 无对翻译 (CycleGAN-Turbo):
- 昼转夜:日间图像转换成夜间效果。
- 夜转昼:夜间图像转换为日间效果。
- 晴转雨:晴天的图像可以转换为雨天效果。
- 雨转晴:雨天图像转换为晴天效果。
技术方法
img2img-turbo 项目的生成器架构紧密整合了三个独立模块,构成一个端到端的网络,这使得架构具备轻量级的可训练权重。这种方法能够保留输入场景结构的同时,将输入图像转化为输出图像。项目使用了 LoRA 适配器、引入跳跃连接和零卷积,从而提升翻译质量。
快速入门
用户可以通过使用项目提供的 conda 环境文件快速设置环境,并通过简单的终端指令运行本地推断任务。同时,项目也支持通过 Gradio 进行图像翻译任务的演示。
自定义数据训练
img2img-turbo 项目为用户提供了在成对和无配对数据上训练模型的方法,详细步骤可以通过相关的项目文档获取。
致谢
我们的工作基于 Stable Diffusion-Turbo 作为基础模型,项目也使用了相应的许可协议。