見出し画像

簡単!StableDiffusionWebuiで推しポーズ画像のモデル変更方法 t2i ControlNet Tile 編

概要

 皆さんは、「このモデルの雰囲気好きなんだけど、このモデルを使うとこういうポーズがなかなか出て来ないんだよね…」。「だけど、何とかしてこのモデルの子でこの画像のポーズをさせたい!」と、思うことはありませんか? 私は毎日あります!

この子にこういうポーズをして欲しい

 今回は、t2i の ControlNet Tile を 使用し、任意のモデルで出来る限り指定の構図にする方法について、備忘録兼ねてまとめます。

 検証に使用したモデルは、BDさんの BreakDomainAnime_a0440 と、ninekeyさんの ninekeymix12 v2.0 です。

準備

  こういうポーズをさせたいと思う人物PNG画像を用意します。

ポーズ画像

 表示させたい人物を生成するモデルを決めます。

使用するモデル(画像の準備は不要)

 以上で、準備は終了です。
 しいて言えば、ポーズ画像はプロンプトデータ付きが理想です。データ付きが無い場合は、精度が落ちますが拡張機能の「タグ付け(Tigger)」を使用して、プロンプトを作成して下さい。

 Tigger 拡張機能は github 上に、toriato氏によって公開されています。 
 Automatic1111 にインストールするには、「機能拡張」タグをクリックすると出てくる「URLからインストール」をクリックし、「拡張機能のリポジトリのURL」下のウィンドウに、githubの配布リポジトリのURL
「 https://github.com/toriato/stable-diffusion-webui-wd14-tagger 」
を入力し、「インストール」をクリックしてインストールします。
 インストールしたら「インストール済」タグをクリックし、下の一覧に追加されていることを確認して、「適用してUIを再起動」をクリックしWebUIを再起動します。うまく更新が反映されない場合はブラウザを更新するか、WebUIを終了して再度起動してみて下さい。 

やり方

1.ポーズ画像の下処理

 用意したポーズに不要な部分や問題ある部分がある場合は、伝家の宝刀「Lama Cleaner」で先に消してしまいます。画像に問題が無ければこの作業は不要ですので次に進んで下さい。
 特に手や腕、指周りは結果に大きく影響しますので丁寧に消します。ただし、綺麗に修正する必要はありません。ざっくり「この辺りが手や指になる」程度の修正で構いません。

修正後のポーズ画像

2.ポーズ画像を「PNG内の情報を表示」へ

ポーズ画像を「PNG内の情報を表示」へ

 ポーズ画像を「PNG内の情報を表示」のウィンドウへドラッグ&ドロップし、「txt2imgに転送」をクリックしてプロンプトデータを「txt2img」に送ります。

3.モデルと「txt2img」の設定

 「txt2img」タグをクリックし、送ったプロンプトデータの内容を確認したら、「Stable Diffusionのcheckpoint(モデル)」を表示させたい人物を生成するモデルに変更し、SD VAE と Clip skip、サンプリングステップ数、CFGスケール をモデル推奨の数値に変更します。

「txt2img」のプロンプトデータ 1
「txt2img」のプロンプトデータ 2

4.ControlNet の設定

 ControlNet は「Tile」を選択し表示されたウィンドウへ、修正後のポーズ画像をドラッグ&ドロップします。

ControlNetの 設定

 プリプロセッサは none を指定、モデルは tile を指定します。そして Control Weight と Ending Control Step はデフォ「1.0」、Control Mode を「ControlNet is more important」に設定します。それ以外の設定は画像を参照して下さい。私はVRAM6GBの低VRAMPCなので、「低VRAM」にチェックを入れていますがVRAM12GB以上の場合は不要のようです。

 試しに Control Weight と Ending Control Step を「0.5」に下げて画像生成してみます。

Control Weight と Ending Control Step を「0.5」

 ControlNet の影響が薄くなり、モデル本来の持ち味が強く出るようになりました。
 もう一つ試しに、Control Mode はデフォの「Balanced」で、画像生成してみます。

Control Mode 「Balanced」


 Control Weight と Ending Control Step を「0.5」に下げた時程ではありませんが、モデル本来の持ち味が強くなり机や壁などの素材が変わりました。

 以上で合成するための設定は終わりです。まずは、高解像度補助を使用しないで一度画像生成をしてみます。

仮画像

 指はおしいところまできていますが大変な事になっています。でもここでは気にせず次に進みます。

調整

1.「高解像度補助」の設定

 最終的にもっと高解像度な画像を完成画像とすると思いますので、次は「高解像度補助」を使用した状態で調整を行っていきます。

「高解像度補助」を使用した状態

 仮画像の指の状態はネガの embedding「bad-hands-5」が強く影響し過ぎているように感じた(単なる勘です)のでほんの気持ち重要度の数値を下げて、「高解像度補助」にチェックを入れ、「アップスケーラー」と「ノイズ除去強度」を設定します。「アップスケール倍率」はまだ調整段階なので、「1.0」倍にします。
 なお、アップスケーラーに「R-ESRGAN 4x+ Anime6B」を、この場合のノイズ除去強度を「0.25」にしているのは、過去の経験による単なる私の好みです。皆様が普段使用されているものをご使用下さい。

2. Tiled Diffusion と Tiled VAE の設定

 Tiled Diffusion と Tiled VAE も下記画像を参考にて使用するように設定します。

Tiled Diffusion と Tiled VAE の設定

 それぞれの数値は私のPC環境でのデフォ値です。VRAM容量で自動的に数値は設定されるようなので、特に変更する必要な無いと思います。ただし、高解像度時にメモリエラーで画像生成が出来ない場合は、それぞれの数値を半分程度まで下げて再挑戦してみて下さい。時間は余計に掛かるようになりますが、エラー出ずに画像生成できるようになるかもしれません。

 そして「生成」をクリックして、この状態で画像の再生成を行います。何度か「bad-hands-5」の数値を調整し指の状態を確認して、問題無い(修正可能な範囲の)画像が出力されたら調整作業は終了です。

調整終了後の画像

完成

 アップスケール倍率を希望の倍率に設定します。

アップスケール倍率の設定

 今回は私のPCが低VRAM環境である事と生成時間短縮のため「1.5」倍に設定しました。「生成」をクリックして、高解像度の画像を出力します。

完成画像(仮)

 出来ました!
 でも、右上窓の黒染みとまだ指が少し気になります。こういう時は、また伝家の宝刀「Lama Cleaner」の登場です。気になる部分を消去した完成画像がこちらです。

完成画像

余談

 一応画像は完成しましたが、自分的には表情が少し物足りなく感じてきました。そこでプロンプトに「grin」を足して少し「ニカッ!」とさせてみます。

ニカッ!1.0倍

  なかなか良い感じになりました。では、この画像を基に「1.5」倍したところ…、

高解像度によくある目がくわッ!

 プロンプトに表情に関する単語を入れている場合で、特に笑いや微笑みや目の開き具合に関するの単語を入れていると、高解像度時にその単語の意味も高解像度(強調?)されてしまうのか、目が見開かれて「くわっ!」っという感じの表情になる場合があります。
 その際は、該当すると思われる単語を抜いてプロンプト調整を行うか、出力画像を加筆修正するしか無いかと思います。今回は「Lama Cleaner」だけを使い、「くわっ!」感を低減してみました。

「くわっ!」感低減

 「Lama Cleaner」、万能過ぎますね。

この記事が気に入ったらサポートをしてみませんか?