目次
【Stable Diffusion】ControlNet・Cannyで同じポーズを生成するしよう 使い方まとめ
Stable Diffusion WebUIの画像生成をしている中で「ポーズは同じままで違う雰囲気の女性を作りたい」と思っているユーザーのための拡張機能に「ControlNet」があります。
ここではControlNetのインストール方法からControlNet内のモデル「Canny」の使い方についてまとめていきます。
ContorlNetとは
ControlNetはStable Diffusionの拡張機能の一つで、キャラクターのポーズやスタイルを参考する画像から指定できるのが特徴です。
Stable Diffusionにそのままプロンプトを記述すると、指定したポーズとは少し違ったり、同じ構図を維持し続けることが難しい時があります。
そんな時にこのControlNetをインストールすることで使用できる「Canny」や「Openpose」といったモデルを使用することで指定したいポーズで画像を生成し続けることが可能になり、画像生成の効率を高めてくれます。
ContorlNetのインストール方法
※Forge版の場合はControlNetがすでにインストールされていますので、この手順は不要です。
インストール手順
1. Stable Diffusion WebUI内にある「Extensions」を開きます。

2. 「Install from URL」を開き、「URL for extension’s git repository」にControlNetをインストールするためのURL「https://github.com/Mikubill/sd-webui-controlnet.git」を入力します。
3. 「Install」ボタンをクリックしてインストールを開始します。
4. 「Installed」を開き、「https://github.com/Mikubill/sd-webui-controlnet.git」が正常にインストールが完了しているか確認しましょう。

5. 「txt2img」の「Generation」内に「ControlNet …」が表示されていることを確認します。

ContorlNet専用モデルをダウンロードする
ContorlNetのインストールが完了したら、ContorlNet専用モデルをダウンロードしましょう。
Cannyを含む複数のモデルを一括でダウンロードする方法と、Cannyのみなど必要なモデルを1つずつダウンロードする方法の2通りがあるのでそれぞれ紹介して行きます。
一括ダウンロードする方法
1. コマンドプロンプトを起動して次のコマンドを実行します。
pip install huggingface_hub
2. 「python」と入力し、Pythonを起動してモデルをダウンロードするためのコマンドを順に実行します。
python
from huggingface_hub import snapshot_download
snapshot_download(repo_id="comfyanonymous/ControlNet-v1-1_fp16_safetensors", revision="main",allow_patterns="*.safetensors", local_dir="/home/user/stable-diffusion-webui/models/ControlNet")
Forge版の場合
snapshot_download(repo_id="comfyanonymous/ControlNet-v1-1_fp16_safetensors", revision="main",allow_patterns="*.safetensors", local_dir="/home/user/stable-diffusion-webui/models/ControlNet")
※ディレクトリを指定する「local_dir=”/home/user/stable-diffusion-webui/models/ControlNet”」の部分は環境によって異なるので適宜変更してください。
3. 「Ctrl+D」を押すか「exit()」と入力してPythonの対話モードを終了しましょう。
1つずつダウンロードする方法
「https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/tree/main?_fsi=C6a40n90」から使用したいモデルファイル(CannyやOpenpose)をダウンロードできます。
ダウンロードしたモデルファイルは「stable-diffusion-webui > models > ControlNet」のディレクトリに格納しましょう。
Forge版の場合の格納場所
「stable-diffusion-webui-forge > models > ControlNet」
ContorlNet内のモデル「Canny」とは
CannyはControlNet内にある人気モデルのひとつで、元画像から線画を抽出し、ポーズや構図はそのままに、色や表情を変更できます。

上記の画像のように、腕の位置や服装の着崩れ感もそのまま生成してくれるので、好きな構図の画像を微調整する場合にも最適です。
Cannyの使い方
「ControlNet …」を開き、次の手順で設定していきましょう。
1. 「Single Image」に参考にしたい画像をドロップします。

2. 「Allow Preview」にチェック
3. 「Control Type」で「Canny」を選択
4. 「Preprocessor」で「canny」を選択
5. 「Model」で「control_lora_rank128_v11p_sd15_canny_fp16 [5c99b5e5]」を選択し、右側のリロードマークをクリック
6. 「Preprocessor」と「Model」の間にある「💥」マークをクリック

参考画像の隣に線画が抽出されます。

この状態で好みのプロンプトを記述し、ポーズはそのままにさまざまな雰囲気の画像を生成することができます。
Canny作例
Cannyでいくつかのプロンプトを使用して雰囲気を変えてみました。
参考画像

プロンプト
best quality, masterpiece, extremely detailed,high res, 4k, ultra high res, detailed shadow,ultra realistic, realistic, dramatic lighting, solo, detailed face,realistic eyes, realistic skin
ネガティブプロンプト
badhandv4 (worst quality:2), (low quality:2), (normal quality:2), too many arms, lowres, grain, poorly drawn face, bad anatomy, bad hands, normal quality, nsfw, bad-hands-5, bad_prompt, easynegative, ng_deepnegative_v1_75t, ((monochrome)), ((grayscale))
上記のプロンプトに追記していきます。

Smiling face

Blue hair

Blue hair, White shirts
表情は上手く変更できましたが、髪の色などを変更した場合、全体的に指定した色になってしまいます。ここはもう少し精度の向上を待つか、自身で上記のようにパーツごとの詳細なプロンプトを記述していくことである程度解決できそうです。


