AI画像生成安定拡散パラメータと使用方法の詳細

        安定拡散環境の構築と運用については、以前のブログ投稿「AI画像生成安定拡散環境の構築と運用」を参照してください。アドレスは「https://blog.csdn.net/suiyingy/article/details/」です。 128896426」。正常に実行されると、Web ブラウザーには主に 8 つの部分 (txt2img、img2img、Extras、PNG Info、Checkpoint Merger、Train、Settings、Extensions) を含むページが表示されます。これらについては、以下でそれぞれ紹介します。なお、このコラムの具体的な更新情報については、記事下の公式アカウントをフォローしていただくか、本コラムをフォローしていただくことが可能です。すべての関連記事は「ゼロからの Python AIGC 大規模モデルのトレーニングと推論」で更新されます。アドレスは「https://blog.csdn.net/suiyingy/article/details/130169592」です。

 図 1 安定した拡散生成レンダリング

1txt2img

        txt2img は、テキストの説明に基づいて画像を生成する Wensheng グラフを指します。そのページは次の図に示されています。

 図2 txt2img

        完全なセットアップの例は次のとおりです。

        プロンプト: コーラルフルドレス、((コラグリーンボタンシャツ))、(上半身)、ロングヘア、1女の子、背が高く、スキニー、フォトリアリスティック、傑作、高解像度、8k、キャラクターコンセプト、被写界深度、完璧な瞳孔、完璧な笑顔、ぼやけています背景、ハート型の顔、アウトドア、、サイドライト、朝、ハイヒール、詳細な服、超詳細、イヤリング、((フルフェイス))

        否定的なプロンプト: 低解像度、悪い解剖学、悪い手、テキスト、エラー、指がない、余分な桁、桁数が少ない、切り取られた、最悪の品質、低品質、通常の品質、JPEG アーティファクト、署名、透かし、ユーザー名、ぼやけている、腕がない、長い首、ザトウクジラ、手足が欠けている、指が多すぎる、変異している、描画が下手、枠から外れている、手が悪い、目が不鮮明、描画が下手、クローンの顔、顔が悪い、(最悪の品質: 2)、(低品質: 2)、(通常品質:2)、低解像度、通常品質、((モノクロ))、((グレースケール))、ng_deepnegative_v1_75t、乳首、((顔半分))、((頭半分))、((顔なし))、((頭がありません))

        ステップ: 30、サンプラー:オイラー、 CFG スケール: 9、面の復元サイズ: 512x512、モデル ハッシュ: dcd690123c、モデル: v2-1_768-ema-pruned.safetensors、 シード: 4171216357、 スクリプト: X/Y/Z プロット、 Xタイプ:ステップ、X値:「10、20、30」、 Yタイプ:サンプラー、Y値:「オイラーa、オイラー」。

1.1 安定拡散のチェックポイント

        安定拡散チェックポイントは、現在ロードされているモデルを選択するために使用されますモデルの設定とロードについては、以前のブログ記事「AI 画像生成安定拡散環境の構築と運用」を参照してください (アドレスは「https://blog.csdn.net」) /suyingy/article/details/128896426」。ユーザーは、必要に応じて、ハグフェイス Web サイトからサフィックス .safetensors が付いたモデル ファイルをダウンロードできます。

        ここで、異なるモデルによって生成される画像のスタイルも、漫画スタイルやリアルなスタイルなど異なることに注意してください。Stable Diffusion の公式モデルに加えて、このプログラムは、chilloutmix_Ni、anything-v4.5-pruned、dreamshaper_33、protogenV22Anime_22、artErosAerosATribute_aerosNovae、cheeseDaddys_35 などのモデルもサポートしています。

        インターネット上には生成効果の高い作品が多数ありますが、同じプロンプトでユーザーが得た結果が大きく異なる場合は、モデルの違いが原因である可能性があります。

1.2 プロンプト

        プロンプトは、生成する画像のテキストによる説明です。一般に、英語の説明の方がより良い生成結果が得られます。テキストの説明が異なれば結果はまったく異なり、ほとんどの場合、ユーザーは適切なプロンプトを書くことに集中する必要さえあります。一方で、ユーザーが設定したプロンプトの説明がモデルによく理解できない場合、モデルによって生成された結果は期待から大きく逸脱するため、一部のユーザーはモデル自体に問題があるのではないか、またはモデル自体に問題があるのではないかと考えることがあります。モデルは効果的ではありません。

        モデルによって生成された画像に追加の要件がない場合は、プロンプトに「AIGC アプレット RdFast のロゴをデザインする」などの簡単な画像の説明を入力するだけで済みます。ただし、より良い画像を生成したい場合は、プロンプトは特定のデザイン ルールに従う必要があります。

        以下のデザインルールは「AIペイントガイド 安定拡散webui(SD webui)の設定と使い方」、アドレスは「https://www.tjsky.net/tutorial/488」から紹介されています。

        (1) 区切り: キーワードタグ間の区切りには英語のカンマを使用する必要がありますが、カンマの前後にスペースや改行があっても影響はありません。例:女の子1人、ロリ、ロングヘア、ローツインテール(女の子1人、ロリ、ロングヘア、ローツインテール)。

        (2) 混合: WebUi は、複数の要素を混合するために | を使用して複数のキーワードを区切ります。混合とは、同じ割合で混合することと、同時に混合することであることに注意してください。例:1girl,red|bluehair,longhair (女の子1人、赤と青の混合、ロングヘア)

        (3) 強化・弱体化:2通りの書き方があります

        最初のタイプ (プロンプトワード: 重み値): 値の範囲は 0.1 ~ 100 で、デフォルト状態は 1 です。1 より小さい場合は弱められ、1 より大きい場合は強化されます。 。例: (ロリ:1.21)、(女の子一人:1.21)、(猫耳:1.1)、(花のヘアピン:0.9)。

        2 番目のタイプ (((プロンプトワード))) の場合、() 括弧の各セットは 1.1 倍強化され、[] の各セットは 1.1 倍弱め​​られます。つまり、2層の場合は1.1×1.1=1.21倍、3層の場合は1.331倍、4層の場合は1.4641倍となる。例: ((ロリ))、((一人の女の子))、(猫耳)、[花のかんざし] が最初の書き方に相当します。

        (4) 勾配変化:比較的簡単に理解するには、まずあるキーワードに従って生成され、次にこれに基づいて一定の方向に変化する。[キーワード 1:キーワード 2:数値]、1 より大きい数値はステップ X の前ではキーワード 1 として解釈され、ステップ X の後でキーワード 2 になり、1 未満の数値はステップの総数の X パーセント前として理解されます。キーワード 1 として入力し、その後キーワード 2 になります。たとえば、[白:黄色:16] の非常に長い髪の女の子は、「非常に長い白い髪の女の子を開始する」と同等で、16 ステップ後には「非常に長い黄色の髪の女の子」になります。「非常に長い[白:黄色:0.5]の髪を持つ女の子」は、「最初は非常に長い白い髪を持つ女の子」、50% ステップ後の「非常に長い黄色の髪を持つ女の子」に相当します。

        (5) 代替: キーワードを順番に使用します。例: [牛|馬] 畑に、これは牛と馬の混合です。畑に [牛|馬|猫|犬] のように長く書くと、最初は一生懸命働きます。牛、そして馬のように 一生懸命働き、猫のためにもっと働き、犬のためにもっと働き、馬のためにもっと働きます。

        プロンプトの例:

coral full dress,((collagreen botton shirt)),(upper body),long hair,1gir,tall,skinny,photorealistic,masterpiece,highres,8k,character concept,depth of field,perfect pupils,perfect smiles,blurry background,heart shape face, outdoors,,side light, morning,high heel,detailed clothing,ultra details,earring,((full face))

1.3 否定的なプロンプト

        プロンプトは、ユーザーが生成したい画像の特性を記述します。一方、ネガティブ プロンプトは、低品質の画像など、生成される画像に含めたくない特性を示します。安定拡散の一般的なアプローチは次のとおりです。

        (1) 画像のノイズを除去して、手がかりとなる言葉に近づけます。

        (2) 画像のノイズを除去して、リバース キューに近づけます (無条件)。

        (3) これら 2 つの違いを観察し、それを使用してノイズのある画像に対する一連の変更を生成します。

        (4) 最終結果を前者に近づけ、後者から遠ざけるようにしてください。

        否定的なプロンプトの例:

lowres,bad anatomy,bad hands,text,error,missing fingers,extra digit,fewer digits,cropped,worst quality,low quality,normal quality,jpeg artifacts,signature,watermark,username,blurry,missing arms,long neck,Humpbacked,missing limb,too many fingers,mutated,poorly drawn,out of frame,bad hands,unclear eyes,poorly drawn,cloned face,bad face,(worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)),ng_deepnegative_v1_75t,nipples,((half face)),(( half head)),((no face)),((no head))

1.4 サンプリング方法

        サンプリング方法は安定拡散モデルの動作原理に直接関係しますが、このコラムでは後ほど詳しく原理を紹介します。サンプリング方法は主に、画像を生成するタイミングとスタイルの好みに影響します。ウェブサイト「https://cj.sina.com.cn/articles/view/1823348853/6cae1875020018im7​​」には詳しい実験結果が掲載されている。

一般的に使用されるサンプリング方法は、オイラー a、オイラー、DDIM、LMS、PLMS、および DPM2 です。通常は、デフォルトのサンプリング方法を使用できます。

1.5 サンプリングのステップ

        サンプリング ステップはデフォルトで 20 に設定されています。生成された画像の詳細が要件を満たしていない場合は、サンプリング ステップを適切に増やすことができますが、それに応じて生成時間も増加します。ほとんどのサンプラーは 50 ステップを超えるとあまり意味がありません。

1.6 顔を復元する

        顔の修復。顔をより本物の人間の顔に近づけます。一般的な顔復元用のモデルには CodeFormer や GFPGAN などがあります。

1.7 タイリング

        タイル可能な画像パターンを生成します。直接的な効果は、タイル パターンと同様に、画像の上部と下部、および左右の部分を接合できることです。

図 3 タイリング画像

1.8人採用。修理

        txt2img は、高解像度 (1024X1024) で非常に奇妙な画像を生成します。このプラグインを使用すると、AI が画像の一部を低解像度でレンダリングし、アルゴリズムを通じて画像を高解像度に改善し、高解像度で詳細を追加することができます。

1.9 幅/高さ

        画像の幅と高解像度、つまり画像サイズ。サイズが大きくなるほど、より多くのメモリが必要になります。一般的なモデルは基本的に512×512や768×768を基準に学習しているため、解像度が高すぎると解像度が上がるにつれて画質が劣化してしまいます。

1.10 CFG スケール

        画像がプロンプトの内容とどの程度一致しているか。この値を増やすと、画像は説明に近づきますが、高すぎると画像が飽和しすぎ、高すぎると画質がある程度低下します。サンプリング ステップを適切に増やすことで、画質の劣化を相殺できます。一般に、5 ~ 15 の間が適切で、7、9、および 12 の 3 つの一般的な設定値です。

        低 CFG: 画像がぼやけて見え、霧がかかったように見え、色のコントラストが弱く、構図が比較的貧弱です。

        高 CFG: 画像のコントラストが非常に強く、色の彩度が非常に高く、飽和しすぎていて、色と構造のバランスが崩れています。

1.11 バッチ数 / バッチサイズ

        これら 2 つのパラメータは基本的に出力イメージの数を制御します。バッチ数は順番に生成されますが、バッチ サイズは並列に生成されるため、後者の方が生成は速くなりますが、より多くのビデオ メモリを使用します。

1.12 シード

        Seed のデフォルト値は -1 で、毎回生成される画像はまったく異なります。つまり、ランダムに生成されます。シードを固定値に設定すると、毎回生成される画像がより近くなるため、プロンプトを調整して生成された結果を微調整できます。

1.13 スクリプト

        スクリプトは複数の条件を同時に設定することに相当し、複数の条件によって生成された結果を比較する場合に便利です。たとえば、スクリプト: X/Y/Z プロット、X タイプ: ステップ、X 値: 「10,20,30」、Y タイプ: サンプラー、Y 値: 「オイラー a、オイラー」、この設定には 3 つのサンプリング時間が含まれます。 2 つのサンプリング方法があるため、次の図に示すように 6 枚の画像が生成されます。具体的な利用方法については「https://zhuanlan.zhihu.com/p/600821549」をご参照ください。

図4 複数条件比較の設定

 図 5 複数の条件の結果の比較

1.14 スタイル

        [生成] ボタンの下に小さな [スタイルの保存] アイコンがあり、現在のプロンプトのコンテンツをスタイルとして保存できます。これは、後で読み込んでスタイルを使用して再利用するのに便利です。

2 参考文献

        この記事は、次の Web サイトの内容を参照しています。詳細な分析については、関連する著者に感謝します。

        (1)「AIペイントガイド安定拡散webui(SD webui)の設定と使い方」「https://www.tjsky.net/tutorial/488」、この記事の内容のほとんどはここから来ています。

        (2) 「Stable-diffusion-webui プロンプト文法詳細説明」、「https://zhuanlan.zhihu.com/p/600821549」。

        (3) 「拡散モデルのサンプリング方法: 安定拡散におけるサンプリング方法を効果から見る」、「https://cj.sina.com.cn/articles/view/1823348853/6cae1875020018im7​​」。

        (4) 「安定拡散の各サンプラーの説明」、「http://www.codeforest.cn/article/3578」。

        (5) 「[安定拡散困難およびその他の疾患] CFG、サンプリング方法、HD 復元、ControlNet」、「https://zhuanlan.zhihu.com/p/610346261」。

        (6)「Stable Diffusion WebUIのサンプリング方法を手間がかかることから見てみる」、「https://post.smzdm.com/p/akk8zv5r/」。

その他のパーツ3点

        Img2img、Extras、PNG Info、Checkpoint Merger、Train、Settings、Extensions については、次回のブログ投稿で紹介します。このコラムの具体的な更新情報については、記事下の公式アカウントをフォローするか、このコラムをフォローしてください。すべての関連記事は「ゼロからの Python AIGC 大規模モデルのトレーニングと推論」で更新されます。アドレスは「https://blog.csdn.net/suiyingy/article/details/130169592」です。

おすすめ

転載: blog.csdn.net/suiyingy/article/details/130008913
おすすめ