見出し画像

【簡単に理想の絵を作るStable Diffusion】第4回:ControlNet(reference-only)編

reference-only


ちょっと今回は短めになるかもですけどかなり使い勝手がいいControlNetのreference-only機能について解説したいと思います

すでにある程度stable diffusionを使用しているとLoRAとかいう単語を聞いたことはあると思います。LoRAとは追加学習のことでわかりやすく言うとmodelで覚えていないプロンプトの特徴を加えることができる機能ですね。
悪用しようとすればイラストレーターの絵柄や版権キャラを利用することもできてしまいますが大切なのは使う側のモラルです。AI絵やLoRAが悪いわけではありません。使ってそれを公開する側にすべての責任はありますのでみなさんも重々気をつけてAI絵だけに限りませんが表現物を公開するときは気をつけましょう。LoRAもmodelもライセンスはちゃんと読みましょう。もちろん版権物ならそのガイドラインもね。(一番大切なのは法律だけど)

話がそれてしまいましたね。そんな形でLoRAを使用すると塗り方の特徴を反映させたり、キャラプロンプトで読み出せるようになります。
ただ、そのLoRAが公開されていなかったりたまたまプロンプトで作成したキャラがとても良いのだけど構図が気に食わなかったり別バージョンを見てみたいというときがよくあると思います。
そんなときに便利なのがreference-onlyですね。

まずはその参照にしたい絵を用意します。
では今回は適当に作成したドラゴンの絵を使ってみますかね。

parameters absurdres, highres, ultra detail, BREAK dragon, Armor, helmet, BREAK burned city, depth of field, Flapping wings and flying Negative prompt: EasyNegativeV2, nsfw, nude Steps: 20, Sampler: DPM++ SDE Karras, CFG scale: 7, Seed: 2952891203, Size: 512x768, Model hash: 0805b136eb, Model: breakdomain_M2150, Clip skip: 2, Version: v1.2.1, ControlNet 0: "preprocessor: none, model: control_v11f1e_sd15_tile [a371b31b], weight: 1, starting/ending: (0, 1), resize mode: Crop and Resize, pixel perfect: True, control mode: Balanced, preprocessor params: (512, 64, 64)"

この絵をt2iのCN(ControlNet)に貼り付けます。

プリプロセッサをreference-onlyにすればOK

あとは上記のような設定にすればOK。最近CNのアップデートが入ってControl Typeって設定でワンボタンである程度の設定を適当に選んでくれるようになりました。初心者が使いやすくなってきましたね。
ではプロンプトはその画像を作成したものでいいです。

小ネタ:画像からプロンプトを読み出したりAIにその絵を解析してもらう


知っていると知っていないとで地味に差が出ますのでここで小ネタです。
自分で作成したAI絵や他の方が投稿しているAIにメタデータが埋め込まれている場合、「PNG内の情報を表示」タブを開きそこに画像を読み込ませることでその情報を取得できます。

プロンプトを忘れても安心!むしろ画像でプロンプトは管理したほうが紐付きやすくなる

もう一つのやり方が「img2img」タブに画像を貼り付けてAIにその絵からプロンプトを解析してもらうやり方です。解析というよりもAIならこの絵を作るときなんて入力するか?みたいなものを出してくれます。
やり方は「img2img」タブに画像を貼り付けて、「CLIPによる解析」or「DeepBooruによる解析」をクリックしてください。
CLIPは英文のような形式で表示され、DeepBooruは普段私達が利用するような単語単位で出してくれます。こういう写真みたいな構図で作りたいのに指定の仕方がわからない!とか服の種類がわからない!日本語はわかるけど英語だとなんていうの!ってときにものすごく役に立ちますのでまじで覚えて帰ってください。

aircraft, architecture, bat, bird, bridge, building, castle, city, cityscape, cloud, crow, day, dragon, east_asian_architecture, flock, flying, outdoors, pagoda, sky, skyscraper, tower, wingsとか解析された参考程度にプロンプトをうまく利用しよう

reference-onlyに戻る


ではreference-onlyに戻ってプロンプトは作成したときと同じもので解像度もその元絵と同じにしといたほうが無難だ。

バッチ回数増やせばたくさん絵がかけるぞ

で作成した絵がこんな感じ竜騎士になっちゃったね…。なぜかというと実は元絵が竜騎士作成しようとしてたときの失敗作でドラゴンがうまれてしまっていてそのままのプロンプトでやったからですね。「Armor, helmet」が入ってしまっているからこんな感じで赤い翼、ビルの背景、屋上みたいな絵の特徴を勝手に理解しつつその絵に「Armor, helmet」を加えた絵ができたってことなんですね。
このように下絵の特徴+αの絵を作成するときにも便利ですので使ってみてください。

absurdres, highres, ultra detail, BREAK dragon, Armor, helmet, BREAK burned city, depth of field, Flapping wings and flying Negative prompt: EasyNegativeV2, nsfw, nude Steps: 20, Sampler: DPM++ SDE Karras, CFG scale: 7, Seed: 3630001489, Size: 512x768, Model hash: 40a9f4ec37, Model: 9527_v10, Clip skip: 2, Version: v1.2.1, ControlNet 0: "preprocessor: reference_only, model: None, weight: 1, starting/ending: (0, 1), resize mode: Crop and Resize, pixel perfect: True, control mode: Balanced, preprocessor params: (512, 0.5, 64)"
※間違えて違うモデルで作成していました…でも同じ雰囲気でちゃんと出力してくれますね。(初めて知った)

ただ、今回作成したいのはドラゴンですので「Armor, helmet」プロンプトは消してしまいましょう。もう一度消してから作成。

absurdres, highres, ultra detail, BREAK dragon, BREAK burned city, depth of field, Flapping wings and flying Negative prompt: EasyNegativeV2, nsfw, nude Steps: 20, Sampler: DPM++ SDE Karras, CFG scale: 7, Seed: 2451635140, Size: 512x768, Model hash: 0805b136eb, Model: breakdomain_M2150, Clip skip: 2, Version: v1.2.1, ControlNet 0: "preprocessor: reference_only, model: None, weight: 1, starting/ending: (0, 1), resize mode: Crop and Resize, pixel perfect: True, control mode: Balanced, preprocessor params: (512, 0.5, 64)"

ちゃんと似たような構図のドラゴンが作成できましたね!
てっとり速くいい感じの絵がほしいならこの作業をひたすら繰り返していい感じの絵を選ぶだけで大丈夫です!

プリプロセッサによる違い


reference-onlyのプリプロセッサは3つあります。今回はそのプリプロセッサだけを切り替えてどのような差が出るかを見てみましょう。

元絵
reference_adain+attn
reference-only
reference_adain

元絵>reference-only>reference_adain+attn>reference_adain
の順で絵が似ているようですね。
どのくらいその絵に寄せたいかで使い分けるといいんじゃないでしょうか?
今回は短くなりましたがこのへんで終わりたいと思います。
次回は何にしましょうか?要望があればコメント書いてくれると解説したいと思いますので気軽にコメントもいただけるとやる気出ます!

あとがき


今日の表紙絵はこちらになります。カタログみたいな表現で好き。

parameters absurdres, absolutely resolution, ultra detailed, highres, super photo realistic illustration, BREAK knolling layout with mechanical parts, 1girl, railgun, Negative prompt: EasyNegativeV2 Steps: 20, Sampler: Euler, CFG scale: 7, Seed: 1613729350, Size: 3648x2052, Model hash: 0805b136eb, Model: breakdomain_M2150, Denoising strength: 0.35, Clip skip: 2, Version: v1.2.1, Tiled Diffusion upscaler: 4x-AnimeSharp, Tiled Diffusion scale factor: 1.9, Tiled Diffusion: "{'Method': 'Mixture of Diffusers', 'Tile tile width': 96, 'Tile tile height': 96, 'Tile Overlap': 48, 'Tile batch size': 1, 'Upscaler': '4x-AnimeSharp', 'Upscale factor': 1.9, 'Keep input size': True, 'NoiseInv': True, 'NoiseInv Steps': 10, 'NoiseInv Retouch': 1, 'NoiseInv Renoise strength': 1, 'NoiseInv Kernel size': 64}"

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