Stable Diffusion Web UIの便利な拡張機能を紹介する記事です。
今回はポーズを自由に再現できる「Openpose Editor」の使い方についてご紹介します。
Openpose Editorとは?
Openpose Editorは、棒人間から自由にポーズを再現できる機能です。
作ったポーズをControlNetで出力すると、そのポーズ通りの画像が生成できます。
他にもさまざまなOpenpose Editorが存在しますが、こちらは視覚的に操作がしやすく、シンプルに使えるのが特徴。
なお、2023年12月10日にアーカイブされており、バグの修正や新規開発が行われることはありません。
fkunn1326/openpose-editor: Openpose Editor for Stable Diffusion Web UI's stable-diffusion-webui
まずはControlNetのインストール
Openpose Editorの棒人間から画像を生成するには、事前にControlNetと対応するモデルが必要です。
Extensions→Install from URL→URL for~に以下のURLを入力して、Installボタンをクリックしてください。
https://github.com/Mikubill/sd-webui-controlnet.git
インストール後にリスタート、または再起動すればインストールは完了です。
続いてOpenposeのモデルをダウンロードします。
以下のリンクから「control_v11p_sd15_openpose.pth」をダウンロードしてください。
lllyasviel/ControlNet-v1-1 at main
ファイルは以下のパスに入れておきます。
stable-diffusion-webui\models\ControlNet
これで準備は完了です。
ControlNetの他の機能の使い方については、こちらの記事も参考にしてみてください。
Openpose Editorのインストール
続いてOpenpose Editorの拡張機能をインストールします。
Extensions→Install from URL→URL for~に以下のURLを入力して、Installボタンをクリックしてください。
https://github.com/fkunn1326/openpose-editor.git
インストール後にリスタート、または再起動して、タブにOpenpose Editorが追加されていればインストール完了です。
Openpose Editorの使い方
まずはOpenPose Editorタブを開いて、生成する画像サイズを指定してください。
widthが横幅、heightが縦幅です。今回はデフォルトの512×512で作成します。
次に右側にいる棒人間のポーズを編集します。
丸い点(ジョイント)をドラッグすることで自由にポーズを変えられます。
範囲選択で全身・上半身・下半身などを一括で編集することも可能です。
ポーズが決まったら「Send to txt2img」ボタンでControlNetに送ります。
自動でControlNetに取り込まれるので、パラメータを以下のように設定してください。
Enable | チェック ※ControlNetの有効化 |
Low VRAM | グラボのVRAMが8GB以下ならチェック推奨 |
矢印 | 取り込んだ画像とwidth・heightを合わせる |
Control Type | OpenPoseをチェック ※自動で対象のPreprocessor・modelを選択 |
Preprocessor | noneを選択 |
Preprocessorがnoneであることに注意してください。
既に画像から抽出したものをセットしているので、Preprocessorを指定する必要はありません。
あとはモデルとプロンプトを入力して画像生成するだけです。
後ろ向きになってしまいましたが、指定した通りのポーズで生成できました。
OpenPose Editorでできること
各スライダーやボタンの機能はそれぞれ以下の通りです
1.Width | 画像の横幅 |
2.height | 画像の縦幅 |
3.Add | 棒人間の追加 |
4.Reset | やり直し棒人間の削除 |
5.Load from JSON | 保存したJSONファイルを読み込む |
6.Detect from Image | 既存の画像から自動でポーズ推定→棒人間を作成 |
7.Add Background Image | 背景を追加 |
8.Preset | 保存したプリセットを選択 |
9.Load Preset | 選択したプリセットの呼び出し |
10.Save Preset | プリセットの保存 |
11.Save JSON | JSONファイルの保存 |
12.Save PNG | PNG形式で画像を保存 |
13.Send to txt2img | 棒人間をtxt2imgのControlNetに送る |
Send to img2img | 棒人間をimg2imgのControlNetに送る |
プリセットやJSONファイルは棒人間のポーズを保存できるものです。
プリセットは以下のパスに保存され、JSONファイルはそのままダウンロードされます。
stable-diffusion-webui\extensions\openpose-editor\presets.json
OpenPose Editorはポーズの指定のみ
OpenPose Editorで編集できるのは、基本のポーズだけです。
OpenPoseにはhandやfaceなどいろいろ種類がありますが、手のジェスチャーや顔のパーツなどは編集できないので、ポーズのみ指定したい方の拡張機能となっています。
OpenPose Editorは商用利用可能
OpenPose Editorは「MIT license」に基づいて配布されているため、商用利用可能となっています。
詳細はlicenseページをご確認ください。
openpose-editor/LICENSE at master · fkunn1326/openpose-editor
Openpose Editorの使い方まとめ
今回はポーズを指定して画像が生成できるOpenpose Editorの使い方について、ご紹介しました。
複雑な手の形などは指定できませんが、ポーズが指定できるだけでも画像生成の幅は広がります。
プロンプトで再現できなかったポーズが生成できるようになるので、ぜひ使ってみてください。
参考になれば幸いです。