お久しぶりです。だいぶ時間が空いてしまいましたね。
Stable Diffusionでポーズが思い通りにならない原因と改善方法|AIイラストのポーズ指定のコツ
Stable DiffusionでAIイラストを生成していると、「可愛いポーズにしたい」「もっと動きのある構図にしたい」とプロンプトを入力しているのに、毎回似たようなポーズになってしまうことがあります。
特にテキストだけで画像を生成している場合、
- 立ち絵ばかりになる
- 正面を向いたポーズばかりになる
- 手を頬に当てるなど、似たポーズが繰り返される
- 「dynamic pose」と書いてもあまり動きが出ない
- 複雑なポーズを指定すると手足がおかしくなる
といった問題が起こりがちです。
この記事では、Stable Diffusionでポーズがマンネリ化する原因と、テキストプロンプトだけでポーズのバリエーションを増やす方法を解説します。
Stable Diffusionでポーズが似たものばかりになる理由
結論から言えば、Stable Diffusionは「可愛いポーズ」のような抽象的な指示よりも、人物の身体が実際にどのような状態になっているのかを具体的に指定したほうが得意です。
例えば、
cute pose
と入力しただけでは、「どのように身体を動かしているのか」が具体的ではありません。
そのため、モデルが学習している大量のイラストの中から、条件を満たしやすい一般的な構図が選ばれます。
結果として、
- 正面立ち
- 少し身体を傾ける
- 片手を上げる
- ピースサイン
- 手を頬に当てる
といった、AIイラストでよく見るポーズに寄りやすくなります。
「cute pose」などの抽象的なプロンプトだけでは弱い
AIイラストでは、「可愛い」「かっこいい」「躍動感がある」といった言葉だけでポーズを細かくコントロールするのは難しい場合があります。
例えば、
cute girl, cute pose
よりも、
sitting on the floor,
one knee raised,
both hands resting on the raised knee,
turning her upper body toward the viewer,
smiling
のように指定したほうが、身体の状態を明確にできます。
重要なのは、ポーズの名前ではなく、身体の状態を指定することです。
ポーズを指定するときは「身体の状態」を書く
複雑なポーズを作りたい場合は、以下のような要素に分けて考えるとプロンプトを作りやすくなります。
1. 全身の状態
まずは人物が何をしているのかを決めます。
standing
sitting
kneeling
crouching
lying down
jumping
running
walking
例えば、
crouching
ならしゃがんだ姿勢になります。
jumping
ならジャンプしている状態です。
2. 脚の状態
次に脚を具体的に指定します。
one knee raised
one leg raised
legs crossed
one leg bent
kneeling on one knee
例えば、
sitting on the floor, one knee raised
とすると、単純な座りポーズからさらに形を限定できます。
3. 腕や手の位置を指定する
腕も同じように具体化できます。
arms spread wide
one hand behind her head
both hands behind her back
one hand resting on her knee
hands clasped together
covering her face
reaching out
例えば、
one hand behind her head,
the other hand resting on her hip
なら左右で異なる動きを指定できます。
4. 上半身の向きを変える
ポーズに変化を付けるうえで、上半身の向きはかなり重要です。
leaning forward
leaning to one side
turning her upper body
looking back
twisting her upper body
例えば、
sitting sideways on a chair,
turning her upper body toward the viewer,
looking back
とすると、単純な「椅子に座る」よりも複雑な構図になります。
「動詞」を使うとポーズのバリエーションを増やしやすい
ポーズを考えるときは、名詞だけではなく人物が何をしているのかを表す動詞を使うのも効果的です。
例えば、
jumping
twirling
stretching
reaching out
leaning forward
looking back
crouching
climbing
hugging her knees
covering her face
などがあります。
「可愛いポーズ」という抽象的な指示ではなく、
何をしているのか?
という視点で考えると、ポーズを考えやすくなります。
シチュエーションからポーズを考える
ポーズが思いつかない場合は、いきなりポーズを考える必要はありません。
シチュエーションから逆算する方法がおすすめです。
例えば「海で可愛いポーズ」というテーマなら、
パターン1:水遊び
standing in shallow water,
splashing water with both hands,
smiling at the viewer
パターン2:波打ち際
crouching near the shoreline,
touching the water with one hand,
looking back at the viewer
パターン3:砂浜
sitting on the beach,
hugging her knees,
resting her chin on her knees
このようにすると、単に「cute pose」と指定するよりも具体的なポーズを作れます。
ポーズは「全身→脚→腕→上半身→視線」の順番で考える
複雑なポーズを作るときは、以下の順番で考えると整理しやすくなります。
① 全身
crouching
↓
② 脚
one knee raised
↓
③ 腕
one hand resting on her knee
↓
④ 上半身
leaning forward
↓
⑤ 視線
looking at the viewer
最終的には、
crouching,
one knee raised,
one hand resting on her knee,
leaning forward,
looking at the viewer,
smiling
のように組み合わせられます。
この方法なら、ポーズを一から文章として考えるよりもプロンプトを作りやすくなります。
ポーズだけでなく「視線」も変える
AIイラストが似た構図になる原因として、ポーズだけでなく視線が固定されていることもあります。
例えば、
looking at viewer
は非常に便利なプロンプトですが、これを毎回入れていると、キャラクターがこちらを向く構図に寄りやすくなります。
場合によっては、
looking to the side
looking up
looking down
looking back
eyes closed
looking at her hands
などを使ってみると、同じポーズでも印象が大きく変わります。
「dynamic pose」だけでは思ったほど動かないことがある
dynamic pose
は便利なプロンプトですが、これだけで複雑なアクションポーズを正確に指定できるわけではありません。
例えば、
dynamic pose, running
よりも、
running forward,
one leg extended behind her,
one arm reaching forward,
the other arm pulled back,
hair flowing in the wind
のように身体の状態を具体化したほうが、動きのある構図を作りやすくなります。
それでも複雑なポーズが難しい理由
ここまで具体的に指定しても、Stable Diffusionでは複雑なポーズが完全には再現されないことがあります。
特に、
- 両腕が複雑に交差する
- 両脚が絡む
- 身体を大きくひねる
- 後ろ向き+振り返り
- 複数人が接触する
- 手を複雑に組む
といった構図は難易度が高くなります。
これはプロンプトの書き方だけが原因ではありません。
生成モデルそのものが、複雑な人体構造を完全に制御できるわけではないためです。
テキストだけで限界を感じたらポーズを画像で指定する
「どうしても狙ったポーズにならない」という場合は、テキストプロンプトだけで解決しようとしない方法もあります。
Stable Diffusionには、ポーズや構図を別の画像から制御する方法があります。
代表的なのが、
- ControlNet
- OpenPose
- Depth
- Canny
- Lineart
などです。
特に人物のポーズを指定したい場合は、OpenPose系の制御が非常に分かりやすい方法です。
自分でポーズを用意して、
この身体の形で、このキャラクターを描いてください
という形に近づけられます。
テキストプロンプトだけでは難しかった「足をこう曲げる」「腕をこの位置にする」といった指定がしやすくなります。
AIイラストのポーズを増やすなら「ポーズ」ではなく「動作」で考える
Stable Diffusionでポーズがマンネリ化したときは、
「可愛いポーズを作ろう」
と考えるより、
「このキャラクターは今、何をしているのか?」
と考えるほうが、バリエーションを増やしやすくなります。
例えば、
- 何かを拾っている
- 振り返っている
- 飛び跳ねている
- 走っている
- 座っている
- 何かを抱えている
- 手を伸ばしている
- しゃがんでいる
- 髪を結んでいる
- 服を直している
- 水をすくっている
- 空を見上げている
などです。
そこから、
動作 → 脚 → 腕 → 上半身 → 視線 → 表情
と細かくしていけば、かなり多くのポーズを作れるようになります。
まとめ
Stable DiffusionでテキストだけからAIイラストを生成すると、似たようなポーズになってしまうのは珍しいことではありません。
特に、
cute pose
dynamic pose
beautiful pose
のような抽象的なプロンプトだけでは、モデルが学習している典型的なポーズに戻りやすくなります。
ポーズのバリエーションを増やしたい場合は、
- 全身の状態を指定する
- 脚の形を指定する
- 腕や手の位置を指定する
- 上半身の向きを指定する
- 視線を指定する
- 「何をしているのか」という動作から考える
という方法が有効です。
それでも複雑なポーズを安定して作れない場合は、ControlNetやOpenPoseなどを利用して、ポーズそのものを画像で指定する方法も検討するとよいでしょう。
AIイラストのポーズ指定では、「可愛いポーズ」という結果を直接指定するよりも、そのポーズになるまでの身体の動きを具体的に指定することがポイントです。

コメント