Control Net 拡張機能を利用することで、キャラのポーズをある程度コントロールすることができます。その他、線画を塗ってもらうとかもできます。
Control Net の入れ方について、以前の記事に書いていたので、導入方法はそちらをご参考ください。
Control Net 機能について
- openpose:画像からポーズを再現する
- Canny:線画抽出(キャラクターの線がを抽出する機能)&線が塗り
- MLSD:直線抽出機能、Canny と似ているが、建物とかの線の抽出に向いている
- normal_map:表面の凹凸検出(3D向けかも)
- Depth:画像の奥行を抽出する。奥行のあるものに向いているかも
- Depth_leres:preprocessor 部分のみに存在、モデルは Depth を利用
- HED:Cannyににってるが、輪郭の強弱も拾っているようなので、立体感がでるかも
- repaint に向ているらしい
- pidinet:preprocessor 部分のみに存在、モデルは HED 利用
- よりはっきりした HED(Canny でいいんじゃない感じがする)
- scribble:落書きから画像を推測して画像を作成する
- prompt でしっかり誘導すると、効果がいいかも?
- Fake-scribble:preprocessor 部分のみに存在、モデルは scribble 利用
- 画像 → 落書き → 画像
- 写真からイラストを作るに向いているかも?
- Segmentation:画像から色の違いを抽出して、床や壁を書いてくれる
イラストを描くなら、openpose と Canny のほうがよく使うと思います。
使い分け
キャラクターイラスト:
- openpose
- Canny
- Depth
- Depth_leres
背景、建物の図:
- MLSD
- Depth
- Depth_leres
- Segmentation
アイディア生み出すや模様の置き換えなど:
- Canny
- Scribble
- Fake-scribble
新しいバージョンでいろいろモデルが追加されていくので、細かくチェックするには、作者の Wiki を見たほうが良いと思います。
https://github.com/lllyasviel/ControlNet-v1-1-nightly
使い方
画像とかインポートするのですが、Prompt もメインの部分なので、両方使って画像を生成します。
機能の有効化
有効にしないと使えないので、機能の有効は Control Net の以下の部分でします。
事前設定 - ディテクトマップ自動保存
ディテクトマップを自動保存させることができます。自動保存有効にすると、Stable-Diffusion-WebUI\stable-diffusion-webui\outputs\txt2img-images\detected_maps\canny
に保存されます。
※ ディテクトマップについて、説明は後続の内容で分かります。
設定箇所はこちら:
基本的な使い方
sd webui に特化したものにしてくれた Mikubill 氏の Github にも使い方とサンプルが載っていますので、把握しておきたい場合、こちらも参考するといいでしょうか。
モデルの指定のところは二つの設定はあります
- preprocessor(事前処理):アップロードした画像からディテクトマップを生成する
- ディテクトマップ(detectmap:検出マップ図):AI のモデルが識別できるような図(openpose の場合は棒人間の図)
- Model:ディテクトマップから画像を生成する
- もしディテクトマップをお持ちの場合、preprocessor を None で直接画像を生成できる
今回は openpose と Canny の使い方をまとめます。
- openpose:画像からポーズを再現する
- 棒人間の図(ディテクトマップ)使って、同じポーズで図を生成する
- preprocessor(事前処理):None
- Model:openpose
- 画像から棒人間を抽出して、同じポーズで図を作成する
- preprocessor:openpose
- Model:openpose
- Canny:線画抽出(キャラクターの線がを抽出する機能)
- 線画(ディテクトマップ)を選択して、主体を prompt に記載(例:
1girl,
)することで、線画を塗ってくれる - preprocessor:none
- Model:canny
- 画像から線画を抽出して、その線画を使って塗りなおす
- preprocessor:canny
- Model:canny
- 自前の線画を使う場合、「invert input color」にチェック入れて、そのまま使用可能
- これは PC のほうは白が線、黒が空白と認識しているから
- preprocessor:none
- Model:canny
- 線画(ディテクトマップ)を選択して、主体を prompt に記載(例:
コメント