模型:

stabilityai/sd-x2-latent-upscaler

英文

Stable Diffusion x2 潜在上采样模型卡

该模型卡关注由 Katherine Crowson Stability AI 合作开发的基于潜在扩散的上采样器。该模型是在LAION-2B数据集的高分辨率子集上进行训练的。它是一个潜在空间中的扩散模型,可以解码为完整分辨率的图像。您可以在使用 Stable Diffusion 时将生成的潜在向量传递给上采样器,然后在标准的VAE解码之前进行上采样。或者您可以将任何图像编码为潜在空间,使用上采样器进行上采样,然后解码它。

注意:该上采样模型专门为 Stable Diffusion 设计,可对 Stable Diffusion 的潜在去噪图像嵌入进行上采样。这样可以实现非常快速的文本到图像+上采样的流水线,因为所有中间状态都可以保留在GPU上。有关详细信息,请参见下面的示例。该模型适用于所有 Stable Diffusion checkpoints

1235321
Image by Tanishq Abraham from 1236321 originating from 1237321
1238321 1239321
Original output image 2x upscaled output image

模型细节

示例

使用 🤗's Diffusers library 在任何 StableDiffusionUpscalePipeline 检查点上运行潜在上采样器,将输出图像分辨率提高2倍。

pip install git+https://github.com/huggingface/diffusers.git
pip install transformers accelerate scipy safetensors
from diffusers import StableDiffusionLatentUpscalePipeline, StableDiffusionPipeline
import torch

pipeline = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", torch_dtype=torch.float16)
pipeline.to("cuda")

upscaler = StableDiffusionLatentUpscalePipeline.from_pretrained("stabilityai/sd-x2-latent-upscaler", torch_dtype=torch.float16)
upscaler.to("cuda")

prompt = "a photo of an astronaut high resolution, unreal engine, ultra realistic"
generator = torch.manual_seed(33)

# we stay in latent space! Let's make sure that Stable Diffusion returns the image
# in latent space
low_res_latents = pipeline(prompt, generator=generator, output_type="latent").images

upscaled_image = upscaler(
    prompt=prompt,
    image=low_res_latents,
    num_inference_steps=20,
    guidance_scale=0,
    generator=generator,
).images[0]

# Let's save the upscaled image under "upscaled_astronaut.png"
upscaled_image.save("astronaut_1024.png")

# as a comparison: Let's also save the low-res image
with torch.no_grad():
    image = pipeline.decode_latents(low_res_latents)
image = pipeline.numpy_to_pil(image)[0]

image.save("astronaut_512.png")

结果:

512像素 Astronaut

1024像素 Astronaut

注意事项:

  • 尽管不是必需的依赖项,但我们强烈建议您安装 xformers 以实现内存高效的注意力(更好的性能)
  • 如果您的GPU内存较低,请确保在发送到cuda之后添加 pipe.enable_attention_slicing() 以减少VRAM的使用(牺牲速度)

用途

直接使用

该模型仅供研究目的。可能的研究领域和任务包括

  • 安全部署可能生成有害内容的模型
  • 探索和了解生成模型的局限性和偏见
  • 生成艺术作品并在设计和其他艺术过程中使用
  • 在教育或创意工具中应用
  • 生成模型的研究

下面描述了不包括在内的用途。

误用、恶意使用和超出范围的使用

注意:本节原始内容来自 DALLE-MINI model card ,用于 Stable Diffusion v1,但同样适用于 Stable Diffusion v2 。

该模型不应用于故意创建或传播可能为人们带来敌对或使人感到疏远的图像。包括生成人们预计会感到恶心、痛苦或冒犯的图像;或传播历史或现实中的刻板印象的内容。

超出范围的使用

该模型未经过训练,无法为人或事件提供事实或真实的表示,因此使用该模型生成此类内容超出了此模型的能力范围。

误用和恶意使用

使用该模型生成对个人具有残忍性的内容是对该模型的误用。包括但不限于:

  • 生成贬低、贬损或以其他方式伤害人们或其环境、文化、宗教等的表现
  • 故意推广或传播歧视性内容或有害的刻板印象
  • 未经个人同意冒充个人
  • 未经可能看到的人同意的性内容
  • 误导和失实信息
  • 极端暴力和血腥内容的呈现
  • 以违反其使用条款的方式共享受版权保护或受许可的材料
  • 以违反其使用条款的方式分享改编版权或受许可的材料

限制和偏见

限制

  • 该模型无法达到完美的照片级真实感
  • 该模型无法渲染可读的文字
  • 该模型在涉及组合性的更复杂任务上表现不佳,例如渲染与“蓝色球体上的红色立方体”相对应的图像
  • 人脸和人物可能无法正确生成
  • 该模型主要使用英文标题进行训练,其他语言的效果可能不佳
  • 该模型的自编码部分具有损失性
  • 该模型主要在包含成人、暴力和性内容的大规模数据集 LAION-5B 的子集上进行训练。为了部分缓解这个问题,我们使用了LAION的NFSW检测器对数据集进行了过滤(请参阅训练部分)

偏见

虽然图像生成模型的功能令人印象深刻,但它们也可能强化或加剧社会偏见。Stable Diffusion vw主要在 LAION-2B(en) 的子集上进行训练,该子集只包含英文描述的图像。其他使用其他语言的社区和文化的文本和图像可能无法充分考虑。这会影响模型的整体输出,因为白人和西方文化通常被设定为默认值。此外,与英语提示相比,该模型在生成非英语提示的内容时的能力明显较差。Stable Diffusion v2过度反映和加剧偏见,以至于无论输入或意图如何,都应该谨慎使用。