Stable Diffusionで絵を描く時に人物のポーズや構図を、自分の思ったとおりに出力するのは難しいですよね。
プロンプトの微調整を行うと、意図しないところが変更されてしまって、中々描きたい絵にならないことも多いです。
今回は張機能である「3D Openpose Editor」を使用して、簡単に自分の思った通りの構図で絵を描く方法を紹介します。
拡張機能「3D Openpose Editor」とは?
拡張機能「3D Openpose Editor」とはControlNetにあった「OpenPose」を三次元で描く拡張機能です。
「openpose」は棒人間を描くことで、そのポーズに合うように人物絵を作成するものでした。
openposeで棒人間にポーズをとらせる場合は、関節をドラッグアンドドロップなどでいじる平面的な操作をおこなっていました。
操作は分かりやすいのですが、ダンスの途中やスポーツをしている途中などの人物を描きたい場合、平面だけでは、それが立体としてどのようなポーズになっているかを判断するのが難しいです。
それに対して、「3D Openpose Editor」は奥行きもある状態で棒人間の画像を生成できるため、よりリアルに自分の描きたいポーズで出力することが可能です。
「openpose」がデッサンや彫刻の絵などの二次元的な絵を直接描くのに対して、「3D Openpose Editor」はデッサン人形や彫刻そのものを作ってから、それをStable Diffusion側で絵にしているためよりリアルで崩れの少ない棒人間を描くことができます。
下記はその棒人間を描く時の作業時のツール画面ですが、「3D Openpose Editor」の方がよりリアルなポーズが作れそうなのが分かって頂けると思います。
またopenposeだけでなく、手足の詳細な描画のための拡張機能「depth」や「canny」も同時に生成することが可能です。
上記のツール画面を見ても、「3D Openpose Editor」では手足にそれぞれ細部を設定するため手足や指がついていることが分かると思います。
これによって、「3D Openpose Editor」だけで、「openpose」を使用したポーズおよび構成の作成、「depth」「canny」を用いた手足の詳細な表現まで可能となり、より効率的に自分の描きたい絵を描くことができます。
拡張機能「3D Openpose Editor」の導入方法
「3D Openpose Editor」をインストールするために、「Extensions」タブからAvailableを開きます。
そして「Load from」ボタンを押して、拡張機能リストを表示します。
拡張機能リストが表示出来たらその中から「3D Openpose Editor」を選択し、「Install」ボタンを押します。
次にInstalledでsd-webui-3d-open-pose-editorがインストールされていることを確認して、「Apply and restart UI」 ボタンをクリックして適用して再起動します。
再起動すると画面のタブに「3D Openpose」タブが出来るので、それが出来ていれば準備完了です。
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい
拡張機能「3D Openpose Editor」の使い方
基本的な使い方の前に、簡単なマウス操作は下記のようになっています。
動作 | 挙動 |
左クリック (何もないところ) | ー |
左クリック (関節上) | その関節をどう動かすかを決めるための、 回転球の表示 |
右クリック (何もないところ) | ー |
右クリック (ボーン上) | ショートカットメニュー表示 |
左クリックしながらマウス移動 | 画面の回転 |
右クリックしながらマウス移動 | 画面の上下左右の移動 |
ホイール | 拡大縮小 |
3Dツールを使用したことがないと、初めは戸惑うかもしれませんが使用していると慣れてくると思います。
基本的には関節部分を左クリックして、回転球を使用して手足を動作させます。
回転球をクリックすると、4色程度に回転球の中で線が色分けされます。
その色の違う線がそれぞれ、縦横奥行など、90度ずれている挙動をさせる線になりますので、好きな方向に動かしてください。
今回は下記のようにダンス途中をイメージして作成しました。
ここで注意が必要なのは画面右下の黒い背景の画像のみが生成されます。
そのため頑張って3Dを弄っても、下記のように画面から見切れていると、それが画像に反映されませんので注意してください。
ズームを使用してもうまく入らない場合は、回転させて少し上から見た構図にすると、全身が映りやすいです。
納得のいく構図になったら、画面上の「生成する」ボタンを押します。
「Send to ControlNet」タブに下記のように、全身を棒人間、手足がdepth,normal,cannyで出力されます。
それぞれの画像をControlNetのどこに設定するかを設定します。設定完了したら、「Send to txt2img」か「Send to img2img」を押して、使いたい方のContorlNetに送ってください。
ControlNetのVerが「3D Openpose Editor」とあっていないと、「Send to txt2img」や「Send to img2img」を押しても反映されません。
その場合は、棒人間などの画像を自身でダウンロードして、手動でControlNetに反映させて下さい
ControlNetを下記のように設定して、実行します。
ControlTypeはAllのまま、PreprocessorはNoneを選んでください。
モデルはopenposeを使用するので「control_openpose-fp16」を選択します。
他にControlNet1や2にDepthやCannyを追加した場合は、ContorlTypeをそれと同じもの選択してください。
今回は簡単な画像を作成したいので、下記のような簡単なプロンプトで生成していきます。
※手足の欠落対策などのためにネガティブプロンプトは少し長めになっています。
プロンプト
(best quality, masterpiece:1.2),
A dancing girl
ネガティブプロンプト
worst quality, low quality, blurry,
flat color, flat shading, retro style, poor quality, bad face,
bad anatomy, bad hands, missing arms, text error, missing fingers, jpeg artifacts, long neck, signature, watermark, blurry, fisheye lens, animal, deformed mutated disfigured, mutated hands, missing hands, extra hands, liquid hands, poorly drawn hands, mutated fingers, bad fingers, extra fingers, liquid fingers, poorly drawn fingers, bad legs, missing legs, extra legs, bad arms, extra arms, long torso, thick thighs, partial head, bad face, partial face, bad eyebrows,
ugly, disfigured,
出力した画像は、openposeで設定した棒人間と同じ構図になりました。
まとめ
いかがでしたでしょうか?
Stable Diffusionの拡張機能である『3D Openpose Editor』の使い方
について解説してきました。
今回のポイントをまとめると、以下のようになります。
- 「3D Openpose Editor」は三次元で棒人間を作成できるため、「Openpose」よりも直感的に作りやすい
- 「3D Openpose Editor」だけで、「openpose」を使用したポーズおよび構成の作成、「depth」「canny」を用いた手足の詳細な表現まで可能
- Verによっては、自身で作成した各画像をControlNetに適用する必要がある
openposeは人物絵を描く時に有用でしたが、平面だけで棒人間を作成するのは意外と難しいもの。
「3D Openpose Editor」を使用することでより直感的に、人物の構図やポーズを描けるようになったと思いますので、是非様々な棒人間を作成して、そこから素敵な絵をたくさん描いてみてください!
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい