ControlNetとは?
「プロンプトだけでキャラに好きなポーズを取らせるのは難しい…」それはもう昔の話。
ポーズを自由に指定できる革命的新技術ControlNet(コントロールネット)が登場したからです!
AIの進歩は目まぐるしく「あと1年は無理だろうな…」と思っていたことが次の日には解決したりします。この技術が登場してから、巷ではゲームエンドと大きな話題になりました。
このようにControlNetではボーン(棒人間)画像など、キャラクターのポーズを誘導するための画像を作り、それを読み込ませることで生成結果に反映させられます。ControlNetで構図を指定する方法はボーン以外にも、輪郭線・深度情報・簡単なデッサンなどいろんな種類があります。
公式ページ
ControlNetのインストール方法
「拡張機能」⇒「URLからインストール」⇒「拡張機能のリポジトリのURL」の欄に公式ページのURL
https://github.com/Mikubill/sd-webui-controlnet
を入力してから「インストール」ボタンをクリックするだけです。WebUIを再読み込みすると、拡張機能のインストールが完了します。「ControlNet」が追加されていたら成功です。
ControlNetに必要なモデルのダウンロード
ControlNetでは変換のためのモデルが8種類用意されています。
モデルを使うことでStableDiffusionの構図を誘導するためのデータが作れます。
上記から必要なモデルをダウンロードして以下のフォルダに格納します。
stable-diffusion-webui/extensions/sd-webui-controlnet/models
すべてのモデルをダウンロードすることをオススメしますが、容量が大きいので用途に応じて使いたいモデルだけをダウンロードしてもOKです。
それぞれのモデルの特徴を簡単に説明します。
モデル名 | 特徴 | ファイル名 |
canny | 絵の輪郭線を抽出 | control_canny-fp16.safetensors |
depth | 絵の深度マップを抽出 | control_depth-fp16.safetensors |
hed | 絵の滑らかな輪郭を抽出 | control_hed-fp16.safetensors |
mlsd | 絵の直線部分を抽出 | control_mlsd-fp16.safetensors |
normal | 絵の法線マップを作成 | control_normal-fp16.safetensors |
openpose | ボーン(棒人間)を作成 | control_openpose-fp16.safetensors |
scribble | 手描きイラストを元に作成 | control_scribble-fp16.safetensors |
segmentation | セグメントを作成 | control_seg-fp16.safetensors |
各モデルの特徴をより詳しく知りたい方はこちらの記事をご覧ください。
利用方法
簡単に利用方法を説明します。
まず「ここに画像をドロップ-または-クリックしてアップロード」の箇所に構図を参考にしたい画像を貼り付けます。
次に「Enable」にチェックを入れControlNetを有効化します。
使用するプリプロセッサとモデルを選択します。例えばcannyを使用したい場合はPreprocessorに「canny」を選択し、モデルは「control_canny-fp16」を選択します。
Canvas WidthとCanvas Heightは取り込んだ画像の幅と高さに合わせます。
あとは「生成」をクリックすれば、ControlNetで指定した構図で画像が生成されます。
項目の詳細な解説
項目やパラメータ設定について詳細に解説します。
ControlNetで使用するポーズの作り方
Openpose Editor
Openpose EditorはOpenposeで使用するボーン(棒人間)をWebUI上で簡単に作れる拡張機能です。同様の方法でインストールできます。以下URLを指定してインストールしてください。
ControlNetのエラーについて
ControlNetは現在Stable Diffusion1.5をベースにしたモデルのみ利用可能です。
対応していないモデルでは上記のエラーが発生します。
Stable Diffusion1.5以外のモデルでControlNetを利用する方法についてはまたの機会に記事にするのでお待ちください。
コメント