ウェブサイト検索

Stable Diffusion を使用して AI GIF とビデオを作成する方法


概要: Stable Diffusion Web UI を使用してアニメーションを作成するには、Inpaint を使用して動かしたいものをマスクし、バリエーションを生成してから、GIF またはビデオ メーカーにインポートします。または、Deforum 拡張機能をインストールして、アニメーションを最初から生成します。

Stable Diffusion は、静止画像以上のものを生成できます。いくつかの組み込みツールと特別な拡張機能を使用すると、非常にクールな AI ビデオを簡単に取得できます。アニメーション GIF または実際のビデオ ファイルのフレームを Stable Diffusion で生成する方法は次のとおりです。

安定した拡散はビデオを生成できますか?

AI で生成されたフィルムはまだ初期の分野ですが、GIF または実際のビデオ ファイルとして、Stable Diffusion を使用していくつかの単純なアニメーションを作成することは技術的に可能です。ただし、制限があります。

img2img を使用すると特定の画像のバリエーションを簡単に生成できるため、Stable Diffusion はアニメーション、特に周期的なフレームの束をすばやく作成するのに適しています。火の炎、車の車輪の回転、噴水の水しぶきなどを想像してみてください。実際の用途としては、一部の RPG アートワークにリアルな雰囲気を与えることができます。

合成画像ではなく、実際の画像に基づいてビデオを作成することもできます。ここでは、水やりをしている植物の写真を撮り、数回クリックするだけで、水の流れをアニメーション化できます。

ポイント A からポイント B に移動するようにオブジェクトをアニメートする場合、それは (少なくとも今のところ) 安定した拡散の難しい注文です。プロンプトと設定の微調整に多くの時間を費やしてから、大量の出力を調べて最適なフレームを見つけ、それらを正しい順序に配置することになるでしょう。その時点で、Adobe Illustrator を分解して、手でアニメーション化を開始することもできます。

それでも、基本的な Stable Diffusion の設定と、アニメーションでフレームをつなぎ合わせる別のツールを使用して、クールでシンプルなアニメーションを作成できます。 Stable Diffusion を使用して非常に興味深い「モーフィング」アニメーションを作成する Deforum というプロジェクトもあります。 MP4 ビデオを吐き出すので、外部ツールは必要なく、オーディオを追加することもできます。両方の方法の基本を紹介します。

Inpaint を使用して画像をアニメーション化する

img2img ツール Inpaint を使用すると、アニメーション化する画像の部分を強調表示し、そのバリエーションをいくつか生成できます。次に、それらを GIF またはビデオ メーカーにドロップし、フレームをアニメーションとして保存します。

ステップ 1: 画像とそのプロンプトを取得する

まず、アニメーション化したい画像を img2img ツールの Inpaint タブにドロップします。まだ生成されていない場合は、良いスターター写真が得られるように、時間をかけて適切なプロンプトを作成してください。自分で撮影したり描いたりした画像をインポートすることもできます。

Stable Diffusion で生成していない画像をインポートする場合でも、バリエーションを生成するための適切なプロンプトが必要になるため、Img2Img ページの上部にある [Interrogate CLIP] をクリックします。これにより、Stable Diffusion がイメージに含まれていると考えることに基づいて、スターター プロンプトが生成されます。その他の重要な詳細を追加して、プロンプトを完了します。

私たちのガイドのために、夜空の下でロボットの 512 x 512 の画像を生成しました。流れ星や銀河が通過するタイムラプスのようなアニメーションを提供したいと考えています。

正確にフォローしたい場合は、使用したプロンプトで再作成できます。

a robot stands in a field looking up at the night sky during a meteor shower, shooting stars, galaxies, the cosmos, milky way, ultra realistic, highly detailed, 4k uhd

使用した設定は次のとおりです。

チェックポイント: 安定拡散 2.0 サンプリング方法: DPM++ SDE サンプリングステップ: 20 CFG スケール: 5 シード: 4177542269

ステップ 2: InPaint でパーツをマスクしてアニメーション化する

画像とプロンプトを配置したら、インペイント ツールでペイントブラシを使用して、アニメーション化する画像のすべての部分をマスク (覆い隠し) します。静的にしたいものはすべて、覆われていないままにしておきます。

この例では、空のほとんどをカバーしています。私たちのテストでは、ロボットに近づきすぎると、Stable Diffusion がアンテナやその他の付属物をロボットに追加することがあったため、ロボットの周りに少しクッションを残しました。

ステップ 3: フレームを生成する

動きを見せたい画像のすべての部分をマスクしたので、今度はアニメーションのフレームを生成します。ただし、最初に、img2img が適切に設定されていることを確認する必要があります。それらは混乱を招く可能性があるため、それらのいくつかの意味と、それらを微調整したい場合としない場合がある理由を説明します。

  • マスク モード: インペイント マスク – これにより、カバーされているすべてが変更され、その逆ではありません。なんらかの理由で、代わりにマスクされていない部分を変更したい場合は、「Inpaint Not Masked」に変更してください。
  • マスクされたコンテンツ: オリジナル - これにより、Stable Diffusion がバリエーションを生成する際に既存の画像を認識して考慮に入れることが保証されます。それ以外の場合、マスクされたコンテンツは空白またはランダム化されたキャンバスと見なされます。
  • Inpaint Area: Whole Picture – 元の画像と統合する前に、Stable Diffusion がフレームごとにまったく新しい画像を生成するように強制します。 「マスクのみ」に切り替えると、生成が高速化される可能性がありますが、結果が悪化する可能性もあります。
  • サンプリング方法: DPM++ SDE – これは、元の画像を生成するために使用したのと同じサンプリング方法であり、一貫した外観を確保するためにこの方法を採用しています。何を使用すればよいかわからない場合は、「オイラー a」が万能の選択肢です。
  • バッチ数: 60 – これは、生成する画像の数です。アニメーション シーケンスの速度と長さに応じて、必要な量が増減する場合があります。
  • CFG スケール: 5 – CFG スケールは、ある意味で、Stable Diffusion のクリエイティブの自由度を決定します。数値が高いほど、Stable Diffusion はプロンプトに従おうとします。それを増やして良い結果を得るには、非常に優れたプロンプトが必要です。
  • ノイズ除去強度: 0.3 – おそらくこのプロジェクトで最も重要な設定です。ノイズ除去スケールは、安定拡散が元の画像をどの程度変更するかを決定します。フレーム間の変更が多すぎるとアニメーションが台無しになる可能性があるため、おそらく 0.2 または 0.3 程度に抑えたほうがよいでしょう。
  • シード: -1 – これは、ランダム シードで開始するように安定拡散に指示します。元の画像のシードを再利用することはお勧めしません。これにより、得られるバリエーションの量が減少するためです (仮にあったとしても)。

すべての設定が整ったら、[生成] をクリックして、Stable Diffusion がアニメーション フレームを描画するまで座ってください。これらは、Stable Diffusion ディレクトリの /outputs/img2img-images フォルダーにあります。結果が気に入らない場合は、設定を微調整して (おそらく、ノイズ除去の強度とサンプリング ステップから始めます)、もう一度試してください。

ステップ 4: フレームの一括アップスケール (オプション)

高解像度ビデオを作成する予定がある場合は、新しく生成されたすべてのフレームを必要な解像度にアップスケールすることを忘れないでください。 「エクストラに送信」をクリックして開始します。

Extras 内で、[Batch Process] タブに切り替えます。

「サイズ変更」スケールをサイズ変更したい回数に調整します (2 に設定すると、512×512 画像が 1024×1024 画像に変更されます)。または、「倍率」から「倍率」に切り替えて、特定の解像度を設定します。また、「Upscaler 1」を任意のアップスケーラーに設定します。 R-ESRGAN 4x+ で十分な結果が得られましたが、自由に実験して、どれが最も画像を処理できるかを確認してください。

次に「Generate」をクリックすると、Stable Diffusion によって各フレームの高解像度バージョンが提供され、/outputs/extras フォルダーに保存されます。

ステップ 5: GIF またはビデオ メーカーでフレームをアニメーション化する

フレームができたので、それらをすべてつなぎ合わせて最終的なアニメーションを作成します。 Ezgif や flixier などの無料の専用 Web サイトなど、使いやすく微調整のコントロールが豊富なツールが多数あります。ただし、これらの Web サイトはあなたがアップロードしたものすべてを見ることができることを忘れないでください。

これらの Web サイトは一目瞭然ですが、無料のオフライン写真編集ツール GIMP を使用して GIF を作成する方法をデモンストレーションします。ビデオ ファイルが必要な場合は、代わりに Kdenlive または同様のビデオ エディターを使用してください。必要な 1 秒あたりのフレーム数に応じて、すべてのフレームが 1 秒以下のクリップとしてインポートされるように、設定を微調整してください。

まず、GIMP をダウンロードし、まだインストールしていない場合はコンピューターにインストールします。それを起動し、[ファイル] > [レイヤーとして開く] に移動します。

生成したフレームの場所を見つけて、[開く] をクリックする前にすべてを一度に選択します。 (複数のファイルをすばやく選択するには、Shift キーを押したままにします。) GIMP は、すべての画像を 1 つのキャンバスに別のレイヤーとしてインポートします。これが必要なのは、GIMP の GIF 生成の仕組みが、すべてのレイヤーを下から上に見ていき、連続する各レイヤーをアニメーションの次のフレームとして扱うためです。

今が楽しい部分です。 GIF のプレビューを見るには、[フィルター] > [アニメーション] > [再生] に移動します。

スペースバーを押して、GIF を再生および一時停止します。フレームが速すぎたり遅すぎたりする場合は、再生ダイアログの下部にある FPS を調整し、上部にある更新ボタンをクリックして、新しいフレーム レートでプレビューをリロードします。

アニメーションが気に入ったら、GIF ファイルを生成します。プレビューを閉じて、[ファイル] > [エクスポート] をクリックします。ファイルの保存名を入力するときは、拡張子 .gif を末尾に追加して、GIF が必要であることを GIMP が認識できるようにします。

表示される GIF エクスポート ダイアログ ボックスで、[アニメーションとして] ボックスがオンになっていることを確認します。別のフレーム レートが必要な場合は、フレーム間のミリ秒数も調整します。 1 秒は 1000 ミリ秒なので、100 で 10 FPS 程度になります。最後に「エクスポート」をクリックします。

ブーム、完全なアニメーション GIF ができました。

Deforum を使用してビデオを生成する

Stable Diffusion でより興味深いアニメーションを作成し、作業用のフレームの集まりではなくビデオ ファイルを出力する場合は、Deforum を使用します。これは、Stable Diffusion Web UI で使用できる拡張機能を備えた画像合成プロジェクトであり、オーディオを含む MP4 ビデオ ファイルを監督および生成できます。これは非常に強力で複雑なツールで、カメラのパンとズーム、複数のプロンプト、ビデオのインポートなど、さまざまな設定を試すことができます。

ここでは、非常に単純だが興味深いアニメーションを生成するための基本を紹介します。

ステップ 1: Deforum 拡張機能をインストールする

Deforum 拡張機能を取得するには、コマンド プロンプトを開き、ディレクトリを stable-diffusion-web-ui フォルダに変更します。次に、この git clone コマンドを使用して、Deforum を拡張機能フォルダーにインストールします。

git clone https://github.com/deforum-art/deforum-for-automatic1111-webui extensions/deforum

Stable Diffusion Web UI を通常どおり起動し、インターフェイスにある Deforum タブを開きます。

ステップ 2: プロンプトを作成する

Stable Diffusion を使用して個々のプロンプトを作成することに慣れているかもしれませんが、Deforum を使用すると、「スケジュールされた」複数 のプロンプトを作成できます。つまり、選択したアニメーションのどの時点でも、スケジュールの次のプロンプト。

「プロンプト」タブをクリックし、ブラケットとタブ構造を維持したまま、既存のプロンプトを任意のものに変更します。この例では、次の一連のプロンプトを使用します。

{
    "0": "a robot stands under the night sky during a meteor shower, shooting stars, galaxies, the cosmos, milky way, ultra realistic, highly detailed, 4k uhd",
    "40": "a space station flies through space during a meteor shower, ultra realistic, highly detailed",
    "80": "a supernova explodes, vibrant colors, ultra realistic, highly detailed"
}

では、これらの数字は何を意味するのでしょうか。デフォルトでは、Deforum はアニメーション用に 120 フレームを生成し、そのフレームのセットを 3 つの部分に分割しています。 0 は最初のフレームを意味するため、それ以降のすべてのフレームは最初のプロンプトの im2img バリエーションになります。次に、フレーム 40 で、Stable Diffusion が 2 番目のプロンプトに基づいてバリエーションを作成し始めます。 80 で 3 番目に切り替わります。プロンプトの変更を必要な数だけ追加し、必要に応じて [キーフレーム] タブで最大フレーム制限を調整できます。

ステップ 3: Deforum 設定を調整する

Deforum には多くの設定が含まれていることにお気づきかもしれませんが、最初にいくつかの設定について説明します。まず、「Run」タブには、典型的な Stable Diffusion 設定の多くが表示されます。バッチの名前を変更し、開始するシードを入力し (ロボット用に再利用しています)、サンプラーを必要なものに変更します。

[キーフレーム] タブでは、アニメーションの「カメラ」の動きを調整できます。デフォルトでは一定間隔でズームするように設定されていますが、垂直方向の「パン」の動きを追加したいので、0:(-2), 100:(4) を「Translation Y」に追加します。 フレーム。これにより Deforum は、最初のフレームを Y 軸のピクセル -2 にあるものとして扱い、フレーム 100 までにピクセル 4 に移動します。これにより、アニメーションが進行するにつれて上向きにわずかにパンします。

[出力] タブで、MPEG ビデオ ファイルに加えて GIF ファイルを作成する [GIF を作成] ボックスをオンにします。これは、「サウンドトラックの追加」と「サウンドトラックのパス」設定がある場合は、オーディオを追加する場所でもあります。

ステップ 4: ビデオを生成する

最後に、その大きな「生成」ボタンを押します。 Deforum は多くのフレームを作成してステッチしているため、時間がかかるため、待っている間にコーヒーを飲みます。完了すると、/outputs/img2img-images ディレクトリのバッチ名の下に、MPEG ファイル、GIF バージョン、および個々のフレームと使用した設定の読み出しが見つかります。

これが私たちのプロンプトが私たちにもたらしたものです:

夏の大ヒット作ではありませんが、それでも魅力的です!公式の Deforum クイック スタート ガイドをチェックして、調整可能な他のすべてのノブとダイヤルについて学習してください。

他のクールな AI プロジェクトを探している場合は、Stable Diffusion を使用して Minecraft テクスチャ パックを生成する方法を学習するか、ChatGPT を使い始めて、ChatGPT でできる驚くべきことを学んでください。