Stable Diffusion Web UIの便利な拡張機能を紹介する記事です。
今回は細かいポーズまで再現できる3D Openpose Editorの使い方について、ご紹介します。
・2Dでポーズを再現する場合はこちら
・Stable Diffusion Web UIのインストールはこちら
3D Openpose Editorとは?
3D Openpose Editorは、名前の通り3Dモデルを使って、ポーズが作れる拡張機能です。
指の関節まで動かせるようになっており、かなり複雑なポーズも再現が可能。
アングルも指定できるため、いろんな構図の画像が生成できます。
慣れるまで若干操作が難しいですが、ポーズを保存して途中から編集もできるので、時間をかけてこだわることが可能です。
なお、作成したポーズから画像を生成するにはControlNetが必要です。
事前にインストールしておいてください。
3D Openpose Editorのインストール
Extensions→Install from URL→URL for~に以下のURLを入力して、Installボタンをクリックしてください。
https://github.com/nonnonstop/sd-webui-3d-open-pose-editor.git
インストール後、リスタート、または再起動すれば、3D Openposeというタブが追加されます。
3D Openpose Editorの使い方
デフォルトで3Dモデルが立っているので、ここからポーズを作れます。
カメラ操作
カメラ操作は以下の通りです。
上下左右回転 | 空白部分左クリックでドラッグ |
縮小・拡大 | マウスホイール |
視点移動 | 空白部分右クリックでドラッグ |
3Dモデルのボディパラメータ
ボディパラメータは、3Dモデルの身長やボーンの太さなどを変えられます。
画面右側の矢印アイコンからパラメータが開けます。
身体パラメータより上の部分は画像サイズとカメラの制御です。
- 幅
- 高さ
- カメラ近距離
- カメラ遠距離
- カメラ焦点距離
身体パラメータで設定できる項目は以下になります。
- ボーンの太さ
- 頭の大きさ
- 鼻から首までの距離
- 肩幅
- 肩から腰までの距離
- 腕の長さ
- 前腕
- 上腕
- 手の大きさ
- ヒップ
- 脚の長さ
- 太もも
- 下腿
- 足のサイズ
3Dモデルの動かし方
ジョイント(丸の部分)をダブルクリックすると円が表示されます。
これを任意に方向にドラッグすることで、自由にポーズが作れます。
もし肩幅などを自分で変えたい場合は移動モードにしてください。
設定から移動モードを選択、またはXキーで切り替えられます。
そうすると円ではなく矢印が表示され、その方向にボーンを動かせます。
また「ファイル」から「ランダムポーズを設定」をクリックすると、ランダムで何らかのポーズを作ってくれます。
3Dモデルの追加・削除
もう1体3Dモデルを追加したい場合は、3Dモデルを選択した状態で編集から「スケルトンの複製」をクリックします。
同じく編集から「スケルトンの削除」で削除も可能です。
3Dモデルの保存・読み込み
ファイルからモデルの保存・読み込みが可能です。
シーンをリセットする | モデルのポーズをリセット |
シーンを読み込む | 保存したポーズを開く |
シーンを保存 | JSONファイルでポーズを保存 |
ジェスチャーを読み込む | 保存したジェスチャーを開く |
ジェスチャーを保存する | 手のジェスチャーをJSONファイルで保存 ※手を選択した状態で保存可能 |
画像からポーズを検出
「ファイル」→「画像から検出」で画像を取り込むと、自動的にポーズを検出してくれます。
作成したポーズを画像で保存
右下にあるプレビュー画面から三角のアイコンをクリックすると、現在のポーズから4種類のdetected mapsが生成できます。
- pose
- depth
- normal
- canny
それぞれ画像をクリックするとダウンロードが可能です。
なお、「Edit Openpose」の隣に「Send to ControlNet」というタブがあり、本来ここから送れるみたいですが、以前からバグの報告が上がっていて現在も修正されていません。
openpose_editor.pyを修正すれば使えるみたいですが、私は修正しても使えませんでした。
・ファイルのパス
stable-diffusion-webui\extensions\sd-webui-3d-open-pose-editor\scripts
ですので、基本画像をダウンロードして使うことになると思います。
作ったポーズから画像生成
保存した画像をControlNetで取り込んでください。
パラメータを以下のように設定します。
Enable | チェック ※ControlNetの有効化 |
Low VRAM | グラボのVRAMが8GB以下ならチェック推奨 |
矢印 | 取り込んだ画像とwidth・heightを合わせる |
Control Type | OpenPoseをチェック ※自動で対象のPreprocessor・modelを選択 |
Preprocessor | noneを選択 |
画像から既に抽出したものなのでPreprocessorはnoneにします。
これで何らかのプロンプトを入れて生成すると、作成したポーズが画像に反映されます。
3D Openpose Editorの使い方まとめ
今回は細かいポーズが再現できる3D Openpose Editorを紹介しました。
ポーズだけじゃなくカメラの位置を設定できるのも地味に便利だなと思いました。
プロンプトでアングル指定しなくてもいいので、いろいろな構図の画像が生成できると思います。
漫画制作やAI動画にも応用できるので、ぜひ使ってみてください。
コメント