ホーム > カテゴリ > Python・人工知能・Django >

ControlNetのインストール、使い方、モデルの早見表【Stable Diffusion Web UI】

目次

[ControlNetの設定]
1. ControlNet 1.1のインストール
2. ControlNetの使い方

[ControlNetのモデル(14種類)]
3. Depth(深度マップ)
4. Normal(法線マッピング)
5. Canny(エッジ検出)
6. MLSD(線分検出)
7. Scribble(落書き)
8. Soft Edge(ソフトエッジ)
9. Segmentation(意味的分割)
10. OpenPose(人物姿勢推定)
11. Linearts(線画)
12. Anime Linearts(アニメ線画)
13. Shuffle(コンテンツシャッフル) - 実験的機能
14. Pix2Pix(スタイル変換) - 実験的機能
15. Inpaint(インペイント)
16. Tile(タイル) - 実験的機能
17. Reference(参照)

前提条件

この画像を標準としてControlNet適用後の出力画像と比較します。

次のプロンプト、ネガティブプロンプト、Seedなどの設定をStable Diffusion Web UIで同一にすると同じ画像が生成されます。

// プロンプト
detailed face, beautiful landscape,1 girl solo,

// ネガティブプロンプト
EasyNegativeV2

// その他
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 786002949, Size: 512x512, Model hash: cbfba64e66, Model: CounterfeitV30_v30, Version: v1.4.1

Stable Diffusion Web UIのインストールはStable Diffusionのインストール方法(AUTOMATIC1111)【初心者/AIイラスト/画像生成AI/Windows】をご参考にして下さい。

ControlNet 1.1のインストール

先にsd-webui-controlnetをインストールする

1. Web UIの[Extensions]タブを選択。[Install from URL]タブの「URL for extension's git repository」に次のURLを入力します。

https://github.com/Mikubill/sd-webui-controlnet.git

2. [Install]ボタンをクリックします。

3. インストール後、[Installed]タブを選択して「Apply and restart UI」ボタンをクリックしてWeb UIを再起動します。

4. [Installed]タブの「Extension」に「sd-webui-controlnet」が表示されていればOK。これでControlNetのモデルがあればWeb UIで利用できるようになります。

ControlNetのモデルをダウンロードする

1. 次のURLから全てのファイルをダウンロードする。小さなダウンロード矢印「↓」アイコンをクリックしてダウンロードしてください。

厳密にはモデル(*.pth)、設定ファイル(*.yaml)の計28ファイルが必要。ファイルサイズの総数は約18.8GBありますので気長に待ちましょう。

ファイル名の一覧 ※拡張子除く
・control_v11f1p_sd15_depth
・control_v11p_sd15_normalbae
・control_v11p_sd15_canny
・control_v11p_sd15_mlsd
・control_v11p_sd15_scribble
・control_v11p_sd15_softedge
・control_v11p_sd15_seg
・control_v11p_sd15_openpose
・control_v11p_sd15_lineart
・control_v11p_sd15s2_lineart_anime
・control_v11e_sd15_shuffle
・control_v11e_sd15_ip2p
・control_v11p_sd15_inpaint
・control_v11f1e_sd15_tile

ファイル名の命名規則は公式画像(英語)を参照してください。「e」が付与されているのものは実験的モデルとなります。

2. ダウンロードした全てのファイルをsd.webui/webui/models/ControlNetに移動します。公式(英語)は古い情報なのか別のパスを指定していますが、この階層で問題なく動作しています。

3. 最後に[Extensions]タブを選択後、「Apply and restart UI」ボタンをクリックしてWeb UIを再起動します。気になる方は黒いコンソールも再起動!

ControlNetの使い方

Web UIを起動して下の方にあるControlNet v1.1.XXXの右側の▲を選択します。次にEnableのチェックボックスをオンにして、任意のControl Typeを選択するとPreprocessorとModelが自動設定されます。

PreprocessorとModelの詳細設定は手動でも行えますが、最初はデフォルト設定のままにしておきましょう。

※ControlNetのモデルはControl Typeにある14種類となります。

ControlNetは基本的に

・オブジェクト(セグメント)の変更
・落書きから絵を描く
・棒人間形式の画像から人物のポーズ(姿勢)を指定
・1枚の絵を参照して、その特徴を出力画像に反映

が可能となりますので、画像生成の幅が大きく広がります。

下記からの「モデルの早見表」(一覧表)はあくまでも一例となります。その他の使用方法もありますのでご注意ください。※今回は全てtxt2imgを使用。

Depth(深度マップ)

(例)風景の変更
control_v11f1p_sd15_depth

1. ControlNetの「Single Image」に前提条件で生成した画像を設定する。

2. 次の設定を行う

// プロンプト
detailed face, spring landscape ,1 girl solo,
// ネガティブプロンプト
EasyNegativeV2
// Seed
786002949

※「beautiful landscape」を「spring landscape」に変更しています。

3. Control TypeをDepthにして出力する。

Normal(法線マッピング)

(例)オブジェクトの変更
control_v11p_sd15_normalbae

1. 前提条件のプロンプトなどを設定する。
※プロンプト、ネガティブプロンプト、Seed

2. ControlNetの「Single Image」に前提条件で生成した画像を設定する。

3. Control Typeをタイトルのモデル名にして出力する。

Canny(エッジ検出)

(例)髪色の変更
control_v11p_sd15_canny

Normalと同様。加えてプロンプトに「pink hair」を追加する。
※(例)detailed face, beautiful landscape,1 girl solo,pink hair

MLSD(線分検出)

(例)髪色の変更
control_v11p_sd15_mlsd

Normalと同様。加えてプロンプトに「pink hair」を追加する。

Scribble(落書き)

(例)落書きから絵を描く
control_v11p_sd15_scribble

1. ControlNetの「Single Image」に落書き画像を設定する。

2. 次の設定を行う

// プロンプト
bright,girl
// ネガティブプロンプト
EasyNegativeV2
// Seed
786002949

3. Control Typeをタイトルのモデル名にして出力する。

Soft Edge(ソフトエッジ)

(例)髪色の変更
control_v11p_sd15_softedge

Normalと同様。加えてプロンプトに「pink hair」を追加する。

Segmentation(意味的分割)

(例)性別の変更
control_v11p_sd15_seg

Normalと同様。加えてプロンプトを「detailed face, beautiful landscape,1 boy solo」に変更する。

OpenPose(人物姿勢推定)

(例)人物の姿勢を指定
control_v11p_sd15_openpose

Openpose Editorの導入

1. [Extensions]タブの「Install from URL」に次のURLを入力して[Install]ボタンをクリックする。

https://github.com/fkunn1326/openpose-editor

2. 最後に[Extensions][Installed]タブを選択後、「Apply and restart UI」ボタンをクリックしてWeb UIを再起動します。

3. [Openpose Editor]タブで表示されている棒人形の座標をマウスで適当に移動してからSave PNGで保存します。

ControlNetの設定

1. 先程の画像を設定します。

2. 次の設定を行う。

// プロンプト
girl,Emphasis on person
// ネガティブプロンプト
EasyNegativeV2
// Seed
861781896

3. Control Typeをタイトルのモデル名へ、Preprocessorをnoneにする。

Linearts(線画)

(例)髪色の変更
control_v11p_sd15_lineart

Normalと同様。加えてプロンプトに「pink hair」を追加する。

Anime Linearts(アニメ線画)

(例)髪色の変更
control_v11p_sd15s2_lineart_anime

Normalと同様。加えてプロンプトに「pink hair」を追加する。
※Control TypeをLinearts(lineart)のモデル名にする。Preprocessorにlineart_animeを選択して、その後に出力する。

Shuffle(コンテンツシャッフル) - 実験的機能

(例)髪色の変更
control_v11e_sd15_shuffle

Normalと同様。加えてプロンプトに「pink hair」を追加する。

Pix2Pix(スタイル変換) - 実験的機能

(例)髪色の変更
control_v11e_sd15_ip2p

Normalと同様。加えてプロンプトに「pink hair」を追加する。
※Control TypeはIP2P。

Inpaint(インペイント)

(例)髪色の変更
control_v11p_sd15_inpaint

Normalと同様。加えてプロンプトに「pink hair」を追加する。
※Preprocessorはnoneを選択する。

Tile(タイル) - 実験的機能

(例)髪色の変更
control_v11f1e_sd15_tile

Normalと同様。加えてプロンプトに「pink hair」を追加する。

Reference(参照)

(例)1枚の絵を参照して、その特徴を出力画像に反映する

左は原神の宵宮と言うキャラで、右側が出力画像です。※教育/研究用

1. 参照用の画像を設定します。

2. 次の設定を行う。

// プロンプト
standing full body,girl,masterpiece
// ネガティブプロンプト
EasyNegativeV2
// Seed
2397248435

3. Control Typeをタイトルのモデル名にして出力する。

おまけ

作業用の一時ファイルがテンポラリフォルダであるC/Users/ユーザー名/AppData/Local/Temp/gradioに溜まっていきますので、気になる方は手動で削除することも可能です。

これらのファイルはWindowsの標準設定(ストレージセンサーがオン)だと自動で削除されます。ストレージセンサーをオンにする場合は左下のWinアイコンを右クリックで[設定][システム][ストレージ]の「ストレージセンサー」で設定を行います。

※ストレージセンサーは1週間経過後のファイルを削除する模様です。

参考サイト(公式)

https://github.com/lllyasviel/ControlNet-v1-1-nightly
https://github.com/Mikubill/sd-webui-controlnet





関連記事



公開日:2023年07月26日 最終更新日:2023年08月05日
記事NO:02914