前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >一款超高分辨率图像生成AI工具-DemoFusion

一款超高分辨率图像生成AI工具-DemoFusion

作者头像
山行AI
发布于 2023-12-13 08:39:00
发布于 2023-12-13 08:39:00
1.4K00
代码可运行
举报
文章被收录于专栏:山行AI山行AI
运行总次数:0
代码可运行

什么是DemoFusion?

DemoFusion为什么牛?

因为它具备以下三个醒目的特征:

•提升SDXL图像生成的分辨率至4倍、16倍或更高。

•改善图片清晰度和小细节(如纹理和边缘)。•生成更自然和逼真的图像。

使用生成性人工智能(GenAI)进行高分辨率图像生成具有巨大潜力,但由于训练所需的巨额资本投入,这一技术越来越集中于少数几家大型公司,并隐藏在付费墙后面。

本文旨在通过推进高分辨率生成的前沿,同时使其对广泛受众保持可访问性,以实现高分辨率GenAI的民主化。展示了现有的潜在扩散模型(LDMs)具有未被挖掘的高分辨率图像生成潜力。

新颖DemoFusion框架无缝扩展开源GenAI模型,采用渐进式放大、跳过残差和扩张采样机制,实现更高分辨率的图像生成。DemoFusion的渐进性质需要更多的通过,但中间结果可以作为“预览”,便于快速提示迭代。

新闻

•2023.12.10: ✨ 现在pipeline_demofusion_sdxl支持Image2Image功能!本地Gradio演示也可用。•2023.12.08: 🚀 Img2Img的HuggingFace演示现已可用!感谢Radamés的实现和支持!•2023.12.07: 🚀 添加了Colab演示。去看看吧!感谢camenduru的实现!•2023.12.06: ✨ 本地Gradio演示现已可用!更好的交互和展示!•2023.12.04: ✨ DemoFusion的低显存版本现已可用!感谢klimaleksus的实现!•2023.12.01: 🚀 集成到Replicate。查看在线演示:感谢Luis C.的实现!•2023.11.29: 💰 pipeline_demofusion_sdxl已发布。

使用方式

快速尝试集成的演示

•HuggingFace Space:在这里尝试Text2Image生成 和 Image2Image增强。•Colab:在这里尝试Text2Image生成 和 Image2Image增强。•Replicate:在这里尝试Text2Image生成 和 Image2Image增强。

开始使用我们的代码

Text2Image(将占用约17GB的显存)

•设置依赖项:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
conda create -n demofusion python=3.9

conda activate demofusion

pip install -r requirements.txt

•下载pipeline_demofusion_sdxl.py并按以下方式运行。使用案例可在demo.ipynb中找到。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pipeline_demofusion_sdxl import DemoFusionSDXLPipeline
model_ckpt = "stabilityai/stable-diffusion-xl-base-1.0" pipe = DemoFusionSDXLPipeline.from_pretrained(model_ckpt, torch_dtype=torch.float16) pipe = pipe.to("cuda")
prompt = "想象一下一位年长女性的肖像,她的脸是时间的画布,头巾的色调柔和,呈锈色和奶油色。她的眼睛,像褪色的牛仔布一样蓝。她的服饰,简单而有尊严。" negative_prompt = "模糊的,丑陋的,重复的,画得不好,畸形的,马赛克的"
images = pipe(prompt, negative_prompt=negative_prompt, height=3072, width=3072,
          view_batch_size=16, stride=64,
          num_inference_steps=50, guidance_scale=7.5,
          cosine_scale_1=3, cosine_scale_2=1, cosine_scale_3=1, sigma=0.8,
          multi_decoder=True, show_image=True
         )
for i, image in enumerate(images): image.save('image_' + str(i) + '.png')

•⚠️ 当您有足够的显存时(例如,在拥有超过18GB RAM的硬件上生成2048*2048图像),可以设置multi_decoder=False,这可以使解码过程更快。•请随意尝试不同的提示和分辨率。•默认的超参数是推荐的,但它们可能不适用于所有情况。具体每个超参数的影响,请参考DemoFusion论文的附录C。•发布前代码已进行清理。如果遇到任何问题,请联系我们。•Text2Image在Windows上使用8GB显存*•设置环境:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cmd git clone "https://github.com/PRIS-CV/DemoFusion" 

cd DemoFusion 

python -m venv venv venv\Scripts\activate 

pip install -U "xformers==0.0.22.post7+cu118" --index-url https://download.pytorch.org/whl/cu118

pip install "diffusers==0.21.4" "matplotlib==3.8.2" "transformers==4.35.2" "accelerate==0.25.0"

•启动DemoFusion:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from pipeline_demofusion_sdxl import DemoFusionSDXLPipeline

import torch
from diffusers.models import AutoencoderKL
vae = AutoencoderKL.from_pretrained("madebyollin/sdxl-vae-fp16-fix", torch_dtype=torch.float16)

model_ckpt = "stabilityai/stable-diffusion-xl-base-1.0"
pipe = DemoFusionSDXLPipeline.from_pretrained(model_ckpt, torch_dtype=torch.float16, vae=vae)
pipe = pipe.to("cuda")

prompt = "想象一下一位年长女性的肖像,她的脸是时间的画布,头巾的色调柔和,呈锈色和奶油色。她的眼睛,像褪色的牛仔布一样蓝。她的服饰,简单而有尊严。"
negative_prompt = "模糊的,丑陋的,重复的,画得不好,畸形的,马赛克的"

images = pipe(prompt, negative_prompt=negative_prompt,
              height=2048, width=2048, view_batch_size=4, stride=64,
              num_inference_steps=40, guidance_scale=7.5,
              cosine_scale_1=3, cosine_scale_2=1, cosine_scale_3=1, sigma=0.8,
              multi_decoder=True, show_image=False, lowvram=True
             )

for i, image in enumerate(images):
    image.save('image_' + str(i) + '.png')

Text2Image使用本地Gradio演示

•确保您已安装gradio和gradio_imageslider。•现在尝试通过python gradio_demo.py启动DemoFusion Gradio演示 -- 更好的交互和展示!

Image2Image使用本地Gradio演示

•确保您已安装gradio和gradio_imageslider。•通过python gradio_demo_img2img.py启动DemoFusion Image2Image。

•⚠️ 请注意,作为一个无需调整的框架,DemoFusion的Image2Image能力与SDXL的训练数据分布密切相关,并将显示显著偏差。准确描述输入内容和风格的提示也会显著提高性能。玩得开心,把它当作基于文本+图像生成的一个附加应用。

引用

更多信息请参考:https://github.com/PRIS-CV/DemoFusion

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-12-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 山行AI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是DemoFusion?
  • 新闻
  • 使用方式
    • 快速尝试集成的演示
    • 开始使用我们的代码
  • 引用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档