Stable Diffusionでキャラクターが片足立ちポーズをするプロンプトを作成します。
以下のタグを利用します。モデルによってはプロンプトの反応に違いがあります。
| タグ | 意味 | 補足 |
|---|---|---|
| standing on one leg | 片足で立つ | |
| knee up | 膝を上げる |
状況や立ち方によっては以下のタグを組み合わせます。
| タグ | 意味 | 補足 |
|---|---|---|
| standing | 立つ | キャラクターがうまく立たない場合には加えます |
| leg lift | 脚を上げる | 大きく足を上げたポーズになります |
| leg up | 足を上げる | 大きく足を上げたポーズになります |
次のプロンプトで画像を生成します。
生成結果は下図です。片足立ちのポーズが出力できています。WAI-NSFW Illustriousでは高く足を上げるポーズがやや目立ちます。
生成結果は下図です。まっすぐ膝をあげるポーズが多いです。
片足立ちして、両腕を広げたポーズを出力します。次のプロンプトで画像を生成します。
生成結果は下図です。
後ろに足を蹴り上げるようなポーズにする場合は、sway backを追加して軽く体をそらせると表現できる場合があります。
| タグ | 意味 | 補足 |
|---|---|---|
| sway back | 後ろに反り返る | leaning back と異なり、柱や壁で体を支えないポーズになります |
| bent leg | 足を曲げる | |
| bent knee | 膝を曲げる |
次のプロンプトで画像生成します。
画像生成結果は下図です。意図したポーズになる確率は低いですが、希望のポーズが生成できます。
先の出力では、片足立ちのポーズが出力できますが、膝を曲げた状態のポーズになりました。膝を伸ばしたポーズで出力します。
プロンプトを検討しましたがプロンプトだけでは求めたポーズになりませんでした。今回はプロンプトに加えて、ControlNetのOpenPoseを利用します。
OpenPose Editorで下図のポーズを作成します。OpenPose Editorの導入はこちらの記事を参照してください。
作成したポーズをControlNetに設定します。
ControlNetのPreprocessorは"None"、モデルは "thibaud_OpenPoseXL2" (ハッシュ値:f4251cb4) を利用します。
Control Weightを0.6に設定しています。
プロンプトは以下を利用します。
生成結果は下図です。膝を伸ばした状態での片足立ちポーズが出力できています。足の向きに若干違和感があったり、
体の流れがあまり綺麗でない出力が多いですが、
目的のポーズは出力できました。
{
"width": 512,
"height": 512,
"keypoints": [
[
305,
71
],
[
305,
114
],
[
255,
112
],
[
186,
99
],
[
108,
91
],
[
362,
112
],
[
412,
103
],
[
492,
78
],
[
216,
225
],
[
152,
280
],
[
37,
320
],
[
283,
279
],
[
276,
357
],
[
277,
459
],
[
296,
53
],
[
317,
54
],
[
289,
64
],
[
324,
66
]
]
}