模型概述
模型特點
模型能力
使用案例
🚀 Stable Diffusion x4 圖像超分辨率模型卡片
本模型卡片聚焦於與 Stable Diffusion 圖像超分辨率器相關的模型,可在 此處 獲取。該模型能夠基於文本提示生成和修改圖像,為圖像生成和處理提供了強大的工具。
🚀 快速開始
使用方式
- 結合
stablediffusion
倉庫使用:可從 這裡 下載x4-upscaler-ema.ckpt
。 - 結合 🧨
diffusers
使用。
示例代碼
import requests
from PIL import Image
from io import BytesIO
from diffusers import StableDiffusionUpscalePipeline
import torch
# 加載模型和調度器
model_id = "stabilityai/stable-diffusion-x4-upscaler"
pipeline = StableDiffusionUpscalePipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipeline = pipeline.to("cuda")
# 下載一張圖像
url = "https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/sd2-upscale/low_res_cat.png"
response = requests.get(url)
low_res_img = Image.open(BytesIO(response.content)).convert("RGB")
low_res_img = low_res_img.resize((128, 128))
prompt = "a white cat"
upscaled_image = pipeline(prompt=prompt, image=low_res_img).images[0]
upscaled_image.save("upsampled_cat.png")
注意事項
- 儘管
xformers
並非必需依賴項,但我們強烈建議安裝 xformers 以實現內存高效的注意力機制(提升性能)。 - 若你的 GPU 顯存有限,在將模型發送到
cuda
後,務必添加pipe.enable_attention_slicing()
以減少顯存使用(但會犧牲一定速度)。
✨ 主要特性
- 該模型在包含
>2048x2048
圖像的 1000 萬 LAION 子集中進行了 125 萬步的訓練。 - 模型在
512x512
大小的裁剪圖像上進行訓練,是一種文本引導的 潛在超分辨率擴散模型。 - 除文本輸入外,模型還接收
noise_level
作為輸入參數,可根據 預定義的擴散時間表 向低分辨率輸入添加噪聲。
📦 安裝指南
使用以下命令安裝所需依賴:
pip install diffusers transformers accelerate scipy safetensors
📚 詳細文檔
模型詳情
屬性 | 詳情 |
---|---|
開發者 | Robin Rombach, Patrick Esser |
模型類型 | 基於擴散的文本到圖像生成模型 |
支持語言 | 英語 |
許可證 | CreativeML Open RAIL++-M 許可證 |
模型描述 | 這是一個可用於基於文本提示生成和修改圖像的模型。它是一個 潛在擴散模型,使用固定的預訓練文本編碼器 (OpenCLIP-ViT/H)。 |
更多信息資源 | GitHub 倉庫 |
用途
直接使用
該模型僅用於研究目的,可能的研究領域和任務包括:
- 安全部署有可能生成有害內容的模型。
- 探索和理解生成模型的侷限性和偏差。
- 生成藝術作品並應用於設計和其他藝術過程。
- 在教育或創意工具中的應用。
- 生成模型的研究。
禁止使用情況
模型不應被用於故意創建或傳播會給人們造成敵對或疏離環境的圖像。這包括生成人們可預見會感到不安、痛苦或冒犯的圖像;或傳播歷史或當前刻板印象的內容。
- 超出範圍的使用:該模型並非用於生成事實或真實的人物或事件表徵,因此使用該模型生成此類內容超出了其能力範圍。
- 濫用和惡意使用:使用該模型生成對個人殘酷的內容屬於濫用行為,包括但不限於:
- 生成貶低、非人化或以其他方式傷害人們或其環境、文化、宗教等的表徵。
- 故意推廣或傳播歧視性內容或有害刻板印象。
- 在未經他人同意的情況下冒充他人。
- 未經可能看到的人同意的色情內容。
- 錯誤信息和虛假信息。
- 嚴重暴力和血腥場面的表徵。
- 違反使用條款分享受版權保護或許可的材料。
- 違反使用條款分享對受版權保護或許可材料的修改內容。
侷限性和偏差
侷限性
- 模型無法實現完美的照片級真實感。
- 模型無法渲染清晰可讀的文本。
- 模型在涉及組合性的更復雜任務上表現不佳,例如渲染對應於 “一個紅色立方體放在藍色球體上” 的圖像。
- 面部和人物總體上可能無法正確生成。
- 模型主要使用英語字幕進行訓練,在其他語言中的效果不佳。
- 模型的自動編碼部分存在信息損失。
- 模型在大規模數據集 LAION-5B 的子集上進行訓練,該數據集包含成人、暴力和色情內容。為部分緩解此問題,使用 LAION 的 NSFW 檢測器對數據集進行了過濾。
偏差
雖然圖像生成模型的能力令人印象深刻,但它們也可能強化或加劇社會偏差。Stable Diffusion v2 主要在 LAION-2B(en) 的子集上進行訓練,該子集由僅限於英語描述的圖像組成。使用其他語言的社區和文化的文本和圖像可能未得到充分考慮。這影響了模型的整體輸出,因為白人和西方文化通常被設定為默認值。此外,模型使用非英語提示生成內容的能力明顯低於使用英語提示的情況。Stable Diffusion v2 在很大程度上反映和加劇了偏差,因此無論輸入或意圖如何,都建議觀眾謹慎使用。
訓練
訓練數據
模型開發者使用以下數據集進行模型訓練:
- LAION-5B 及其子集(詳情如下)。訓練數據進一步使用 LAION 的 NSFW 檢測器進行過濾,“p_unsafe” 分數為 0.1(保守)。更多詳情,請參考 LAION-5B 的 NeurIPS 2022 論文和關於該主題的評審討論。
訓練過程
Stable Diffusion v2 是一個潛在擴散模型,它將自動編碼器與在自動編碼器潛在空間中訓練的擴散模型相結合。在訓練過程中:
- 圖像通過編碼器進行編碼,將圖像轉換為潛在表徵。自動編碼器使用相對下采樣因子 8,將形狀為 H x W x 3 的圖像映射到形狀為 H/f x W/f x 4 的潛在表徵。
- 文本提示通過 OpenCLIP-ViT/H 文本編碼器進行編碼。
- 文本編碼器的輸出通過交叉注意力機制輸入到潛在擴散模型的 UNet 主幹中。
- 損失是添加到潛在表徵的噪聲與 UNet 預測之間的重建目標。還使用了所謂的 v-objective,詳見 https://arxiv.org/abs/2202.00512。
目前提供以下檢查點:
512-base-ema.ckpt
:在過濾了明確色情材料的 LAION-5B 子集上,以256x256
分辨率訓練 550k 步,使用 LAION-NSFW 分類器,punsafe=0.1
且 美學分數 >=4.5
。在相同數據集上以512x512
分辨率(分辨率>= 512x512
)訓練 850k 步。768-v-ema.ckpt
:從512-base-ema.ckpt
恢復訓練,在相同數據集上使用 v-objective 訓練 150k 步。在數據集的768x768
子集上繼續訓練 140k 步。512-depth-ema.ckpt
:從512-base-ema.ckpt
恢復訓練並微調 200k 步。添加一個額外的輸入通道來處理 MiDaS (dpt_hybrid
) 產生的(相對)深度預測,作為額外的條件。處理此額外信息的 U-Net 額外輸入通道初始化為零。512-inpainting-ema.ckpt
:從512-base-ema.ckpt
恢復訓練並訓練 200k 步。遵循 LAMA 中提出的掩碼生成策略,結合掩碼圖像的潛在 VAE 表徵作為額外的條件。處理此額外信息的 U-Net 額外輸入通道初始化為零。使用相同策略訓練 1.5-inpainting 檢查點。x4-upscaling-ema.ckpt
:在包含>2048x2048
圖像的 1000 萬 LAION 子集中訓練 125 萬步。模型在512x512
大小的裁剪圖像上進行訓練,是一種文本引導的 潛在超分辨率擴散模型。除文本輸入外,模型還接收noise_level
作為輸入參數,可根據 預定義的擴散時間表 向低分辨率輸入添加噪聲。
訓練參數
- 硬件:32 x 8 x A100 GPUs
- 優化器:AdamW
- 梯度累積:1
- 批次大小:32 x 8 x 2 x 4 = 2048
- 學習率:在 10000 步內預熱到 0.0001,然後保持不變。
評估結果
使用不同的無分類器引導尺度(1.5、2.0、3.0、4.0、5.0、6.0、7.0、8.0)和 50 步 DDIM 採樣步驟進行評估,顯示了檢查點的相對改進:
使用 50 步 DDIM 採樣和來自 COCO2017 驗證集的 10000 個隨機提示進行評估,評估分辨率為 512x512。未針對 FID 分數進行優化。
環境影響
估計排放量
基於相關信息,使用 Lacoste 等人 (2019) 中提出的 機器學習影響計算器 估計以下 CO2 排放量。利用硬件、運行時間、雲服務提供商和計算區域來估計碳影響。
- 硬件類型:A100 PCIe 40GB
- 使用時長:200000 小時
- 雲服務提供商:AWS
- 計算區域:美國東部
- 碳排放(功耗 x 時間 x 基於電網位置的碳排放量):15000 kg CO2 當量。
🔧 技術細節
該模型是文本引導的 潛在超分辨率擴散模型,在訓練過程中結合了自動編碼器和擴散模型。圖像通過編碼器轉換為潛在表徵,文本提示通過 OpenCLIP-ViT/H 文本編碼器進行編碼,兩者通過交叉注意力機制輸入到 UNet 主幹中。訓練損失基於重建目標,並使用了 v-objective。
📄 許可證
該模型遵循 CreativeML Open RAIL++-M 許可證。
引用
@InProceedings{Rombach_2022_CVPR,
author = {Rombach, Robin and Blattmann, Andreas and Lorenz, Dominik and Esser, Patrick and Ommer, Bj\"orn},
title = {High-Resolution Image Synthesis With Latent Diffusion Models},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2022},
pages = {10684-10695}
}
本模型卡片由 Robin Rombach、Patrick Esser 和 David Ha 編寫,基於 Stable Diffusion v1 和 DALL-E Mini 模型卡片。






