Project Icon

res-adapter

扩散模型的无缝分辨率适配器

ResAdapter是一款轻量级分辨率适配器,可集成至各类扩散模型中实现任意分辨率图像生成。无需额外训练和推理,ResAdapter通过少量参数(SD1.5为0.9M, SDXL为0.5M)支持广泛的分辨率范围。项目提供使用指南、预训练权重及与多种模型的集成示例,展示了其在文本生成图像和图像编辑等任务中的应用效果。

ResAdapter: 扩散模型的域一致性分辨率适配器

程家祥、谢盼*、夏鑫、李嘉实、吴杰、任宇熙、李慧霞、肖雪峰、郑敏、傅联(*通讯作者)

字节跳动自动机器学习部门

⭐ 如果ResAdapter对您的图像或项目有帮助,请给这个仓库点个星。谢谢!🤗

GitHub 组织星标数

Hugging Face Replicate ComfyUI 访问量

我们提出了ResAdapter,一个即插即用的分辨率适配器,可以使任何扩散模型生成自由分辨率的图像:无需额外训练,无需额外推理,无需风格迁移。

ResAdapter与dreamlike-diffusion-1.0的对比示例。

发布

快速上手

我们提供了一个独立的示例代码,帮助您快速使用ResAdapter与扩散模型。

ResAdapter与dreamshaper-xl-1.0的对比示例(640x384)。上:使用ResAdapter。下:不使用ResAdapter。

# pip install diffusers, transformers, accelerate, safetensors, huggingface_hub
import torch
from torchvision.utils import save_image
from safetensors.torch import load_file
from huggingface_hub import hf_hub_download
from diffusers import AutoPipelineForText2Image, DPMSolverMultistepScheduler

generator = torch.manual_seed(0)
prompt = "肌肉发达的胡子男子的肖像照片,穿着破旧的机甲装,轻微散景,复杂精致,钢铁质感,优雅,清晰聚焦,柔和光线,鲜艳色彩"
width, height = 640, 384

# 加载基准管道
model_name = "lykon-models/dreamshaper-xl-1-0"
pipe = AutoPipelineForText2Image.from_pretrained(model_name, torch_dtype=torch.float16, variant="fp16").to("cuda")
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config, use_karras_sigmas=True, algorithm_type="sde-dpmsolver++")

# 基准管道推理
image = pipe(prompt, width=width, height=height, num_inference_steps=25, num_images_per_prompt=4, output_type="pt").images
save_image(image, f"image_baseline.png", normalize=True, padding=0)

# 为基准加载ResAdapter
resadapter_model_name = "resadapter_v1_sdxl"
pipe.load_lora_weights(
    hf_hub_download(repo_id="jiaxiangc/res-adapter", subfolder=resadapter_model_name, filename="pytorch_lora_weights.safetensors"), 
    adapter_name="res_adapter",
    ) # 加载LoRA权重
pipe.set_adapters(["res_adapter"], adapter_weights=[1.0])
pipe.unet.load_state_dict(
    load_file(hf_hub_download(repo_id="jiaxiangc/res-adapter", subfolder=resadapter_model_name, filename="diffusion_pytorch_model.safetensors")),
    strict=False,
    ) # 加载归一化权重

# ResAdapter管道推理
image = pipe(prompt, width=width, height=height, num_inference_steps=25, num_images_per_prompt=4, output_type="pt").images
save_image(image, f"image_resadapter.png", normalize=True, padding=0)

下载

模型

我们已发布所有ResAdapter权重,您可以从Huggingface下载ResAdapter模型。以下是我们的ResAdapter模型卡:

模型参数量分辨率范围比例范围链接
resadapter_v2_sd1.50.9M128 <= x <= 10240.28 <= r <= 3.5下载
resadapter_v2_sdxl0.5M256 <= x <= 15360.28 <= r <= 3.5下载
resadapter_v1_sd1.50.9M128 <= x <= 10240.5 <= r <= 2下载
resadapter_v1_sd1.5_extrapolation0.9M512 <= x <= 10240.5 <= r <= 2下载
resadapter_v1_sd1.5_interpolation0.9M128 <= x <= 5120.5 <= r <= 2下载
resadapter_v1_sdxl0.5M256 <= x <= 15360.5 <= r <= 2下载
resadapter_v1_sdxl_extrapolation0.5M1024 <= x <= 15360.5 <= r <= 2下载
resadapter_v1_sdxl_interpolation0.5M256 <= x <= 10240.5 <= r <= 2下载

提示1:我们根据controlnet更新了resadapter的命名格式。

提示2:如果你想将resadapter与个性化扩散模型一起使用,你应该从CivitAI下载它们。

提示3:如果你想将resadapter与ip-adapter、controlnet和lcm-lora一起使用,你应该从Huggingface下载它们。

提示4:这里有一个安装指南,用于准备环境和下载模型。

推理

如果你想在我们的推理脚本中生成图像,你应该按照安装指南安装依赖库并下载相关模型。在填写示例配置后,你可以直接运行这个脚本。

python main.py --config /path/to/file

ResAdapter与个性化模型用于文本到图像生成

resadapter与dreamshaper-7的对比示例(960x1104)。上:使用resadapter。下:不使用resadapter。

ResAdapter与ControlNet用于图像到图像生成

resadapter与lllyasviel/sd-controlnet-canny的对比示例(840x1264)。上:使用resadapter,下:不使用resadapter。

ResAdapter与ControlNet-XL用于图像到图像生成

resadapter与diffusers/controlnet-canny-sdxl-1.0之间的对比示例(336x504)。上:使用resadapter,下:不使用resadapter。

ResAdapter与IP-Adapter结合实现人脸变化

resadapter与h94/IP-Adapter之间的对比示例(864x1024)。上:使用resadapter,下:不使用resadapter。

ResAdapter与LCM-LoRA结合实现加速

resadapter与dreamshaper-xl-1.0(使用lcm-sdxl-lora)之间的对比示例(512x512)。上:使用resadapter,下:不使用resadapter。

社区资源

Gradio

Hugging Face空间中关于res-adapter的文本到图像示例。更多信息请参考jiaxiangc/res-adapter

ComfyUI

这是一个关于ComfyUI-ResAdapter的文本到图像示例。更多关于lcm-lora、controlnet和ipadapter的示例可以在ComfyUI-ResAdapter中找到。

https://github.com/jiaxiangc/ComfyUI-ResAdapter/assets/162297627/82453931-23de-4f72-8a9c-1053c4c8d81a

WebUI

我正在学习如何制作WebUI扩展。

本地Gradio演示

运行以下脚本:

# pip install peft, gradio, httpx==0.23.3
python app.py

使用技巧

  1. 如果对插值图像不满意,尝试将ResAdapter的alpha值增加到1.0。
  2. 如果对外推图像不满意,尝试选择ResAdapter的alpha值在0.3到0.7之间。
  3. 如果发现图像风格冲突,尝试降低ResAdapter的alpha值。
  4. 如果发现ResAdapter与其他加速LoRA不兼容,尝试将ResAdapter的alpha值降低到0.5到0.7之间。

致谢

Star历史

Star历史图表

引用

如果您发现ResAdapter对您的研究和应用有用,请使用以下BibTeX引用我们:

@article{cheng2024resadapter,
  title={ResAdapter: Domain Consistent Resolution Adapter for Diffusion Models},
  author={Cheng, Jiaxiang and Xie, Pan and Xia, Xin and Li, Jiashi and Wu, Jie and Ren, Yuxi and Li, Huixia and Xiao, Xuefeng and Zheng, Min and Fu, Lean},
  booktitle={arXiv preprint arxiv:2403.02084},
  year={2024}
}

如有任何问题,请随时通过chengjiaxiang@bytedance.comxiepan.01@bytedance.com与我们联系。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号