【Stable Diffusion】画像生成AIで思い通りのポーズが作れない人へ|OpenPoseで“そのまま再現”する手順

AI活用・PC

Stable Diffusionで画像生成をしていると、こんな悩みにぶつかりませんか?

  • 頭の中ではイメージできているのに、プロンプトでポーズを表現できない
  • 両手を上げて腕を組ませたいのに、全然違うポーズが出てくる
  • 寝そべりポーズを作りたいのに、体が崩壊してしまう
  • 顔は綺麗なのに、体だけ破綻する

実はこれ、初心者だけでなく中級者でもよくある悩みです。

僕も最初、腕上げポーズや寝そべり構図が全然作れなくて苦労しました…!

でも安心してください。
その悩み、OpenPoseを使えば一気に解決できます。

この記事では、ローカル環境での Stable Diffusion WebUI をもとに解説を行います。

この記事で得られること
  • 思い通りのポーズを安定して再現できるようになる
    → 腕上げ・寝そべりなど、プロンプトだけでは難しい構図も作りやすくなる。
  • ポーズ崩れや体の不自然さを大きく減らせる
    → 手足が変な方向に曲がる、体がねじれる…といった悩みを解消。
  • あなたのイメージをもとに、狙った構図の画像を作れるようになる
    → “こうしたい”を最短ルートで形にできる。

OpenPoseとは?

OpenPoseは、画像の「骨格(スケルトン)」を抽出して、そのままStable Diffusionに渡せる機能です。

▼ OpenPoseでできること

  • 元画像のポーズをそのまま再現できる
  • 手足の位置が安定し、アナトミー崩壊(=体の形が不自然に崩れてしまうこと)が激減
  • プロンプトで表現しにくい複雑なポーズも簡単
  • 寝そべり・座り・動きのある構図に強い

プロンプトで頑張らなくても、画像を使えばポーズが作れるんですね!

そう、OpenPoseは “ポーズの悩みを一発で解決する最強ツール” なんです。

なぜプロンプトだけではポーズが崩れるのか?

つまずく理由はシンプルです。
3つ紹介します。

AIはポーズ理解が苦手

Stable Diffusionは「顔」や「質感」は得意ですが、
人体の角度・関節の位置・重心などは苦手です。

特に難しいポーズは破綻しやすい

  • 寝そべり
  • ひねりのあるポーズ
  • 片足立ち
  • 手を顔の近くに持ってくる構図

こういったポーズは、プロンプトだけでの再現は難しいです。

言語化の限界

「両手を上げて腕を組む」
「横向きで寝そべる」
などを正確に言語化するのは難しい

こんなときに、OpenPoseが活躍します。

OpenPoseの導入手順(Stable Diffusion WebUI Forge Classic)

そんな課題を解決してくれるのが、OpenPose!

Stable Diffusion WebUI では、
ControlNet(コントロールネット)という機能の中に OpenPose を追加して使います。

ここでは、初心者でも迷わないように、
ローカル環境の Stable Diffusion WebUI Forge – Classic をもとに、
1ステップずつ丁寧に解説を行います。

【ステップ①】Stable Diffusion WebUI Forge – Classic を開く

まずはいつも通り、Stable Diffusion WebUI Forge – Classic を起動します。

  1. 起動バッチ(webui-user.bat など)をダブルクリック
  2. Stable Diffusion WebUI Forge – Classic の Launch をクリック
  3. ブラウザが自動で開く
  4. WebUI の画面が表示される

【ステップ②】ControlNetが使える状態か確認する

画面上部のタブメニューから 「txt2img」 をクリックします。

少し下にスクロールすると、
「ControlNet Integrated」 というエリアがあります。

ここが表示されていれば、ControlNet の“枠”はすでに入っています。

▼ Model を開いてみる

ControlNet Integrated の中にある 「Model」 のプルダウン(「None」と書かれている枠)をクリックします。

  • None しか表示されない
  • 他の選択肢がない

これは正常です。

「あれ?None しかない…」 と焦っちゃいけないね

これは、
ControlNet の本体は入っているけど、OpenPose の“中身(モデルファイル)”がまだ入っていない状態
という意味です。

【ステップ③】OpenPoseモデルをダウンロードする

OpenPoseを使うには、専用のファイル(モデル)を追加する必要があります。

以下の「Hugging Face」というサイトに、OpenPoseのモデルが公開されています。

▼ ダウンロードするファイルはこの2つ

  • control_v11p_sd15_openpose.pth(本体)
  • control_v11p_sd15_openpose.yaml(設定ファイル)

▼ OpenPoseモデルのダウンロードページ

lllyasviel/ControlNet-v1-1 at main
We

【ステップ④】OpenPoseモデルを正しい場所に入れる

ダウンロードしたファイルを、Stable Diffusion のフォルダに入れます。

▼ フォルダの場所

StabilityMatrix-win-x64/Data/Packages/
Stable Diffusion WebUI Forge – Classic/models/controlnet

“controlnet” フォルダに入れないと、WebUI が認識しません。

“ControlNetPreprocessor” という似たフォルダが隣にあるので、間違えて入れないよう注意してね

【ステップ⑤】Stable Diffusion WebUIを再起動する

モデルを入れたら、一度 Stable Diffusion WebUI を閉じて再起動します。

ブラウザだけでなく、Stable Diffusion WebUI 本体(黒い画面)も一度閉じてください。
→ 「ストップ」 を押してから「×」で閉じられます。

再び
Stable Diffusion WebUIを起動して、
txt2img → ControlNet Integrated → Model
を開くと…

  • control_v11p_sd15_openpose

が表示されていれば導入成功です。

やっと出てきた!これで使えるんですね!

これができたら、次のステップ「OpenPoseの使い方」に進みましょう!

OpenPoseの使い方(最初に使うときの基本的な方法)

【ステップ①】ポーズの元画像を用意する

まずは「真似したいポーズ」の画像を用意します。

  • 写真(フリー素材サイトの写真など)
  • イラスト(自分で描いたラフでもOK)
  • 自分で撮ったポーズ写真(スマホで撮影でもOK)

【ポイント】
顔は誰でも大丈夫です。
OpenPoseは「体のポーズ」だけを読み取るので、
生成されるキャラの顔は別物になります。

【ステップ②】ControlNetの場所を確認する

  1. Stable Diffusion WebUI Forge – Classic を開きます。
  2. 画面上部の「txt2img」というタブをクリックします。
  3. 少し下にスクロールすると、
    「ControlNet Integrated」 というエリアがあります。
  4. クリックするといろいろな設定ができるようになります。

OpenPoseは、この「ControlNet Integrated」の中から使います。

【ステップ③】ポーズの元画像をControlNetに読み込む

  1. ControlNetのエリアの中にある
    「ここに画像をドロップ または クリックしてアップロード」
    エリアを探します。
  2. そこに、さきほど用意した「真似したいポーズの画像」をドラッグアンドドロップで入れます。

【ステップ④】ControlNetの各種設定をする

必要なチェックボックスにチェックをつける

アップロードした画像の下のエリアに以下のチェックボックスがあり、
チェックを入れていきます。

  • 「Enable(有効化)」にチェックを入れる
    → これで、「ControlNetを使うよ」というスイッチが入ります。
  • Pixel Perfect」にチェックを入れる
    → これで、正確さを維持するためのスイッチが入ります。
  • 「Show Preview」にチェックを入れる
    → これで、読み込んだ骨格を表示できるスイッチが入ります。
  • 「OpenPose」にチェックを入れる
    → これで、「OpenPoseを使うよ」というスイッチが入ります。

チェックが入っていないと、いくら設定しても反映されないから注意してね

【ステップ⑤】OpenPoseのモデルを設定する

「どんな情報を使って画像を扱うか」を選んでいきます。

1. Preprocessor(プリプロセッサ)

  • ここは「元画像から何を読み取るか」を決める場所です。
  • プルダウンを開いて、
    「dw_openpose_full」 を選びます。
    → これで「元画像からポーズ(骨格)を読み取る」設定になります。

2.Model(モデル)

  • ここは「どのControlNetモデルを使うか」を選ぶ場所です。
  • プルダウンを開いて、
    control_v11p_sd15_openpose」 を選びます。
    → これで「OpenPose用のモデルを使う」設定になります。

ポーズの読み取り

Preprocessor(プリプロセッサ)Model(モデル)の間のマークを押すと、
アップロードした画像の横に、棒人間のような線の絵(骨格)が表示されます。
→これがOpenPoseが読み取ったポーズです。

このポーズをもとに画像生成されていきます。

【ステップ⑥】プロンプト(文章)もちゃんと入れる

ここが大事なポイント。

OpenPoseは「ポーズ」だけを決める機能です。
服装・髪型・雰囲気・背景などは、
いつも通り「プロンプト(文章)」で指定する必要があります。

ポーズはOpenPoseに任せて、プロンプトでは見た目を指定する

▼ 例:

  • ポジティブプロンプト(例):
    beautiful girl, white dress, detailed eyes
  • ネガティブプロンプト(例):
    low quality, blurry, extra fingers, deformed hands

ポーズは画像から、見た目はプロンプトから。
役割を分けて考えるとわかりやすいよ

【ステップ⑦】「生成」ボタンを押す

ここまで設定できたら、
あとはいつも通り 「Generate(生成)」ボタン を押すだけです。

  • OpenPoseが「元画像のポーズ」を読み取り
  • Stable Diffusionが「プロンプトの内容」で見た目を決めて
  • “元画像と同じポーズのキャラ” が生成されます。

1回でうまくいかない場合もあります

その場合は:

  • プロンプトを少しシンプルにする
  • サンプル数(steps)を少し増やす

などを試してみてください。

OpenPose で実際にどんな悩みが解決できるのか?

● 説明が難しいポーズが作れない問題

プロンプトでは難しい細かい腕の角度も、
OpenPoseなら元画像を使うだけで再現できます。

● 寝そべりポーズの崩壊

寝そべりはAIが苦手な構図のひとつ。
でもOpenPoseなら、骨格を正確に抽出できるため破綻しにくい。

● 顔は良いのに体が崩壊する問題

Stable Diffusionは顔が得意なので、
「顔だけ良いのに体が破綻する」
という現象がよく起きます。

OpenPoseで体の骨格を固定すれば、
体の崩壊を大幅に防げるようになります。

よくある失敗と改善策(初心者がつまずくポイント)

参考までに、うまくいかない例と対策をいくつか紹介します。

つまづきポイント原因対策
骨格がうまく抽出されない元画像が暗い・複雑画像のコントラストを上げる
手が崩れるOpenPoseだけでは限界手専用のControlNet併用を検討
元画像と違うポーズになるWeight が弱いWeight を 1.0 に近づける
体がねじれる元画像が複雑まずはシンプルな画像で

まとめ:ポーズで悩む時間を、OpenPoseが一気に短縮してくれる

画像生成AIでポーズを思い通りに作るのはとても難しい。
特に全身・寝そべり・複雑な構図は、プロンプトだけでは破綻しやすい。

OpenPoseを使えば、
元画像のポーズをそのまま再現できて、体の不自然さも大きく減らせる。

OpenPoseを導入して、
ポーズで悩む時間を減らして、
あなたの思い描く世界をもっと自由に作っていきましょう。

コメント

タイトルとURLをコピーしました