見出し画像

Disco Diffusion 5


Disco Diffusion 5.2 - それは何ですか?

Disco Diffusion (DD) はGoogle Colab Notebookで、 CLIP-Guided Diffusionと呼ばれる AI 画像生成技術を活用して、テキスト入力だけで魅力的で美しい画像を作成できます。Somnaiによって作成され、Gandamuによって拡張され、 RiversHaveWingsnshepperd 、および他の多くの作業に基づいて構築されてます。 魔法です。しかも無料。(!)


ただし、CLIP と Diffusion の歴史と複雑な内部動作は、このドキュメントの主なトピックではありません。むしろ、このガイドは、基本的な DD コントロールを使用して独自の画像を作成する方法を理解するのに役立ち、すべてのパラメーターが CLIP と拡散の動作にどのように影響するかについての洞察を提供することを目的としています。



DD 拡散プロセス (大幅に簡略化)

拡散は、画像からノイズを除去するための数学的プロセスです。CLIP は、画像にラベルを付けるためのツールです。組み合わせると、CLIP はその画像識別スキルを使用して、拡散ノイズ除去プロセスをテキスト プロンプトに厳密に一致する画像に向けて繰り返し導きます。

上の画像は、テキスト プロンプトのみを使用して DD で作成されました。

拡散は反復プロセスです。各反復、またはステップ、CLIP はプロンプトに対して既存の画像を評価し、拡散プロセスに「方向」を提供します。拡散は既存の画像を「ノイズ除去」し、DD は最終的な画像がどのように見えるかについての「現在の推定値」を表示します。最初は、画像はぼやけた混乱に過ぎませんが、DD が反復タイムステップを進めるにつれて、画像の粗い部分と細かい部分が明らかになります。



拡散プロセスのステップ 1、50、100、150、および 200

サンプル画像は、完了するまでに 250 の拡散ステップを要しました。上の画像シーケンスでわかるように、拡散ノイズ除去プロセスが CLIP によって目的の画像に導かれるため、画像はステップの範囲で徐々に鮮明になります。

画像の内容は、通常、「プロンプト」で使用されるテキスト、文、フレーズ、または見たいものを CLIP に伝える一連の説明的な単語によって制御されます。AI アート用の適切なテキスト プロンプトを作成することは、試行錯誤と練習が必要な微妙で難しい作業です。学習する必要がありますが、このガイドでは詳しく説明しません。私たちは、Disco Diffusion を駆動するためのノブとレバーに焦点を当てています。

DD のコントロールのほとんどは数値であり、CLIP モデルと拡散曲線のさまざまな側面を制御します。DD を使用する一般的な方法は、テキスト プロンプトを選択し、パラメーターを調整してから、ノートブックを実行してイメージを作成することです。使用する設定と使用可能なプロセッサーによっては、DD が 1 つの画像をレンダリングするのに 5 分から 1 時間以上かかる場合があります。

プロンプトとパラメーターの微調整は複雑で時間がかかるため、方法論的アプローチを採用するとメリットがあります。最初にノートブックのデフォルト設定を試して、ノートブックが正しく動作し、セットアップにエラーがないことを確認することをお勧めします。その上で、実験してください!

また、DD にはアニメーション コントロールがありますが、静止画の作成方法を学ぶことから始める必要があります。これらのスキルはアニメーションに直接適用されます。

AI を使用したアートの作成は魔法のように複雑であり、データ サイエンティストやプログラマーによって常に開発されています。そのため、ツールの学習には労力と集中力が必要であることは驚くべきことではありません。また、DD には多数のコントロールがあり、相互作用が複雑で制限が少ないため、簡単に悪い結果が得られます。しかし、がっかりしないでください!

あなたは一人ではないことを忘れないでください。何千人もの人々が AI アートを勉強し、学んでおり、他の DD ユーザーや AI アーティストとつながり、学ぶためのリソースがたくさんあります。特に、専用の DD Discord フォーラムDD subreddit、および twitter の活発なユーザー コミュニティがあります。また、優れた Youtube や、書かれたチュートリアルやガイドも多数あります。他のリソースへのリンクは、このガイドの最後に記載されています。

登るのが難しいほど、見晴らしが良くなります!頑張って素晴らしいものを作ってください!

2022 年 3 月
クリス・アレン ( Twitter の@zippy731 )

somnai_dreams 、 gandamu_mlzqevanshuemin_artsoftologycomauNerdyRodentnonlethalcodeGarlicmlpharmapsychoticluciddreamnf1、(そして私が無礼に忘れてしまったかもしれない他の人) の情報、レビュー、コメント、および貢献に 感謝します。ps このガイドが有用な出発点であり、仲間の DD ユーザーへの参照になることを願っています。しかし、それは何の権威でもありません。実際に。

実際の DD コーダーや専門家に説明を求めて事実をまとめようとしましたが、これらはすべて、すべてがどのように機能するかについての私の現在の迷信的な印象です。

また、最善の努力にもかかわらず、このガイドには誤りがたくさんあります。私のエラー。彼らがどこにいるのかわからないだけです。私もAIアートの学生なので、一緒に学びましょう!

エラーや誤った情報を見つけた場合は、私の無知を笑い飛ばしてから、Twitter のコメントまたはDD Discordで問題を解決してください。-Z


ディスコディフュージョンを使う - 基本設定

Disco Diffusion (DD) (現在のバージョンは 5.2 ) は、最初は威圧的で不可解です。小さな一歩を踏み出すだけで、進歩します。

始める前に

このガイドは、Google の Colab サービスを使用してノートブックにアクセスして実行する基本を理解していることを前提としています。そうでない場合は、付録で推奨されるリソースを確認して理解を深めてください。

Colab が動作

していることを確認する Colab で DD ノートブックを起動すると、上記のようなライトハウス イメージを生成するデフォルトが既に設定されています。設定を変更する前に、すべてを実行して(Runtime\Run all)、すべてが機能していることを確認する必要があります。Colab から、Google ドライブへの接続を承認するように求められます。DD が適切に機能するには、これを承認する必要があります。

その後、DD は環境のセットアップに数分を費やし、最終的にノートブックの一番下に生成された拡散イメージを表示します。これらすべてが機能していることを確認したら、いつでもプログラムを中断できます (Runtime\Interrupt Execution)。


クイック スタート - デフォルト設定の使用


初期設定が完了したら、独自のイメージの作成を開始できます。多くのオプションがありますが、フレーズを入力するだけでデフォルト設定を使用して画像を生成する場合は、次のようにします。

  • 上記のように、すべてを実行して DD 環境を初期化します。実行を中断します。

  • ノートブックの一番下にある [プロンプト]セクションまで、ノートブックの一番下までスクロールします。既に存在する例の構文に注意してください。文を独自のテキスト プロンプトに置き換えます。

  • プロンプトセルの実行ボタンをクリックします。これにより、次回の実行時にテキスト プロンプトが更新されます。

  • そのすぐ下、アンダー4.ディフューズ!、セルを展開し、「display_rate」の値を 50 から 5 に更新します。

  • 「Do the Run!」の横にある実行ボタンをクリックします。

  • 魔法が起こるのを見てください。

それでおしまい。テキストから独自の画像を作成しています。

以前と同様に、画面上で画像の更新を見ることができます。ぼやけたグレーの画像が表示されますが、徐々にクリアされて最終的な画像が表示されます。いつでもコードを中断できます。

最初の DD イメージが気に入るかどうかは別として、より良いものにしたい場合は、読み進めてください。


テキストプロンプト

これがメインイベントです。単語を入力して画像を取得します。それが私たち全員がここにいる理由ですよね?:)

DD では、プロンプトはノートブックの一番下に設定されます。プロンプトは、いくつかの単語、長い文、またはいくつかの文にすることができます。プロンプトを作成すること自体は、ここでは説明しませんが、DD プロンプトのセクションには、必要なフォーマットを含むいくつかの例があります。

text_prompts: 画像がどのように表示されるかを説明する語句、文、または語句の文字列。単語は AI によって分析され、説明する画像への拡散プロセスがガイドされます。これらには、各要素の相対的な重要性を調整するためのコンマと重みを含めることができます。例: 「特異な灯台の美しい絵。激動の血の海にその光を照らしている。アートステーションのトレンディング。」

このプロンプトは、大まかに [件名]、[前置詞の詳細]、[設定]、[メタ修飾子とアーティスト] という構造に従っていることに注意してください。これは実験の良い出発点です。

テキスト プロンプトの開発には練習と経験が必要であり、このガイドの主題ではありません。テキスト プロンプトを作成する初心者の場合は、 DD を使用する前に、Ni​​ght Cafestarry aiWOMBOなどの単純な AI アート アプリを使用して、テキストが GAN ツールによって画像に変換される方法を理解することから始めることをお勧めします。これらの他のアプリは異なるテクノロジを使用していますが、同じ原則の多くが適用されます。

image_prompts: ソース画像は、拡散プロセスを外観またはスタイルに導くもう 1 つの方法です。ただし、イメージ プロンプトを使用して他のイメージを作成するのは間接的な方法であり、テキスト プロンプトほど信頼性が高くありません。


高度なトピック: プロンプト ウェイトとアニメーション フレーム

1 つのテキスト プロンプトで、イメージまたはアニメーションのバッチを正常に実行できます。ただし、DD を使用すると、プロンプト セクションで柔軟性を高めることができます。

プロンプトは、アニメーション フレーム番号と文字列のリストに分割されます。文字列のリストは、拡散プロセスがイメージを駆動しようとする個々のプロンプトです。文字列の末尾には、他のプロンプトに対するそのプロンプトの重みを示す「:num」値を含めることができます。

拡散方向の駆動における各プロンプトの相対的な寄与は、その重みをすべての重みの合計で割ったものです。重みは負になる可能性があります! 負の重みは、テキスト、透かし、その他の望ましくない機能など、望ましくないプロンプトに一致する機能を抑制するのに役立ちます。例: 0:["rocky beach:2", "sky:-1"] は、空の詳細を減衰させながら、イメージを岩の多いビーチに向けて押し出します。重要: 重みの合計が 0 であってはなりません。

行頭の数字はアニメーションのフレーム番号です。アニメーションが使用されている場合、異なるアニメーション フレームでプロンプトの行を追加することで、時間の経過とともにプロンプ​​トを変更できます。DD は、指定されたフレームでテキスト プロンプトを切り替えます。注: この方法で複数のプロンプトを追加すると、アニメーションでのみ機能します。個々のイメージのバッチを実行している場合、DD は最初のテキスト プロンプトのみを使用します。

基本設定


テキストおよび/または画像プロンプトの準備ができたら、画像生成実行のバッチ名を設定する必要があります。数値パラメーターの一部を調整することもできます。パラメータは DD のイメージ キャラクターと品質を制御するための中心であり、多くのパラメータが他のパラメータの影響を相殺しているため、DD は習得に時間がかかるリッチで複雑なツールになっています。

一部のパラメーターでは、パラメーターの横に数値が表示されます (例: (250|50-10000)は、DD のデフォルト値と「標準的な」範囲を示します)。

これらのデフォルトと範囲から始めることができますが、これらは厳密な制限ではありません. DD は現在も精力的に研究されています。何人かのユーザーは、パラメータの動作範囲や他のパラメータとの相互作用を視覚化するために、積極的に「パラメータ調査」(リソースの付録を参照) を行っています。したがって、各パラメータにある程度慣れたら、より極端な値 (負の数を含む) を試して、芸術的な目標に適した値を見つける必要があります。

batch_name: バッチのファイルとフォルダーの名前。最終的な画像や動画は \My Drive\AI\Disco_Diffusion\images_out\batch_name

width_height: ([1280,768]|VRAM による制限)に保存されます。目的の最終イメージ サイズ (ピクセル単位)。正方形、幅広、高さのある画像を使用できますが、各エッジの長さは 64 ピクセルの倍数に設定し、デフォルトの CLIP モデル設定では最小 512 ピクセルにする必要があります。寸法に 64px の倍数を使用するのを忘れた場合、DD は画像の寸法を調整してそのようにします。

DD のコンテキストでは、典型的な Colab システムでは、[512x768] は中間の画像であり、出発点として適しています。[1024x768] は大きな画像と見なされ、OOM (メモリ不足) エラーが発生する可能性があります。

ディメンションが大幅に大きくなると、メモリの使用量が大幅に増えるため (DD がクラッシュする可能性があります!)、最初は小さく始めてください。非常に大きな最終画像が必要な場合、一般的な方法は、DD を使用して中サイズの画像を生成し、別の AI「アップスケーラー」を使用して DD で生成された画像のサイズを大きくすることです。

興味深い CLIP-Diffusion 現象の 1 つは、画像を非常に縦長 (つまり 512 x 1024) にすると、背の高い/巨大な素早い被写体に対してより良い結果が得られることです。例:「巨大生物」ワイド画像は、パノラマ風景などのワイドな被写体にも使用できます。これは、さまざまな CLIP データセットのトレーニングに使用される元の画像の向きと形式が原因である可能性があります。

ステップ: (250|50-10000)画像を作成するとき、ノイズ除去曲線は処理のためにステップに分割されます。各ステップ (または反復) には、AI が「カット」と呼ばれる画像のサブセットを見て、画像がプロンプトのようになるように誘導する必要がある「方向」を計算することが含まれます。次に、拡散デノイザーを使用して画像を調整し、次のステップに進みます。

ステップ数を増やすと、AI が画像を調整する機会が増え、各調整が小さくなるため、より正確で詳細な画像が得られます。ステップを増やすと、レンダリング時間が長くなります。また、ステップ数を増やすと一般的に画質が向上しますが、250 ~ 500 ステップを超えると、ステップ数を増やすと効果が減少します。ただし、一部の複雑な画像では、1000、2000、またはそれ以上のステップが必要になる場合があります。それは本当にユーザー次第です。

レンダリング時間はステップ数に直接関係し、他の多くのパラメーターは追加の時間をかけずに画質に大きな影響を与えることを知っておいてください.

skip_steps: (10|ステップまでの整数)ここに示したチャートを考えてみましょう。ノイズ スケジューリング (ノイズ除去強度) は、最初は非常に高く、拡散ステップが進むにつれて次第に低くなります。最初の数ステップのノイズ レベルが非常に高いため、イメージは初期のステップで劇的に変化します。

DD が曲線に沿って移動するにつれて、ノイズ レベル (したがって、ステップごとに画像が変化する量) が低下し、あるステップから次のステップへの画像の一貫性が向上します。

ノイズ除去の最初の数ステップは非常に劇的なことが多いため、一部のステップ (全体の 10 ~ 15% 程度) は、最終的な画像に影響を与えずにスキップできます。レンダリング時間を短縮する方法として、これを試すことができます。

ただし、あまりにも多くの手順をスキップすると、残りのノイズが新しいコンテンツを生成するのに十分なレベルに達しない可能性があり、したがって、イメージを満足に仕上げる「残り時間」がない可能性があります。

また、他の設定によっては、CLIP が目標を超えないようにするための手順をスキップする必要がある場合があります。その結果、色が「吹き飛ばされた」(過飽和、白一色、または黒一色の領域) か、画質が低下します。ノイズ除去プロセスは初期のステップで最も強力になるため、ステップをスキップすることで他の問題を軽減できる場合があることを考慮してください。

最後に、init_image を使用する場合は、元の初期イメージの形状を保持するために、拡散ステップの ~50% をスキップする必要があります。

ただし、init_image を使用している場合は、クリエイティブな理由で skip_steps を上下に調整することもできます。低い skip_steps を使用すると、init_image に「触発された」結果を得ることができます。これは、色と大まかなレイアウトと形状を保持しますが、まったく異なるように見えます。skip_steps を高くすると、init_image の内容のほとんどを保持し、テクスチャの微調整のみを行うことができます。

clip_guidance_scale: (5000|1500-100000) CGS は、使用する最も重要なパラメーターの 1 つです。これは、タイムステップごとに CLIP をプロンプトに向かってどれだけ強く動かしたいかを DD に伝えます。一般的には高いほど良いのですが、CGS が強すぎると目標をオーバーシュートして画像が歪んでしまいます。したがって、幸せな媒体が必要であり、CGS を調整する方法を学ぶには経験が必要です。

このパラメータは通常、画像のサイズに合わせて調整されることに注意してください。つまり、合計サイズを 50% 増やした場合 (たとえば、512 x 512 から 512 x 768 に変更)、画像に同じ効果を維持するには、clip_guidance_scale を 5000 から 7500 に増やします

。基本設定、clip_guidance_scale、steps、skip_steps は、画質に最も重要な影響を与えるので、よく理解してください。

tv_scale: (0|0-1000)総分散ノイズ除去。オプション。オフにするにはゼロに設定します。最終出力の「滑らかさ」を制御します。使用すると、tv_scale は最終的な画像を滑らかにして全体的なノイズを削減しようとします。画像が「カリカリ」しすぎている場合は、tv_scale を増やします。TV ノイズ除去は、平坦な領域のノイズを滑らかにしながらエッジを維持するのに適しています。見るhttps://en.wikipedia.org/wiki/Total_variation_denoising

range_scale: (150|0-1000)オプション。オフにするにはゼロに設定します。色のコントラストの調整に使用します。range_scale を低くすると、コントラストが高くなります。数値が非常に小さいと、カラー パレットが少なくなり、より鮮やかな、またはポスターのような画像になります。range_scale を大きくすると、コントラストが低下し、より落ち着いたイメージになります。

sat_scale: (0|0-20000)彩度スケール。オプション。オフにするにはゼロに設定します。sat_scale を使用すると、過飽和を軽減するのに役立ちます。画像の彩度が高すぎる場合は、sat_scale を増やして彩度を下げます。

init_image: オプション。上記の一連の画像で、最初に表示された画像は単なるノイズであることを思い出してください。init_image が指定されている場合、拡散はノイズを開始状態として init_image に置き換えます。init_image を使用するには、画像を Colab インスタンスまたは Google ドライブにアップロードし、ここに完全な画像パスを入力します。

init_image を使用する場合、init の特性を保持するために、skip_steps を合計ステップの 50% まで増やす必要がある場合があります。詳細については、上記の skip_steps を参照してください。

init_scale: (1000|10-20000)これは、CLIP が提供された init_image に一致させようとする強さを制御します。これは、上記の clip_guidance_scale (CGS) に対してバランスが取れています。初期スケールが大きすぎると、拡散中に画像があまり変化しません。CGS が多すぎると、初期イメージが失われます。

cutn_batches: (4|1-8)各反復で、AI は画像をカットと呼ばれる小さな断片にカットし、各カットをプロンプトと比較して、次の拡散ステップのガイド方法を決定します。DD は各タイムステップで画像の精度を微調整する機会が多いため、通常、より多くのカットを行うとより良い画像が得られます。

ただし、追加のカットはメモリを集中的に使用するため、DD が一度に評価しようとするカットが多すぎると、メモリが不足する可能性があります。cutn_batches を使用すると、メモリ使用量を増やすことなく、タイムステップごとのカットを増やすことができます。

デフォルト設定では、DD はタイムステップごとに 16 カットを行うようにスケジュールされています。cutn_batches が 1 に設定されている場合、実際にはタイムステップごとに合計 16 個のカットしかありません。

ただし、cutn_batches を 4 に増やすと、DD は各タイムステップで合計 64 カットを実行し、それぞれ 16 カットの 4 つの連続バッチに分割します。カットは一度に 16 しか評価されないため、DD は 16 カットだけに必要なメモリを使用しますが、64 カットの品質上のメリットが得られます。もちろんトレードオフは、各画像のレンダリングに最大 4 倍の時間がかかることです。

したがって、(スケジュールされたカット) x (cutn_batches) = (タイムステップごとの合計カット) です。ただし、作業が順次行われるため、cutn_batches を増やすとレンダリング時間が長くなります。DD のデフォルトのカット スケジュールから開始することをお勧めしますが、カット スケジュールは、以下で説明する [カット スケジュール] セクションで調整できます。

skip_augs: DD には、コードの一部として、画像の作成中にランダム化された画像のスケーリング、遠近法、およびその他の選択的な調整を導入する「トーチビジョン増強」があります。これらの拡張は、画質を向上させることを目的としていますが、不要なエッジに「平滑化」効果をもたらす可能性があります。skip_augs を true に設定すると、これらの拡張をスキップして、レンダリングをわずかに高速化できます。この設定を試して、プロジェクトへの影響を理解することをお勧めします。

実行設定


プロンプトと設定の準備ができたら、 Do the Run!にアクセスしてください。ノートブックの下部にあるコード セルを開き、設定を編集してから実行します。DD がプロセスを開始し、完成した画像をバッチ フォルダーに保存します。

n_batches: (50|1-100)この変数は、DD で作成する静止画像の数を設定します。アニメーション モードを使用している場合 (詳細は以下を参照)、DD は n_batches を無視し、アニメーション設定に基づいてアニメーション フレームの単一セットを作成します。

display_rate: (50|5-500)拡散の実行中に、この変数を使用して作成中の各画像の進行状況を監視できます。display_rate が 50 に設定されている場合、DD は進行中の画像を 50 タイムステップごとに表示します。

これを 5 や 10 などの低い値に設定すると、画像がどこに向かっているのかを早期に確認するのに適しています。進行が気に入らない場合は、実行を中断し、設定を変更してから再実行してください。監視されていない長いバッチを計画している場合は、中間イメージを表示すると Colab の速度がわずかに低下するため、display_rate を steps に等しく設定することをお勧めします。

resume_run: バッチの実行が中断された場合 (停止したか、切断されたために)、このチェックボックスを使用して中断した場所からバッチの実行を再開できます。ただし、バッチ内のバッチ名の設定は変更しないでください。変更すると、確実に再開できなくなります。他のパラメーター (run_to_resume、resume_from_frame、retain_overwritten_frames) は、バッチを再開する方法を制御します。

ワークフロー


一般的な DD ワークフローは、プロンプトや設定を変更し、短い実行を行い、イメージを評価し、設定を微調整して、もう一度実行することです。DD の動作には多くのばらつきがあり、画像のレンダリングには時間がかかるため、フィードバックはすぐには得られません。したがって、時間をかけて系統立てて、行っている変更とその影響をメモしておくことは絶対に価値があります。

テキスト プロンプトを試している間は、プロンプトの効果をすぐに確認できるように、ステップの総数を減らすことをお勧めします。好みのテキスト プロンプトに落ち着いたら、ステップを上げて設定を調整し、目的の画質を得ることができます。

Parameter Studies - EZ Charts

何人かのユーザーが拡散パラメータの効果の視覚的研究を作成しました。EZチャート。画像をどのように調整するかを考え始めたら、ここでパラメーターの動作を学習するのに適しています。リソースセクションにリストされている他のパラメーターとアーティストの研究があります.

設定レポート

追跡しやすいように、DD は実行ごとに「設定」テキスト ファイルを作成し、バッチ フォルダーに保存します。これは、うまく機能した設定を学習して保存するための優れたリソースです。レポート内のパラメーター名を認識できない場合 (このガイドでは言及されていない場合)、それはおそらく無視できるシステム変数です。

メモリ管理


DD ジャーニーの早い段階で Colabメモリ不足になり、恐ろしいCUDA メモリ不足メッセージが表示されます。これは、利用可能な GPU メモリ リソースを超える何かを DD に実行するように要求したため、DD が壊れたことを意味します。
心配する必要はありません。DD を壊して OOM を実行することは通過儀礼です。メモリ不足の通常の理由:

  • 大きすぎる画像を作成しようとしています。

  • 一度に多くのカットをしようとしています。詳細については、上記の cutn_batches と以下の Cutn Scheduling を参照してください。

  • 同時に多数の CLIP または Diffusion モデルを使用しようとしています。ViTL/14 および RN50x64 は、モデルの中で最も多くの VRAM を必要とします

OOM メモリに遭遇した場合は、設定を編集してバッチを再実行してください。問題を解決するには、「再起動してすべて実行」する必要がある場合があります。

  • パワー不足の Colab システムで実行しています。

使用可能な GPU メモリは、Colab セッションにランダムに割り当てられる GPU のタイプの関数でもあります。

無料層のアカウントは低レベルのシステムを取得し、Pro および Pro+ はより強力なシステムにアクセスできます。DD が適切に機能するには、GPU 対応の Colab インスタンスが必要です。また、Free レベルのアカウントでは GPU インスタンスが利用できない場合があります。そんな時は悲しいですが、また後で試してみてください。

DD ノートブックの上部には、割り当てられているシステム タイプを報告する「Check GPU Status」セルがあります。これを書いている時点で、Colab には GPU パワーの序列があります。最小から最大の順に:

K80 / T4 / P100 / V100 / A100

A100 はめったに見られない神話上の獣です。入手した場合は、必ずスクリーン キャップを作成して Discord で共有し、友達に自慢してください。

それだけです。DD は制限に近づいても警告しません。OOM エラーで中断するだけです。メモリ使用量を評価する技術的な方法は数多くありますが、初心者ユーザーとして、さまざまなセットアップでいくつかの実験を実行して、現在のインスタンスの制限を理解することをお勧めします。

邪悪なスマート グラフィックス カードを搭載した超強力なホーム PC で DD を実行したいと考えています。

DD は、高負荷の GPU を備えた Google Colab 環境で実行するように作成されているため、このガイドの焦点はそこにあります。自宅の PC を含む他のハードウェアで DD を実行して成功した人がいることは知っていますが、これについては文字通り何も知りません。したがって、私は意見を述べません。

リソース リストで Colab 以外の DD の実行に関する情報へのリンクを確認し、DD Discord #techにアクセスしてください。-supportまたは#dev チャンネルで、これらの質問について他の人とチャットしてください。

その他のバグとクラッシュ

DD が CUDA OOM 以外の理由でクラッシュした場合:

  • 開発者についての親切な考えを忘れないでください。これは無料の実験的な AI コードであり、壊れやすい傾向があります。

  • 再起動してすべて実行します。システムの再起動に相当する Colab。

  • 作業する元のノートブックの新しいコピーを入手してください。一部のコードを誤って編集した可能性があります。

  • DD Discord #tech -supportチャンネルにアクセスして、エラー メッセージを検索してください。


基本設定の終了 これで基本設定

は終了です。テキストから画像を作成し、バッチを実行し、画像をディスクに保存できます。町に行く!

----------------------------------------------------

高度な拡散設定


上記の基本設定は、DD で画像を生成するための主要なコントロールであり、これらのいくつかのパラメーターを操作するだけで優れた結果を得ることができます。しかし、DDはそれよりもはるかに強力です。基本に慣れたら、残りの設定を参照して、DD で他に何ができるかを確認してください。

拡散とCLIPモデルの設定


この設定グループは、イメージの生成中に DD が使用する拡散モデルと CLIP モデルを決定します。

すべてのモデルで結果が得られるため、最初に基本的なパラメーターを学習することをお勧めします。ただし、モデルごとに特徴やスタイルが異なるため、お好きなように探索してください。

拡散モデル: 選択した拡散モデル。

use_secondary_model: (デフォルト: True)CLIP 評価用の暫定的な拡散イメージをクリーンアップするために、二次的な目的の拡散モデルを使用するオプション。このオプションをオフにすると、DD は通常の (大規模な) 拡散モデルを使用します。セカンダリ モデルを使用する方が高速です。あるユーザーは、レンダリング速度が 50% 向上したと報告しています。ただし、セカンダリ モデルははるかに小さいため、画質とディテールが低下する可能性があります。これを試してみることをお勧めします。

sampling_mode: (ddim | ddim または plms) 2 つの代替拡散ノイズ除去アルゴリズム。ddim はより長く使用されており、より確立され、テストされています。plms は、より少ないステップで良好な拡散結果を約束する、新しく追加された代替方法ですが、十分にテストされておらず、副作用がある可能性があります。この新しい plms モードは#settingsで積極的に研究されていますDD Discordの -and-techniques チャンネル。

timestep_respacing: (デフォルトのまま)これは、そのままにしておかなければならない内部変数です。将来の DD リリースでは、これは直接編集することを意図していないため、ユーザーから隠される可能性があります。

拡散ステップ: (デフォルトのまま)これは、そのままにしておかなければならない内部変数です。将来の DD リリースでは、これは直接編集することを意図していないため、ユーザーから隠される可能性があります。

use_checkpoint: (デフォルト: True)このオプションは、イメージの生成中に VRAM を節約するのに役立ちます。非常に強力なマシン (A100 など) を使用している場合は、このオプションをオフにして速度を上げることができる場合があります。ただし、すぐに CUDA OOM エラーが発生する可能性もあるため、注意してください。

CLIP モデル セレクター:
ViTB32、ViTB16、ViTL14、RN101、RN50、RN50x4、RN50x16、RN50x64
これらのさまざまな CLIP モデルは、画像生成中に使用できます。モデルにはさまざまなスタイルや「フレーバー」があるので、見て回ってください。

さまざまな結果を得るために、複数のモデルを混在させることもできます。ただし、一部のモデルは非常にメモリを消費するため、追加のモデルをオンにすると追加のメモリが必要になり、クラッシュが発生する可能性があることに注意してください。

速度/メモリ使用量の大まかな順序は (最小/最速から最大/低速):

  • VitB32

  • RN50

  • RN101

  • ビタミンB16

  • RN50×4

  • RN50×16

  • RN50x64

  • ViTL14

RN50x64 と ViTL14 の場合、VRAM によってはカット数を減らす必要がある場合があります。

注: このセクションで Diffusion と CLIP モデルの設定を変更した場合は、Colabを再起動し、すべてのセルを再度実行して、必要なライブラリが正しく読み込まれるようにする必要があります。

追加設定 - 保存:


middle_saves: 最終的な画像に加えて、DD は拡散曲線の途中から中間画像を保存できます。これは、画像の問題を診断する場合や、拡散プロセス自体のタイムラインまたはビデオを作成する場合に役立ちます。これを使用する手順については、ノートブックを参照してください。

Intermediates_in_subfolder: (デフォルト: True)中間画像を保存する場合、このオプションは「
partials」SuperRes Sharpening という名前のサブフォルダーに中間画像を保存します (v5.1 以前のみ):

画像の仕上がりは気に入っているが、完成したときにまだ少しだらしないと感じる場合、DD には「SuperRes Sharpening」の仕上げステップを実行するオプション機能があります。選択した場合、SuperRes Sharpening は画像を縮小し、エッジをシャープにし、ギザギザやノイズの多い部分を滑らかにする AI アップスケーリング方法 [Latent Diffusion] を使用して画像を再拡大します。

Sharpen_preset: シャープ化をオフのままにするか、シャープ化オプションを選択します

keep_unsharp: 選択すると、シャープ化されていない画像とシャープ化された画像が保持されます。

詳細設定 - パーリン ノイズ:

perlin_init: 通常、DD はランダム ノイズで満たされた画像を拡散曲線の開始点として使用します。perlin_init が選択されている場合、DD は代わりにパーリン ノイズ モデルを初期状態として使用します。Perlin には、ランダム ノイズとは異なる非常に興味深い特性があるため、プロジェクトでこれを試してみる価値があります。もちろん、perlin を超えて、(GIMP などを使用して) 独自のノイズ イメージを生成し、それらを init_image として使用できます (手順をスキップする必要はありません)。

perlin_init を選択しても、実際の拡散プロセスには影響しません。拡散の開始点にすぎません。 perlin_initを選択すると、すべてが置き換えられて上書きされることに

注意してください。init_image を指定した可能性があります。さらに、2D、3D、およびビデオ アニメーション システムはすべて init_image システムに依存しているため、アニメーション モードの使用中に Perlin を有効にすると、perlin_init は以前の画像またはビデオ入力の前にジャンプし、DD は期待されるシーケンスを提供しません。一貫したイメージの。

とはいえ、Perlin とアニメーション モードを一緒に使用すると、創造的に使用できる非常にカラフルな虹の効果が得られます。

perlin_mode: パーリン ノイズのタイプを設定します: カラー、グレー、または両方の混合。ノイズ タイプの追加オプションを提供します。これらがあなたのプロジェクトで何をするか実験してみてください。

その他の追加設定


set_seed: (“random_seed”|任意の整数)拡散コードの奥深くに、拡散の初期状態を決定するための基礎として使用される乱数「シード」があります。デフォルトではランダムですが、独自のシードを指定することもできます。これは、特定の結果が気に入っていて、同様の反復をさらに実行したい場合に便利です。

各実行後、使用された実際のシード値がパラメーター レポートに報告され、必要に応じてシード番号をここに入力して再利用できます。特定の数値シードを繰り返し使用すると、結果の画像は非常に似ていますが、同一ではありません。

注: set_seed を介してシード値を設定すると、バッチまたはアニメーションの最初の画像のシードのみが設定されます。後続のシードは引き続きランダム化されます。

イータ:(0.5|0-1.0) eta (ギリシャ文字 η) は拡散モデル変数で、ランダムな量のスケーリングされたノイズを各時間ステップに混合します。0 はノイズなし、1.0 はノイズが多いことを示します。ほとんどの DD パラメーターと同様に、eta をゼロ未満にすることはできますが、予測できない結果になる可能性があります。

steps パラメーターは、eta パラメーターと密接な関係にあります。eta を 0 に設定すると、わずか 50 ~ 75 ステップで適切な出力を得ることができます。eta を 1.0 に設定すると、ステップ数が多くなり、理想的には約 250 以上になります。eta は画像に対して微妙で予測不可能な影響を与えるため、これがプロジェクトにどのように影響するかを実験して確認する必要があります。

Clamp_grad (True|True または False)- 私が理解しているように、clamp_grad は、DD が極端な結果を生成するのを防ぐ内部リミッターです。画像をclamp_gradの有無にかかわらず試してみてください。クランプ グラッドをオフにしてイメージが大幅に変化する場合は、おそらく、clip_guidance_scale が高すぎるため、減らす必要があることを意味します。

クランプ_最大: (0.05|0-0.30)クランプ_勾配制限の値を設定します。デフォルトは 0.05 で、画像の色合いがより滑らかで抑えられていますが、より高い値 (0.15 ~ 0.3) を設定すると、興味深いコントラストと鮮やかさが得られます。

fuzzy_prompt: (False|True または False)複数のノイジー プロンプトをプロンプト ロスに追加するかどうかを制御します。True の場合、画像出力の変動性を高めることができます。これを試してみてください。

rand_mag: (1.0|0-1.0)fuzzy_prompt のみに影響します。fuzzy_prompt によって追加されるランダム ノイズの大きさを制御します。

追加設定 - カットスケジュール


注: cutn_scheduling のデフォルト値はほとんどの画像に適しています。カット スケジュールの調整は慎重に行う必要があります。

このセクションでは、処理中に画像を評価するために CLIP が使用する CLIP の「カット」またはスナップショットのスケジュールを決定します。DD には 2 種類のカットがあります。画像全体のスナップショットを取得し、それをプロンプトに対して評価するオーバービュー カットと、画像の内部から切り取った小さな画像であり、細部の調整に役立つインナー カットです。内側のカットのサイズは、cut_ic_pow パラメータを使用して調整できます。

伐採スケジュールは、拡散曲線の各段階でどのタイプの伐採を行うかを決定します。デフォルト設定では、粗い構造 (オーバービュー カット) を拡散曲線の早い段階で強調し、より細かいディテール (内側のカット) を後で強調することができます。

DD のデフォルトのカット スケジュールは、ほとんどの目的で問題ありませんが、全体的な画像の一貫性と細部の明瞭さの強調を変更するために調整することをお勧めします。

カット スケジュールは、skip_steps のより細かい代替としても使用できます。拡散曲線の一部に対してカット スケジュールを低い値またはゼロの値に設定することで、拡散曲線の任意の部分を効果的にスキップできます。

任意の時点でのカットの総数 (オーバービュー カットと内部カットの合計) は、カット スケジュールによって制御されます。カットの総数はメモリ使用量の主要な要因であることに注意してください。そのため、全体のカット数を必ず管理してください。スケジュールされたカットは、基本設定で設定された cut_batches 変数でさらに乗算できます。

cutn_schedule の設定は、標準化された 1000 単位のタイムラインに基づいていますが、実際のカットは、設定した実際のステップ数に比例して割り当てられます。したがって、プロジェクトで使用する予定の実際のステップに関係なく、cutn_schedule は常に 1000 単位に基づいて作成する必要があります。

また、cutn_schedule は合計ステップ値にリンクされていることに注意してください。したがって、skip_steps または frames_skip_steps を使用する場合は、スケジュールされたカットの一部もスキップすることになることに注意してください。

cut_overview: オーバービュー カット

のスケジュール cut_innercut: インナー カットのスケジュール

cut_ic_pow: (1.0|0.5-100)インナー カットに使用されるボーダーのサイズを設定します。cut_ic_pow の値が高いと境界が大きくなるため、カット自体が小さくなり、より細かいディテールが得られます。内側のカットが多すぎたり小さすぎたりすると、全体的な画像の一貫性が失われたり、望ましくない「モザイク」効果が発生したりする可能性があります。cut_ic_pow の値を低くすると、内側のカットを大きくすることができ、画像の一貫性が向上すると同時に、詳細が改善されます。

cut_icgray_p: 全体的なカット スケジュールに加えて、カットの一部をカラーではなくグレースケールに設定できます。これは、特に画像構造が定義されている初期の拡散ステップで、形状とエッジの定義を改善するのに役立ちます。cut_icgray_p は、オーバービューとインナー カットに影響します。

ほとんどの初心者ユーザーは、cutn_scheduling を調整する必要がないため、他のコントロールに慣れるまで、この設定をそのままにしておくことをお勧めします。

----------------------------------------------

アニメーション


ここまでの設定はすべて静止画の作成に関するものでした。DD には、CLIP 拡散イメージのアニメーション シーケンスを作成できるアニメーション システムもいくつかあります。アニメーション システムのフレームは、上記のすべての同じ設定を使用して作成されるため、静止画を作成する練習は、アニメーション イメージにも役立ちます。

2D、3D、およびビデオの 3 つの異なるアニメーション システムがあります。すべてのアニメーション モードは、DD のイメージ初期化機能を利用し、以前に作成されたフレーム (2D/3D) または別のビデオ (ビデオ) からのフレームのいずれかを使用します。この開始イメージは、イメージ初期化として拡散プロセスに挿入されます。拡散は正常に実行されます。

アニメーション モードのいずれかを使用する場合、フレーム間の時間的な一貫性は重要な考慮事項であるため、画像初期化の強度、テキスト プロンプトおよびその他のガイダンスの強度、拡散曲線のどの部分を使用するかについてバランスを取る必要があります。イメージの初期化を変更するために使用します。

アニメーション システムには「キーフレーム」も用意されているため、アニメーションのさまざまなフレームでカメラの位置と位置を変更でき、DD は方向を変更します。アニメーションの途中でテキスト プロンプトを更新することもできます。DD は画像を新しいプロンプトに向けてモーフィングし始め、優れたストーリーテリング パワーを実現します。

Animation_mode: なし、2D、3D、またはビデオ アニメーション オプション。以下の各セクションの詳細。

  • None : アニメーション モードはオフです。画像とバッチ設定を使用して、個々の画像のバッチが作成されます。

  • 2D アニメーションは、各フレームを平面として取り、パラメーターに従って変換 (回転、スケーリング、X または Y の移動) します。次に、その変換された画像をアニメーションの次のフレームの画像初期化として使用します。

  • 3D アニメーションは各フレームを取得し、フレームの推定 3D 深度マップと推定仮想 3D 空間を計算します。次に、この 3D 空間を使用して、この仮想空間を通して仮想カメラを移動し、深度マップと新しい「カメラ」位置を使用して画像を変換/ワープします。結果のゆがんだ画像は、次のアニメーション フレームの画像初期化として使用されます。

  • ビデオ入力は、ビデオ初期化の各フレームを取得し、一連の DD 出力画像の画像初期化として使用します。


ビデオ入力設定


前述のように、ビデオ入力アニメーション モードは、ユーザー提供のビデオ クリップ (mp4) から個々のフレームを取得し、それらを init_images として順次使用して拡散イメージを作成します。

video_init_path: (動画のみ) アニメーションの画像入力のソースとして使用される、ユーザー提供の動画のソース パス。ビデオ初期化を使用するには、ビデオを Colab インスタンスまたは Google ドライブにアップロードし、完全なソース パスを入力します。一般的なパスは /content/video_name.mp4 です。 お使いのバージョンの DD に video_init_path という名前のフィールドが 2 つある場合は、両方に同じ値を入力してください。

extract_nth_frame: (ビデオのみ) (2|1-6)を指定すると、ビデオの n フレームごとに抽出できます。24 fps のビデオがあり、1 秒あたり 12 フレームの DD 画像のみをレンダリングしたい場合は、extract_nth_frame を 2 に設定します。

video_init_seed_continuity: (ビデオのみ) (オン|オフ/オン)ビデオのすべてのフレームに同じイメージ作成シードを再利用することで、ビデオ アニメーションの滑らかさとフレームの連続性を向上させます。これを選択解除すると、より無秩序でランダム化されたテクスチャのビデオになります。

上記のビデオ入力モードの設定は、アニメーション フレームから最終的な出力ビデオを作成することとは関係ありません。最終的なビデオを作成して保存するための設定については、以下の「ビデオを作成する」セクションで説明します。

2D および 3D アニメーション モードの設定

key_frames: キーフレーム システムをオンにして、時間の経過とともに 2D および 3D アニメーション パラメータを変更できるようにします。キーフレームのサンプル構文は、ノートブックに記載されています。また、キーフレームをテキストまたはイメージ プロンプトに適用することもできます - ノートブックで提供されている構文例を参照してください - 進化するテキスト プロンプトを使用して、アニメーションの長さにわたってイメージをガイドできます。

max_frames: 2D または 3D アニメーションで作成される合計フレーム。DD のすべてのアニメーションは「時間」ではなくフレーム単位で測定されるため、最終的なアニメーションを 1 秒あたりのフレーム数で決定し、フレーム数を自分で計算する必要があります。 注:ビデオ入力モードでは max_frames は無視され、ソース ビデオの長さによって、作成されるアニメーション フレームの総数が決まります。

2D アニメーション設定

2D アニメーション モードでは、DD は前のイメージの CANVAS をシフトしているため、最初は方向が混乱するかもしれません。

angle: (0|-3 to 3) (2D のみ) フレームごとに () 度ずつ画像を回転します。正の角度値はイメージを反時計回りに回転させます (カメラが時計回りに回転するように感じます)。

zoom: (2D のみ) (1.10|0.8 - 1.25)フレームごとに () パーセンテージでイメージをスケーリングします。1.0 のズームは 100% のスケーリングであるため、ズームはありません。zoom 値が 1.0 を超えるとスケールが増加し、画像が拡大されます。1.10 は前方ズームの適切な開始値です。1.0 未満の値はズームアウトします。

translation_x, translation_y (2D モードの場合): (0|-10 から 10) 2D モードでは、平行移動パラメータは画像をシフトしますフレームごとに () ピクセル。

  • X は左/右です。正の translation_x は画像を右にシフトします (カメラが左にシフトしたように感じます)

  • Y は上/下です。正の translation_y は、画像を画面の下に移動します (カメラが上に移動するように感じます)


3D アニメーション設定

3D アニメーション モードでは、前のアニメーション フレームから作成された仮想 3D 空間があり、仮想カメラがその空間を移動することを思い出してください。

(イメージCC BY 4.0 by Joey de Vrieshttps: //learnopengl.com から)

3D 回転は上の図に従い、正の値は矢印の方向に従います。 注: DD 5.1 以降、DD の 3D 回転は度単位で測定されます。以前の DD バージョンではラジアンが使用されていました。

rotation_3d_x: (3D のみ) (0|-3 から 3) 度で測定されます。 カメラを x 軸を中心に回転させ、カメラの 3D ビューを上下にシフトします。飛行機のピッチに似ています。正のrotation_3d_xは、カメラを上向きにピッチングします。

rotation_3d_y: (3D のみ) (0|-3 から 3) 度で測定されます。カメラを y 軸を中心に回転させ、カメラの 3D ビューを左右にシフトします。飛行機のヨーイングに似ています。正のrotation_3d_yは、カメラを右にパンします。

rotation_3d_z: (3D のみ) (0|-3 から 3) 度で測定されます。z 軸を中心にカメラを回転させ、カメラの 3D ビューを時計回りまたは反時計回りに回転させます。飛行機のロールに似ています。正の回転_3d_z は、カメラを時計回りに回転させます。

translation_x、translation_y、translation_z (3D モード): (0|-10 to 10) 3D モードでは、移動パラメーターは 2D モードとは異なる動作をします - 仮想 3D 空間でカメラをシフトします。

  • X は左/右です。正の translation_x は、カメラを右にシフトします

  • y はアップ/ダウンです。正の translation_y は、カメラを上にシフトします

  • z は前方/後方 (ズーム) です。正の translation_z は、カメラを前方にシフトします

3D モードでの平行移動 (x、y、または z) の距離単位は任意のスケールに設定されます。ここで、translate_z を介して前方にズームするには 10 単位が妥当な距離です。シーンとスケールに応じて、目標を達成するためにさまざまな変換値を試す必要があります。

fov: (3D のみ) (40|20 - 120)は、3D 変換の仮想カメラの視野を調整します。この設定を試して、結果を共有してください! 数値を小さくすると劇的な 3D 効果が得られ、極端なクローズアップ イメージに役立ちます。数値を大きくすると 3D 効果が減少し、風景や大きなシーンに役立ちます。

midas_depth_model: (3D のみ) dpt_large のままにします。

midas_weight: (3D のみ) MIDAS と adabin の 3D 深度マップ ミックス。0.3 のままにします。

near_plane: (3D のみ) 3D ビュー フラスタムのニア クリッピング プレーンまでの距離。この距離は、上記の translation_x/y/z と同じ単位では測定されません。この値は 200 のままにします

。 far_plane: (3D のみ) 3D ビュー錐台のファー クリッピング プレーンまでの距離。この距離は、上記の translation_x/y/z と同じ単位では測定されません。この値は 10000 のままにします。

padding_mode: (3D のみ) 画像の端での畳み込み動作を決定します。'border' のままにします

sampling_mode: (3D のみ) 3D ワーピング用に画像をリサンプリングするときの畳み込み動作を決定します。「バイキュービック」のままにします。

ターボ モードの設定 (DD5.1 以降、3D アニメーションのみ)


Turbo は、3D アニメーション システムのオプションの変更であり、よりスムーズな 3D アニメーションを提供するように設計されています。ターボ モードは、一部のフレームの拡散ステップをスキップし、3D ワーピングを使用してフレーム間を補間することにより、ちらつきを減らします。ターボは上記の画像作成設定には影響しないため、通常の画像設定を使用できます。ターボも 3D アニメーション モードでのみ使用でき、他のアニメーション モードでは無視されます。

turbo_mode:(3D のみ) ターボ モードのオン/オフを切り替えます。ターボ モードでは、拡散画像の生成は断続的にのみ行われ、前の拡散画像の 3D ワープ バージョンが中間フレームに使用されます。これにより、フレームの連続性が向上し、レンダリングが高速化されます。

Turbo_steps:(3D のみ) (3|2-6)ターボ モードでは、各拡散フレーム間のステップ数。ターボは 3D アニメーション変換を使用して不足している画像を外挿しているため、画像がゆがんで見えるようになる前に、turbo_steps の 3 または 4 が妥当な制限です。アニメーションの動きが遅い場合は、turbo_step の値を高くすることができます。

Turbo_preroll:(3D のみ) (10|1-10) turbo_preroll は、Turbo 機能が開始する前のフレームのカウントダウンです。Turbo はいくつかの拡散ステップを「スキップ」するため、画像の形状と色を確立するために、事前に定期的なフレームの安定したシーケンスを用意しておくと便利です。

Turbo_blend:チェックしたままにします。これは非推奨のパラメーターであり、将来のバージョンでは削除される予定です。

アニメーション コヒーレンス設定


アニメーションに説得力を持たせるには、フレーム間でフォーム、色、モーションに一貫性がなければなりません。これらの変数は、アニメーションの前方への動きと前のフレームからの視覚的な連続性との間のバランスをとるのに役立ちます。

frames_scale: (1500|0-50000) 2D および 3D モードでは、前のフレームが各フレームのイメージ初期化として使用されます。これらすべてについて、frames_scale は、新しいフレームを作成する際の前のフレームの画像の強度を決定します。これは、clip_guidance_scale の重みと、通常は次のフレームの作成に寄与する他のすべての設定に対してバランスが取れています。

覚えておくべきことの 1 つは、frames_scale からの重みに加えて、前のフレームの画像も現在のフレーム作成の画像初期化として使用されているということです。最近のいくつかの実験では、低フレーム スケール (つまり 1000 以下) を使用すると、長い 3D アニメーションでのカラー クリッピングを軽減できる可能性があることが示唆されています。

ビデオ入力アニメーション モードでは、frames_scale は、新しいフレームを作成する際のビデオ ソース イメージの強度を決定し、テキスト プロンプトの重みやその他の設定とのバランスを取ります。

frames_skip_steps: (60%|40%-80%)2D、3D、およびビデオ アニメーション モードでは、frames_skip_steps は、イメージを初期化として使用する場合に上記の skip_steps と同様の役割を果たします。アニメーションの各フレームで、拡散曲線の ()% がスキップされ、ソース イメージが開始点として使用され、拡散が続行されます。50 ~ 70% は、前のフレームの画像が次のフレームの作成で目立つようにするための適切な値です。

VR モード設定 (DD 5.2 以降、3D アニメのみ)

バージョン 5.2 の新機能である VR モードを使用すると、VR 表示用のステレオ左/右ビデオを作成できます。これはまったく新しい機能です。詳細についてはノートブックを参照するか、DD Discord で質問してください。

vr_mode: (off|on/off) VR モードをオン/オフします。

vr_eye_angle: (0.5|0-1.0) (度単位) 目が内側を向いている場合の、真正面からの y 軸の回転角度オフセット。0.0 は真っ直ぐ前ですが、通常、私たちの目は非常にわずかに内側を向いています。


vr_ipd: (5.0|1-20)瞳孔間距離、つまり目の間隔。x_translation と同じ単位を使用します。ipd は目が離れている TOTAL 距離なので、各方向で半分になります。

VRモード モジュール作成者からの注意事項Nin: デフォルトのパラメーターは、まともな出力を取得するようです。深度推定から推測されるスケールは、シーンごとに異なる場合があることに注意してください。そのため、ipd を微調整する必要が生じる可能性があります。

一般的には、1 つまたは 2 つのフレームをレンダリングし、VR180 クリエーター ツールを使用してイメージ テストを行うことをお勧めします (ビデオだけでなくイメージも実行できます)。

これをヘッドセットにロードして、ステレオ効果が小さすぎるか大きすぎるかを感じてください。残念ながら、スケールはシ​​ーンによって変わるため、現時点では (深度出力に基づいてさらに推論が行われるまで)、アニメーションのさまざまな部分で ipd を手動で変更する必要があるかもしれません。

また、出力は可能な限り高解像度である必要があります。たとえば、Oculus は、私たちのほとんどが DD でレンダリングしているものと比較して、クレイジーな高解像度を好みます。おそらく、出力をアップスケールする必要があります。

ここにQuest 2の興味深いガイドがあります(3D-180、片目あたり2560x2560、60fps H264 H265のピーク品質5120x2560に注意してください:高解像度のエンコード.. Oculus Questのビデオ この記事では、4096水平ピクセルのMP4の制限についても説明していますただし、垂直方向に高くなる可能性があるため、Creator Tool を使用してステッチするときは、垂直方向 (上/下) に積み重ねてください。

ビデオを作成する


アニメーション用の一連の画像を作成した後、DD は必要に応じてシーケンスに基づいて mp4 ビデオを作成できます。これはバッチ フォルダーに配置されます。または、個々のフレームだけをダウンロードして、DD の外部でさらに処理を行うこともできます。次の設定は、出力ビデオの作成を制御します。

skip_video_for_run_all: (デフォルト: True)最終的なビデオの作成はオプションであり、時間がかかるため、デフォルトでは、すべて実行コマンドを使用しても DD はビデオを作成しません。

folder: (“batch_name”|任意のパス) DD はデフォルトで、上で定義したバッチ フォルダーを検索して画像を作成し、ビデオを作成します。別のフォルダを選択できます。

実行: (「latest_run」|別の実行番号)DD はデフォルトで、画像のバッチ フォルダー内の最新の実行を使用してビデオを作成します。実行には番号が付けられているため、実行番号の範囲内の整数を使用して別の実行を選択できます。

init_frame: (1|任意のフレーム番号) DD はデフォルトで、ランで最初に見つかった画像を使用してビデオを開始します。ここで別のフレーム番号を使用して、後でビデオを開始できます。

last_frame: (“final_frame”|任意のフレーム番号) DD はデフォルトで、実行中に見つかった最後の画像でビデオを終了します。ここで別のフレーム番号を使用すると、ビデオを早く終了できます。

fps: (12|12-60)出力ビデオの 1 秒あたりのフレーム数。

出力の取得

DD は、画像と動画を Google ドライブの
\My Drive\AI\Disco_Diffusion\images_out\batch_name に保存します。
2 番目のウィンドウでこのディレクトリを参照して進行状況を監視し、プロジェクトが完了したらフォルダー全体をダウンロードできます。

——————
以上です!
さあ、素晴らしいものを作りに行きましょう。-Z
---------------


資力

ディスコ拡散ノート https://colab.research.google.com/github/alembics/disco-diffusion/blob/main/Disco_Diffusion.ipynb

Google Colab サービス
https://colab.research.google.com/

Disco Diffusion User Discord (これに参加しよう!)
Disco Diffusion
subreddit Youtube Video by Ari Seff: What are Diffusion Models? 人工画像による
Diffusion 4.1 の Youtube ビデオ チュートリアル書かれた Disco Diffusion v5 チュートリアルpenderis @pharmapsychoticによるAI アート リソースの優れたリスト@remi_durant説明者のツイート/内部カットの仕組みに関する


拡散パラメータ研究:
EZ チャート ビジュアル ライブラリ [NEW!]
@sureailabsによるCutn 研究CLIP/拡散モデル組み合わせ研究@KaliYuga_aiによるCLIP/拡散モデル組み合わせ研究 ( plmsサンプリング) @KaliYuga_aiによる拡散モデル比較 (JAX) @Erblickenによる


アーティスト スタディ アーティスト スタディ規模な
インデックス( @ sureailabs@proximasan@ EErratica @ KyrickYoung )
ディスコディフュージョンアーティストスタディ@HarmeetGabha remi_durant


スタイル研究@sureailabsによる
スタイル修飾子研究

テキスト プロンプト作成リソース
https://docs.google.com/document/d/1XUT2G9LmkZataHFzmuOtRXnuWBfhvXDAo8DkS--8tec/edit
https://matthewmcateer.me/blog/clip-prompt-engineering/

Colab の外で DD を実行しています。あなたがしなければならない場合。:)


いいなと思ったら応援しよう!