🚀 Controlnet - v1.1 - lineart_anime Version
ControlNetは、追加の条件を加えることで拡散モデルを制御するニューラルネットワーク構造です。このモデルは、Stable Diffusionと組み合わせて使用することができ、特定のスタイルや条件に基づいた画像生成を可能にします。
🚀 クイックスタート
Controlnet v1.1 は、Lvmin Zhangによって lllyasviel/ControlNet-v1-1 でリリースされました。
このチェックポイントは、元のチェックポイント を diffusers
形式に変換したものです。Stable Diffusion、例えば runwayml/stable-diffusion-v1-5 と組み合わせて使用することができます。
詳細については、🧨 Diffusers docs も参照してください。

このチェックポイントは、lineart_anime画像 を条件としたControlNetに対応しています。
✨ 主な機能
ControlNetは、追加の条件を加えることで拡散モデルを制御することができます。これにより、エッジマップ、セグメンテーションマップ、キーポイントなどの条件入力を使用して、画像生成をより細かく制御することができます。
📦 インストール
外部依存関係のインストール
画像を処理して補助条件を作成するには、以下の外部依存関係が必要です。
$ pip install controlnet_aux==0.3.0
diffusers
と関連パッケージのインストール
$ pip install diffusers transformers accelerate
💻 使用例
基本的な使用法
import torch
import os
from huggingface_hub import HfApi
from pathlib import Path
from diffusers.utils import load_image
from PIL import Image
import numpy as np
from controlnet_aux import LineartAnimeDetector
from transformers import CLIPTextModel
from diffusers import (
ControlNetModel,
StableDiffusionControlNetPipeline,
UniPCMultistepScheduler,
)
checkpoint = "lllyasviel/control_v11p_sd15s2_lineart_anime"
image = load_image(
"https://huggingface.co/lllyasviel/control_v11p_sd15s2_lineart_anime/resolve/main/images/input.png"
)
image = image.resize((512, 512))
prompt = "A warrior girl in the jungle"
processor = LineartAnimeDetector.from_pretrained("lllyasviel/Annotators")
control_image = processor(image)
control_image.save("./images/control.png")
text_encoder = CLIPTextModel.from_pretrained("runwayml/stable-diffusion-v1-5", subfolder="text_encoder", num_hidden_layers=11, torch_dtype=torch.float16)
controlnet = ControlNetModel.from_pretrained(checkpoint, torch_dtype=torch.float16)
pipe = StableDiffusionControlNetPipeline.from_pretrained(
"runwayml/stable-diffusion-v1-5", text_encoder=text_encoder, controlnet=controlnet, torch_dtype=torch.float16
)
pipe.scheduler = UniPCMultistepScheduler.from_config(pipe.scheduler.config)
pipe.enable_model_cpu_offload()
generator = torch.manual_seed(0)
image = pipe(prompt, num_inference_steps=30, generator=generator, image=control_image).images[0]
image.save('images/image_out.png')



📚 ドキュメント
モデル詳細
他のリリースされたチェックポイント v1-1
著者らは、Stable Diffusion v1-5 を使用して、異なるタイプの条件付きで学習された14種類の異なるチェックポイントをリリースしました。
📄 ライセンス
このモデルは The CreativeML OpenRAIL M license の下で提供されています。