【覚え書き】ComfyUIで模索するAnimagineXLとの向き合い方
最近話題のAnimagine XL。わたしは今年に入ってから2.0を使い始めてその出来の良さに感動していたのですが、3.0が出て一気に扱いやすくなった気がします。
今回はわたしがそのAnimagine XL 3.0と向き合って、自分なりの使い方を模索する過程を記事に残してみようと思います。
SDXLを扱うにあたって、私の環境ではStable Diffusion web UIだとスペックが足りず、満足に生成できないのでComfyUIを使っています。
SD1.5とSDXLで互換性はほぼないものと思っているので、SD1.5はwebUI、SDXLはComfyUIで生成するのが良いかな、と割り切って考えました。
ちなみに、この記事ではSDXLについてやComfyUIについての解説は載せていません。
既に十分すぎるほど記事があるので、今更わたしが書くこともないでしょうし。そもそも、それらについて記事を書けるほど熟知しているわけでもないですし…。
よくわからないので雰囲気で使ってますから。
さて、それではseedを固定した状態でどんなことをすればクオリティアップできるのか、初心に戻ってひとつずつ試してみようと思います。
とりあえず生成してみる
AnimagineXLはDanbooruタグが使えるとのことなので、SD1.5感覚でプロンプトを打ち込んで生成してみました。
まずはクオリティタグを入れずに。
背景がちょっと赤みがかっているのが気になります。
これは手前のプロンプトほど効きが強い(らしい)ので、髪の色として指定した red の影響しているのではないでしょうか。
公式で推奨されているプロンプトの指定の仕方があるので、そちらを参考にするのが良さそうです。
1girl/1boy, character name, from what series, everything else in any order.
とりあえず、 1girl と cowboy shot の間にstandingを入れてみました。
まだ赤みは残っていますが、ちょっとだけ夜っぽい青さが出てきたので一旦これで良しとします。
サンプラーを変えてみる
うっかり変えずに先まで進めてしまったのですが、サンプラーを変えるのもありますね。
公式ではEuler Ancestralを推奨していますが、DPM++2M SDE Karrasも良いと思います。
アップスケールしてみる
Stable Diffusion web UIに慣れた身としては、とりあえずアップスケールしてみたくなります。
まずはComfyUIにあるUpscale Latent byを使ってみたもの。
これは破綻する可能性のありそうな箇所が少ない構図なのであまり気になりませんが、派手なポーズを取らせたりすると結構破綻します。
なので、別の手段を考えてみます。
Kohya TechさんのKohya's HiresFixを使わせていただいたパターン。
色々と模索してみた結果、ds_depth_1を2に、ds_depth_2を3に指定して、ds_timestep_1は900、ds_timestep_2は650~700くらいに設定するのがちょうどいいかな?と個人的には思いました。
構図は変わりますが、描き込みはUpscale Latent byより明らかにこちらの方が良い気がしますね。
構図が変わったのは、先ほどまでの画像から2倍のサイズをEmpty Latent Imageで指定したからでしょうね。
同じ構図で進められないかな、とちょっと期待してましたが、そこが変わるなら構図も変わりますよね。
こちらは同じくKohya TechさんのDeep Shrink Hires.fix。
こちらもいいですね、背景のタッチがKohya's HiresFixとは印象が違います。服の質感もこちらの方がやわらかいかな?
優劣つけがたい気がするのでお好みで、もしくは出したい絵によって使い分けてもよさそうです。
ちなみに、Upscaleなしで2倍サイズで生成したパターンも作ってみたのですが、だいぶR18Gな感じになったので封印しておきます。
適正な画像サイズじゃないと問答無用で破綻しますね。小さすぎてもあまりクオリティの高いものが出ないので、やはりUpscaleは必要そうです。
クオリティタグを入れてみる
AnimagineXLはクオリティタグも使えるので、入れてみます。
まずはSD1.5と同じ感覚で、冒頭に置いてみることに。
こんな感じになりました。
結構煽情的な表情になりましたね…。
公式ではクオリティタグを学習したときに nsfw 絵が多かったのでネガティブプロンプトに nsfw を入れること、ポジティブプロンプトの方にはrating: generalを入れることを推奨しています。
が、諸事情によりそれらは今回省略しています。
ええ、諸事情により。
こちらは公式のお勧めどおり、最後に入れたもの。
煽情的な雰囲気は…少しは軽減できたかな?
あと、背景の出方はこちらの方が良い気がします。
が、思ったより差がなかったですね。
Year Modifierを入れてみる
AnimagineXLの公式を見てみるとYear Modifierの項目があり、学習内容を年代ごとに区切ってタグ付けしているようです。
とりあえず、ひとつずつ入れてみて比較してみます。
個別に貼っても場所を取るので、編集して全部並べてみました。
結構絵柄に効きますね。
必ずこの絵柄になるというわけではありませんが、newestは結構特徴的というか、SD1.5っぽさを感じる絵柄になる気がします(個人の印象です)。
併記して使うこともできます。
わたしは late と mid を混ぜて使うのが好みだったので、今後はこれを軸にするつもり。
ネガティブプロンプトを追い込んでみる
今回のようにぼっ立ちならここまでに設定したものだけでも十分なのですが、色々ポーズを取らせてみるとまだ荒かったりします。
ここからどうクオリティを上げるか悩ましいのですが、どうやらネガティブプロンプトに色々加えていくのが手っ取り早いようです。
個人的には、ところどころ線が荒いのが結構気になりました。
特に主題以外の線が荒いのが気になります。なので、NPに sketch と rough を追加。
全体の印象は大きく変わらないのですが、キャラクターの手のあたりの線や、背景の荒さが取れたような気がします。
これは以下のさとーさんのTipsと、Animagine XL 2.0のスタイル指定から思いついて試してみたものですが、かなり効果はありました。
こちらを加えてみたもの。
塗りに立体感が出て、2.5D的な質感が出ますね。
背景のクオリティもぐっと上がっていい感じです。
photoreal style の影響は結構強いので、紹介されているプロンプトを参考に、結構後ろの方に置いた方が良いと思います。
調整系LoRAも試してみる
SD1.5では月須和・那々さんの調整系LoRAにもだいぶお世話になりました。
絵柄には影響せずに質感やタッチを自分好みに変えられるので、わたしにとって神のようなツールです。
SDXL用のLoRAも用意して下さっているので、ありがたく使わせていただくことにします。
まずはboldline、SD1.5ではだいぶお世話になりました。
線が細くなると一気にディテールアップするような気がして、手放せなかったLoraのひとつです。
photoreal styleのプロンプトがあれば要らないかもしれませんが、絵柄を維持するなら flat LoRAも良いですね。
このように弱めにマイナス適用するだけでも背景などの描き込みが増えるので、いい感じ。
ちなみにこれは私の失敗談からの共有なのですが、ComfyUIの場合は <lora:sdxl-flat:-0.5> のようなプロンプトを入れるのではなく、Load LoRAノードを使います。そして強弱も strength_model や strength_clip で指定するんですね。
しばらくweb UIのような指定の仕方をして、効かないなぁ…と思って外してしまったりしていました(笑
embeddingの指定の仕方もweb UIとは違うので、お気をつけて。
SDXLが出て以降、既にembeddingやLoRAは色々と良いものが出ているので、それらを色々試すのもやってみたいですね。
が、それを始めると止まらなくなってしまうので、今回はこのあたりで一旦おしまい。
まとめ
最初は闇雲に色々弄っていたのですが、こうやって順を追って試していくと変化がわかっていいですね。
今回、まずは第一歩として絵の雰囲気を自分の好みに近づけるための土台づくりみたいなところに取り組んでみました。
Animagine XL 3.0はプロンプトの効き方もSD1.5とは全然違うので、試行錯誤はまだまだ続きそうです。
既に色々なノウハウが確立されているSD1.5環境とは違い、SDXLはまだまだわからないことがたくさんありますね。
わたしはたまにしか生成AIを触らない素人なので、こうやって記事を書くことで、逆に他の方のノウハウに触れられる機会を得られたらいいなぁとちょっと期待しています。
それでは、もしまた何か書く機会があれば、また。
この記事が気に入ったらサポートをしてみませんか?