「reference_only」機能をわかりやすく解説ー人物そのままで衣装変更【ControlNET講座#5】|Stable Diffusion

2023年6月3日Stable diffusionAI, ControlNet

reference_only-min

「Stable Diffusion」のControlNET講座第5回。「reference_only」を使って、同じ人物のまま服装などを変更する方法です。

というのも、「Stable Diffusion」はスクリプトを変えてしまうと、人物も変わってしまうことがあるのですね。そのため、「作成した人物に、別の服を着せたい」みたいな要求が難しくなります。

その難しい要求をかなえるのが「reference_only」です。手順をわかりやすく解説していきます。前回の「「Depth map library and poser」をわかりやすく解説ー手を修正」は以下のリンクから。

 

「reference_only」の使い方

「ControlNetv1.1」以上をインストールした状態であることを前提に話を進めます。まだの方や、インストールしたけどバージョンがわからんという方は以下のリンクを参照。

服装を変更する

txt2img

Txt2img」でつくった適当な画像を使います。この画像の人物を保ったまま、服装を変えてみます。

cnet

次に下の「ControlNet」を開いて、そこに先程生成した画像を入れます。それから「Enable」と「Pixel Perfect」にチェックを入れてください。

Preprocessor」はreference_onlyに設定。モデルは不要です。

プロンプトはさっき画像を作った時のままでOKですが、服装を水着に変えるために「swimsuit」と付け加えておきます。シード値は固定しなくてOKです。

あとはいつものごとく「Generate」ボタンをクリック。

mizugi

結果はこちら。

人物そのままで水着に変わったけど、スカートの一部が残ってるのニャ。

服装を取り込んでしまっていますね。プロンプトをいじって調整してみるのもいいでしょう。「swimsuit」を「school swimsuit」に変更してみます。

sukumizu

ちょっと変な感じだけど、スカートの影響は減ったニャ。

あとはひらすらガチャをするしかないかもしれませんね。

face

スカートの影響を減らすためには、元画像を少し切り取って、上半身だけにしてみます。これで生成してみましょう。

sukumizu2

スカートの影響がなくなって、普通に水着になったのニャ。ただ人物が幼い感じにもなったニャ。

調整は必要ですが、顔を保ったまま変化させることができているのがわかるかと思います。

tifa

プロンプトをいじって、『FF7』のティファのコスプレをさせてみました。ちょっと画像が荒いですが、調整すればなんとかなりそうです。

athena

某KOFのアテナさん。ヘアバンドやイヤリングも付けることができますね。

kimono

着物を着せてみました。プロンプトに「kimono」と書いただけですが、うまくマッチしています。プロンプトについては以下のプロンプト一覧記事も参照してみてください。

用意した衣装画像を着せる

fuku 2

「ControlNET」を2つ使って、1つ目は先ほどの上半身画像、2つ目は服装の画像を入れます。「ControlNET」を複数にするには、「Settings」タブ左側の一覧にある「ControlNET」タブ→「Multi ControlNet: Max models amount (requires restart)」の数字を増やしてください(再起動必要)。

衣服画像だけでは弱いので、まず衣服画像を「Tagger」タブで分析させ、服装関係の単語だけ抜き出してプロンプトに貼り付けます。「Tagger」の導入と使い方は以下のリンクから。

fukusou kekka

生成した結果はこちら。

装飾はないけどそれっぽいニャ。

元画像の服装が複雑なので、難しいところはありますね。何度かガチャを繰り返したり、プロンプトで要素を付け加えてもよいでしょう。

 

まとめ

以上のように「reference_only」は、同じ人物を流用して別の衣装を着せたいときなどに使うことができます。

ただ完璧にできるわけではなく、身長や細かいところが変わってしまうのは、ある程度は仕方のないところですね。

しかしこれまでの、「プロンプトを変えると人物も変わってしまう」という部分をかなり補えるようになったとは思います。

運任せの世界から、かなり大きな進歩なのニャ。

それでは次回の講座でまたお会いしましょう。【追記】次回、「「OpenPose」「OpenPose Editor」機能をわかりやすく解説ー自由にポーズ変更」できました。以下のリンクから。