ControlNet

Last-modified: 2025-12-11 (木) 21:05:16

ControlNetとは

概要

現在のAI絵において、最も基本的な指示の仕方はtxt2img。テキストで指示文(プロンプト)を与えて画像生成する方法だ。
しかしテキストによる指示だけでは領域の指定がしづらいため、構図やポーズを細かく制御するのが難しい。

ControlNetは、それを補うための追加の指示方法。
略して「CN」と呼ばれることもある。
画像を参照させることで、生成結果を制御する。
テキストによる指示文に、ControlNetによる画像参照も併用すると、構図やポーズなどに関する指示をより具体的に与えることができ、ユーザーの希望に近い結果を得やすくなる。

ControlNetのメリット

ControlNetimg2img【参考】
指定した要素をトレースできるトレース対象を選べない
-線画に対して超強力に着色可能
-画像から線画を抽出可能
これを利用して 画像→線画→再着色 で全く別の色にもできる
-画像からポーズだけ抽出して別人や別衣装を適用可能
-元画像の「色」を強く拾う
-だから線画に対して着色する能力が弱い
雑でもいいから人間があらかじめ多少塗ってあげて、色の参考にさせる必要あり
-ポーズや構図を維持しつつ別衣装を着させようとしても、元画像の色が強く残る
条件付けやモデルに作用する
LoRAの重ね掛け同様、他のモデルやプロンプトと競合して出力品質に影響を及ぼすことがある
キャンバスの初期値をダミー画像から元画像に差し替えるだけ
出力品質はt2iと同程度

よくある誤解

  • 「なるほどimg2imgの上位互換か」
  • 「i2iでよくね?」

違うんだよかーちゃん!
ガンキャノンとガンタンク
侍と忍者を比べるようなもんだぞ
色情報を拾うか拾わないかは用途次第で長所にも短所にもなる

導入方法

拡張機能の導入

ツールによって異なるが、中には最初から用意されている場合もある。

  • 1111:
    拡張機能「sd-webui-controlnet」を導入する必要がある。
    https://github.com/Mikubill/sd-webui-controlnet
    手順は一般的な拡張機能の導入方法と同様。
    1111に拡張機能を入れるのは今回が初めて…という傾奇者向けの詳しい説明

    1111に拡張機能を入れるのは今回が初めて…という傾奇者向けの詳しい説明

    1. 1111を起動後にExtensionsのタブを開く
    2. Install from URLのタブを開く
    3. 一番上の欄(URL for extension's git repository)に
      https://github.com/Mikubill/sd-webui-controlnet
      をコピペして Install ボタンを押す
      数秒立つとInstallボタンの下にDL完了を知らせるメッセージが出る
    4. Installedのタブを開く
    5.  Apply and quit を押す
    6. あらためて1111を起動する
    txt2imgやimg2imgの左下に[ControlNet v◯◯ ◀]のアコーディオンパネルが追加される。
  • Forge/reForge/Forge Classic:
    ビルトイン拡張機能として「sd_forge_controlnet」があらかじめ同梱・組み込みされている。
    txt2imgやimg2imgの左下に[ControlNet Integrated ◀]のアコーディオンパネルがある。
  • ComfyUI:
    ControlNet用のノードが標準でいくつか用意されている。
    • 「ControlNetモデルを読み込む」:
      ControlNet用モデル(cannyやopenposeなど)を読み込むためのノード。
      右クリック→ノードを追加→ローダー→ControlNetモデルを読み込む
    • 「ControlNetを適用」:
      ControlNetを適用する強さなどを制御するためのノード。
      右クリック→ノードを追加→サンプリング→コントロールネット→ControlNetを適用
    • しかしこれらだけでは、画像からControlNet用の参照画像を作ること(=前処理、プリプロセス)ができない。
      実用性を考えると、
      「ControlNet Auxiliary Preprocessors (comfyui_controlnet_aux)」
      https://github.com/Fannovel16/comfyui_controlnet_aux
      も導入する必要があるだろう。
    • また、reference only(ReferenceOnlySimple)だけはComfyUI_experimentsというカスタムノードパッケージに分けられている

ControlNet用モデルの準備

プリプロセッサ

  • Stable Diffusion web UI系(1111/Forge/reForge/Forge Classicなど)では、使用する際に自動的にDLされる仕組みになっている。なのであまり気にしなくて良い。
  • ComfyUIでは: (情報求む)

ControlNet用モデル

ComfyUIでは、ComfyUI Managerを利用して導入すると楽。
ComfyUI Manager→Model Manager→「Type: controlnet」で絞り込み

手動で用意する場合は、CivitaiHugging Faceなどから探す。
txt2imgやimg2imgで利用するモデル系統に合わせて探すこと。
IL用のモデルにSD1.5用LoRAを適用しても効果を得られないように、
txt2img用モデルとControlNet用モデルにも相性がある。

DLしたControlNet用モデルは、以下の場所に置く。

models\ControlNet

1111の場合は、下記の場所でも良い。

extensions\sd-webui-controlnet\models

同様に、Forge系(Forge/reForge/Forge Classicなど)の場合は、下記の場所でも良い。

extensions-builtin\sd_forge_controlnet\models

動作テストという名のチュートリアル

※SD1.5当時の内容なので注意。

(例題1) 棒人間→画像 (none + openpose)

棒人間
この棒人間のポーズを、生成画像に反映させてみよう。

もっと見る
  1. まずは上の棒人間画像を保存
  2. txt2imgの通常の範囲の設定を行う
    モデルお好みで。ただしSD2.xベースのモデルやWD1.5には未対応。
    良い結果を得られなかったら他のモデルで試してみよう
    プロンプト1girl, solo, smile, thumbs up, BREAK, red and yellow sunburst background,
    ネガティブ(worst quality:1.4), (low quality:1.4), (monochrome:1.1),
    画像サイズ512x512
    ステップ数15 (動作確認なので時間短縮のために)
    枚数合計6 (多少のガチャ要素があるので)
  3. txt2imgの左下、scriptの上辺りに [ControlNet ◀] のパネルがある。
    クリックして開き、棒人間画像をドラッグ&ドロップ
  4. ControlNetのパラメータを設定していく
    Enable☑ONControlNetの電源スイッチ的なもの。
    ControlNetを利用する際は当然ONにする。逆に普段はOFFにしとこう
    Preprocessornone前処理の内容。今回はもう棒人間を用意してあるから前処理は不要。
    なのでnoneにする。
    としあきが触ってない限りデフォルトでnoneだけどね
    Modelcontrol_v11p_sd15_openpose_fp16
    もしくは、1.0用である「control_openpose-fp16」でもOK
    処理内容の種類。今回は棒人間用のもの
  5.  Generate だ!

元画像にあった棒人間のポーズや構図が反映されていれば成功だよ

困った時は

  • 効果が全く出ない(ポーズや構図が全く反映されてなさそう)場合は、まずStable Diffusion web UIを最新版に更新してみてね

(例題2) 画像→線画→画像 (canny + canny)

黒髪ポニテ
このポニテ少女の黒髪を、金髪に塗り替えてみよう。

もっと見る
img2imgで金髪にしたもの

左の画像はimg2img(ノイズ除去0.75)を使って金髪にしたもの。
i2iは元画像の色に従うので、暗い黒髪から明るい金髪への塗り直しとなると、ノイズ除去の値をこれくらい高くする必要がある。
そうなると元画像からの乖離も大きくなってしまう…というのは周知の通り。
人間がある程度金髪に塗ってから髪だけInpaintするとか、フォトショで範囲を指定しつつ色置換する等の手もあるけど…
今回はControlNetのcannyを試してみよっか。

  1. 黒髪ポニテの画像を保存
  2. txt2imgの普通の部分の設定
    モデルお好みで。以下略
    プロンプト1girl, solo, upper body, smile, blonde hair, pony tail,
    ネガティブ(worst quality:1.4), (low quality:1.4), (monochrome:1.1),
    画像サイズ512x512
    ステップ数15
    枚数合計6
  3. [ControlNet ◀] のパネルを開き、黒髪ポニテの画像を突っ込む
  4. ControlNetのパラメータを設定していく
    Enable☑ONそらそうよ
    Preprocessorcanny前処理。これを利用して画像から線画にしてもらう
    Modelcontrol_v11p_sd15_canny_fp16
    もしくは、1.0用である「control_canny-fp16」でもOK
    線画用のモデル
  5.  Generate だ!

結果を見ると、元画像の線がかなり維持されているはずだ(設定次第で調節できる)。
しかし元画像の色がほとんど失われているので「必ずしもi2iの強化版とは言えない」ことも分かるだろう。

(例題2.5) 編集範囲を限定する(img2imgタブからの利用)

黒髪ポニテ
例題2では線画を維持しつつ、金髪への塗り直しができた。でも背景および衣装の配色までも、元画像とは大きく異なる結果になってしまったよね。
そこで今回はtxt2imgタブではなく、img2imgタブからControlNetを利用してみよう。
InpaintやInpaint uploadを使うと、編集範囲の限定が可能になる。これにより、髪だけを金色に塗り直しつつ、それ以外の部分を保持することができる。
前回同様にControlNetのcannyを用いるから、髪の線画ももちろん維持できるぞ。

もっと見る

さて今回使うimg2imgタブだけれど、編集範囲の指定はInpaintとInpaint uploadのどちらでも可能。
前者は手動でブラシ塗りしてマスクを作成。後者は(あらかじめ画像編集ソフトなどで作成したグレースケールの)画像ファイルを読み込んでマスクとして利用する…という違いがある。
例えば瞳やリボンのような狭い範囲なら、手塗りのマスクでも十分だから、Inpaintの方が手っ取り早いんだけど…
今回は黒髪を金髪に塗り直したい。範囲が広い上にかなり複雑な形状なので、筆者が画像編集ソフトを使ってマスク画像を作成して用意した。これをInpaint uploadで読み込ませて利用しよう。

  1. img2img(Inpaint upload)の設定
    モデルお好みで。以下略
    プロンプト1girl, solo, upper body, smile, blonde hair, pony tail,
    ネガティブ(worst quality:1.4), (low quality:1.4), (monochrome:1.1),
    画像(上段)黒髪ポニテ
    画像(下段)髪部分のマスク
    Mask blur1
    画像サイズ512x512
    ステップ数15
    枚数合計6
    Denoising strength0.8
    ここで2つ注意点がある。
    Mask blurは、マスクの境界線を指定ピクセル分だけ「ぼかす」設定だ。マスク箇所とそれ以外を上手く馴染ませる効果を狙って調整する。デフォルト値は4。大抵の場合は4~10くらいでいいだろう。ただし今回は髪のマスクにとても細い部分も含まれているので、0~2くらいの小さめの値が望ましいように思う(個人の感想です)。
    Denoising strengthは、元画像にどの程度の変化を加えるかの設定。今回は黒髪から金髪に変化させたいのだが、0.6や0.7程度ではせいぜい茶髪くらいまでしか変化しない。という理由から0.8にしてある。1.0みたいな大胆な値でも一応いけるっぽい。
  2. [ControlNet ◀] のパネルを開き、黒髪ポニテの画像を突っ込む
  3. ControlNetのパラメータを設定していく。内容は例題2とまるっきり同じ
    Enable☑ONそらそうよ
    Preprocessorcanny前処理。これを利用して画像から線画にしてもらう
    Modelcontrol_v11p_sd15_canny_fp16
    もしくは、1.0用である「control_canny-fp16」でもOK
    線画用のモデル
  4.  Generate だ!

使い方

パラメータ

(2023/12/11)ControlNet v1.1.422に基づく

項目解説
📝(Open new canvas)既存の画像ではなく自分の手描きで始める場合に利用するボタン。手書き用のキャンバスの設定パネルを表示する
New Canvas Width
New Canvas Height
手描き用のキャンバスを新規作成する際の幅と高さ。
画像ファイルを読み込ませて利用する場合には影響しない
Create New Canvas空(白背景)のキャンバスを作成する
📷(Enable webcam)Webカメラを有効にする
⇄(Mirror webcam)Webカメラの画像を左右反転させる
⤴(Send dimensions to stable diffusion)画像を読み込ませた状態でこのボタンを押すと、画像の幅と高さが、txt2imgやimg2imgのWidthとHeightにコピペされる
EnableControlNet自体の有効/無効化
Low VRAMグラボのVRAMが少ない、あるいは大きな画像を出したいのにVRAMが不足するという場合にONにする。
デメリットとして画像の生成速度が遅くなる。一度に口に入り切らないから少しずつ齧る…みたいなイメージ
Pixel PerfectONにすると、Preprocessor Resolutionの値が自動的に調節されるようになる。なのでPreprocessor Resolutionの項目は非表示になる
Allow PreviewONにすると、Preporcessor Previewの表示枠が出現する
💥Preporcessor Previewの表示を更新する
Control WeightREADME.md参照
Starting Control Step
Ending Control Step
Control ModeREADME.mdに詳しい説明がある
・Balancedバランス型。デフォルトはこれ
・My prompt is more importantプロンプト重視
・ControlNet is more important元画像重視。1.0ではGuess Modeという名称だった
Resize Mode拡大縮小の種類
・Just Resizeアスペクト比(縦横比)を維持せずに拡大・縮小する
・Crop and Resizeアスペクト比を維持して拡大/縮小する。はみ出る部分はトリミング(切り取り)される
・Resize and Fillアスペクト比を維持して拡大/縮小する。足りない領域は描き足される
[Loopback] Automatically send generated images to this ControlNet unit
Presetsよく使う設定の組み合わせをプリセットとして保存/読み込みできる

他に、Preprocessorをnone以外に切り替えることで出現するパラメータもある。
それらを利用すると、元画像から中間画像を変換・抽出する前処理の解像度や加減を調節できる。
(例えばcannyで線画を抽出する強弱など)

パラメータ(ComfyUI

ControlNetを適用」ノード

タイプ項目解説
入出力ポジティブ
ネガティブ
プロンプト(条件付け)から伸びているラインに挟む
入力コントロールネットControlNetモデルを読み込む」からつなぐ
やりたい処理(とベースモデル)にあったモデルを入力しないと破綻する
画像Scribble線画情報などを入力する。
必要な画像はプリプロセッサによる。
comfyui_controlnet_auxで他の画像から抽出することもできる。
VAEベースモデルのVAEをつなぐ
パラメータ※適切な設定値はControlNetモデルによって異なる。
強度名前の通り。デフォルト値の1.0は強めだがそのままでも割といける。
うまくいかなかったら下げてみる。
開始パーセント何ステップ目からControlNetをかけるか。
ControlNetを複数適用する場合は段階的にかかるようにすると良いかもしれない。
終了パーセント何ステップ目でControlNet適用を止めるか。
ControlNetモデルによっては、あまり遅くまでかけるとベースモデルと処理がかち合って破綻する場合がある。
構図指定系は0.5以下にしても割と効く。

「ReferenceOnlySimple」ノード(ComfyUI_examples)

入力model画像生成モデル
refrence参照画像を「VAEエンコード」して入れる
出力モデルReferenceOnly適用済みモデル
かなり効果は弱いがモデルだけでも一応有効。
例えば半身画を参照させておくと顔が見切れた画像*1は生成されにくくなる。
潜在プリプロセッサが参照する潜在画像
モデルと一緒に入力しないとほぼ無意味。
この潜在画像ごとサンプラーに入力しないと画風がほとんど反映されない。
逆に言うと二次絵を参照させて実写系画像を生成したいときなど画風をあまり反映したくないときはあえて入れないのも手。

出力側の潜在画像はインデックス0に参照画像が入ったバッチになるので、ReferenceOnlyを切るときや出力時には「バッチから(潜在)画像を取得」でインデックス0を捨てる必要がある
パラメータbatch_size何のパラメータだか分かってないなら「1」で固定する

プリプロセッサの種類と用途

種類と用途の早見表

プリプロセッサ名抽出対象使用例用途
none「前処理いらないよ」という指示。
手持ちの線画や棒人間画像から開始する時はこれ
binaryscribbleの閾値付きバージョン。グレースケール系の線画に着色させたい場合とかに使う。
閾値を0 or 255に設定すると、大津の手法使って自動でいい感じの閾値が設定される。
canny線画
エッジ検出
・二次絵の書き換えに全力出せる
・canny法と呼ばれるエッジ検出法を使う
clip_vison
color
depth深度情報
奥行き
・主に実写を使ってやるのに使う。
・ズーム写真(POV)のポーズ流用が得意
depth_leres
hed輪郭cannyより大雑把な輪郭。ソフトエッジ
mlsd直線家具とか家とかのまっすぐなやつを拾う用
normal_map法線情報*23D人形とかをベースにするときにつよい
openposeポーズ棒人形。みんな知ってるよね
openpose_handポーズ(手を含む)棒人形+手
pidinet輪郭hedと何が違うのかよく分からん
reference only全体的な特徴・画像のキャラや画風と特徴等を、セットで抽出する。手持ち画像のキャラを登場させることができる(学習不要なので便利)。
コピー機学習で差分画像を作るのに役立つ。
・簡易的な学習データ相当としても使える
scribbleラフ絵ラフ絵をなんとかする。マウスで丸書いてちょんで顔になる
segmentation入力画像を領域分けする。モデルはcontrolnet_seg。実写映像で構図を決めて差し替えに使える。二次絵だとイマイチ読んでくれない。
 

用途で選ぶプリプロセッサ

・簡単にポーズさせたいならopenpose
・塗り絵や色変え表情変えならcanny
・3Dモデルを使ってポーズさせてるならnormal_map
・構図を維持したまま服装や背景を変えたい場合はsegmentation
・線画に色を付けたいならbinary(ModelはScribbleを指定)

segmentationの実例
適当に生成

これを服装をゴスロリにしてお城に移動させると
こうできる

服装と背景のプロンプトを書き換え

補足

  • PreprocessorとModelは基本的にセット、ペアとして考えよう。
    例えばPreprocessorをcannyにするなら、モデルにはcontrol_canny-fp16を選ぶ。
  • 前処理(postprocess)をすっ飛ばしたい場合、つまり手元にある線画や棒人間の画像を読み込ませて実行する場合は、preprocessorをnoneにして、Modelだけを選択する。

メモや注意点

  • モデルとの相性が存在する。というかSD2.x系列のモデル…具体的にはSD2.1やWD1.5は、モデルの作りが大きく異なるため利用できない。
  • 元画像の影響を強く受けすぎてしまう場合は、Weightの値を思い切って0.5や0.3などに下げてみる。
  • 線画や棒人間の画像を保存する方法はいくつかある。
    • Stable Diffusion web UI画面右のギャラリーから手動で保存する。
    • C:\Users\(ユーザー名)\AppData\Local\Temp を覗く。ショトカを作っておくのも手。
      ただしこのフォルダは定期的に掃除すべき場所の一つなので、Windowsか何かにいつ掃除されてもおかしくない。
    • Settings → ControlNet → Allow detectmap auto saving
      をONにして、ページ上部にある Apply setting を押す。
      保存場所はDirectory for detected maps auto savingで指定する。↓の画像参照
      detectmap_auto_saving.png

Multi-ControlNet

  • なにそれ?
  • どうやって有効化するの?

https://github.com/Mikubill/sd-webui-controlnet#multi-controlnet
1677153275141.png

m2m

movie2movie。動画ファイルを読み込ませて、それをベースにAI絵の動画ファイル(.gif形式)を作成する機能。
今のところフレーム間の連続性を補正する機能は無い。単純にバッチ処理で次々とControlNetに送って、最後にgifファイルにまとめている。
seedを任意の値で固定すると、seed=-1 よりはだいぶ良好な結果を得られる(チラつき低減)。
img2imgタブからも利用できるが、ベースとして指定できる画像は1枚だけ。将来的には1フレームずつ自動で送って元絵にできるかもしれない。

有効化する方法

  1. まずMikubill版ControlNet拡張機能を最新版にしておく
     誘導→Extensions#拡張機能の更新方法
  2. Settings → ControlNet → Allow other script to control this extension
    をONにして、ページ上部にある Apply setting を押す

注意

動画って基本的にすげー枚数を生成することになる
30fps 10秒の動画ですら300枚だぞ
だから最初は2~3秒くらいの動画にしとけ
あとtxt2imgのWidthとHeightも小さめのサイズにしとけ
16:9なら320x180とか640x360とかね

使用方法

使用方法

  1. txt2imgのControlNetのパネルを開き、いつも通りEnableをONにする。
    画像は読み込ませなくていい。
    PreprocessorとModelの指定は必要。
    普通の実写動画だったらopenpose+openposeとか、depth+depthとか?
    blenderとかで用意した棒人間動画だったらnone+openposeとか?
  2. Scriptのプルダウンリストからcontrolnet m2mを選択する。
    すると[ControlNet-M2M ◀]のパネルが出現する。
  3. ControlNet-M2Mのパネルを開き、動画ファイルを読み込ませる。
    対応しているファイル形式はmp4、avi、webm等。
    クリックすればWindowsのエクスプローラーが起動するから、詳細はそこで確認してね。
  4. Durationのスライダーの作用はよくわかってない…
  5. いつも通り Generate で生成開始

動画内の全フレームに対して1枚ずつ自動的にControlNet処理が施されていく
それが終わるととりあえずStable Diffusion web UIちゃんから完了通知が出るけど
実際にはその後animation.gifの作成まで自動で行われる
この時に同名のファイル名が既に存在していると自動的に上書きされてしまうので注意してほしい

gifファイルはファイルサイズが大きい
息を吸って吐くようにスレへの添付ファイルサイズ上限(8MB)を越えてくる
なのでスレに貼るためには圧縮品質を調整しつつmp4かwebm辺りの動画形式に変換することになるだろう

ライセンス

モデルのライセンスには別途従う必要はあるが、Stable Diffusion等で使われているlllyasviel/ControlNetの実装はApache2.0ライセンスなので、ControlNetプログラムの利用自体のみに関して言えば出力画像についての利用制限は特にない。

Apache2.0ライセンスは派生作品(Derivative Works)に対してクレジット表記等を要求しているが、オープンソース“ソフトウェア”の世界ではというか、少なくともApacheライセンスのDerivative Worksとはプログラムそのもののフォーク(私家版)等のことであり、プログラムが出力したデータには及ばない。

またControlNetに含まれるOpenPoseはカーネギーメロン大学(CMU)が開発した商用利用料25,000ドル/円(日本円にして300万円以上)とかいうライブラリが元になっている。
しかし、lllyasviel/ControlNetはあくまでそのクローンであって、noob○IみたいにCMUのコードをパクってきて作ったわけではない(ということになっている、今のところ)。
そしてソフトウェアはアートではないので、インターフェースをパクっただけで中身が別物なら著作権侵害にはならないとする考え方が一般的である。GoogleスプレッドシートやLibreOfficeはMicrosoftに訴えられないし*3、GoogleはAndroidで約300万行のソースコードうち1万行強をOracle Javaからパクったとして訴えられたが裁判に勝ったし、Android OSのベースとなっているLinuxはUN*Xという商用製品のクローンだが訴えられたりしてい……るが具体的なコード盗用の証拠を挙げられなかったのでスラップ訴訟まがいのものとみなされた。

よくある質問

棒人間の対応部位がよくわからない

こちらの記事内にある画像がわかりやすいのでオススメ
機械の目が見たセカイ -コンピュータビジョンがつくるミライ(47) 人物の姿勢推定(1) – OpenPose | TECH+(テックプラス)
(画像の転載はしません)

バッチ処理機能はありませんか?

1.1にて実装された。
https://github.com/Mikubill/sd-webui-controlnet#batch-mode

俺のControlNetには○○の機能が見当たらないんだけど…

  • ControlNetの拡張機能を最新版に更新せい
  • ControlNetの拡張機能を最新版に更新せい
  • 1111用の「sd-webui-controlnet」と
    Forge/reForge/Forge Classicのビルトイン拡張機能「sd_forge_controlnet」とでは
    UIや機能に多少の差異がある

プリプロセッサを適用すると絵が歪む

仕様。LoRAを強い強度でいくつも適用すると崩壊しやすくなるのと同じ。
それぞれのモデルがバラバラな方向に画像を誘導する結果作画が崩れる。
ControlNetの支配はかなり強いので、精神汚染を食らう絵が出てくる頻度はそこまで高くないが。(出てこないとは言っていない)


まずはLoRA同様強くかけすぎていないかを確認すること。
構図指定系のプリプロセッサについては、終了パーセント(Ending Control Step)50%程度あるいはそれ以下に下げてしまっても割と効く。
画像生成AIはある程度色分けができるとそれに引っ張られるためだ。

それでもイマイチな場合、ワークアラウンドとしては、プリプロセッサ全部乗せで大まかな構図を出したあとi2iして細部のニュアンスを補うくらいしかない。
構図指定系のプリプロセッサは1パス目でだいたい仕上がるので、2パス目以降ではReferenceOnlyだけなど細部に関わるところ以外のプリプロセッサを外す。
1パス目は最初からラフ画扱いと考えれば、1パス目だけサンプラーをEuler等にすれば処理時間も多少稼げる。
1パス目の画像サイズを縮めると劇的に時間を短縮できるが、画質低下だけでなくControlNetの効きも劇的に悪くなるのでおすすめしない。
ComfyUIなら面倒だが一度ワークフローを組んでしまえば2パス処理もボタン一つで実行できるようになる。

2パスしてもイマイチな場合、顔など目立つところだけさらに条件付けを削って(A)Detailerを薄くかければそれなりにマシになる。

便利な物

(拡張機能) OpenPose Editor

OpenPose Editor
https://github.com/fkunn1326/openpose-editor.git
Stable Diffusion web UI上で2Dの棒人間から画像を作成できる拡張機能。
人数の追加や、ControlNet拡張機能へ画像を送ることも可能。
https://twitter.com/fkunn1326/status/1627173198751211520

(拡張機能) 3D Openpose Editor

3D Openpose Editor
https://github.com/nonnonstop/sd-webui-3d-open-pose-editor
Stable Diffusion web UI上で3Dの棒人間から画像を作成できる拡張機能。
Openposeだけでなく手足のDepth/Normal/Cannyマップの出力にも対応。

(拡張機能) Posex

Posex
https://github.com/hnmr293/posex
Stable Diffusion web UI上で3Dの棒人間から画像を作成できる拡張機能。

Openpose/Depth/Canny/Landmark用Blenderモデル

Blender
Blenderで3D人形を操作して画像を作成できる全部入りモデル。
https://toyxyz.gumroad.com/l/ciojz

ブラウザ上でデッサン人形を動かしてスクショ撮れるwebサイト

さかなのポーズ

176 無念 Name としあき 23/02/14(火)21:22:20 ID:73xlNJSY No.1066899251 del そうだねx2

https://webapp.magicposer.com/

このサイトでポーズ作ったらスクショしてwebuiにコピペして

さかなー

(としあき製) 棒人間ツール

open_poser_2d

238 無念 Name としあき 23/02/23(木)00:43:57 ID:FacyQ2ik No.1069701497 del そうだねx7

>この棒人間さん作るのって何かのツールで出力するんです?
色々あるみたいだけど
この機会にちょっとだけアプデしたのを上げる
https://thup.work/miniup/?mode=dl&id=14203

  • 棒人間のポーズをマウスで編集して画像保存できる簡易ツール
    棒人間の数を追加することも可能
  • exeファイルなのでDL時にブラウザに警告されたり、初回起動時Windowsに警告される場合がある
    (おめー覚悟できてんのか? セキュリティリスクを承知の上でDL/実行しようとしてんのか? ってこと)
  • 使用前に同梱のreadmeをよく読んでね
履歴
open_poser_2d

4 無念 Name としあき 23/02/20(月)16:33:29 ID:JY/WkoZk No.1068872128 del そうだねx15
たておつシンプル棒人間ツール
ポーズデータが*.jsonだと開くまでどんなポーズかわからないので
pngにポーズを埋め込んで保存/読み込みできるようにしました
他はウィンドウ透明化ON/OFFの実装等々redme参照
https://thup.work/miniup/?mode=dl&id=14167

open_poser_2d

9 無念 Name としあき 23/02/19(日)09:34:02 ID:3FNBM1TA No.1068371736 del そうだねx11
たておつ
昨晩上げたシンプル棒人間ツール
なんか殺風景だなと思ったら間違ってメニュー消してたので上げ直し
https://thup.work/miniup/?mode=dl&id=14158

324 無念 Name としあき 23/02/18(土)20:42:03 ID:Lc4yjcR. No.1068200555 del そうだねx8
以前上げたシンプルな棒人間ツールの関節の丸が大きいのが気になったのでアプデ
他地味に色々操作追加
改造再配布自由

(としあき製) セグメント画像作成ツール

※あぷろだ寿命によるリンク切れ

1677156849280.png

507 無念 Name としあき 23/02/23(木)21:54:09 ID:gENFNIAM No.1070010214 del そうだねx9
https://dec.2chan.net/up2/src/fu1950923.zip
としちゃんがくれたseg用画像描画ツールのgui改造してみたよ
chatgptちゃんに聞きながらペンサイズ変更GUIと現在選択色と名表示を入れてみた
あと画像読み込みしたら勝手にウインドウサイズ変えるとか(768pxまで)
公開してくれた前二人のとしあきに感謝

履歴
ペンタブ対応

276 無念 Name としあき 23/02/18(土)14:32:47 ID:rd4xlw9M No.1068074769 del そうだねx8

としがこないだseg用の画像を書くツールの改造

自由に改造していいとか言ってた気がするのでペンタブに対応させた

ペンタブ検出の関係で必要なライブラリ増えたけどれあどめつけたから導入は簡単なはず

説明に書き忘れたけどctrl+altキーを押しながら左右移動でペン先サイズ変更できる

 

もっと使いやすいUIにやろうと思えばできる気はするけど

GUI組むの本当に苦手なので誰か続きは任せた

セグメント画像の作成例

7 無念 Name としあき 23/02/17(金)16:43:08 ID:VCEU5gRM No.1067769956 del そうだねx20

GPTちゃんにいろいろ聞いてセグメントの画像を描けるような簡易ペイント的なの作ったよ

一応ちゃんとセグメントの指定どおりに描いてくれたのは確認

改造配布などご自由に

(としあき製) MMD版ポーズ人形

fu1959929.zip あぷろだ寿命によるリンク切れ

ライン表示とセグメンテーション表示

36無念Nameとしあき23/02/18(土)22:51:29 ID:QBc.o.MoNo.1068256309

MMDポーズ人形のスタンダードの方に材質モーフで輪郭線だけにするのと

セグメンテーションのpersonの色にする機能追加

MMMだと静止画出力時に背景透過できるんで合成とか便利かも

履歴
デプスMME適用時

124 無念 Name としあき 23/02/18(土)12:48:54 ID:fLqgB9d6 No.1068044809 del そうだねx4

デプスマップのMME配布してくれてる方がいたのでポーズ人形更新

深度は手前の白から最奥の黒の範囲をスライダーで適切に設定しないと綺麗なグラデが出ないので注意

ノーマルタイプと法線タイプ

30 無念 Name としあき 23/02/18(土)12:05:18 ID:fLqgB9d6 No.1068032007 del そうだねx12

VRoidベースにしたMMDのポーズ人形作った

普通の奴と法線マップに対応してる物2つあって

法線は背景色を(255,128,128)にして出力すればプリプロセッサ通さずに法線マップとして使える


*1 実写系のモデルの中には顔を隠した自撮り画像でも学習しているのかプロンプトによっては割と高頻度で生成するものがある。
*2 表面の向きのこと
*3 そもそもExcel自体Lotus 1-2-3というかつて覇権だった表計算ソフトウェアから多数の機能を取り込んでいる。