「MasaCtrl」機能の導入・使い方を分かりやすく解説ー人物そのままポーズ変更【Steable Diffusion】

2023年6月3日Stable diffusionAI, ControlNet

MASAcntl

今回は「Stable Diffusion」で生成した人物を記録して、ポーズを変更したりできる「MasaCtrl(Masa Control)」機能についてです。

ちなみに「Stable Diffusion」はさまざまな拡張機能があり、いろいろやろうとすると「ControlNET」だけではカバーしきれなくなってきたので、「ControlNET講座」を改め「ControlNET&拡張機能講座」とします。今回は「ControlNET&拡張機能講座」の第7回目ですね。

ポーズを変えるのは、前回の講座でやった「reference_only」「openpose」とどう違うのニャ。

こちらはプロンプトを直接記憶するので、画像を用意しなくてもいいぶん、お手軽さはあります。

インストールと使い方をさくっと説明していきます。

 

「MasaCtrl」のインストール

そもそも「Stable Diffusion」をインストールしていないという方は、以下の記事からさくっとインストールしてください。

install

「Stable Diffusion」を起動させ、「Extensions」タブ→「Install from URL」タブに移動し、「URL for extension’s git repository」に、

https://github.com/ashen-sensored/sd_webui_masactrl.git

を貼り付け、「Install」ボタンをクリックします。しばらく待つと「Install」ボタンの下の方にいろいろ文字が出てきてインストール終了。

つぎに「Extensions」タブ→「Installed」タブ「Apply and restart UI」 ボタンをクリックして再起動します。これでインストール完了です。

 

「MasaCtrl」の使用方法

motogaozou

まず「Txt2img」で適当な画像を作ります(シード固定)。これをもとにして、「MasaCtrl」機能を使います。

人物の記録(LOGGING)

MASACL

「Txt2img」の下にある「Masa Control」を開きます。初期状態は「IDLE」(停止)なので、これを「LOGGING」(記録する)にします。

次に「Foreground Indexes」ですが、プロンプト内の「1girl」が出現する位置の数字を書きます。英単語も「,」も1つと数えて、何番目に来るかですね。これは数える必要はなく、プロンプトを記入する欄の右上に「14/72」とか書いてるので、この数字(ここでは14)をそのまま記入します。

「1girl」のうしろにもいろいろ書いている場合はどうするのニャ?

「1girl」のうしろの単語をすべて切り取って、先ほどと同じように右上の「〇/72」の数字を見ればいいでしょう。そのあとにまた戻せばいいだけです。

数字を記入したら、いつものように「Generate」ボタンを押します。これで少女の状態が記憶されます。

記録した人物を利用(RECON)

次に「Masa Control」のトグルを、さきほどの「LOGGING」から「RECON」に変更

プロンプトには「hands up」とでも付け加えておきましょう。

handsup

結果がこちら。

キャラクターはそのままで、微妙に手が上がったような気がするのニャ。ちなみに「Masa Control」を使わなかったらどうなるのニャ?

それではトグルを「IDLE」にして機能を切り、普通に生成してみましょう。

nashi

こうなりますね。

髪型と服装が変わったニャ。「Masa Control」はちゃんと効いてたのニャ。

peace

つぎは「Masa Control」を使って、「peace sign」「closed eyes」させた画像がこちら。

ちょっと怪しくなってきたニャ。髪型がちょっと違う気がするのニャ。

さすがにまったくおなじは難しいところがありますね。

seed

シード値を固定しなかった場合は、こんなのが出てきました。

完全に別物ニャ。

何度かガチャを繰り返せば、それっぽいのも出てきますけどね。根気が必要になるとは思います。

衣装は変えられるのかニャ?

服装も固定されるので、衣装変更はなかなかうまくいきませんね。背景も同様です。それがしたければ、「reference_only」か「instruct pix2pix(ip2p)」をつかったほうがいいかもしれません。

あと「OpenPose」との併用もしてみましたが、相性がよくないのかクリーチャーが生み出されまくりました。

 

まとめとわかったこと

そんなわけでわかったこととしては、

・「Masa Control」は顔・衣装・背景を強めに覚えていてくれる。

・そのため、ポーズの変更はできても、衣装・背景変更などは難しい感じ。

・「OpenPose」との相性もあまりよろしくない(いまのところ)。

・目を閉じたりとかはできるけど、表情変更になるとあまり言うことを聞いてくれない。

・シード値を固定しないと違う人物が生成されることもあるため、ガチャをしばらくやることになる。

ちょっとあつかいが難しい感じニャ。

知識や慣れの問題もありますが、いまのところ「openpose」「reference_only」を組み合わせたほうが良い結果が出やすいかなという感じでした。

また何かわかったら記事で報告します。

次回の講座は「「LLuL」機能をわかりやすく解説ー画像の一部を高解像度化」です。以下のリンクから。

↓「reference_only」で人物そのまま衣装変更

↓「openpose」「reference_only」の合わせ技で人物固定でポーズ変更。