はじめに
Automatic1111 WebUIは、Stable Diffusionの画像生成AIを用いて色々なことが行えるアプリで、拡張機能から各種機能を追加できます。
前回には『Civitai からモデル、サムネイル、データなどを簡単に取得するための便利なツールCivitai Helper』と言う拡張機能を追加しましたが、今回は、画像生成においてポーズやスタイルを制御が可能なContorolNETについて、深堀して解説したいと思います。
この記事を読むと次の疑問について知ることができます。
OS、機種などで説明の仕方が変わってくることがありますので、私の使用しているパソコン環境について載せておきます。
パソコンOS : Windows11 Pro
Windowsバージョン : 22H2
Automatic1111 WebUI のバージョン : 1.6.0
ContorolNET のバージョン : 1.4.0
ContorolNETとは?
ContorolNETの概要
Automatic1111 WebUIの拡張機能の一つに ContorolNET があり、画像生成においてポーズやスタイルを自在に制御することができる機能で、Control Netは、以下のような仕組みで画像生成を行います。
- まず、参照画像と呼ばれる元になる画像を用意します。参照画像は、URLやファイルから選択できます。
- 次に、プリプロセッサと呼ばれるオプションを選択します。プリプロセッサは、参照画像からポーズや輪郭、奥行きなどの情報(形状情報)を抽出する方法を指定します。例えば、「canny」を選択すると、参照画像のエッジ検出を行い、「openpose」を選択すると、参照画像の人体検出を行います。
- さらに、モデルと呼ばれるオプションを選択します。モデルは、プリプロセッサで抽出された形状情報を入力として受け取り、それに対応した画像生成を行うモデルです。
- 最後に、「生成」ボタンを押すと、Control NetがStable Diffusion WebUIで設定した情報(プロンプト、パラメータ、モデルなど)と協力しあいながら、参照画像の特徴を持った新しい画像を生成します。
以上のように、Control Netは、参照画像から形状情報を抽出し、それを用いて画像生成する技術です。Control Netは、txt2img や img2img、その他の機能と組み合わせることが可能です。
「ControlNet」の作成者は lllyasviel 氏、『Stable diffusion web UI』用に拡張機能化した「sd-webui-controlnet」は Mikubill 氏であり、 GitHub で公開しています。
ContorolNETのバージョン
ControlNETは、以下のようなバージョンがあります。
- ControlNET v1.0
最初のバージョンで、モデルとして「control_sd15_canny.pth」「control_sd15_depth.pth
」「control_sd15_hed.pth」「control_sd15_mlsd.pth」「control_sd15_normal.pth」「control_sd15_openpose.pth」「control_sd15_scribble.pth」「control_sd15_seg.pth」などがり、参照画像と棒人間などを使って、生成画像のポーズとスタイルなどを指定が可能です。 - ControlNET v1.1
バージョンアップされたバージョンで、モデルとしてv1.0のモデルを含む14モデルがあり、さらなる機能がアップしています。モデルについては後述で詳細に解説します。 - ControlNET v1.1400
最新のバージョンで、Stable Diffusion XL(SDXL)に部分的に対応しており、多数のモデルを選択できます 。SDXLは、Stable Diffusionの高品質な画像生成モデルで、Hugging Faceのサイトなどから入手できます。これについては、機会を見て再度解説したいと思います。
ContorolNETのモデル
ControlNET v1.1のモデルには、次のようなものがあります。
- Depth(control_v11f1p_sd15_depth)
参照画像から深度マップを抽出し、生成画像に奥行きを与えるモデルです。深度マップは、画像の各ピクセルに対して距離を表す値を割り当てたもので、近いものほど明るく、遠いものほど暗くなります。Depthモデルは、参照画像の前景と背景の区別や立体感を生成画像に反映させます。 - Normal(control_v11p_sd15_normalbae)
参照画像から法線マップを抽出し、生成画像に光源や陰影を与えるモデルです。法線マップは、画像の各ピクセルに対して表面の法線ベクトルを表す色を割り当てたもので、赤・緑・青の3色で構成されます。Normalモデルは、参照画像の表面の凹凸や質感を生成画像に反映させます。 - Canny(control_v11p_sd15_canny)
参照画像からエッジ検出を行い、生成画像に輪郭線を与えるモデルです。エッジ検出とは、画像の明暗の変化が大きい部分を検出することで、物体の境界や形状を抽出することです。Cannyモデルは、参照画像のエッジ情報を生成画像に反映させます。 - MLSD(control_v11p_sd15_mlsd)
参照画像から線分検出を行い、生成画像に直線や曲線を与えるモデルです。線分検出とは、画像のエッジから直線や曲線を近似することで、物体の輪郭や特徴を抽出することです。MLSDモデルは、参照画像の線分情報を生成画像に反映させます。 - Scribble(control_v11p_sd15_scribble)
参照画像から落書き風のスケッチを抽出し、生成画像に手描き感を与えるモデルです。落書き風のスケッチとは、画像のエッジや色彩をランダムな筆跡で表現したものです。Scribbleモデルは、参照画像のスケッチ情報を生成画像に反映させます。 - Soft Edge(control_v11p_sd15_softedge)
参照画像からソフトエッジ風のスケッチを抽出し、生成画像にぼかし感を与えるモデルです。ソフトエッジ風のスケッチとは、画像のエッジや色彩をぼかした筆跡で表現したものです。Soft Edgeモデルは、参照画像のスケッチ情報を生成画像に反映させます。 - Segmentation(control_v11p_sd15_seg)
参照画像から意味的分割を行い、生成画像に物体や背景の区別を与えるモデルです。意味的分割とは、画像内の各ピクセルに対して物体や背景などのカテゴリーを割り当てることで、物体や背景の領域を抽出することです。Segmentationモデルは、参照画像の分割情報を生成画像に反映させます。 - OpenPose(control_v11p_sd15_openpose)
参照画像から人体検出を行い、生成画像に人物のポーズを与えるモデルです。人体検出とは、画像内の人物の位置や姿勢を検出することで、人物の骨格や関節を抽出することです。OpenPoseモデルは、参照画像の人体情報を生成画像に反映させます。 - Linearts(control_v11p_sd15_lineart)
参照画像から線画を抽出し、生成画像に線画風のスタイルを与えるモデルです。線画とは、画像のエッジや色彩を細い線で表現したものです。Lineartsモデルは、参照画像の線画情報を生成画像に反映させます。 - Anime Linearts(control_v11p_sd15s2_lineart_anime)
参照画像からアニメ風の線画を抽出し、生成画像にアニメ風のスタイルを与えるモデルです。アニメ風の線画とは、画像のエッジや色彩を太い線や塗りつぶしで表現したものです。Anime Lineartsモデルは、参照画像のアニメ情報を生成画像に反映させます。 - Shuffle(control_v11e_sd15_shuffle)
参照画像からコンテンツシャッフルを行い、生成画像に新しいコンテンツを与えるモデルです。コンテンツシャッフルとは、2つ以上の参照画像から各領域や特徴を組み合わせて新しい画像を生成することです。Shuffleモデルは、参照画像のコンテンツ情報を生成画像に反映させます。 - Pix2Pix(control_v11e_sd15_ip2p)
参照画像からスタイル変換を行い、生成画像に新しいスタイルを与えるモデルです。スタイル変換とは、参照画像の内容はそのままに、別の参照画像のスタイルや色彩を適用することで、新しい画像を生成することです。Pix2Pixモデルは、参照画像のスタイル情報を生成画像に反映させます。 - Inpaint(control_v11p_sd15_inpaint)
参照画像からインペイントを行い、生成画像に部分的な修正や変更を与えるモデルです。インペイントとは、参照画像の一部分を消去したり塗りつぶしたりして欠損した部分を補完することで、新しい画像を生成することです。Inpaintモデルは、参照画像のインペイント情報を生成画像に反映させます。 - Tile(control_v11f1e_sd15_tile)
参照画像の細部を無視して、新しい細部を生成することができます。また、プロンプトよりも参照画像の細部の変更が優先されます。
ControlNET のインストール
「ControlNET」を使うには、まずインストールする必要があります。インストール方法は以下の通りです。
- Automatic1111 WebUIの操作画面で「Extensions」→「Available」タブを選択。
- 「Load from:」ボタンの横に「https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui-extensions/master/index.json」が記入されていることを確認後を「Load from:」ボタンをクリック。
- 検索欄に「ControlNET」と記入すると、検索結果が表示されます。
- 表示された検索結果の中から「sd-webui-controlnet manipulations」の横にある「インストール」をクリック。
- 「Installed into C:\A1111 Web UI Autoinstaller\stable-diffusion-webui\extensions\Stable-Diffusion-Webui-Civitai-Helper. Use Installed tab to restart.」と表示されたら、「Installed」タブ⇒「Check for updates」を順にクリックし、「sd-webui-controlnet」の横にあるUpdate欄が「Latest」であることを確認。
- 「Ap」ボタンをクリック。
- Automatic1111 WebUIの画面のメニューのにアスペクトレシオの設定項目の下に「ControlNET v1.1.408」のタブメニューが表示されます。このタブを見ると、現在のControlNETのバージョンがv1.1.408であることが分かります。
ControlNET のモデルのダウンロードおよび設定
SD XL対応のモデル以外は、Haggingfaceのcontrolnetのモデルのページに移動し、同名の拡張子pathとyamalファイルを1対として、14個のモデルの28ファイルをダウンロードし、通常のインストーラーを利用した場合は、Automatic1111 WebUIをインストールしたホルダーの「Extensions」フォルダーの「sd-webui-controlnet」フォルダー内の「models」フォルダー内に入れてください。
Stablity Matrixランチャーを用いてAutomatic1111 WebUIをインストールした場合は、「StabilityMatrix」ホルダーの「Data」ホルダーの「Models」ホルダーの「ControlNet」ホルダーに入れてください。
Stablity Matrixランチャーは、Automatic1111 WebUI、ConfyUI、SD.Nextなどをインストールした場合に、これらのアプリで共通に利用できるので容量を抑えることができ便利です。
モデルをControlNETのホルダーに入れた後は、WebUIを再起動してください。すると、「ControlNET」の「Model」の「▼」をクリックするとインストールした14個のモデルが表示されます。
ControlNETの使い方
ControlNETの画面の説明
- ControlNET Unit 0、ControlNET Unit 1、ControlNET Unit 2
マルチControlNETを利用する場合に使います。通常は1つのControlNETしか使用しないが、ControlNet v1.1.40では「Setting」の「ContorolNET」の「Multi-ControlNet: ControlNet unit number (requires restart)」がデフォルトで3になっており、同時に3つのContorolNETのモデルを指定して利用が可能。 - Single Image、Batch
参照画像を1枚だけ入力し、生成画像も1枚だけ出力しますが、Batchは、参照画像を複数枚入力し、生成画像も複数枚出力する方法と思われます。(明確にはわかりません。) - Enable
ControlNET自体のON/OFFの切り替え、したがって、ControlNETを利用しない場合は、必ずOFFにすること。 - Low VRAM
パソコンのVRAMが少ない場合、また、大きな画像を生成するような場合はVRAMを多く使うのでONにします。 - Pixel Perfect
Preprocessor Resolutionの値を自動的に調節するスイッチ。ONにすると、Preprocessor Resolutionの項目は非表示となります。 - Allow Preview
ONにすると、「Preprocessor Preview」が表示されます。 - Control TypeとPriprosesser、Modelとその意味
Control Type Preprocessor Model 意味など All none none 「前処理がなし」という意味、手持ちの線画や棒人画像から開始する時はこれに設定。 Canny none、Canny、
invert (from white bg & black line)から選択可能control_v11p_sd15_canny 参照画像からエッジを検出し、それをもとに画像生成します。「invert (from white bg & black line)」にすると、白い背景と黒い線の画像を反転させて、黒い背景と白い線の画像に変換します。 Depth none、depth_leres、
depth_leres++、depth_midas、depth_zoeから選択可能control_v11f1p_sd15_depth 参照画像から深度マップを抽出する方法の違いを表すオプションで次のようなものがあります。
・depth_leres: 低解像度の深度マップを抽出する方法です。高速に処理できますが、細かいディテールは失われます。生成画像は滑らかでぼやけた感じになります。
・depth_leres++: 高解像度の深度マップを抽出する方法です。低速に処理されますが、細かいディテールも拾えます。生成画像は鮮明でシャープな感じになります。
・depth_midas: MiDaSというモデルを用いて深度マップを抽出する方法です。MiDaSは、10種類のデータセットで学習された高精度な深度推定モデルです。生成画像は自然でリアルな感じになります。(デフォルト値)
・depth_zoe: Zoeというモデルを用いて深度マップを抽出する方法です。Zoeは、ControlNET v1.1.40で追加された実験的なモデルです。生成画像は芸術的でスタイリッシュな感じになります。NormalMap none、normal_bae、
normal_midasから選択可能control_v11p_sd15_normalbae 参照画像から法線マップを抽出する方法の違いを表すオプションで次のようなものがあります。
・normal_bae: BAEというモデルを用いて法線マップを抽出する方法で、BAEは、ControlNET v1.1.40で追加された実験的なモデルです。BAEは、高品質な法線マップを生成することができますが、処理速度が遅いという欠点があります。(デフォルト値)
・normal_midas: MiDaSというモデルを用いて法線マップを抽出する方法で、MiDaSは、10種類のデータセットで学習された高精度な深度推定モデルです。MiDaSは、深度マップから法線マップを計算することで、生成画像に自然でリアルな感じを与えることができます。OpenPose none、dw_openpose_full、
openpose、openpose_face、openpose_faceonly、openpose_full、openpose_handから選択可能control_v11p_sd15_openpose 参照画像から人体や顔の情報を抽出する方法を指定するオプションで次のようなものがあります。
・dw_openpose_full: 人体や顔の情報を高精度に抽出する方法です。実写やアニメ風の画像に対応しており、顔や手足の細かい部分も読み取れます。ただし、処理速度が遅いという欠点があります。
・openpose: 人体や顔の情報を抽出する方法です。実写風の画像に対応しており、人物の骨格や関節を読み取れます。ただし、商用利用にはライセンス料が必要です。
・openpose_face: 顔の情報を抽出する方法です。実写風の画像に対応しており、顔の表情や特徴を読み取れます。ただし、商用利用にはライセンス料が必要です。
・openpose_faceonly: 顔の情報だけを抽出する方法です。実写風の画像に対応しており、顔の表情や特徴を読み取れます。ただし、商用利用にはライセンス料が必要です。
・openpose_full: 人体や顔の情報を抽出する方法です。実写風の画像に対応しており、人物の骨格や関節、顔の表情や特徴を読み取れます。ただし、商用利用にはライセンス料が必要です。
・penpose_hand: 手の情報を抽出する方法です。実写風の画像に対応しており、手や指の形状や動きを読み取れます。ただし、商用利用にはライセンス料が必要です。MLSD none、mlsd、
invert (from white bg & black line)から選択可能control_v11p_sd15_mlsd 参照画像から線分検出を行う方法を指定するオプションで次のようなものがあります。
・mlsd: 通常の線分検出を行う方法で、画像のエッジから直線や曲線を近似することで、物体の輪郭や特徴を抽出します。生成画像には、参照画像の線分情報が反映されます。
・invert (from white bg & black line): 白い背景と黒い線の画像を反転させて、線分検出を行う方法で、画像のエッジから直線や曲線を近似することで、物体の輪郭や特徴を抽出します。生成画像には、参照画像の反転した線分情報が反映されます。Lineart none、lineart_anime、
lineart_anime_denoise、lineart_coarse、lineart_realistic、lineart_standard (from white bg & black line)
、lineart_standard (from white bg & black line)から選択可能control_v11p_sd15_lineart 、control_v11p_sd15s2_lineart
_anime から選択可能参照画像から線画を抽出する方法を指定するオプションで次のようなものがあります。
・lineart_anime: アニメ風の線画を抽出する方法で、鉛筆で描いたような細く濃淡のある線で、全体の線の数は少なくなります。生成画像は滑らかでカラフルな感じになります。
・lineart_anime_denoise: lineart_animeと同じ方法ですが、ノイズ除去を行います。細かい線や汚れが減りますが、処理速度が遅くなります。生成画像は鮮明でクリーンな感じになります。
・lineart_coarse: ラフな線画を抽出する方法で、影のような細いラインも拾いますが、線画で見ると傷のようになります。生成画像は荒々しくダークな感じになります。
・lineart_realistic: 実写風の線画を抽出する方法で、最も均一な線が出ますが、線に安定感があります。生成画像は自然でリアルな感じになります。
・lineart_standard (from white bg & black line): 白い背景と黒い線の画像を反転させて、線画を抽出する方法で、太めの線で色の濃淡まで入ります。生成画像はラフでスタイリッシュな感じになります。(デフォルト値)
・lineart_standard (from black bg & white line): 黒い背景と白い線の画像をそのまま、線画を抽出する方法で、太めの線で色の濃淡まで入ります。生成画像はラフでスタイリッシュな感じになります。SoftEdge none、softedge_hed、
softedge_hedsafe、softedge_pidinet、softedge_pidisafeから選択可能control_v11p_sd15_softedge 参照画像から線画を抽出する方法を指定するオプションで次のようなものがあります。
・softedge_hed: 元画像に最も忠実な線画を抽出する方法で、鉛筆で描いたような細く濃淡のある線で、全体の線の数は少なくなります。生成画像は滑らかでカラフルな感じになります。
・softedge_hedsafe: softedge_hedより抽出精度を下げ、出力画像が不自然にならないようにする方法で、そのぶん原画と離れることもあります。生成画像は鮮明でクリーンな感じになります。
・softedge_pidinet: softedge_hedより細かく線を拾う方法で、詳細な画像向けです。生成画像は自然でリアルな感じになります。(デフォルト値)
・softedge_pidisafe: softedge_pidinetより精度を下げ、不自然にならないようにする方法で、そのぶん原画と離れることもあります。生成画像は芸術的でスタイリッシュな感じになります。Scribble/Sketch none、scribble_hed、
scribble_pidinet、scribble_xdog、t2ia_sketch_pidi、invert (from white bg & black line)から選択可能control_v11p_sd15_scribble 参照画像から落書き風のスケッチを抽出する方法を指定するオプションでで次のようなものがあります。
・scribble_hed: 標準的なラフ画の抽出方法で、鉛筆で描いたような細く濃淡のある線で、全体の線の数は少なくなります。生成画像は滑らかでカラフルな感じになります。
・scribble_pidinet: 線太目のざっくりタイプの抽出方法で、詳細な画像向けです。生成画像は自然でリアルな感じになります。(デフォルト値)
・scribble_xdog: 線細目の抽出方法で、元画像がしっかり描かれている場合に良いです。生成画像は鮮明でクリーンな感じになります。
・t2ia_sketch_pidi: scribble_pidinetと同じ抽出方法ですが、生成画像にテキストからイメージへの変換(T2IA)を適用します。T2IAとは、テキストで指定した内容やスタイルを生成画像に反映させる機能で、生成画像は芸術的でスタイリッシュな感じになります。
・invert (from white bg & black line): 白い背景と黒い線の画像を反転させて、ラフ画を抽出する方法で、太めの線で色の濃淡まで入ります。生成画像はラフでスタイリッシュな感じになります。Segmentation none、seg_ofade20k、
seg_ofcoco、seg_ufade20kから選択可能control_v11p_sd15_seg 参照画像から画像の各ピクセルに対して物体の種類や部位を表す色を割り当て、画像の構造や内容を理解するために使用するオプションで次のようなものがあります。
・seg_ofade20k: ADE20Kというデータセットで学習されたセグメンテーションモデルを用いる方法で、ADE20Kは、150種類の物体やシーンを含む多様な画像で構成されたデータセットです。この方法は、実写やアニメ風の画像に対応しており、高精度にセグメンテーションできます。生成画像は自然でリアルな感じになります。(デフォルト値)
・seg_ofcoco: COCOというデータセットで学習されたセグメンテーションモデルを用いる方法でCOCOは、80種類の物体やシーンを含む大規模な画像で構成されたデータセットです。この方法は、実写風の画像に対応しており、高速にセグメンテーションできます。生成画像は鮮明でクリーンな感じになります。
・seg_ufade20k: Uniformerというモデルを用いてセグメンテーションを行う方法で、Uniformerは、ControlNET v1.1.40で追加された実験的なモデルで、この方法は、実写やアニメ風の画像に対応しており、低精度にセグメンテーションできます。生成画像は芸術的でスタイリッシュな感じになります。Shuffle none、shuffleから選択可能 control_v11e_sd15_shuffle モデルの「Shuffle」を参照 Tile none、tile_colorfix、
tile_colorfix+sharp、tile_resampleから選択可能control_v11f1e_sd15_tile 参照画像をタイルに分割し、それぞれに異なるモデルや設定を適用することで、生成画像の詳細度や色調を制御する方法を指定するオプションで次のようなものがあります。
・tile_colorfix: タイルが時々引き起こす色のずれを修正する方法で、この方法は、生成画像の色調を元の画像に忠実に保つことができます。ただし、色を固定するため、ユーザーの指示(プロンプト)を優先したいモードでも色を編集することはできません。したがって、特定の色を変更したい場合には制約となります。
・tile_colorfix+sharp: tile_colorfixに加えて、タイルの出力の鮮明さを制御する方法で、この方法は、色のずれを修正し、鮮明さを向上させることができます。この方法は、詳細を追加することを好むユーザーにとっては特に魅力的な選択肢となります。
・tile_resample: 元画像に最も忠実なタイルの出力を得る方法で、この方法は、生成画像の詳細度や色調を元の画像に近づけることができます。ただし、この方法は他の方法よりも処理速度が遅いという欠点があります。(デフォルト値)Inpaint none、inpaint_global_harmonious、
inpaint_only、inpaint_only+lamaから選択可能control_v11p_sd15_inpaint 参照画像にマスクを書き込んで、マスク部分を別の画像に変換する方法を指定するオプションがあり、それぞれ次のような意味があります。
・inpaint_global_harmonious: マスク部分を変換するとともに、マスク部分以外の色も調整する方法で、この方法は、全体の調和を取るために色味を変えることができます。また、プロンプトで指定した内容やスタイルを反映させることもできます。生成画像は自然でリアルな感じになります。
・inpaint_only: マスク部分だけを変換する方法で、マスク部分以外は色であっても一切変更されません。この方法は、元の画像に忠実に保つことができます。生成画像は鮮明でクリーンな感じになります。(デフォルト値)
・inpaint_only+lama: inpaint_onlyと同じ方法ですが、生成画像にテキストからイメージへの変換(T2IA)を適用します。T2IAとは、テキストで指定した内容やスタイルを生成画像に反映させる機能です。生成画像は芸術的でスタイリッシュな感じになります。InstructP2P none control_v11e_sd15_ip2p モデルの「Pix2Pix」を参照 Reference none、reference_adain、
reference_adain+attn、reference_onlyから選択可能- 参照画像のスタイルや特徴を継承しながら新しい画像を生成するためのプリプロセッサで次の3種類があります」。
・reference_only: 参照画像の顔や髪型などの要素を保持したまま、プロンプトで指定した内容に沿って画像を生成します。例えば、参照画像が女性の場合、プロンプトで「男性」と指定すると、顔や髪型は同じですが性別が変わった画像が生成されます。
・reference_adain: 参照画像の色彩や画風などのスタイルを保持したまま、プロンプトで指定した内容に沿って画像を生成します。例えば、参照画像がアニメ風の場合、プロンプトで「リアル」と指定すると、スタイルは同じですが写実的な画像が生成されます。
・reference_adain+attn: 参照画像のスタイルと要素の両方を保持したまま、プロンプトで指定した内容に沿って画像を生成します。例えば、参照画像が女性の場合、プロンプトで「男性」と指定すると、スタイルと顔や髪型は同じですが性別だけが変わった画像が生成されます。(注)Control Typeには、上述の表にないRecolor、Revision、T2I-Adapter、IP-Adapterがありますが、これらについては、ControlNET1.1.4で導入され、SD XLでも利用されるもののようですので、新たにSD XLについて解説した際に紹介します。 - Control Weight(デフォルト値:1)
ControlNETが生成画像に与える影響の強さを表す値です。0から2の範囲で設定できます。値が大きいほど、ControlNETが参照する画像や落書きに近い画像が生成されます。値が小さいほど、プロンプトやモデルによる画像が生成されます。 - Starting Control Step(デフォルト値:0)
ControlNETが画像生成に参加する開始ステップを表す値です。0から1の範囲で設定できます。値が小さいほど、早い段階からControlNETが制御を行います。値が大きいほど、遅い段階からControlNETが制御を行います。 - Ending Control Step(デフォルト値:1)
ControlNETが画像生成に参加する終了ステップを表す値です。0から1の範囲で設定できます。値が小さいほど、早い段階でControlNETが制御をやめます。値が大きいほど、遅い段階までControlNETが制御を続けます。
- Control Mode
- Balanced(デフォルト値)
参照画像や落書きとプロンプトの両方をバランスよく考慮して画像生成します。これは既定値です。Style Fidelityというパラメータで、参照画像のスタイルをどれだけ保持するかを調整できます。 - My prompt is more important
プロンプトの重みを増します。プロンプトによる脚色がやりやすくなります2。例えば、参照画像が女性の場合、プロンプトで「男性」と指定すると、顔や髪型は同じですが性別が変わった画像が生成されます。 - ControlNet is more important
参照画像や落書きを重視します。忠実に元画像を再現しようとします。例えば、参照画像がアニメ風の場合、プロンプトで「リアル」と指定しても、スタイルは同じままになります。
- Balanced(デフォルト値)
- Resize Mode
- Just resize
参照する画像や落書きはそのままの比率でリサイズされます。例えば、参照する画像が200x100ピクセルで、生成する画像が400x400ピクセルの場合、参照する画像は400x200ピクセルにリサイズされます。 - Crop and resize
参照する画像や落書きは中央部分を切り取ってリサイズされます。例えば、参照する画像が200x100ピクセルで、生成する画像が400x400ピクセルの場合、参照する画像は100x100ピクセルに切り取られてから400x400ピクセルにリサイズされます。 - Resize and fill
参照する画像や落書きはリサイズされた後に余白部分を埋めます。例えば、参照する画像が200x100ピクセルで、生成する画像が400x400ピクセルの場合、参照する画像は400x200ピクセルにリサイズされた後に上下に100ピクセルずつ余白が追加されます。
- Just resize
- [Loopback] Automatically send generated images to this ControlNet unit(デフォルト値:OFF)
[Loopback] Automatically send generated images to this ControlNet unitをONにすると、生成した画像を自動的にControlNetの入力画像として送ることができます。これにより、生成した画像をさらに編集したり、別のプリプロセッサやパラメータで再生成したりすることが容易になります。
- Presets
あらかじめ設定したControlNETのモードやパラメータを保存しておき、簡単に呼び出して利用できる機能です。例えば、参照画像のスタイルを保持したまま画像を生成するReferenceモードや、参照画像の一部を消して補完するInpaintモードなどをPresetsに登録しておくと、次回からはワンクリックでそのモードを適用できます。
ControlNETを使って画像生成をしてみよう!
アニメ系(anything-v4.5)と実写系(beautifulRealistic_v60)のモデルを使い、それぞれのControlNETの「Preprocessor」の違いによりどのよう画像が生成されるかをxyzPlotを用いて調べてみました。
Canny
元画像は、Civitaiの「https://civitai.com/images/815106?modelVersionId=5581&prioritizedUserIds=-1&period=AllTime&sort=Most+Reactions&limit=20」からダウンロードした画像を利用。
画像生成条件は次の通り。
- prompt
highres, ultra detailed, fantasy, masterpiece, best quality, A boy is running, smile, Short sideburns, closed mouth, Back to viewer, looking at viewer, perfect face, (Holding a ball in both hands:1.2), Short sleeve, Loose fitting pants, blue and purple Sky, sand, sea, coconut tree, Sports Backpack, (empty-handed : 1.3), analog photography, vibrant colors, dreamy atmosphere - Negative prompt
nsfw, EasyNegativeV2, badhandsv5-neg, bad_prompt_version2-neg, By bad artist -neg - CFG scale:8.5、Steps:20、Sampler:Euler a、Seed:-1、Clip skip:2、Width:1024、Height:768
- Control Weight:1、Starting Control Step:0、Ending Control Step:1、Control Mode:Balanced、Resize Mode:Crop and Resize
Depth
元画像は、Civitaiの「https://civitai.com/images/1775802?period=AllTime&periodMode=published&sort=Newest&view=categories&modelVersionId=113479&modelId=25494&postId=441853」からダウンロードした画像を利用
画像生成条件は次の通り。
- prompt
(((masterpiece))), best quality, [ultra detailed|extremely detailed], detailed background, glowing, light particles, light rays, atmospheric lighting, 1girl, detailed face, long hair, looking at viewer, detailed face of 1girl, close up, analog kodak film, outdoors, sunlights, sea, floating hairs, best quality ,masterpiece, an extremely delicate and beautiful, extremely detailed ,CG ,unity ,8k wallpaper, Amazing, finely detail, masterpiece, best quality, extremely detailed CG unity 8k wallpaper, absurdres, incredibly absurdres, huge filesize , ultra-detailed, highres, extremely detailed, pureerosface_v1, beautiful detailed girl, extremely detailed eyes and face, beautiful detailed eyes, - Negative prompt
ng_deepnegative_v1_75t, paintings, sketches,. easynegative, (worst quality:2), (low quality:2), (normal quality:2), lowres, bad anatomy, normal quality, ((monochrome)), ((grayscale)), watermark, ((face paint)), ((freckles)), ((muscular)), (extra digits), (cat ears), (animal ears), (writing), (signature), (watermark), (words), (closed eyes:1.4), mole, skin spots, acnes, skin blemishes, age spot, bad eyes, asymmetrical eyes, bad hands, bad fingers, bad mouth, bhands-neg, (badhandv4), bad-hands-5, (bad-artist:0.7), (bad_prompt_version2:0.6), long neck - CFG scale:7、Steps:20、Sampler:DPM++ SDE Karras、Seed:-1、Clip skip:2、Width:1024、Height:1024
- Control Weight:1、Starting Control Step:0、Ending Control Step:1、Control Mode:Balanced、Resize Mode:Crop and Resize
NormalMap
元画像は、Civitaiの「https://civitai.com/images/905352?modelVersionId=80660&prioritizedUserIds=349177&period=AllTime&sort=Most+Reactions&limit=20」からダウンロードした画像を利用
画像生成条件は次の通り。
- prompt
room,simple style:1.2,white wall,white sofa, <lora:Interior-desighv2-1:0.8> - Negative prompt
EasyNegative - CFG scale:7、Steps:20、Sampler:DPM++ 2M Karras、Seed:-1、Clip skip:2、Width:1024、Height:1024
- Control Weight:1、Starting Control Step:0、Ending Control Step:1、Control Mode:Balanced、Resize Mode:Crop and Resize
OpenPose
元画像は、Noteの記事「https://note.com/koresugo/n/n59754c83b3cd」から手を合わせて座禅を組んでいる画像を利用させていただきました。
画像生成条件は次の通り。
- prompt
masterpiece, best quality, highly detailed beautiful face and eyes, 1 boy, smile, blue eyes, sliver hair, black t shirt, blue pants, street, tokyo - Negative prompt
nsfw, flat color, flat shading, retro style, poor quality, bad face, bad fingers, bad anatomy, missing fingers, low res, cropped, signature, watermark, username, artist name, text - CFG scale:7、Steps:20、Sampler:DPM++ 2M Karras、Seed:-1、Clip skip:2、Width:1024、Height:1024
- Control Weight:1、Starting Control Step:0、Ending Control Step:1、Control Mode:Balanced、Resize Mode:Crop and Resize
MSLD
元画像は、Civitaiの「https://civitai.com/images/905352?modelVersionId=80660&prioritizedUserIds=349177&period=AllTime&sort=Most+Reactions&limit=20」からダウンロードした画像を利用
- prompt
room,simple style:1.2,white wall,white sofa, <lora:Interior-desighv2-1:0.8> - Negative prompt
EasyNegative - CFG scale:7、Steps:20、Sampler:DPM++ 2M Karras、Seed:-1、Clip skip:2、Width:1024、Height:1024
- Control Weight:1、Starting Control Step:0、Ending Control Step:1、Control Mode:Balanced、Resize Mode:Crop and Resize
Linart
元画像は、Civitaiの「https://civitai.com/images/2191138?period=AllTime」からダウンロードした画像を利用。
- prompt
a book bag, PIP,Isometric viewing angle, Simple background, masterpiece, best quality - Negative prompt
EasyNegativeV2 - CFG scale:7、Steps:20、Sampler:DPM++ 2M Karras、Seed:-1、Clip skip:2、Width:1024、Height:1024
- Control Weight:1、Starting Control Step:0、Ending Control Step:1、Control Mode:Balanced、Resize Mode:Crop and Resize
SoftEdge
元画像は、Civitaiの「https://civitai.com/images/1694891?period=AllTime」からダウンロードした画像を利用。
画像生成条件は次の通り。
- prompt
handsome man, wild hair, elegant, tech noir bar, fight, natural skin texture, (((suit))), cane, dashing smile, 24mm, 4k textures, soft cinematic light, adobe lightroom, photolab, hdr, intricate, elegant, highly detailed, sharp focus, ((((cinematic look)))), soothing tones, insane details, intricate details, hyperdetailed, low contrast, soft cinematic light, exposure blend, hdr, faded - Negative prompt
EasyNegativeV2 - CFG scale:7、Steps:20、Sampler:DPM++ 2M Karras、Seed:-1、Clip skip:2、Width:752、Height:992
- Control Weight:1、Starting Control Step:0、Ending Control Step:1、Control Mode:Balanced、Resize Mode:Crop and Resize
Scribble/Sketch
元画像は、Civitaiの「https://civitai.com/images/545033?period=AllTime」からダウンロードした画像を利用。
画像生成条件は次の通り。
- prompt
Perfect landscape, Io scenery, secret garden, sunrise, sci-fi, HDR, DOF, torches, Destiny 2 style - Negative prompt
EasyNegativeV2 - CFG scale:6.5、Steps:20、Sampler:DPM++ 2M Karras、Seed:2188110525、Clip skip:2、Width:1088、Height:896
- Control Weight:1、Starting Control Step:0、Ending Control Step:1、Control Mode:Balanced、Resize Mode:Crop and Resize
Segmentation
元画像は、Civitaiの「https://civitai.com/images/1051221?period=AllTime」からダウンロードした画像を利用。
画像生成条件は次の通り。
- prompt
A perfect photo of a gorgeous modern house in a modern world - Negative prompt
EasyNegativeV2 - CFG scale:5.5、Steps:20、Sampler:DPM++ 2M Karras、Seed:1955296456、Clip skip:2、Width:1088、Height:896
- Control Weight:1、Starting Control Step:0、Ending Control Step:1、Control Mode:Balanced、Resize Mode:Crop and Resize
Shuffle
元画像は、Civitaiの「https://civitai.com/images/243281?period=AllTime」からダウンロードした画像を利用。
画像生成条件は次の通り。
- prompt
dreamlikeart, cute iron man, detailed , trending on arstation, digital art - Negative prompt
EasyNegativeV2 - CFG scale:6.5、Steps:20、Sampler:DPM++ 3M SDE Karras、Seed:2596764057、Clip skip:2、Width:1088、Height:896
- Control Weight:1、Starting Control Step:0、Ending Control Step:1、Control Mode:Balanced、Resize Mode:Crop and Resize
Tile
元画像は、実写系のモデル「beautifulRealistic_v60」で実際に作成した画像を使用。
画像生成条件は次の通り。
- prompt
Cute dog on grassland - Negative prompt
EasyNegativeV2 - CFG scale:7、Steps:30、Sampler:Euler a、Seed:-1、Clip skip:2、Width:512、Height:512
- Control Weight:1、Starting Control Step:0、Ending Control Step:1、Control Mode:Balanced、Resize Mode:Crop and Resize
Inpaint
元画像は、Civitaiの「https://civitai.com/images/1694891?period=AllTime」からダウンロードした画像を利用。
画像生成条件は次の通り。
- prompt
handsome man, wild hair, elegant, tech noir bar, fight, natural skin texture, (((suit))), cane, dashing smile, 24mm, 4k textures, soft cinematic light, adobe lightroom, photolab, hdr, intricate, elegant, highly detailed, sharp focus, ((((cinematic look)))), soothing tones, insane details, intricate details, hyperdetailed, low contrast, soft cinematic light, exposure blend, hdr, faded - Negative prompt
EasyNegativeV2 - CFG scale:7、Steps:20、Sampler:DPM++ 2M Karras、Seed:-1、Clip skip:2、Width:1152、Height:1664
- Control Weight:1、Starting Control Step:0、Ending Control Step:1、Control Mode:Balanced、Resize Mode:Crop and Resize
InstructP2P
元画像は、実写系のモデル「beautifulRealistic_v60」で実際に作成した画像を使用。
- prompt
Perfect landscape, Io scenery, secret garden, sunrise, sci-fi, HDR, DOF, torches, Destiny 2 style - Negative prompt
EasyNegativeV2 - CFG scale:6.5、Steps:20、Sampler:DPM++ 2M Karras、Seed:2188110525、Clip skip:2、Width:1088、Height:896
- Control Weight:1、Starting Control Step:0、Ending Control Step:1、Control Mode:Balanced、Resize Mode:Crop and Resize
Reference
元画像は、Civitaiの「https://civitai.com/images/2354658?postId=568680&tags=2397」からダウンロードした画像を利用。
画像生成条件は次の通り。
- prompt
1girl, cowboy shot, large breasts, off shoulder, japanese clothes, chest sarashi, crossed arms, thighhighs, sash - Negative prompt
EasyNegativeV2 - CFG scale:7、Steps:20、Sampler:DPM++ 2M Karras、Seed:-1、Clip skip:2、Width:512、Height:740
- Control Weight:1、Starting Control Step:0、Ending Control Step:1、Control Mode:Balanced、Resize Mode:Crop and Resize
おわりに
この記事では、Automatic1111 WebUIの拡張機能であるContorolNETのインストール、設定、使い方について詳しく解説しました。
Windows11 Pro、Windowsバージョン22H2、Automatic1111 WebUIバージョン1.6.0、ContorolNETバージョン1.4を使用して説明しました。
記事を読むことで、ControlNETのインストール方法や設定方法、使い方などについて理解を深めることができます。
以上です。
コメント