模型概述
模型特點
模型能力
使用案例
🚀 Controlnet - v1.1 - Tile版本
Controlnet v1.1是一種神經網絡結構,可通過添加額外條件來控制擴散模型。本版本基於平鋪圖像進行條件控制,可與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:可與Stable Diffusion模型結合使用,增強圖像生成能力。
- 多場景應用:不僅可用於超分辨率,還能在其他場景中生成細節。
📦 安裝指南
- 安裝
diffusers
及相關包:
$ 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')
📚 詳細文檔
模型詳情
屬性 | 詳情 |
---|---|
開發者 | Lvmin Zhang, Maneesh Agrawala |
模型類型 | 基於擴散的文本到圖像生成模型 |
語言 | 英文 |
許可證 | CreativeML OpenRAIL M許可證 是一種 Open RAIL M許可證,改編自 BigScience 和 RAIL Initiative 在負責任的人工智能許可領域的合作成果。有關我們許可證所基於的 BLOOM Open RAIL許可證的文章 也可供參考。 |
更多信息資源 | GitHub倉庫,論文 |
引用方式 | @misc{zhang2023adding, title={Adding Conditional Control to Text-to-Image Diffusion Models}, author={Lvmin Zhang and Maneesh Agrawala}, year={2023}, eprint={2302.05543}, archivePrefix={arXiv}, primaryClass={cs.CV} } |
模型介紹
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在不同類型的條件下進行訓練:
模型名稱 | 控制圖像概述 | 控制圖像示例 | 生成圖像示例 |
---|---|---|---|
lllyasviel/control_v11p_sd15_canny 基於Canny邊緣檢測訓練 |
黑色背景上帶有白色邊緣的單色圖像。 | ![]() |
![]() |
lllyasviel/control_v11e_sd15_ip2p 基於像素到像素指令訓練 |
無特定條件。 | ![]() |
![]() |
lllyasviel/control_v11p_sd15_inpaint 基於圖像修復訓練 |
無特定條件。 | ![]() |
![]() |
lllyasviel/control_v11p_sd15_mlsd 基於多級線段檢測訓練 |
帶有註釋線段的圖像。 | ![]() |
![]() |
lllyasviel/control_v11f1p_sd15_depth 基於深度估計訓練 |
帶有深度信息的圖像,通常表示為灰度圖像。 | ![]() |
![]() |
lllyasviel/control_v11p_sd15_normalbae 基於表面法線估計訓練 |
帶有表面法線信息的圖像,通常表示為彩色編碼圖像。 | ![]() |
![]() |
lllyasviel/control_v11p_sd15_seg 基於圖像分割訓練 |
帶有分割區域的圖像,通常表示為彩色編碼圖像。 | ![]() |
![]() |
lllyasviel/control_v11p_sd15_lineart 基於線稿生成訓練 |
帶有線稿的圖像,通常是白色背景上的黑色線條。 | ![]() |
![]() |
lllyasviel/control_v11p_sd15s2_lineart_anime 基於動漫線稿生成訓練 |
帶有動漫風格線稿的圖像。 | ![]() |
![]() |
lllyasviel/control_v11p_sd15_openpose 基於人體姿態估計訓練 |
帶有人體姿態的圖像,通常表示為一組關鍵點或骨架。 | ![]() |
![]() |
lllyasviel/control_v11p_sd15_scribble 基於塗鴉式圖像生成訓練 |
帶有塗鴉的圖像,通常是隨機或用戶繪製的筆觸。 | ![]() |
![]() |
lllyasviel/control_v11p_sd15_softedge 基於軟邊緣圖像生成訓練 |
帶有軟邊緣的圖像,通常用於創建更具繪畫感或藝術效果的圖像。 | ![]() |
![]() |
lllyasviel/control_v11e_sd15_shuffle 基於圖像打亂訓練 |
帶有打亂的補丁或區域的圖像。 | ![]() |
![]() |
lllyasviel/control_v11f1e_sd15_tile 基於圖像平鋪訓練 |
用於繪製細節的基礎圖像。 | ![]() |
![]() |
更多信息
如需更多信息,請查看 Diffusers ControlNet博客文章 和 官方文檔。
📄 許可證
本模型使用 CreativeML OpenRAIL M許可證。

