[Stable Diffusion] 拡張機能ControlNetの使い方まとめ
前提条件:Stable DiffusionとControlNetのインストールは完了している
ControlNetとは
ControlNetはpreprocessorとmodelを利用して、画像を作成します。
▪️ preprocessor(前処理装置)
ControlNetのpreprocessor(前処理装置)は、画像をAIモデルに渡す前に、データを適切に整えるための道具や方法を指します。簡単に言えば、画像をAIが理解しやすい形に変えるための準備作業です。
▪️ model(モデル)
AIにおける「モデル」とは、特定のタスク(例えば、画像認識、自然言語処理、予測分析など)を実行するために訓練されたアルゴリズムや数学的な構造を指します。
参考:https://sae-chan.net/controlnet-preprocessor-model-guide/
ControlNetのパラメータ設定画面の見方
①画像アップロードエリア
ここで画像をドラッグ&ドロップするか、クリックしてデバイスからアップロードできます。
②有効化(Enable)
このチェックボックスをオンにすると、ControlNet機能が有効になります。チェックを入れると設定が適用されます。
③ピクセルパーフェクト(Pixel Perfect)
入力画像に対してピクセルレベルの正確さを維持する設定です。一部のタスクでは品質が向上することがあります。
④プレビューを許可(Allow Preview)
このオプションをオンにすると、ControlNetの効果をプレビューできます。設定が画像にどのように影響するかを事前に確認できます。
⑤コントロールタイプ(Control Type)
画像処理の方法を決定するための様々なコントロールタイプを選択できます。
⑥プリプロセッサ(Preprocessor)
画像に特定の調整を適用するためのプリプロセッサを選択するドロップダウンメニューです。オプションには none、各種画像前処理技術、白背景と黒線のための反転などがあります。
⑦モデル(Model)
処理に使用するモデルを選択するドロップダウンメニューです。選択したモデルが、選択したコントロールタイプと設定を画像に適用します。
⑧コントロールの重み(Control Weight)
スライダーを使って、ControlNetの最終画像に対する影響度を調整します。値が高いほど効果が強く、低いほど効果が弱くなります。
⑨コントロールモード(Control Mode)
プロンプトとControlNetの重要性のバランスを取るためのオプションです。選択肢には Balanced、My prompt is more important、ControlNet is more important があります。
⑩リサイズモード(Resize Mode)
画像のリサイズ方法を制御するオプションです。選択肢には Just Resize、Crop and Resize、Resize and Fill があり、それぞれアスペクト比を維持したり、画像エリアを埋めたりする異なる方法で画像サイズを調整します。
主要なControlNet機能紹介
1.DW Openpose
DWPose(DW Openpose)とは画像に写る人物のポーズを推定するためのモデルです。
Stable Diffusionなどの画像生成AIに応用することで、生成画像の人物のポーズを制御できます。
例えば、バーチャル試着体験で自分の写真をアップロードし、様々な服を試着させたい時などにDWPoseを利用すれば便利です。
DWOPENPOSEの使い方
Modelの「control_v11p_sd15_openpose」がない場合はHugging Faceからダウンロードして「stable-diffusion-webui\models\ControlNet」フォルダの中に「control_v11p_sd15_openpose.pth」ファイルを置いておきます。
- 参考にしたいポーズの画像をドラックアンドドロップします。
- Enableを選択
- PixelPerfectを選択
- AllowPreviewを選択
- OpenPoseを選択
- previwボタンを押すと、プレビューが表示されます
(表示されない場合はAllow Previewにチェック入ってるか確認)
- 同じポージングをしている画像が作成されていれば OK
2.Lineart
Lineartを利用すれば、元画像から「線画」を推定して抽出し、さらに線画をベースに色を塗ることも可能です。
画像イラストの色だけを変更したい場合などに利用すると便利です。
Lineartの使い方
- PreProcessorにlineart_standardを選択します
- Modelにcontrol_v11p_sd15_lineartを選択します
ControlNet Modelが存在しない場合はリンクからをcontrol_v11p_sd15_lineart.pthをダウンロードしてstable-diffusion-webui/models/ControlNetへ配置してください。
- 画像をドラックアンドドロップします
- Enableにチェックを入れます
- Pixel Perfectにチェックを入れます
- Allow Previewにチェックを入れます
- LineAartにチェックを入れます
-
Previewボタンをクリック
-
PNG infoタブをクリック
-
プロンプトを変更します、Generateをクリック
Photo of a dancing beautiful Japanese idol 20 years old woman on stage in front of crowd audience.idol uniform,
↓
Photo of a dancing beautiful Japanese idol 20 years old woman on stage in front of crowd audience.idol red uniform,(red uniformに変更)
- 元の青色のユニフォームが赤になっていればOk
- プロンプトがうまく動かない場合はMy prompt is more importantを選択しててください
3.inpaint
inpaintを利用すれば、選択した部分だけの画像を変更することが可能です。
例えば、目や髪の色だけ変えたい場合や、髪型や表情の一部だけ変更したい場合に便利です。
inpaintの使い方
- PreProcessorにinpaint_onlyを選択します
- Modelにcontrol_v11p_sd15_inpaint_fp16.safetensorsを選択します
- 画像をドラックアンドドロップして、変更したところをマスキングします
- enable, pixel perfects, allow previewにチェック
- プロンプトの変更
Photo of a dancing beautiful Japanese idol 20 years old woman on stage in front of crowd audience.idol uniform,
↓
Photo of a dancing beautiful Japanese idol 70 years old woman on stage in front of crowd audience.idol uniform,
4.reference
ControlNetのReference onlyは、元画像の特徴を含んだ画像を生成できます。
元画像の特徴を継承しながら、服装や背景、画風の変更が可能です。
referenceの使い方
-
PreProcessorにreference_onlyを選択します
-
元画像をドラッグ&ドロップでアップロードします
-
enable, pixel perfect, allow previewを選択
-
元画像の特徴を継承しつつ、服装が変更された画像が生成されていればOK
まとめ
Stable Diffusionの拡張機能ControlNetでよく利用する機能を紹介しました。
ControlNetでは他にもたくさんの拡張機能を兼ね備え得ているので、気になる方は調べてみてください。