見出し画像

Stable Diffusion WebUI を使ってみよう(Level2)

Stable Diffusion WebUIを、Google Colabで使用してみています。
npaka様の下記記事を参考に。

目標は、いろんな上級者さんがやっているような、nodeで様々なツールを利用できそうなComfyUIなのですが、ちょっとね、レベル高いネ。
まずtext to imageと、image to imageをさわって、その後control netをさわって、その後Comfy UIに進みましょう。
と、思っています。ので、この記事はLevel2としてみました。

目標設定

暫定的に、やってみる目標を考えると
Level1 WebUIを構築できる(ネットで調べてやってみよう)
Level2 WebUIのtext to image で、画像を出してみる(この記事)
Level3 WebUIのimage to imageで、画像を編集してみる①(未作成)
Level4 WebUIのcontrol netを使用して、画像を作成してみる。(未作成)
こんな感じになるのではないだろうか。と思っています。
Comfy UIがやりたければもうすぐにComfy UIをやるべきでないか。
という意見もありそうですが……ある程度、Level4までできたらConfy UIにいこうと思っています。機能を知ってれば戦えるだろう。

hugging faceやcivitaiでモデルを探して、モデルをダウンロードしよう!という学習も、飛ばしていきます。

今回は、モデルの選定に時間をかけず、AnimagineX3.1で、VAEも同ページからダウンロードします。

SDXL1.0のモデルだそうです。

ちょっとわけがわからなくて面白そうだったのでmidjourney Manga Art StyleというLoRAを使ってみましょう。StableDiffusionなのにMidjourneyですって?初心者のひとに説明するとき、イライラされますね。

くっきりLoRAの効き具合をチェックするために、線画も出せるようにしてみたいですね。

ではいってみましょう。

ここでは、XLのUIだけに言及します。

Diffusion in Low Bitsは、量子化ビットを低ビットで実行させることで、メモリ効率や処理速度を向上させる手法です。
低ビットで質の向上が見込めますが、時間がかかるというトレードオフです。

じゃあAutomaticにしとこうかな

GPU Weightsとは、GPU上で処理されるディープラーニングモデルの重みを指し、計算リソースやメモリ効率を最大限に活用するために最適化されています。

GPUをどこまで使うか

プロンプトとネガティブプロンプトを入れてGenerateを押下するだけでも絵はでる。

プロンプトは世の中に豊富に出回っているので、
モデル、CheckPointによってキーワードとなる単語が違うので、あまり覚える意味があるとは思えないなあ・・・
Generateボタンの下には、

プリセットされたスタイルがある。
適当に選んだだけでも結果に反映される
ベクター線の少女、ということか。

Generate下のメモボタンで、それらをプロンプトに反映させることもできる。

Apply all  Selected styles to promptsらしい。
便利に使おう。

さて、この時点でもうLoRAはいらないじゃないという気分になってくる。

その他mangaを選べば
なにやら漫画も出てくる
line artも出てくる。
画風も適度に安定しているような・・・

Generate中に、中断かスキップかというボタンが出る。
非活性に見えるが、どちらも効く。

Interrupt(中断) Skip(スキップ)

次にいきましょう。
Generationタブ
Sampling Stepsは、ノイズ除去回数。多ければキレイ、だけどこれ以上やっても変わらないという数値が出てくる。

Sampling methodとSchedule typeは、ノイズ除去アルゴリズムのメソッドとタイプということ。これ以上は追々知って行こう。

Hires.fixは高解像度化するのだが。。。

Upscalerにもいろいろある。
Latent: 画像の潜在空間を利用して、解像度を向上させる手法。
None: 特に処理を行わないオプション。
ESRGAN_4x: 高度な超解像技術を用いて、4倍の解像度に拡大する手法
など。

目的に応じていろいろやってみる方がよさそうだ。

事前にどの画像を高解像度にしたいか、選びたいのでためしにSeed値を入れよう。

生成した画像の下に、今回の条件が表示されるのでSheed値をコピー
Seed項目にコピー。デフォルトは-1なのだ

Hiresチェックいれたら

1792*2304のサイズになる。が、顔は崩れる。

失敗だなあ

何度かパラメータ変えてやってみましたが、単純なアップスケールはこの機能ではダメぽいですね。ただ高画質を出力させるために使いましょう。

sheed -1指定なし、であれば絵も破綻しない
Refinerというのもあるが、これはメンテ中なんですとさ。

じゃあ、LoRAをあててみよう。

[ロ/ラ]という発音なのか[ロ\ラ]という発音なのか、それはその人が関西に住んでいるか関東に住んでいるかで変わる。(たぶんね)

少女が山登り、日の出を浴びてうれしい顔
朝日がまぶしい

では、線画のLoRAをあててみる。

Loraタブに移動して、LineAniRedmondV2を選ぶと
プロンプトにもLoRAが追加される。
がしかしそれだけで白黒の線画になるわけでない。

LoRAそれぞれの「トリガーワード」が必要なのである。

ダウンロードする際にチェックしておきましょう。

つまり今回の線画については、lineartとLineAniAFがトリガーである。いれてみましょう。

LineArtをいれた光があたっている。
LineAniAFをいれた。
lineartとLineAniAFどちらも入れた。

白黒に、なったと、いえますね!

では、もうひとつ用意したLoRA,MJ_MANGAのトリガーワードは
[mj manga]ですね。

いってみましょう!

絵柄が変わったといえる。

これにて、LoRAはもう大丈夫。

ちなみに、画像のサイズはWidthとHeightで行う。
Batch countで、同時に何枚出すかを選ぶ。
Batch sizeでも同時に何枚出すか選ぶ。
バッチサイズを2、バッチカウントを3に設定すると、合計で6枚の画像が生成される

が、なんか後半は崩れているだなも。
batchSize3の場合
batchCount3の場合

しかし、どちらがどう崩れるか、というのは環境によるらしい。

CFG Scaleは、テキストがどれくらい影響を与えるかという具合。
大きいほど忠実。とはいえ、崩れるバランスもある。
先ほどまでのデフォルトが5

3にすると、より落書き感が出た。
15にするとこうなる。変化がわかりやすい。

これにてtext to imageの概要はおわり。
これ以降、これらの機能をみてみよう。

読むだけなのはつらいので、挿絵もどうぞ。

ControlNet Integratedの概要

  • 定義: ControlNetは、Stable Diffusionにおける条件付き生成を強化するための拡張機能で、特定のポーズや構図を指定することができます。

  • 目的: より精密なイラストや画像を生成するために、ユーザーが指定した条件に基づいて生成プロセスを調整します。

これは、別途ControlNetのモデルが必要そうなのであとまわしです。

Dynamic Thresholdingの主な機能

  • CFGスケールの調整: 通常、CFGスケールを高く設定すると、生成される画像が不自然になることがありますが、Dynamic Thresholdingを使用することで、これを防ぎます。

  • 柔軟な設定: ユーザーは、スケールを20や25などの高い値に設定しても、画像の整合性を保つことができます。

チェックボックスをオンにすると使えます。とのこと。やってみましょうか。
しかし、「最適なパラメータを探しましょう」とのこと。
テキスト通りになっているか、という判定も難しい。初心者のうちは、CFGはデフォルトのままでかまわない。という場合が多そうだ。

FreeU Integratedの概要

  • 定義: FreeUは、Stable Diffusionの生成プロセスにおいて、B1、B2、S1、S2の4つのパラメータを設定することで、画像の画質を簡単に向上させる機能です2

  • 目的: 画像生成の品質を向上させることを目的としており、特に細部のディテールや色合いの改善に寄与します。

SelfAttentionGuidance Integratedの概要

  • 定義: SelfAttentionGuidanceは、Stable Diffusionの生成プロセスにおいて、自己注意メカニズムを活用して画像の品質を向上させる技術です。

  • 目的: 画像生成時に、特に細部のディテールや色合いを強調し、よりリアルで魅力的な画像を生成することを目指しています。

PerturbedAttentionGuidance Integratedの概要

  • 定義: PerturbedAttentionGuidanceは、画像生成時に注意メカニズムを調整し、生成される画像の多様性を高める技術です。

  • 目的: 画像生成プロセスにおいて、特定の特徴やスタイルを強調しつつ、全体的な品質を向上させることを目指しています。

Kohya HRFix Integratedの概要

  • 定義: Kohya HRFixは、Deep Shrink Hires.fixとも呼ばれ、高解像度の画像を生成する際に使用される技術です。

  • 目的: 画像生成時に、解像度を高めつつ、生成過程での破綻を最小限に抑えることを目指しています。

LatentModifier Integratedの概要

  • 定義: LatentModifier Integratedは、画像生成の潜在空間を操作することで、生成される画像の特性を調整する機能です。

  • 目的: より細かい生成が可能で、ユーザーが求める特定のスタイルやテーマに合わせた画像を作成することを目指しています。

MultiDiffusion Integratedの概要

  • 定義: MultiDiffusion Integratedは、画像を細かく分割し、それぞれの領域を個別に描画することで、高解像度の画像を生成する機能です。

  • 目的: 低VRAM環境でも高解像度の画像を生成できるようにし、ユーザーのクリエイティブな表現をサポートします。

StyleAlign Integratedの概要

  • 定義: StyleAlign Integratedは、ユーザーが求めるスタイルに基づいて生成された画像を調整・微調整する機能を提供します。

  • 目的: 特定のアーティストのスタイルやテーマに沿った画像を一貫して生成し、視覚的な整合性を保つことを目指します。

Stable Diffusionのスクリプトの概要

  • 定義: Stable Diffusionのスクリプトは、画像生成プロセスを制御するためのコードや命令の集まりです。これにより、ユーザーは特定のスタイルやテーマに基づいた画像を生成できます1。

  • 機能:

    • 変数の設定: スクリプトを使用することで、生成する画像のスタイルや内容を変数として指定できます。

    • パラメータの調整: 画像の解像度、色合い、スタイルなど、さまざまなパラメータを自由に設定できます。

スクリプトの使用方法

  • スクリプトのインストール:

    1. ダウンロードしたスクリプトをStable Diffusionのスクリプトフォルダに移動します。このフォルダは通常、プログラムのインストールディレクトリ内にあります。

これらも使いたくなった時に使いましょう。

これにて勝利!

お読みいただきありがとうございました!
明日は、Imge To Imageの現状やってみた記事を書きます。

なんか、覚えようとするとムズカシイネ。
絵を出そう!とすると簡単に感じるかもしれない。
なんでもやってみないといけませんね。

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