【ComfyUI+SDXL】描き込み強化を重視したHires.fixを組み込んだワークフロー
前回、AnimagineXL3.0でイラストを生成するための私のワークフローをご紹介しました。しばらくあのワークフローで生成していたのですが、いくつか気になる箇所が出てきたのでその解消を目的に、新しいワークフローを組み立ててみたので今回はそれを紹介します。
前回のワークフローで気になった箇所
前回のワークフローで気になったのは、主に以下の2点でした。
Kohya's HiresFixを使うと構図が単調になる
最初からアップスケールした状態で生成するので、画像を選定するまでに時間がかかる
特に構図が単調になるのが問題で、「歩く」「座る」などのシンプルなプロンプトはちゃんと効いてくれるのですが、「なんかかっこいいポーズ」みたいなプロンプトになるとほぼ無視されてしまいます。
指定するプロンプトを工夫すればある程度は解消できそうですが、一部のプロンプトの効きが悪くなるのは問題なので、それを解消しつつしっかり描き込んでくれるワークフローを組んでみることにしました。
実際に組んだワークフロー
最終的にこのようなワークフローになりました。
主にこちらのワークフローを参考にさせて頂いています。
かなり大きめのワークフローですが、よく考えられていてとても勉強になりました。
今回の記事のサムネイルに使用している画像も、こちらのワークフローを使用しています。
ワークフロー解説
それでは、このワークフローについて解説していきます。
といってもわたしはStable DiffusionやComfyUIの仕組み、イラスト生成AIについてちゃんと理解しているわけではないので、狙いが正しいのかはよくわかりませんが…。
要求するもの
まずはこのワークフローに求めたものから。
モデルのプロンプトへの反応を損ねないこと
webuiのHires.fixのように、アップスケールする際に描きこみが強化され、かつアップスケール時の破綻が少ないこと
生成した画像がEagleに自動で読み込まれること
複数の画像の中から、アップスケールする画像を選べること
1はKohya's HiresFixを使わなければ解決できるのですが、Kohya's HiresFixの描き込み強化は手放したくない。
Upscale前
グループノードにまとめていますが、Basic&Generation Infoでモデルとスケジューラー、画像サイズと生成する数を決めます。
よく忘れるのでAnimatineXLの推奨画像サイズをメモしておきました。
そこからmodelとclipをLoRAに接続。
個人的によく使うのでflatとboldlineのloraを読み込ませてグループノード化しています。
他のLoRAを使いたい場合や、使うLoRAの数を減らしたい場合はグループノードを解除したりして編集してみてください。
前回はここからmodelをKohya's HiresFixに直接繋いでいましたが、構図の問題があるのでここで一旦分岐。アップスケールするsamplerのみKohya's HiresFixを経由し、初回の生成用のsamplerやdetailerには、HiresFixを経由しないものを渡しています。
プレビュー&保存
こちらのセクションはプレビューと保存。
Preview Chooserを使っているので、アップスケール前に一度停止します。表示される画像の中から、アップスケールしたいものを選定してProgress selected imageボタンを押すことでdetailerやアップスケールが始まります。
Send Webp Image for Eagleにはすべてのフローを経由した画像が表示されます。その際、Eagleを起動させておくと自動で取り込まれます。
Eagleを起動していないとエラーになるので、もしEagleを使っていない場合はこのノードをSaveImageなどに差し替えてください。
Detailer
あんまりよくわかっていないのですが、アップスケール前にdetailerを経由します。一応、手と顔をdetailerで修正できるはず。
確実に破綻を防げるわけではないので、不要だなと思ったら外してしまってもいいかもしれません。
ControlNet(ノイズ法)
SD1.5(webui)にはControlNetを使って描き込みを強化するノイズ法がありました。これをComfyUI+SDXLでも使えないかなぁと試してみたのがこのセクション。
これを使うと、(極端に掛けた場合)以下のようになります。
ただ、SD1.5の時のようにとにかく書き込みが増えるわけではないですね。細かい部分はより細かく、ぼかした部分はよりボケるようになりました。元々SDXL自体が高画質なので、これは万人向けではないような気がします。
デフォルトでは適用されないようになっています。
興味がある方はbypassを解除して、positiveとnegativeをUpscalerに繋いでみてください。
Upscale
Upscaleセクションでは、Kohya's HiresFixのmodelを受け取って2倍にアップスケールしています。
通常のLatent Upscaleや他のHiresFix系ノードよりも描き込み量が増えますし、Kohya's HiresFix本来の使い方と比べても見劣りしない描き込み量になりました。
ここからSend Webp Image for Eagleに送られて画像が保存されます。
これだけでも横2000px程度のサイズになるので充分かなと思うのですが、さらにアップスケールしたい場合にはUltra Upscaleセクションを経由させるとさらに1.5倍拡大することができます。
ただ、さすがにこのサイズになると生成に時間が掛かるので、デフォルトではbypassしています。
まとめ
こんな感じで、描き込み量強化を狙ったHiresFixのワークフローを組んでみました。
個人的には手応えあり。
Lama Cleanerを組み込みたい欲もあるのですが、まだComfyUI版のことは全然わかっていないので、それは次の機会に。
それでは、最後にjsonファイルを置いておきますね。
ご意見、ご指摘お待ちしております!
この記事が気に入ったらサポートをしてみませんか?