🚀 Controlnet - v1.1 - Tile版本
Controlnet v1.1是一種強大的神經網絡結構,可通過添加額外條件來控制擴散模型。本項目提供了該模型的特定版本(Tile版本),可與Stable Diffusion結合使用,為圖像生成帶來更多可能性。
🚀 快速開始
Controlnet v1.1 由 Lvmin Zhang 在 lllyasviel/ControlNet-v1-1 中發佈。
此檢查點是將 原始檢查點 轉換為 diffusers
格式後的版本。它可以與 Stable Diffusion 結合使用,例如 runwayml/stable-diffusion-v1-5。
更多詳細信息,請查看 🧨 Diffusers文檔。
ControlNet是一種神經網絡結構,通過添加額外條件來控制擴散模型。

此檢查點對應於基於 平鋪圖像 進行條件控制的ControlNet。從概念上講,它類似於超分辨率模型,但用途不僅限於此,也可以生成與輸入(條件)圖像相同大小的細節。
本模型由 takuma104 貢獻
✨ 主要特性
- 可與Stable Diffusion結合使用,增強圖像生成能力。
- 基於平鋪圖像進行條件控制,適用於多種圖像生成場景。
- 訓練速度快,可在個人設備上進行訓練。
📦 安裝指南
安裝依賴包
$ pip install diffusers transformers accelerate
💻 使用示例
基礎用法
import torch
from PIL import Image
from diffusers import ControlNetModel, DiffusionPipeline
from diffusers.utils import load_image
def resize_for_condition_image(input_image: Image, resolution: int):
input_image = input_image.convert("RGB")
W, H = input_image.size
k = float(resolution) / min(H, W)
H *= k
W *= k
H = int(round(H / 64.0)) * 64
W = int(round(W / 64.0)) * 64
img = input_image.resize((W, H), resample=Image.LANCZOS)
return img
controlnet = ControlNetModel.from_pretrained('lllyasviel/control_v11f1e_sd15_tile',
torch_dtype=torch.float16)
pipe = DiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5",
custom_pipeline="stable_diffusion_controlnet_img2img",
controlnet=controlnet,
torch_dtype=torch.float16).to('cuda')
pipe.enable_xformers_memory_efficient_attention()
source_image = load_image('https://huggingface.co/lllyasviel/control_v11f1e_sd15_tile/resolve/main/images/original.png')
condition_image = resize_for_condition_image(source_image, 1024)
image = pipe(prompt="best quality",
negative_prompt="blur, lowres, bad anatomy, bad hands, cropped, worst quality",
image=condition_image,
controlnet_conditioning_image=condition_image,
width=condition_image.size[0],
height=condition_image.size[1],
strength=1.0,
generator=torch.manual_seed(0),
num_inference_steps=32,
).images[0]
image.save('output.png')

高級用法
暫無高級用法示例,你可以根據基礎用法進行擴展和調整。
📚 詳細文檔
模型詳情
模型介紹
Controlnet由Lvmin Zhang和Maneesh Agrawala在 Adding Conditional Control to Text-to-Image Diffusion Models 中提出。
論文摘要如下:
我們提出了一種神經網絡結構ControlNet,用於控制預訓練的大型擴散模型以支持額外的輸入條件。ControlNet以端到端的方式學習特定任務的條件,即使訓練數據集較小(< 50k),學習過程也很穩健。此外,訓練ControlNet的速度與微調擴散模型的速度一樣快,並且可以在個人設備上進行訓練。或者,如果有強大的計算集群可用,模型可以擴展到處理大量(數百萬到數十億)的數據。我們報告稱,像Stable Diffusion這樣的大型擴散模型可以通過ControlNet進行增強,以支持邊緣圖、分割圖、關鍵點等條件輸入。這可能會豐富控制大型擴散模型的方法,並進一步促進相關應用的發展。
其他已發佈的檢查點 v1-1
作者發佈了14種不同的檢查點,每種都在 Stable Diffusion v1-5 上針對不同類型的條件進行了訓練:
更多信息
更多信息,請查看 Diffusers ControlNet博客文章 和 官方文檔。
📄 許可證
本項目使用 CreativeML OpenRAIL M許可證。