Home Artists Posts Import Register

Content

こんばんは、スタジオ真榊です。日々色んなLoRAを試しては生成、試しては生成で、ぜんぜん本来業務(同人製作)が進んでおりません! 行けるところまで行ききらないと同人の続きが作れる気がしなくなってきたので、もう開き直ってきました。


そんなわけで、今日は「惜しい画像」についての記事です。


皆さん、お目当てのプロンプトが組めたらとりあえず複数枚を「generate Forever」してガチャっていると思うんですが、大量に生まれた画像をチェックしていると「惜しい!」ってなることがよくありますよね。例えば、構図は完璧なのに指が破綻しているとか、髪の長さがちょっと違うとか、背景や小物にどうしてもおかしいところがあるとか…。一部分であればi2iでマスクしてレタッチすればいいのですが、どうしてもこの構図のままガチャりたい!というときは、「variation」機能が便利です。


ローカルを触っていると忘れがちですが、「そういえばNovelAIにVariationとかEnhanceってあったよな…」と思い出した方もいるんじゃないでしょうか。ちゃんとSD WebUIにもvariation機能があるんですが、ボタンが分かりにくいので見逃してしまうんですよね。今回はそのへんの使い勝手について紹介していきます。


StableDiffusionにもあるぞ!Variation機能


さて、こちらの「その他」ボタンがVariation機能欄を呼び出すためのボタンです。

知ってるよ!と言われそうですが、賢木はガチでしばらく知らなかったので念のため…。こちらをオンにすると出てくるのが「VariationSeed」「variation strength」「resize seed from width」「resize seed from height」の4つ。後段は基本0のままで動かさないので、重要なのは前の2つです。


「variation seed」にバリエーション元となる画像のSeed値を入れ、どれくらいそこから「ズラす」かを variation strengthで決めます。数値を大きくすると大きく変化し、小さくするとほとんど変わらないということですね。まずは0.1程度にしておき、結果をみて動かしてみると良いんじゃないかと思います。


では、こちらの画像をご覧ください。



はい、こちらはガチャりまくって手に入れた、ぼっちちゃん(18歳)のSSR目隠し裏バイト宣材写真です。これでほぼ良い感じなのですが、左手がやや指が長めで髪の毛と溶け合っている部分があるので、ここから1ミリずつずらすイメージでバリエーションを試してみたいと思います。


seed値とvariation seedにそれぞれ同じ値(今回は72729957)を入力。プロンプトなど他の設定も元画像と全く同じで、8枚生成してみます。


どん。


「Strength0.1」のズラしがだいたいこれぐらいの幅です。主に右手の位置や袖の状態、表情、髪留めの形状などが変化していますね。指を見ると、破綻しているものもあれば惜しいものも…という感じ。0.2にすればもう少しだけ派手に変化しますし、0.02にすればほとんど体勢はそのままで微妙な変化させることができます。このガチャをしばらく続ければ、それなりのヒット率で完成品が得られそうですね。


なお、今回はプロンプトそのままで表現に幅をもたせましたが、プロンプト自体をいじってしまうこともできます。例えば、(peace sign:1.3)を冒頭に入れて手をピースサインにしてみましょう。構図をそこそこ大きく変化させたいので、「Strength0.4」とします。他の部分やポーズもある程度変化してしまいますが、変化し過ぎたら0.3に、ピースが出なければ0.5に…といった感じで微調整していけばOKですね。


さて結果は…


うほぉ…

中段右に成果が出ておりますねぇ!拡大してみましょう。



これまた惜しい!バニー服の袖が左手だけになってしまったのと、バニー耳がかたっぽだけどっかにいってしまっています。どうしたらいいでしょうか。


そう、この画像を新たなバリエーション元にすればいいのですね。この1枚には新たなvariation seed「72729962」(さきほどは末尾9957)が割り振られていますので、それをseed値とvariation seedに入力。今度はStrength0.1で完成品を探ります。



このように、ピースサインを固定したままガチャを繰り返すことができました。プロンプトを変化させて微妙なバリエーションを掛ける手法は他にも色んなことに使うことができます。ライティングを変えたり、表情を変えたり、ネガティブプロンプトをいじって余計な要素を排除したり、textual inversionを使って破綻を直したり…。i2iレタッチでも同様のことはできますが、上手にレタッチするにはコツがいります。こちらは当たりがでるまで運任せで大量にガチャれる強みがあるので、場合によって使い分けると良いでしょう。


最後はi2iで解像度UP


さて、これまでお見せしてきたイラストは、768✕512ピクセルで出力する際に0.5強度のhires.fixを掛けて1.5倍にスケールアップした画像です。hiresでのスケールアップは元画像から離れてしまいがちなので敬遠する術師さんも多いのですが、私はハイクオリティな描き込みが結構好きで、大量ガチャ前提の場合にはよく使っています。


これをさらにクオリティアップするために、よくできた一枚をチョイスしてi2iに送り、幅を2048ピクセルに拡大してみましょう。設定そのままで低Strengthでアップスケールするのが基本ですが、学習モデルを別のものに変えてアニメタッチにするもよし、プロンプトを少しいじってみるのもよし。SEED値および各種設定が全く同じでサイズだけUPする場合、基本的にはStrength0.5を超えなければ大きく破綻することはなく、0.1~0.5はさほど大きく変わらない印象です。


こちらをご覧ください。


ノイズ除去強度「0.6」から突然崩れているように見えるのですが、0.5も実は左目の周辺がおかしくなっており、0.1~0.4はさほど変わらない印象かと思います(拡大すると細部の描き込みが異なる)。イメージとしては、元画像が0として、Seed値とプロンプトのみを頼りに新たに描く2048✕1360ピクセルの絵が1.0としたときに、strengthの値でそれをどれくらいのレシピで融合させるか決まる、という感じ。当然2048サイズのイラストをAI任せでいきなり描かせたら大破綻するに決まっているので、0.5を超えるとこうなってしまうのですね。


そんなわけで、元画像を忠実にアップスケールする場合は0.3前後で拡大するのがよろしいのではないかと思います。


それでは皆様、良きバニーライフを!スタジオ真榊でした。







Files

Comments

No comments found for this post.