見出し画像

embeddingsを活用して低品質を除外する

embeddingsとは

embeddings とは機械学習や深層学習において、入力データの特徴や意味を数値ベクトルに変換し、埋め込むことを指します。

特にテキストや画像などのデータをベクトル空間に変換することで、コンピュータがその意味や特徴を数値として理解しやすくすることができます。学習済みのembeddingsファイルを使うことで、生成される画像の品質を高めたり、望みの画像に近づける調整を行うことができるようになります。それを「Textual Inversion」という手法で学習させたファイルにして利用します。

Textual inversionとは

Textual Inversionとは、ファイルにプロンプトを入れて使う詠唱短縮です。
一瞬で魔法が撃てる魔法書のようです。

これは、事前に大量のテキストと画像のペアのデータセットで学習をさせておきます。すると、AIは「このテキストの説明がこういった画像に対応する」という関係性を学習します。

その後、新しいテキストの説明を入力すると、その説明に合った画像を生成することができるのです。

つまり、「3つのリンゴが置いてあるテーブル」という文章が入力されれば、それに合致する画像をAIが生成してくれるという仕組みです。

このTextual Inversionを応用して、EasyNegativeやveryBadImageNegativeのような画像の品質を高めるためのembeddingsファイルが作られています。
AIイラストを作成している方にとってはかなり効果的なオプションです。
以下で単体のEasyNegativeの解説を行っています。

embeddingの導入方法

今回はveryBadImageNegativeをインストールしてみましょう。
以下のURLから「veryBadImageNegative」をダウンロードします。

導入方法は以下のディレクトリを指定しファイルをダウンロード、設置するだけで利用が可能になります。

%cd /content/stable-diffusion-webui/embeddings
!wget https://civitai.com/api/download/models/25820 -O /content/stable-diffusion-webui/embeddings/verybadimagenegative.pt

automatic1111を起動後、Textual inversionの欄からネガティブプロンプトへveryBadImageNegativeを選択してください 。
比較が以下のようになりました。

Steps: 20, Sampler: DPM++ SDE Karras, CFG scale: 8, Seed: 3992175581, Size: 544x768, Model hash: dab3d5faa8, Model: Yakidoufu, Denoising strength: 0.55, ControlNet 0: "Module: lineart_anime, Model: control_v11p_sd15_lineart [43d4be0d], Weight: 0.6, Resize Mode: Crop and Resize, Low Vram: False, Processor Res: 512, Guidance Start: 0.1, Guidance End: 0.6, Pixel Perfect: False, Control Mode: Balanced, Save Detected Map: True", Hires upscale: 2, Hires steps: 10, Hires upscaler: R-ESRGAN 4x+ Anime6B, Version: v1.7.0

Hires. fix無し状態での検証、好みの差ですが表現が変わっていることが分かります。

Hires. fix有りだとこんな感じです。verybadimagenegativeがあった方が好みになりました。ON,OFFを試して自分好みを探してみましょう。

今回はEasyNegativeの効果も入れて試してみましょう。
EasyNegativeも以下のようにかなり強力な力を持ったTextual inversionです。

EasyNegativeやveryBadImageNegativeのハイブリット使用で生成してみましょう。

Steps: 20, Sampler: DPM++ SDE Karras, CFG scale: 8, Seed: 3992175581, Size: 544x768, Model hash: dab3d5faa8, Model: Yakidoufu, Denoising strength: 0.55, ControlNet 0: "Module: lineart_anime, Model: control_v11p_sd15_lineart [43d4be0d], Weight: 0.6, Resize Mode: Crop and Resize, Low Vram: False, Processor Res: 512, Guidance Start: 0.1, Guidance End: 0.6, Pixel Perfect: False, Control Mode: Balanced, Save Detected Map: True", Hires upscale: 2, Hires steps: 10, Hires upscaler: R-ESRGAN 4x+ Anime6B, TI hashes: "verybadimagenegative: d70463f87042, EasyNegative: c74b4e810b03", Version: v1.7.0

更に表現が足されたイメージですね。個人的に両方ONの時が一番好きかもしれません。

※X/Y/Z plotで好みな表情を探すのがおススメです。
X/Y/Z plotについては今後解説予定です。

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