Stable Diffusionを使って画像生成をしていると、
「思った通りのポーズにならない!」と悩んだことはありませんか?
特にキャラクターのポーズを指定するのは難しく、何度プロンプトを調整してもランダムなポーズになってしまうことも。
この記事では、Stable Diffusionでポーズをしっかりコントロールする方法を解説します!
基本的なプロンプトのコツから、ControlNetを使った高度な方法まで紹介するので、ぜひ参考にしてください。
目次
Stable Diffusionでポーズを指定する基本的な方法
まずは、Stable Diffusionでポーズを指定する際の基本的なテクニックを紹介します。
1. プロンプトにポーズの説明を加える
Stable Diffusionのプロンプトには、ポーズを説明する単語を入れることで、ある程度コントロールできます。
例:立って腕組みをしているキャラクター
a girl standing with arms crossed, detailed face, anime style

例:座っているキャラクター
a boy sitting on a chair, looking at the camera, detailed background

このように、"standing"(立っている)、"sitting"(座っている)などの単語を入れると、ポーズを反映しやすくなります。
2. ポーズ指定のプロンプト一覧
以下の表に、よく使われるポーズ指定のプロンプトをまとめました。
ポーズ | プロンプト例 |
---|---|
立ちポーズ | a girl standing, full body, looking at the camera |
腕を組む | a boy standing with arms crossed, confident expression |
腰に手を当てる | a woman standing with hands on hips, looking sideways |
片足を上げる | a man standing on one leg, playful pose |
座る | a girl sitting on a chair, legs crossed, smiling |
あぐらをかく | a man sitting cross-legged, meditative pose |
膝をつく | a woman kneeling on the floor, looking up |
ジャンプ | a boy jumping in the air, dynamic pose |
ダンス | a girl dancing with arms raised, joyful expression |
振り向く | a woman turning around, looking over shoulder |
前かがみ | a man leaning forward, focused expression |
このように、ポーズを詳細に指定することで、より狙った構図の画像が生成されやすくなります。
ControlNetを使って自由自在にポーズを指定する
Stable Diffusion単体では、細かいポーズを完全にコントロールするのは難しいですが、ControlNetを使うことで正確に指定できます。
ControlNetとは?
ControlNetは、画像の構造を指定してStable Diffusionで反映させる拡張機能です。
特に「OpenPose」を使うと、スケルトン(骨組み)を指定して、思い通りのポーズにすることができます。
OpenPoseを使ったポーズ指定の手順
- ControlNetをインストールする
- AUTOMATIC1111のWeb UIを使っている場合、「Extensions」からControlNetを追加できます。
ControlNetをインストールする手順は下記を参考にしてください!
- OpenPoseのスケルトン画像を用意する
- 「Depth-Anything」や「PoseMy.Art」などのツールを使うと、好きなポーズのスケルトン画像を作れます。
- 自分で適当なスケルトン画像を描いてもOK!
- Civitaiなどからダウンロードする。
- ControlNetでOpenPoseを適用する
- 生成したい画像のプロンプトを入力
- ControlNetの設定で「Enable」をONにし、「Preprocessor」を「none」、「Model」を「control_openpose」に設定
※OpenPoseのモデルデータをダウンロードしていない場合はHugging Faceから行う - 用意したスケルトン画像をアップロード
- 画像を生成する
- これで指定したポーズのキャラクターが出力されるはず!
ControlNetを使うと、プロンプトだけでは難しかったダイナミックなポーズも自由に作れるので、ぜひ試してみてください。
ポーズ指定の精度を上げるための追加テクニック
ポーズをより正確に指定するための補助的なテクニックも紹介します。
1. Negative Prompt(ネガティブプロンプト)を活用する
望ましくないポーズを避けるために、Negative Promptを使いましょう。例えば、
negative prompt: sitting, hands in pocket
これにより、「座っている」「ポケットに手を入れる」ポーズを避けることができます。
2. 画像を参考にする(img2img)
もし特定のポーズを再現したい場合、img2img機能を使うのも手です。
元となるポーズの画像を読み込ませて、スタイルだけ変更することができます。
3. LoRAを活用する
特定のポーズを学習させたLoRAを使うと、特定のポーズの再現率が上がります。
例えば、戦闘ポーズやダンスポーズなどをLoRAで学習させておけば、簡単に指定できるようになります。
まとめ
Stable Diffusionでポーズを指定する方法を解説しました!
まとめると、
- 基本のプロンプトでポーズ指定(standing, sitting, arms crossedなど)
- 詳細なポーズワードを活用(looking up, kneeling, leaning forwardなど)
- ControlNetのOpenPoseを使うと自由にポーズを設定できる
- Negative Promptやimg2imgで精度を上げる
- LoRAを使うと特定のポーズが再現しやすい
この方法を試せば、思い通りのポーズでStable Diffusionの画像を作れるようになります!
ぜひいろいろな手法を試して、理想のポーズを実現してくださいね!