もうすぐ歌ってみたを公開するよ(๑╹ω╹๑ )

ということで、Stable Diffusionを使って動画に使う画像を生成していました。

今回は、人物のポーズを指定する手順をまとめたいと思います。



txt2imgで可愛い女の子を生成

まずは前段階として人物画像を準備しましょう。

Stable Diffusion web UI導入方法や、画像生成手順はこちらを参照してください。



手足がおかしいとか、ポーズや背景をなんとかしたいとかいう部分は後でどうとでもできるので、この雰囲気好き!という画像が出るまでガチャりまくりましょう。


コツは、

・良いモデルを使う
・良いプロンプトを入れる

というところです。


良いモデルを使う

実写っぽい画像を作りやすいモデル、アニメっぽい画像を作りやすいモデルなど、色々あります。

目的に合わせて検索してみましょう。




良いプロンプトを入れる

プロンプト生成もコツが要ります。

大体、Lexica か Promptメーカー を使っています。

人間を生成したい場合は後者がおすすめ。

Stable Diffusionでの生成画像
美しいよ〜!


さて、素敵な女性が生成できたのですが、全身像が欲しいですね。

ということで、CotrolNetの出番です。



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

導入

まずはCotrolNetを導入します(導入している人は読み飛ばしてください)

ExtensionsのInstall from URLに、https://github.com/Mikubill/sd-webui-controlnet.gitを入れて、インストールボタンを押します。

Stable DiffusionのExtensions




それから、OpenPoseモデルを追加します。

https://huggingface.co/webui/ControlNet-modules-safetensors/tree/main にアクセスして、モデルをダウンロードしてきます。

今回は、control_openpose-fp16.safetensorsという名前のファイルを落としてきましょう。

モデルごとにポーズ生成のアルゴリズムが違うのですが、今回使うopenposeという機能は、写真から人間のポーズをシンプルな棒人間として抽出して、そのポーズにする、という仕組みになっています。

※モデルごとの違いはこちらの記事がわかりやすかったです


落としたモデルファイルを、ご自身のPCの
stable-diffusion-webui/extensions/sd-webui-controlnet/models
というパスのフォルダの中に置いてください。


ここまでできたら、再起動(コマンドで立ち上げ直す)をしてください。

これでOpenPoseを使えるようになります。



OpenPoseによるポーズ指定

img2imgに、先ほど作った画像をアップします。

そして、txt2imgで使ったのと全く同じプロンプトを入れます


プロンプトを忘れてしまった場合、PNG infoというタブから、作った画像をアップすると、プロンプトをチェックできます。

Stable DiffusionのPNG Info


基本的に数値を触るところに赤印を入れました。

Stable Diffusionでの設定

Batch Countは生成枚数を指定できます。
あまりたくさん枚数を指定すると、PCのスペックによってはめちゃくちゃ時間がかかります。
最初は2-3枚作って、安定してきたな、と感じたら枚数を増やすのがおすすめです。


Denoising strengthの数値は、大きいほど元画像と離れたものが、小さいと元の画像に近いものが出ます
ただ、この数値を0.5以下にすると、うまくOpenPoseを指定できなくなるので、0.6-0.8くらいがおすすめ。


Seedは必ず-1にしましょう(そうしないと、同じ画像ばかり生成されます)。





下にスクロールして、ControlNetのタブを開き、こんなポーズにしたいな、という画像をアップします。

フリー素材や、自分で撮った写真などを使いましょう。
今回はフリー素材を使いました。

画像下のEnableのチェックを必ず入れてください。

Stable DiffusionでのOpenPoseの設定

OpenPoseを選択します。
すると、自動でモデルが設定されるはずです。

Control Modeの部分はプロンプトを優先させたいか、ポーズを優先させたいか、バランスをとるかでいい感じに決めましょう。
ここを変えても、結構雰囲気の違う画像が出てくるので、試行錯誤してみてください。

Stable DiffusionでのOpenPoseの設定

ここまで設定したら、一番上に戻って、Generateしましょう!

こんな感じで、可愛くてかっこいいお姉さんの絵をいっぱい錬成できました。

Stable Diffusionでの生成画像

Stable Diffusionでの生成画像

Stable Diffusionでの生成画像


とはいえ、こうして引きの全身像にすると、顔が溶けることがあります。

次回は、これを回避する方法をまとめます。