Stable Diffusion web UIで、コントロールネット(ControlNet)の使い方を紹介します。
ControlNetが使えると、ポージングの設定がずいぶん楽になります。
Control Netの使い方
以下URLを使ってインストールします。
https://github.com/Mikubill/sd-webui-controlnet
インストールの仕方はこちら。
最初はまずポーズ通り表示させて、あとでパラメータをかえていろいろ試しましょう。
まずスクリプトでControlNetをセレクト。続いて元のポーズとなる画像をセットします。
Enableをチェック。
プロセッサーをCanny、モデルをcontrol_canny-fp16などにします。
実行結果は以下のようになります。
左が素材サイトのぱくたそさんから入手した画像、右がレンダリングされたものです。
初回はモデルのダウンロードなどで時間がかかる場合があります。コンソール画面の進み具合で確認するといいです。
ポージングデータは以下サイトなどから集めると効率いいです。
コントロールネット用の種類とモデル
ではフリー素材の画像を使って、どんな風に変わるか確認してみましょう。
プロンプトは「anime girl」です。
高画質化
Tile_resample
高画質化。
入手ファイル:control_v11f1e_sd15_tile.pth
上記のハギングフェイスのページから入手できます。
以下同。
ポーズ生成
Openpose
ポーズエディタを使って好きなポーズを作画。
入手ファイル:control_v11p_sd15_openpose.pth
Depth
元画像の深度情報を使って画像を生成。
深度情報とは、わかりやすくいえばカメラとの距離感。これを使うと、元画像の構図に近い画像を生成しやすいです。
入手ファイル:control_v11f1p_sd15_depth.pth
normalbae
法線マップをつかって画像を生成。
control_v11p_sd15_mlsd.pth
Scribble
手書き画像から生成。
control_v11p_sd15_scribble.pth
線画抽出
Canny
写真を一度線画化して着色。漫画風処理などに。
抽出系では精度は高めです。
入手ファイル:control_v11p_sd15_canny.pth
Softedge
線画抽出。より元画像に近い。
入手ファイル:control_v11p_sd15_softedge.pth
Lineart
線画抽出。
入手ファイル:control_v11p_sd15_lineart.pth
seg
セマンティック・セグメンテーション(色範囲のような感じか?)により元画像を分類。生成時間はちょっとかかります。
人より部屋とかのほうが向いているようです。
入手ファイル:control_v11p_sd15_seg.pth
mlsd
線画抽出。
直線を主に抽出するため、人物ではなく背景だけ抜く場合に利用されているようです。
入手ファイル:control_v11p_sd15_mlsd.pth
部分変更
Reference_only
ピックアップした画像と同じ顔の人物を生成。
ポーズは反映されず、プロンプトで指定して好きなポーズをさせます。
instruct pix2pix(ip2p)
画像の一部を変更。たとえば違う服を着せるなど。
入手ファイル:control_v11e_sd15_ip2p.pth
Inpaint
画像範囲を指定して生成しなおします。
入手ファイル:control_v11p_sd15_inpaint.pth
その他
Shuffle
画像を見るとポーズよりは、水玉感のほうが再現されている感じ。
指定画像の雰囲気を再現した画像を生成。分解して再構成したような画像となります。
入手ファイル:control_v11e_sd15_shuffle.pth