見出し画像

Stable-diffusionでimg2imgをした続き

前回の記事の続きです。


ぶっちゃけ…

あのあと良い結果が得られず、しばらく塩漬けにしていました笑
ですが、YouTubeで偶然見かけた動画に惹かれて「Stable Diffusion WebUI」をインストールして世界が変わりました。
(あまり正確ではない表現です。)

何が問題だったのか

答えは単純で「モデル(checkpoint)」がイケてなかった、です。
極めて端的に言うと「学習データ(教師)が好きな絵柄が不得意だった」ということになります。
お絵かきAIでモデルデータがとても大事だということを身をもって体験しましたorz


では実際に使っていこう

準備

「Stable Diffusion WebUI」をインストールします。
やり方はゴロゴロ転がっているので各自見やすい情報を参考にインストールしてください。

使うモデル(ckpt)は界隈で人気な「Anything-v4」を使いました。
モデルに付いてもいろんな記事や動画をみて、どんなモデルがあるのか調べながらお気に入りのモデルを入手すると良いです。

これだけでも十分変換ができるのですが、いくつかの拡張機能をインストールします。
・「EasyNegative」 - めちゃくちゃ長くなるネガティブプロンプトを1単語で圧縮できるすごいヤツ。他にもあるけどとりあえずこれ入れておけば良さそう
・「Lora」 - デフォで入っている追加学習させたデータを読み込むやつ。自分で学習データを用意するのに画像の枚数が15枚ほどからで作成できるのでオリキャラとか、SSから学習させたりとかもできる。今回は触りません。
・「Locon」 - 上記の別アルゴリズムで学習形式が違うのを読み込むのに必要。今回は触りません。
・「ControlNet」 - 業界の革命児。参考画像から元画像の構図を破壊せず絵柄を変えられる。
・「depth-lib」 - コントロールネットを使って手を修正できるやつ。詳しい使い方は各自調べてね。
・「LLuL」- 指定範囲の書き込みを増やしてくれるやつ。マスク画像の変形ができればいいのになぁと思うけど技術的にむずそう?今回はあまり使わなかった

とりあえずプロンプトで頑張ってみる。

x/y plot機能を使いつつ、サンプラーやCFGスケール、Denoisingの強さを絞り込んでいく。
今回も前回使ったドールの写真を使います。

プロンプト:(masterpiece),best Quality,two girl
ネガティブプロンプト:EasyNegative, cat ear

①DenoisingとCFGスケールの強さを比較する。

CFGスケールはは0.9が良さそうなので今回は0.9を採用。
※肌色多めだったのでモザイク処理。

②Denoisingとサンプラーの比較。

Denoisingは0.6を超えたあたりでAIくんの好みが強くなりすぎることがわかったので(0.3-0.5)あたりで絞っていく。サンプラーはやっぱり「DPM++ 2M Karras」が好みなので今回はこれを採用。
※0.75以上は肌色多めになったのでモザイク処理。

③Denoisingを数個試しながらシード生成

ここらへんが限界かな…?Denoisingは0.5が良さそう。

使っている感じ、CFGスケールとDenoisingを表にして、FOREVER Generateするといい感じの候補が出そうでした。

ガチャ辛いので文明の力(ControlNet)を使う。

AIくんのダイスコロコロに付き合うのは人間にとってはなかなかの苦行。
なので文明の力もう少し絞り込んでもらうことにしました。
「ControlNet」は設計図を介入させて同じような絵を出力させるツール…という認識(すごいざっくり説明)
導入方法とか使い方の解説はネットにゴロゴロしているので、今回は割愛します。

また、前項までは めんどくさいので 生成に最適なデフォルトの512x512で生成を行っていましたが、コントールネットを使う際は元画像の比率に合わせましょう。
(今回は512x352で生成。)

適当にcanny,fake_scribble,segmentationで1枚生成したあと、各モデルに生成された線画を設定。
プリプロセッシングをnoneにして、CFGスケールとDenoisingをいい感じにした表で出力するとこんな感じ。

だいぶ元の絵に近く、絵っぽくなってきた。

完成!

だいぶやりたいことに近づいてきたけど、やっぱり基礎プロンプトでは限界があるのでもうちょっとプロンプトを練ってみました。

(masterpiece:1.2), best quality,
two girls, multiple girls, looking at viewer,Sketch,
(pink hair, bob cut, sky blue eyes, school uniform, mini hat)AND(blonde hair, Lob, medium hair, wavy_hair, sky blue eyes, school uniform, mini hat)

また、その上でスケールを拡大(1024x704)、手の追加補正などを行ったのが次の結果です。

なかなかやりたいことができたんじゃないでしょうか。

と、こんな感じでようやっと写真から絵風の画像が生成できました。
(なんか帽子も人と解釈されてしまっているが…)

これを更にSketchで加工していったりしていくとクォリティーが上がりますがひとまず今日はここまで。

終わりに。

素人からでもそこそこいい感じの絵が生成できるStable-diffusion、
皆さんも触ってみてはいかがでしょうか。

最後の画像の詳細を置いておきます。

parameters

(masterpiece:1.2), best quality,
two girls, multiple girls, looking at viewer,Sketch,
(pink hair, bob cut, sky blue eyes, school uniform, mini hat)AND(blonde hair, Lob, medium hair, wavy_hair, sky blue eyes, school uniform, mini hat)
Negative prompt: EasyNegative, cat ear
Steps: 40, Sampler: DPM++ 2M Karras, CFG scale: 11, Seed: 846238393, Size: 1024x704, Model hash: 69528490df, Model: anything-v4.0-pruned, Denoising strength: 0.35, Mask blur: 4, ControlNet-0 Enabled: True, ControlNet-0 Module: none, ControlNet-0 Model: control_canny-fp16 [e3fe7712], ControlNet-0 Weight: 1, ControlNet-0 Guidance Start: 0, ControlNet-0 Guidance End: 1, ControlNet-2 Enabled: True, ControlNet-2 Module: none, ControlNet-2 Model: control_depth-fp16 [400750f6], ControlNet-2 Weight: 1, ControlNet-2 Guidance Start: 0, ControlNet-2 Guidance End: 1

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