Stable Diffusionでポーズだけ変える方法は?検証しつつ解説!

Stable Diffusion

画像生成でポーズだけを変えたい!って時ありますよね?

そんな時にStable Diffusionでポーズを変える方法がいくつかあります。

今回は、その方法を実際に検証しながら解説していくので、ぜひ参考にしてみてください。

※Stable Diffusionの基本的な使い方については、以下の記事で解説しています。

スポンサーリンク

Stable Diffusionでポーズだけ変更する方法は?

Stable Diffusionでポーズだけ変更する方法は、2つあります。

①呪文(プロンプト)で指定する

②ControlNetのOpenPoseという機能を使う

この2つの方法について詳しく解説していきます。

Stable Diffusionの画像生成を最速で学びたいあなたへ!
  • Stable Diffusionの基礎を2時間でマスター!
  • 高スペックPCがない方向けに徹底解説。
  • ControlNetなど、必須級の拡張機能も網羅。
  • 今話題のSDXL、AI動画生成も。
  • 特典として、大人気「おすすめ拡張機能・モデル解説」「プロンプト大全」つき!
\このボタン限定!70%オフキャンペーン実施中!/
70%オフキャンペーン実施中!/

Stable Diffusionでポーズを変更する方法①:プロンプト

呪文(プロンプト)で変更する際には、シード値を固定する必要があります。

シード値とは、ランダム性を制御するもので、値を固定すると同じ結果を得ることができるものです。

このシード値と特定の呪文(プロンプト)を固定し、ポーズを追加することで、画像のポーズを変更することができます!

手順はこんな感じです。

①自分の好きな被写体を画像生成する

②シード値を固定する

③指定したいポーズを呪文(プロンプト)に入力する

①自分の好きな被写体を画像生成する

Stable Diffusionを使って、モデル参考サイトプロンプト参考サイトなどを見ながらご自身で好きな被写体を生成してください。

②シード値を固定する

生成結果からコピー&ペーストして入力するか、seedの項目にあるリサイクルアイコンをクリックすると生成した画像のシード値が入力されます。

※Seed値について詳しく知りたい方は、以下の記事を参考にしてください!

③指定したいポーズを呪文(プロンプト)に入力する

これで、被写体は変えないままポーズだけ変えることができます!

コツとしては、固定する要素を細かく指定することです。

眉毛・目の形・唇の厚さ・体形などを詳しく指定することで、より元の被写体に寄った画像を生成できます!

また、反映されていない要素にさらに重みをつけることで、再現性も高まります。

続いて、この方法を基に実際にポーズだけ変えてみましょう!

【検証】プロンプトを使って実際にポーズを変えてみた!

呪文(プロンプト)でポーズだけを変える方法をおさらいしましょう。

①自分の好きな被写体を画像生成する

②シード値を固定する

③指定したいポーズを呪文(プロンプト)に入力する

では、実際に作っていきましょう!

①今回はこちらの被写体を使います。

(Action-packed:1. 2), (Professional: 1. 2), (Corporate: 1. 1), (Polished: 1. 1), (Confident: 1. 1), (Sophisticated: 1. 1), mixed-race woman in her mid-twenties, dressed in a tailored professional attire, (looking directly at the camera: 1. 2), standing confidently in front of a large window in a modern office building, (head to mid-thigh shot: 1. 1), (well-lit: 1. 1), (clean: 1. 1), (sharp: 1. 1), (sleek: 1. 1), (minimalist: 1. 1), (chic: 1. 1), (contemporary: 1. 1), (professional demeanor: 1. 1), (business-like: 1. 1), (approachable: 1. 1), (stylish: 1. 1), (elegant: 1. 1), (composed: 1. 1), (competent: 1. 1), (successful: 1. 1), (career-oriented: 1. 1), (confident smile: 1. 1), (focused gaze: 1. 1), (dynamic: 1. 1), (inspiring: 1. 1), (motivating: 1. 1).

この呪文(プロンプト)の中で、残しておきたい特徴はそのまま使い回します。

②次に、シード値を固定します。

生成結果からコピー&ペーストして入力するか、seedの項目にあるリサイクルアイコンをクリックすると生成した画像のシード値が入力されるんでしたね。

または

この方法でシード値を固定します!

指定したいポーズを呪文(プロンプト)に入力する

今回は、『腕を組んでいる』ポーズにしたいので、呪文(プロンプト)に“she has her arms crossed(訳:彼女は腕を組んでいる)”を入力します!

『Generate』ボタンを押して生成すると…

良い感じにポーズだけ変更できましたね!!

呪文(プロンプト)でポーズだけ変更するときはこんな感じで生成してみてください。

romptn Q&Aで画像生成の悩みを解決しよう!
  • Stable Diffusionのエラーが解決しない
  • 画像生成がうまくできない
  • おすすめのモデルが知りたい
など、AIに関するお悩みがあれば投稿してみてください。
詳しい人が解決してくれるかもしれません。

Stable Diffusionでポーズを変更する方法②:ControlNet

ControlNetは、Stable Diffusionの拡張機能ツールです。

デフォルトとしてStable Diffusionには設定されていないので、自分で別途追加する必要があります

ControlNetのツールを使用することで、ポーズを指定して変更することができるようになります!

ControlNetのインストール方法

ControlNetのインストール方法については、以下の記事で詳細に説明していますので、ぜひご覧ください!

ControlNetでポーズだけ変える方法

つづいて、ControlNetでポーズだけ変える方法について解説します。

ControlNetでポーズだけ変える方法をまとめると、以下の手順になります。

①ポーズを変えたい人物画像を用意

②Stable Diffusionに【OpenPoseEditor】をインストール

③【OpenPoseEditor】で取りたいポーズを決める

④出来たものをControlNetの画像欄にドラッグ&ドロップ

⑤『PNG into』でポーズを変えたい画像をドラッグ&ドロップ

⑥『Send to txt2img』をクリック

⑦『Generate』で生成完了!

少し手間がかかる作業ですが、慣れれば簡単にできます!

【検証】実際にポーズを変えてみた!

先程説明した使い方をもとに、ControlNetを使ってポーズを変えてみます!

ControlNetを使うときは、こちらのノートブックでも簡単に利用できるので是非使ってみてください。

ポーズ元の画像は、こちらを使います。↓

こちらの画像は、PromptHeroから引用してきたものです。

Stable Diffusionに【OpenPoseEditor】をインストールします。

1.『Extention』の『Install from URL』をクリック

2.URLの欄に、“https://github.com/fkunn1326/openpose-editor”を入力

3.『Install』をクリック

4.『Installed』を開いて、openpose-editorがインストールされているか確認

5.確認できたら、『Apply and quite』でStable Diffusionを再起動したら完了!

この方法でインストールしてみてください。

※もっと詳しい解説が見たい!という方は、以下の記事を参考にしてください!

【OpenPoseEditor】で取りたいポーズを決める

1.『OpenPoseEditor』をクリック

2.変えたいポーズを棒人間に取らせる(関節部分を動かせます!

3.『Send to txt2img』をクリック

今回は、右手を上に挙げたポーズを指定しました。

④出来たものがControlNetの画像欄にドラッグ&ドロップされているか確認

1.ControlNetの画像欄に、OpenPoseEditorで作ったポーズの画像がドラッグ&ドロップされているか確認

2.『Enable』をクリック(ControlNetを有効にするため

3.Preprocessorを“none”に、Modelを“control_openpose-fp16[9ca7cc5]”にする

⑤⑥『PNG into』でポーズを変えたい画像をドラッグ&ドロップ

1.『PING info』を開く

2.画像欄に、ポーズを変えたい元画像をドラッグ&ドロップ

3.『Send to txt2img』をクリック

元画像を生成した際の呪文(プロンプト)がそのまま入力されるため、ほぼ同じ人物をもう一度生成できます。

⑦『Generate』をクリックで画像生成

1.呪文(プロンプト)やシード値がちゃんと入力されているか確認して、『Generate』をクリック

2.指定されたポーズに変更された画像が生成されます!

※『Sampling method』は“DPM++ 2M SDE Karras”にすると綺麗に画像生成できます。

最終的に出来上がった画像がこちらです!

服装など少し変わってしまった部分もありますが…ポーズは指定したものに変更できましたね!

呪文(プロンプト)などをさらに細かく指定すると、元画像により近いものが生成できるので、是非チャレンジしてみてください!!

ControlNetを使用するときの注意点

非常に便利なControlNetですが、OpenPoseなどは商用利用不可のものがあります

有料のライセンスを取得すれば可能になります!

OpenPose は非営利目的で無料で利用できます。

CMU-Perceptual-Computing-Lab/openpose

と公式ページに書いてあるので、注意しましょう。

また、使用できる範囲はプリプロセッサやモデルによって異なるため、公式ページのライセンスなど確認が必要になります。

※ControlNetの商用利用については、以下の記事で解説しています。

まとめ

いかがでしたでしょうか?

今回説明した内容をまとめると、以下のようになります。

画像生成の際に、ポーズだけを変更する方法は、

・①呪文(プロンプト)で、シード値を固定してポーズを変更

 ②ControlNetのOpenPoseを使ってポーズを変更

・ControlNetはライセンスがないと商用利用できない

特にControlNetは、機能がたくさんあるため全てを把握するのは非常に難しいですが、画像の修正、ポーズの指定など、出来ないことがないほど機能が充実しているたくさん練習してみると良いですよ。

再現性を高めるためには、呪文(プロンプト)などで調整を加えることが必要なため、思い通りの画像生成には粘り強さが大切です!

是非紹介した方法でさまざまなポーズを試してみてください!

romptn Q&Aで画像生成の悩みを解決しよう!
  • Stable Diffusionのエラーが解決しない
  • 画像生成がうまくできない
  • おすすめのモデルが知りたい
など、AIに関するお悩みがあれば投稿してみてください。
詳しい人が解決してくれるかもしれません。