見出し画像

そうだ!AI画像生成をちゃんと勉強しよう💡5章:サンプラーとスケジュールタイプについて

※勉強しているのは、Stable Diffusion、SeaArt系になります。

パラメータ…いつもStable DiffusionやSeaArtをいじっていて、見て見ぬふりをしているもののひとつ。
まだ黒い霧がかかっていて何が何だか想像すらできない存在の番がきてしまいました…気合を入れて勉強します

うおおぉぉぉぉーっ!(手どーなってるの)

しかし等身大は崩さずやっていきたいと思いますよろしくお願いします(。ì _ í。)

なお今回は、主要なパラメータとその役割を学んでいきます。
それぞれのパラメータの深掘りは他の機会にやりたいと思います。
サンプラーとスケジュールタイプだけで疲れてしまったので、
パラメータを小分けにして記事にしていこうかと思います。




パラメータとは


Stable Diffusionでいうとこのあたりで、

Stable Diffusionのパラメータ

SeaArtでいうとこのあたりじゃなかろうかと思います。

SeaArtのパラメータ

主要なパラメータとその役割

私はStable Diffusionをメインで使っていこうと思っているので、今回はStable Diffusionのパラメータに焦点を当てて勉強していきます!

パラメータの種類には、
ネガティブ プロンプト、VAE、サンプリング(サンプラー)、CFG スケール、シード、クリップ スキップ、幅と高さなどがあります。
プロンプトもパラメータのひとつらしいです。

パラメータを調整することによって、画像生成の品質やスタイルを細かく制御することができます。


今回はサンプリング(サンプラー)とサンプラーと一緒に使う、
スケジュールタイプを見ていきたいと思います。


サンプリング(サンプラー)とは

画像生成プロセスに使用するサンプリングアルゴリズムを指定するもの。
サンプラーを変えると、生成される画像のスタイルや品質に影響がある。

サンプリング方法によってノイズ除去の実行方法が決まり、サンプリング方法が異なると画像結果も異なります。

(ガイドブックにはサンプリングの原理なんかも解説されているので、より詳しく知りたい方はそちらをどうぞ💡)


サンプリングアルゴリズムとは…
Stable Diffusionなどの画像生成モデルで使用される重要なプロセスであり、ノイズの除去と画像の生成方法に大きく影響を与えます。

サンプラーの基本的な概念

DPM(Diffusion Probabilistic Models):

  • 画像を生成するために使われるアルゴリズムの総称。

  • 一般的な拡散プロセスを用いた生成モデルを指し、具体的な実装やアルゴリズムの違いによって細分化されます。

2M、3M :

  • ステップ数やモデルのバリエーションを示しています。数字が増えるほど、より多くのステップや複雑な計算を行うことが多いです。

SDE(Stochastic Differential Equation):

  • ノイズ除去のための特定の数学的手法です。SDEを使うと、より滑らかにノイズを除去できます。

Heun:

  • 数値計算の方法の一つで、ステップを進める際の精度を高めます。

a:

各サンプリング ステップでノイズを追加するため、ある程度のランダム性を示し、収束しません。


各サンプラーの説明

DPM++

++の付いたものは、DPMを改良したもので、より正確な結果が得られますが、速度は遅くなります。

ノイズ除去の方法やステップ数の違いによって、生成される画像の品質や計算効率が異なります。最適なサンプラーを選ぶことで、目的に合った高品質な画像を効率的に生成できます。

  • DPM++2Mは効率的なノイズ除去を行う基本的なバージョン。

  • DPM++SDEは、滑らかなノイズ除去を行うための手法を追加したもの。

  • DPM++2M SDEは、効率と滑らかさを兼ね備えたバージョン。

  • DPM++2M SDE Heunは、さらに計算精度を高めた最も高品質な画像を生成するバージョン。

  • DPM++3M SDEは、さらに多くのステップを使って詳細な画像を生成するバージョン

Euler

基本的な数値解析の手法を用いたアルゴリズムで、シンプルながら効果的な結果を得られることが多いです。

LMS

(Laplacian Pyramid Sampling):

ノイズを段階的に減らすことで、高品質な画像を生成する手法です。複数の解像度で処理を行い、最終的な画像を生成します。
※Eulerと同じ速度ですが、より正確です。

Heun

古典的な数値解析の手法を応用したアルゴリズムで、より安定した結果を得るためのステップ更新方法を使用します。
※Eulerのより正確なバージョンだが遅いです。

Restart

より少ないサンプリング ステップを使用して、より短時間で良好な画像を生成します。

DDIM

(Denoising Diffusion Implicit Models):

DDPMの改良版で、同じクオリティの画像をより少ないステップ数で生成できます。高速で効率的な生成が可能です。
拡散モデル用に設計された最初のサンプラー。

PLMS

(Pseudo Linear Multi-Step):

線形に近い方法でステップを進めるアルゴリズムです。特定の状況でより速く、かつ高品質の画像を生成することができます。

UniPC

(Unified Pseudo-Continuous Sampling):

疑似連続的なノイズ除去による高品質な画像生成を目指します。連続的なプロセスが特徴で、効率的に高クオリティの画像を生成できます。

LCM

(Laplacian Pyramid Sampling):

画像を異なる解像度レベルで処理し、それらを統合して最終的な画像を生成します。階層的なノイズ除去により、ディテールが豊富な画像を生成することが得意です。

DDPM

(Denoising Diffusion Probabilistic Models):

基本的な拡散モデルで、ノイズを徐々に除去していくプロセスを用います。各ステップで少しずつノイズを取り除くことで、最終的にクリアな画像を生成します。
※速度遅め


スケジュールタイプとは

スケジュールタイプとは、
ノイズをどのように減らしていくかの方法が異なります。
選択するスケジュールタイプによって、生成される画像の特徴や品質が変わります。

スケジュールタイプの種類と説明


1. Automatic(オートマティック)

  • 説明:

    • モデルが自動的に最適なスケジュールを選択する設定です。ユーザーが手動で設定を調整する必要がないため、初心者にも使いやすいです。

  • 特徴:

    • モデルや入力プロンプトに基づいて、最適なノイズ除去スケジュールを選択します。

    • バランスの取れた結果を得るために設計されています。

2. Uniform(ユニフォーム)

  • 説明:

    • ノイズ除去の速度が一定です。各ステップで同じ量のノイズを減らします。

  • 特徴:

    • 一貫した進行でノイズを減らします。

    • シンプルで予測可能な結果が得られます。

3. Karras(カラス)

  • 説明:

    • カラスの方法に基づいたスケジュールで、ノイズを段階的に減らす独自の手法を使用します。

  • 特徴:

    • 高品質な画像生成を目指して最適化されています。

    • ノイズ除去の速度が非線形で、特定のステップで調整されます。

4. Exponential(エクスポネンシャル)

  • 説明:

    • ノイズ除去の速度が指数関数的に変化します。初めはゆっくりで、後半になると急速にノイズを減らします。

  • 特徴:

    • 初期段階では大きな変化が少なく、詳細が失われにくい。

    • 最終段階で急速にノイズを減らし、クリアな画像を生成します。

5. Polyexponential(ポリエクスポネンシャル)

  • 説明:

    • 複数の指数関数を組み合わせたスケジュールです。ノイズ除去の速度が段階的に変化します。

  • 特徴:

    • 柔軟なノイズ除去が可能で、より複雑なノイズパターンに対応できます。

    • 高度な画像生成に適しています。

6. SGM Uniform(SGMユニフォーム)

  • 説明:

    • スコアベース生成モデル(SGM)に基づいたスケジュールで、ノイズ除去の速度が一定です。

  • 特徴:

    • 一定の進行でノイズを減らすため、均一で安定した結果が得られます。

    • SGM特有の高品質なノイズ除去手法を利用します。


初心者にはAutomaticが使いやすく、より具体的な特徴を求める場合は他のスケジュールタイプを選ぶと良いでしょう。


サンプリングステップについて


一般的に、サンプリング ステップの数が多いほど、画像の品質は向上します。
ただし、高品質の画像を実現するには、通常約 25 のサンプリング ステップで十分です。
このポイントを超えてステップ数を増やすと、異なる画像が生成される可能性がありますが、必ずしも品質が向上するとは限りません。

また、サンプリング ステップの数が多いほど時間がかかります。
ほとんどの場合待機時間が増えるだけなので、過度に高いサンプリング ステップを設定する必要はありません。

というわけで検証してみたいと思います💡


サンプリングステップ検証

モデル:MeinaPastel
Clip skip:1
VAE:orangemix
サンプラー:Euler a
画面:512×768

プロンプト:
bishoujo,very long hair,red hair,elf ears,headpiece,armor,armored_boots,fighting_stance,holding_bow_(weapon),light_blush,moon,full_shot,looking_to_the_side,from_below,metallic luster,fantasy,dreamlike,top quality,super fine illustration,8K
(美少女,超ロングヘア,赤髪,エルフ耳,かぶり物,鎧,アーマードブーツ,戦闘服,弓を構える,赤面,月,フルショット,横から見る,下から,金属光沢,ファンタジー,夢幻的,最高画質,スーパーファインイラスト,8K)

ネガティブプロンプト:
(worst quality, low quality:1.4), monochrome, zombie, (interlocked fingers)

このパラメータ設定でやりたいと思います!

※サンプリングステップは1から始め、5からは5ずつ増やしてMAX150まで、
計31枚生成した結果がこちら!

いかがでしょうか?
途中ポーズが変わったり背景が変わったりしてますが、説明の通り一定以上は品質にあまり差が無いように見えますね。
100を超えた辺りから待ち時間もなかなかに増えてた印象です。

もし一枚ずつじっくり見たい方がいたら、こちらプレゼントとしてzipファイルを用意しました✨よかったらどうぞ~。


初回投稿の時はお腹いっぱいで、自分の中では中途半端なところで終わりにしてしまったので、後日「サンプリングステップについて」を追記しました。
座学だけだとなんとなくしかわからないので、比較記事もそのうち上げたいと思います✨


いつもお世話になっているガイドブックとChatGPTくんで勉強しております🎵
ガイドブックはこちら👇(SeaArt公式のものです。)



今日のサムネ生成過程(ChatGPT,DALL-E 3)

私「「そうだ!AI画像生成をちゃんと勉強しよう💡5章:サンプラーとスケジュールタイプについて」というタイトルのnote記事を書きました。 このタイトルに合うような画像を作ってください。 要望は、日本の少女漫画のようなタッチで、水彩画のようなカラーリングで16:9で描いてください。」

ChatGPTくん「こちらが「そうだ!AI画像生成をちゃんと勉強しよう💡5章:サンプラーとスケジュールタイプについて」のタイトルに合うイラストです。ご確認ください。」

私「(最近セーター率高いな…)女の子はロングヘアーで、夏服でお願いします。」

ChatGPTくん「こちらが「そうだ!AI画像生成をちゃんと勉強しよう💡5章:サンプラーとスケジュールタイプについて」のタイトルに合う、ロングヘアで夏服の女の子が描かれたイラストです。ご確認ください。」

私「ありがとう!」
(スケジュールタイプだからカレンダーみたいなの映ってるのか🤭)

以上♪


(2024.8.2追記)

おまけの成果ギャラリーvol.5

急に始まったキャラデザイン

この頃になると指示文がプロンプトと呼ばれたり呪文と呼ばれたりしていることを知ります。
そしてプロンプトを英語にした方がいいのも覚えて、ひたすらGoogle翻訳で英文をつくっていました。
そして青い髪の女の子を作ろうと一生懸命になっていました。


この記事が参加している募集

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