見出し画像

【イラストAI】SDXLでも描き込み量を増やしたい! - ノイズ法XLのすすめ

以前、イラストAIの書き込み量を大幅に増やすテクニック『ノイズ法』をご紹介しましたが、あれはSD1.5向けのテクニックであって、次世代型のSDXLでは上手く動きません……
なーんて思っていたけれど世界は進歩するもの!今回はXL系で実用可能なノイズ法をご紹介します。


『SDXLではノイズ法は使えなかったよっていうお話』

こんばんは、御月望未みつきのぞみです。覚えておいででしょうか?ノイズ法の人です。
改めてご紹介いたしますと、ノイズ法は「イラストAIの描き込み量(画像の情報量)を大幅に引き上げる事ができる特殊なテクニック」です。
本来は構図等を制御するためのControlNetに、あえてノイズ画像を読み込ませることで、構図の多様性を保ちながら描き込み量を向上させるという、
大変楽しく実用的なテクニックなのでございます(熱い自画自賛)

SD1.5でノイズ法を使って出力したイラスト。今見ても迫力があります……

しかし時代は巡るもの。SD1.5系向けのノイズ法を紹介してからわずか半年ちょっとで、ローカル画像生成の前線は"SD1.5"系から"SDXL"へと急速に移行しました。
そして悲しいことに、(初期の)XL環境ではノイズ法やテクスチャ法は実用できませんでした。効果がないわけではなかったのですが、効き目が弱く悪影響の方が強く出てしまったんです。

あれこれ工夫もしてみましたが結果は全て残念に終わり、別途研究していたLECOもXL環境だと副作用が強く出てしまう、という事も重なり、僕はしばらく拗ねてました。

「もしかして、XLモデルは構造的にこれらのテクニックと相性が悪いのかもしれない……」
なんて仮説まで飛び出して、しょんぼりがっかりしてたんですね。


ノイズ法を使わず、普通にプロンプトだけで出力したSDXL画像はこんな感じ
綺麗でさっぱりした塗りは魅力的ですが、それはそれとしてゴチャゴチャした絵も見たい……!

「それでもやっぱり描き込み量の多い画像が見たい!」
ということであきらめ悪く、描き込み量を増やす他の方法を模索して、半年くらいローカル環境に引きこもっていました。


ホラー展開しか予感させない女の子(こわい)
ノイズ法なしでもここまで描き込み量を増やすことには成功していたものの……試作LoRA10種とプロンプトの細かな調整が必要で、
何がどうなってるのか自分でもわからず解説記事を書けなかったといういわく付きの一品

そんなことをしている内に、SDXL界隈ではControlNet(以下CN)の学習がブームになりまして、anystylelineartXLなどの画期的なCNモデルが多数登場してきました。
僕はそれを「すごいなぁ、みんながんばってて偉いなぁ」くらいに見守って、ぼーっと恩恵にあずかるだけの日々を過ごしていたのですが――

あれ

これもしかして……ノイズ法に使えるんじゃない?

いやまさか、XLモデルとCNの相性の悪さは過去に何度も試してわからされていて、特にノイズ法は実用性に乏しいという結論に達していたはずです。



まあ試しにちょっとやってみようかな。
試しにだからね、ちょこっとね。ぽちっとな


う、うわあああぁぁぁ!"お花畑"だああぁ!!

た、大変です、画像が崩壊してしまいました!
この崩壊の仕方は僕が「お花畑化」と呼んでいる現象で、1.5系でよく見られた「ノイズの効き目が強すぎた時特有の絵」です!
つまり「ノイズ」が確実にUnetに響き渡っている証拠だ!
こ、これは……もしかすると、CNの効果量を調節すれば……!


やりましたわ v

『というわけで:XL向けノイズ法のご紹介』

という感じでXL系でもノイズ法が使えるようになったのでやり方のご紹介です。
1.5のノイズ法では「描き込み量誘導用のLineart系」と「色を転写するtile系」を同時に読み込ませる感じでしたが、
今回も流れとしては変わりません。というかほとんど同じです。
進歩したのは僕じゃなくてXLモデルとCNモデルの方……!

今回使用するノイズ。たぶん何でもいいです。ノイズ画像はこちらからもどうぞ
#生成に使用した設定(作例)
1girl, elegant ojou-sama girl, original anime character, solo, cowboy shot, dutch angle, (upper body:0.8),
bangs, long hair, eyelashes, [bags under eyes::0.25],
sweet lolita, high-waist skirt, suspenders, pinafore, (ribbon tie:0.8), frill ends, center frills, double-breasted, puffy long sleeves, puffy sleeves, (underbust:0.8), (hair ornament:0.5),
looking to the side, head tilt, singing, light smile,
(light rays:1.1), indoor garden, many flowers, flower shop, window, L'atelier, promenade, (falling petals:1.4), (wisteria:1.4), greenhouse, hothouse, marble column, wind, floating hair, blue sky,
general, stylish, authentic, aesthetic, vivid, colorful, fancy,
highly detailed game cg, masterpiece, best quality, highres, official wallpaper, dojin cover, absurdres, 4K ultra HD, HDR,

Negative prompt: (worst quality:1.4), (low quality:1.4), (lowres:1.4), (oldest:1.4), (early:1.3), bad anatomy, bad hands, jpeg artifacts, username, blurry, artist name,
(poorly drawn:1.2), (3D:1.0), wip rough sketch, text, unfinished, watermark, signature, traditional media, craquelure, still life, brush stroke, cubism,
chibi, creature, (simple background:1.4), white background, english commentary,
thick lips, masculine, fisheye, multiple girls, impressionism, contemporary, (high contrast:1.2), fog, muted color, limited palette,
expressionless, wooden wall, blurry, depth of field, bokeh, backlighting, 
Steps: 25, Sampler: DPM++ 2M SDE AYS, CFG scale: 4, Seed: 2352818924, Size: 1920x1344, Model hash: e3c47aedb0, Model: animagine-xl-3.1, Denoising strength: 0.4, Clip skip: 2

ControlNet 0: "Module: None, Model: CN-anytest_v1_fp16 [070c26fb], Weight: 0.5, Guidance Start: 0.1, Guidance End: 0.8"

・生成方法

・準備しましょう
1. Automatic1111 WebUI や Forge といった生成環境を整えます。モデルはAnimagine系がおすすめです。
2. 拡張機能のControlNetをインストールします。
3. CNモデルをダウンロードして models/ControlNet フォルダへ入れます。

今回使うモデルはこちら
2vXp須和SwA那々7さんのanystyle(anytest)
かたらぎさんのlineartXLinpaintXL
青龍聖者さんのtile anime betaです。

・生成しましょう
1. WebUIを立ち上げ、お好みのプロンプト等を設定します。
2. Control Netを有効にし、ノイズ画像を読み込ませます。
3. CNを以下の通り設定し、出力します。

Preprocessor: None
Model: anytest (もしくはlineartXL)
Weight: 0.5
Start: 0.10
End: 0.80


できた!

・tileやinpaintも併用しましょう

いー感じですね!更に青龍さんtileinpaintXLも組み合わせてみましょう!
オプションからMultiple ControlNetを有効にして、2つ目のControlNetに上と同じノイズ画像を読み込ませて、Weight 1.0, Start-End 0.00-0.15の設定で出力してみましょう!描き込み量が上がるはずです。

すごい!

・解説

anystyleやlineartは入力した画像を元に「元の画像にはここに線があるから、まねして書いてね」と指示するモデルです。
そこに細かなノイズ画像を流し込むことで「元の画像はやたら細かいから、君もまねして描き込んでね」という指示にすることで画像の情報量を増やしています。

tileやinpaintは入力した画像を元に「元の画像はこうだったから、よく見てまねして書いてね」と指示する感じの、拡大や塗り替えのために作られたモデルです。
こちらも描き込み量に影響があり、lineart系と組み合わせることで更に描き込み量を増やすことができます。

パラメータについては共通で、Weightが「効き目の強さ」、Startが「どこから干渉を始めるか」、Endが「どこで干渉をやめるか」です。

上記のパラメータの例は、
anystyle/lineartでは「ほどほどの強さで干渉する。最初の10%は口出ししないで、80%できたらまた干渉をやめる」という感じの設定になっており、
tile/inpaintの方は「強く、最初から口出しする。ただし最初の10%が終わったらもう何も言わない」という設定になっています。

ノイズ法の詳細については1.5版の解説記事もご覧ください。

・調整しましょう

パラメータの調整は1.5の時よりもシビアな感じがします。
たとえばWeightが1.0の時、Startが0.05では効果量不足、0.06で完全崩壊!というような、かなりピーキーな挙動をすることもありました。
LoRAとかもですが、プロンプトとかによって適切なWeightが変わってきてしまうのはXLくんの気難しいところですね。けっこう暴れん坊です……

なのでWeightはあまり強くせず、StartとEndの間隔で調整するようにするとやりやすいのかなと思います。
Startは速すぎると構図が破綻しがちですから、少し遅めにかけて、
あと、XL系モデルの特徴として、細部の描写は行程の後半に描かれる感じがするので、Endは遅くした方が効果が出ます。
ただしEndが遅すぎるとディテールが描かれないまま終わってしまうので、仕上げはお任せした方がいいかも……

という風に考えると、やっぱり「Weight控えめ、Start-End 0.10-0.8くらい」が目安になるのかな~、と思います。
何にせよ題材やプロンプト、LoRAや目指す絵などによって変わってくるので、色々試してみてください!

・使い分けましょう!

今回4つのCNモデルを紹介していますが、どれも魅力があるので上手く使い分けましょう。
anystyleはノイズを曖昧に解釈してくれるので、屋内の家具や小物など形状に"正解"のある物を描くときにおすすめで、
lineartはディテールが壊れがちな代わりに描き込み量がすごいので、屋外の自然風景など正解のない題材におすすめです。

tileは安定感があって構図が崩れにくく、inpaintはキャラの描き込みに有利な印象です。

という感じです。まとめると
1段目は屋内ならanystyle、屋外ならlineartXL
2段目は背景も安心の青龍さんtileか、キャラ重視のinpaintXL
そして構図が安定しないなどでお困りの場合は、
3段目として"Reference Only"を使用するのもおすすめです(これはCN内蔵の、Preprocessorです)
ここにはノイズ画像ではなくて普通に参考画像を入力しましょう。
パラメータはひとまずWeight 0.25, Start-End 0.05-0.25からはじめてみるといい感じです。

・色の転写について

元の1.5向けノイズ法では「tileやinpaintは色を転写する」という効果を目的に使用していましたが、SDXL環境では肝心の色の転写が上手くできません
XLモデルの宿命なのか、あるいはCNモデルの特性なのか……うーん……
なんにせよこの影響で、ノイズ法で色彩を攪乱したり、色情報の必要なテクスチャを使ったり、一つ前で紹介した『ダークな絵を描いてもらう方法』のような、「出力画像の色を調節する」目的でCNは使えないみたいです。
ですが描き込み量の増加は見込めますので、やっぱりlineart系との併用はおすすめです。
XLモデルのimg2imgはSD1.5時代よりも色が残りやすくなってる気がするので、ノイズの色を転写するだけならimg2imgにノイズ画像を読み込ませる選択肢もあります
というか本来それが正攻法なのですが……残念ながら汎用性はちょっと落ちてしまいます。
CNでの色の転写もいつか出来るようになるといいねぇ……自前でCNモデルをトレーニングするのは大変そうだなぁ……

img2imgも併用してノイズの色味を利用した例
ディテールがぼやけてしまう副作用がありますが、このカラフルさは……素敵だ……♡

・その他TIPS

 ・強度はもっと低めでもOKです
描き込み量をめちゃくちゃに増やしたい!ということで今回は強めの設定を紹介しています。
0.25, 0.10-070くらいに弱めて、味変に使うくらいでも楽しいですよ。

 ・困ったらプロンプトを練りましょう!
ノイズが消えずに残ってしまうような場合は、プロンプトによる誘導が足りていない場合もあります。プロンプトはこってり長めに、120トークン超えるくらいがちょうどいいです!
やはりプロンプト……!プロンプトが一番大事……!

・解説おしまい

いやぁ技術って進歩するものですね!
先人の皆様がControlNetモデルに改良を加えて公開してくれた結果、XLでもノイズ法が再現できました……!
本当に感謝っ‥‥!圧倒的ありがとうっ‥‥!

ノイズ法の使い方については解説するとまいど小難しい感じになっちゃいますけど、とりあえずパラメータを設定しちゃえばOKです
それだけでやたら描き込まれたイラストが見られるんですからね!うっとりです!

『イラストを出しましょう!!!』

ふふふ、いろいろ迷走もしましたがついに!SDXLでもノイズ法が使えるようになりました!
これに冒頭ちらっと触れた、特殊な差分学習法で作った試作LoRAを組み合わせれば……

うっ、ううっ……!これだよ!!
こういう偏執的な描き込みの絵をXLで見たかったんだよ僕は!!!

強めにかけてみた例
暗い画像もばっちり、やりすぎなフリル地獄とお花を同時に楽しめます
効果量を控えめにして使ってみた例
明るい画像もばっちり、やりすぎな感じもなく、木漏れ日や髪の描き込みを頑張ってくれています
SD1.5では難しかったお花の種類の指定がさらっと通るのもXLモデルならでは
ちなみに赤いアネモネの花言葉は『恋の苦しみ』……しまったヤンデレお嬢様だ!

『おわり』

というわけで、「僕が賢い」ではなくて「優秀なControlNetモデルを作ってくれた人たちが偉い」というお話でした。
「XL系とControlNetは相性があまりよくないんじゃない?」という予測は、意外にも「初期に公開されたCNモデルがイラストに最適化されていなかったんじゃない?」という感じに落ち着きました。
うーん……なんだか色々予想外です。僕たち生成AIの事何にもわからない……

さてそろそろXLの次の世代のAI、Stable Diffusion 3もオープンになる頃と思いますが、そのときノイズ法はまた使えなくなるかもしれません
でも大丈夫。きちんと3環境でイラスト用に訓練されたControlNetモデルが出てくれば、たぶんノイズ法は復活する……!

何度でもよみがえるんですね。僕も懲りずに軽く活動再開しようかな~
なんて思ってるので、よければスキ♡を押していってください。ね!
それでは、御月望未みつきのぞみでした!



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