仰向けポーズの姿勢制御に関する検証
Stable Diffusionで仰向けポーズを生成すると
足が浮いたり体が起き上がってしまうことがあります
この記事では仰向けポーズの姿勢を制御するための
プロンプトや構図の影響を検証します
今回は生成AI(Stable Diffusion)で前回に続いて
「天音セナ」を仰向けにした状態で有効なプロンプトを検証していきます
前回の記事はこちら
Stable Diffusionで仰向けポーズを生成した際
足がまっすぐにならずに膝が立っていたり
仰向けと指定しても体を起こしている場合があります
それも仰向けポーズの一部ではありますが
今回はその姿勢を制御するためにプロンプトを検証していきます
足をまっすぐ伸ばすためのプロンプト指定
今回もthree-quarter viewとknees together feet apartを使用して出力していきます
参考までに、ほかの指定をしていない出力

もうこの時点で足が上がっているのが見えますね
この足をベッドの上に乗せるために
足を延ばしていくことにします
最初に使うプロンプトは、leg straight
見た通り足をまっすぐにするプロンプトですが

効かないこともないですが、効き目としては正直イマイチ
少なくとも固定で常に足を付けてくれる、ということはないですね
なのでここにさらに足を延ばすプロンプトとして、outstretched legsを加えました

その結果がこちらになるわけですが
まっすぐになっているように見えて、普通に精度は変わっていない感じですね
これは比較的まっすぐになっているように見えますが
ぶっちゃけまっすぐになった画像を選別してきただけで、ほかは普通に失敗しています
足を延ばすプロンプトはほかに、extended legsもあったので加えてみましたが

正直、何の成果も上げられませんでしたね
しかしこれを見ていると、足が浮いているのはまず膝が上がっているからでは?
と思って、knees upならぬknees downとかなら聞くのでは?
と思って試してみましたが

何の意味もありませんでした
なんならむしろ膝が上がったまであります
念のためにlegs downなら効かないか、と試してみましたが

逆に足が上がる結果になりましたね
upがあるからdownもあるだろうというのが、安易な発想だったようです
方向性を変えてみる
とりあえず足をまっすぐにするプロンプトを足したところで
状況が好転しないことは分かったので方向性を変えてみます
そもそもこの構図ではどうやっても足がまっすぐにならないのでは?
と思ったので、一度アングルを変えてみました

ということで、上から見下ろす形で出力してみました
これなら素直に足をまっすぐにしてくれるかな
と期待したわけですが……
まっすぐなっているように見えなくもないですが、やはり膝が浮いている感じがしますね
次に試したのが、feet on bed
足をベッドの上に乗せる、という指定ですね

これに関しては見事に成功ーー
と、言いたいところですが、これも成功画像を持ってきただけで結構失敗しています
まあ完成画像ができただけマシと言えなくはないですね
ただこのプロンプト、文字通りベッドを指定しているので
寝ている場所がベッドでなければ、ベッドを無理矢理持ってきそうです
状況に応じて設置部分の名前を変えてやればいいわけですが
できれば汎用的に指定できる方がいいので、もう少し探してみました
で、とりあえず今回試していなかった強度指定を試してみようということで
(legs straight:2.0)を使用して出力してみました

結果は足をまっすぐどころか仰向けですらなくなったわけですが
ここでちょっと気になることが
現在出力時に、背景に小物をいろいろ指定しているわけですが
もしかしてそれが画面に入り込むから
それを映そうとして構図が制限されているのでは?
ということで、背景をbed指定だけにして出力してみたところ

なんと体がまっすぐになってくれることに
今までの苦労は何だったのか……と言いたいところですが
背景をなしにしてもoutstretched legs等では結局足が上がっていたので
(legs straight:2.0)で指定する必要がありました
背景が姿勢に影響していた点に関しては
背景に指定した小道具がある、それを映すためには高さがいる
だから、足を延ばして高さを確保しよう、みたいな感じになってたんでしょう
ちなみに背景なしで(legs straight:2.0)を使用するのが一番成功率が高かったですが
それでも100%成功とはいかなかったので
モデルの方にかなり強くこびりついてる感がありますね
体を起こす姿勢の制御
とりあえず足に関しては一応の解決を見たということで
次は上半身の制御について検証していきます
仰向けの指定としては

このように、背中を床・あるいはベッド等につけるのが基本になるわけですが
何度も出力していると

このように腕を使って体を起こす場合があります
この姿勢自体は特に問題ないわけですが
出る出ないがランダムなのは少し困る
ということで、まずは体を起こすためのプロンプトから検証していきます
仰向けで体を起こす場合、たいていは手で上半身を支えているので
体を支える、arm supportを使用します

出力結果がこちらになります
肘と腕を使って体を支えてくれていますね
体の起こし方にはブレがありますが
体を腕で支える、と指定すると体を起こしてくれるようです
逆に言うと、体を起こすためには腕の補助がいる、ということは

このように、arms at sidesを使用することで
体を寝かせてくれています
ただ、arms at sidesは体をの横に腕を置くというプロンプトなので

このように、左右に置いてるから肘をついてもいいよね
という感じで、体を起こす場合もあったので
それなら肘を浮かせろと、float elbowを追加したところ

このような形で腕を伸ばしてくれました
float elbowに関しては気休めかもしれませんが、一応生成はできました
そもそもアングルが悪さしている?
実は途中からうっかりthree-quarter viewを外していて
背景を削ったあたりから効いてなかったんですが
足を降ろす方はさておき
体を寝かせる方はthree-quarter viewがないほうが効いている感じがしました
途中の背景問題もありますが
アングルによっては指定されているものを全部入れようとして
キャラの表示が強制される、ということは普通にあるので
ポーズを優先するなら背景の指定は極力減らしたほうがいい場合もあるでしょう
特に座りポーズや寝ポーズといった、キャラが大きく表示できる構図に関しては
その分背景のパーツを配置できるエリアが少なくなるため
構図の幅を狭める可能性が出てくるかと思います
まとめ
今回使用したプロンプト
足関係
outstretched legs, extended legs, straight legs
legs straight, legs together,feet on bed
(legs straight:2.0)
腕関係
arm support
arms at sides
arms at sides,float elbow
今回は仰向けポーズの姿勢制御に関する検証を行いました
残念ながら完全制御とはいかなかったので
意図せず体が起きてしまったり、足が上がってしまったりしてしまうのが
少しはマシにできるかな、という感じですね
姿勢の制御に関しては、体の動きを指定するプロンプトだけではなく
カメラアングルのプロンプトも使って効きやすい角度を探すのもいいかもしれません
ちなみに検証中に気づいたのですが
今回使用したキャラの「天音セナ」は、ポニーテールのキャラなので
まっすぐ寝かせられない=体が起き上がる
みたいな影響はあったかもしれませんね
Stable Diffusionは指定された要素を画像に含めるために
無理のない構図を作ろうとするため、こちらの意図通りに出力されない場合は
動きの指定以外の部分も疑う必要がありそうです
仰向けポーズ制御を体系的に知りたい方はこちら
アングル・手の位置・足の位置・姿勢制御の指定をまとめた
「Stable Diffusionで仰向けポーズを指定する方法まとめ」をご覧ください
個別の解説記事はこちら
- Stable Diffusionで仰向けポーズのアングルを指定する方法
- Stable Diffusionで仰向けポーズの手の位置を指定する方法
- Stable Diffusionで仰向けポーズの足の位置を指定する方法
- Stable Diffusionで仰向けポーズの姿勢を制御する方法
- Stable Diffusionで仰向けポーズを指定する方法まとめ
▶ ポーズの作り方まとめを見る
天音セナ ポーズ集・CG集はこちら
天音セナのポーズ集とCG集はこちらからご覧いただけます
※成人向け(R18)作品のため、閲覧はご注意ください
※18歳未満の方は閲覧をご遠慮ください
ポーズ集
現在販売中のポーズ集はこちらから確認できます
CG集
同キャラクターのCG作品はこちら





