安定した映像拡散

によって 安定した映像拡散

ドラッグ&ドロップまたはローカル画像をアップロードして、必要な画像を追加してください。モデルは迅速に処理されます、

イメージ21
イメージ20

下の生成ボタンをクリックしてください。A100のビデオメモリで動作しているため、ここから生成を開始します。もっと時間がかかります。生成後、最短177秒で画像からビデオへの効果が現れます。

イメージ22
イメージ22 1

安定した映像拡散 は安定した ビデオ 高解像度で最先端のテキストから動画、画像から動画生成のための拡散モデル。最近、2次元画像合成のための潜在拡散モデルが、時間レイヤーを挿入し、小規模で高品質なビデオデータセット上で微調整することにより、生成的ビデオモデルに変換された。しかし、文献にある学習方法は非常に多様であり、ビデオデータに対する統一的な戦略について、この分野はまだ合意していない。本論文では、動画LDM(Latent Diffusion Model)の学習を成功させるための3つの段階、すなわち、テキストから画像への事前学習、動画の事前学習、高品質動画の微調整を特定し、評価する。

これは 安定したビデオ 拡散モデルは、高品質な動画を生成するための新しい手法を提供する。テキストや画像を入力とし、入力内容に関連したリアルな映像を生成する。このモデルは、映画制作、バーチャルリアリティ、ゲーム開発など、幅広い分野での応用が期待される。

安定した動画拡散に関する研究は、動画生成技術を向上させるために極めて重要である。この研究は、生成されるビデオの品質と忠実度を高めるために、ビデオ生成モデルのトレーニング方法とデータ戦略をさらに探求するための枠組みを研究者に提供する。

安定性AIAIドローイング企業として有名な株式会社エヌ・ティ・ティ・ドコモが、ついにAI生成ビデオ業界に参入した。

イメージ18

今週の火曜日、 安定した映像拡散安定拡散(Stable Diffusion)に基づくビデオ生成モデル「Steve Diffusion」が発表され、AIコミュニティではすぐに議論が始まった。

安定したビデオ拡散画像-ビデオ・モデル・カード

安定した映像拡散(SVD) 画像からビデオへ は、静止画を条件フレームとして取り込み、そこから動画を生成する拡散モデルである。

640
640 1
640 2

(SVD)Image-to-Videoは、画像条件付けから短いビデオクリップを生成するように訓練された潜在拡散モデルである。このモデルは、解像度576×1024の25フレームを生成するように訓練された。 SVDイメージ・トゥ・ビデオ[14フレーム].また、広く使われている f8デコーダー 時間的整合性のため。便宜上、標準的なフレーム単位のデコーダーを備えたモデルを追加する。 これ.

  • 開発者 安定性AI
  • 資金提供者 安定性AI
  • モデルタイプ 生成画像-動画モデル
  • モデルから微調整: SVDイメージ・トゥ・ビデオ[14フレーム]

調査目的には、以下をお勧めします。 生成モデル Githubリポジトリ(https://github.com/Stability-AI/generative-models)は、最も一般的な拡散フレームワーク(訓練と推論の両方)を実装している。

上のグラフは、SVD-Image-to-Videoに対するユーザーの嗜好を評価したものである。 GEN-2 そして ピカラボ.SVD-Image-to-Videoは、ビデオの品質という点で、人間の投票者に好まれている。ユーザー調査の詳細については 研究論文

このモデルはあくまで研究用である。想定される研究分野と課題

  • 生成モデルの研究。
  • 有害なコンテンツを生成する可能性のあるモデルの安全な展開。
  • 生成モデルの限界と偏りを探り、理解する。
  • アート作品の制作と、デザインやその他の芸術的プロセスでの使用。
  • 教育やクリエイティブなツールへの応用。

除外される用途は以下の通り。

このモデルは、人物や出来事の事実または真実の表現となるように訓練されていないため、そのようなコンテンツを生成するためにモデルを使用することは、このモデルの能力の範囲外です。このモデルは、Stability AIの以下の方針に反する方法で使用されるべきではありません。 利用規定.

  • 生成された動画はかなり短く(4秒未満)、モデルは完全なフォトリアリズムを達成していない。
  • このモデルは、動きのない動画を生成したり、非常にゆっくりとしたカメラのパンを生成したりする。
  • モデルをテキストでコントロールすることはできない。
  • 読みやすい文字が表示されない。
  • 顔や人物全般が正しく生成されないことがある。
  • モデルの自動エンコード部分はロッシーである。

このモデルはあくまでも研究用である。

チェックアウト https://github.com/Stability-AI/generative-models

イメージ18

安定性AIによる生成モデル

サンプル1

2023年11月21日

  • 我々は、研究目的で、画像から動画へのモデルであるStable Video Diffusionをリリースしている:
    • 副ボリューム記述子:このモデルは、同じサイズのコンテキスト・フレームが与えられたときに、解像度576×1024の14フレームを生成するように訓練された。SD2.1の標準的な画像エンコーダを使用するが、デコーダを時間認識可能な デフリックデコーダー.
    • SVD-XT:と同じアーキテクチャ 副ボリューム記述子 しかし、25フレーム生成のために微調整されている。
    • ストリームライト・デモ scripts/demo/video_sampling.py とスタンドアロンのパイソンスクリプト scripts/sampling/simple_video_sample.py 両モデルの推論を行う。
    • このモデルと並行して テクニカルレポート.

2023年7月26日

サンプル2

2023年7月4日

  • SDXLのテクニカルレポートが完成 これ.

2023年6月22日

  • 研究用に2つの新しい普及モデルを発表する:
    • SDXL-base-0.9:ベースモデルは、解像度1024^2の画像を様々なアスペクト比で学習させた。ベースモデルは OpenCLIP-ViT/G そして CLIP-ViT/L 一方、リファイナー・モデルはOpenCLIPモデルのみを使用する。
    • SDXL-refiner-0.9:リファイナーは、高品質なデータの小さなノイズレベルをノイズ除去するために訓練されているため、テキストから画像へのモデルとして機能することは期待されていません。

研究用モデルへのアクセスをご希望の方は、以下のリンクからお申し込みください: SDXL-0.9-ベースモデルそして SDXL-0.9-リファイナー.つまり、2つのリンクのいずれかに申請し、許可されれば両方にアクセスすることができます。あなたの組織のEメールを使ってハギング・フェイスのアカウントにログインし、アクセスを申請してください。 近日中(7月)にフルリリースする予定だ。

一般哲学

モジュール性は王様だ。このレポでは、コンフィグ主導のアプローチを実装している。 Instantiate_from_config() yaml configs で定義されたオブジェクトに適用されます。参照 コンフィグ 多くの例がある。

旧バージョンからの変更点 ldm コードベース

トレーニングには パイ・トーチ・ライトニングしかし、ベースモジュールの周りの他のトレーニングラッパーを使うのは簡単です。核となる拡散モデルクラス(以前は 潜在拡散今 拡散エンジン)は一掃された:

  • もう大規模なサブクラス分けは必要ない!すべての種類の条件付け入力(ベクトル、シーケンス、空間条件付け、およびそれらのすべての組み合わせ)を1つのクラスで扱えるようになりました: ジェネラルコンディショナー参照 sgm/modules/encoders/modules.py.
  • 我々は、ガイダー(分類子を使わないガイダーなど。 sgm/modules/diffusionmodules/guiders.py)からサンプラー(sgm/modules/diffusionmodules/sampling.py)、サンプラーはモデルから独立している。
  • を採用する。 "デノイザー・フレームワーク" 学習と推論の両方に対応した(最も注目すべき変更点は、連続時間モデルを学習するオプションが追加されたことだろう):
    • 離散時間モデル(ノイズ除去)は、連続時間モデル(ノイズ除去)の特殊なケースに過ぎない。 sgm/modules/diffusionmodules/denoiser.py.
    • 拡散損失関数(sgm/modules/diffusionmodules/denoiser_weighting.py)、ネットワークの事前調整(sgm/modules/diffusionmodules/denoiser_scaling.py)、トレーニング中の騒音レベルのサンプリング(sgm/modules/diffusionmodules/sigma_sampling.py).
  • オートエンコードモデルもクリーンアップされた。

1.リポジトリをクローンする

git clone [email protected]:Stability-AI/generative-models.git cd generative-models

2.仮想envのセットアップ

に移動したと仮定しています。 生成モデル ルートにクローンする。

注: このテストは パイソン3.10.他のpythonのバージョンでは、バージョンの衝突に遭遇するかもしれません。

PyTorch 2.0# pypi から必要なパッケージをインストール python3 -m venv .pt2 source .pt2/bin/activate pip3 install -r requirements/pt2.txt

3.インストール sgm

pip3 install .

4.インストール データ トレーニング用

pip3 install -e git+https://github.com/Stability-AI/datapipelines.git@main#egg=sdata

パッケージング

このリポジトリでは、PEP 517 に準拠したパッケージングを使用しています。 ハッチ.

配布可能なホイールをビルドするには ハッチ そして ハッチビルド (具体的には -Tホイール はsdistのビルドをスキップする(これは必要ない)。

pip install hatch
ハッチビルド -t ホイール

ビルドされたパッケージは ディスト/.を使用してホイールを取り付けることができます。 pip install dist/*.whl.

パッケージは ない 使用するケースと PyTorch のバージョンに応じて、必要なパッケージを手動でインストールする必要があります。

を提供する。 ストリームライト テキストから画像へ、画像から画像へのサンプリングのデモ scripts/demo/sampling.py.ファイルハッシュは,ファイル全体だけでなく,ファイルに保存されているテンソルだけのものも提供します ( モデルスペック を参照してください)。現在、以下のモデルがサポートされています:

  • SDXL-base-1.0ファイルハッシュ (sha256):31e35c80fc4829d14f90153f4c74cd59c90b779f6afe05a74cd6120b893f7e5b Tensordata Hash (sha256):0xd7a9105a900fd52748f20725fe52fe52b507fd36bee4fc107b1550a26e6ee1d7
  • SDXL-refiner-1.0ファイルハッシュ (sha256):7440042bbdc8a24813002c09b6b69b64dc90fded4472613437b7f55f9b7d9c5f Tensordata ハッシュ (sha256):0x1a77d21bebc4b4de78c474a90cb74dc0d2217caf4061971dbfa75ad406b75d81
  • SDXL-base-0.9
  • SDXL-refiner-0.9
  • SD-2.1-512
  • SD-2.1-768

SDXL用ウェイト:

SDXL-1.0: SDXL-1.0のウェイトを使用することができます。 CreativeMLオープンRAIL++-M ライセンス)はこちら:

SDXL-0.9: SDXL-0.9のウェイトが入手可能で、以下の条件を満たす。 研究ライセンス.研究のためにこれらのモデルを利用したい場合は、以下のリンクのいずれかを使用して申請してください: SDXL-base-0.9モデルそして SDXL-refiner-0.9.つまり、2つのリンクのいずれかに申請し、許可されれば両方にアクセスすることができます。あなたの組織のEメールを使ってハギング・フェイスのアカウントにログインし、アクセスを申請してください。

重りを手に入れたら、それを チェックポイント.次に

streamlit run scripts/demo/sampling.py --server.port .

このコードで生成された画像は 不可視透かし ライブラリを使って、モデルの出力に目に見えない透かしを埋め込むことができます。この透かしを簡単に検出するスクリプトも提供しています。この透かしは、以前のStable Diffusion 1.x/2.xのバージョンとは異なります。

スクリプトを実行するには、上記のようなインストールを行うか、あるいは 実験的 最小限のパッケージのみを使用してインポートする:python -m venv .detect source .detect/bin/activate pip install "numpy>=1.17" "PyWavelets>=1.1.1" "opencv-python>=4.1.0.25" pip install -no-deps invisible-watermark

このスクリプトを実行するには、上記のようにインストールが完了している必要があります。このスクリプトは、次のような方法で使用することができます(事前に仮想環境を有効にしておくことをお忘れなく。 ソース .pt1/bin/activate):# 一つのファイルをテスト python scripts/demo/detect.py # 一度に複数のファイルをテスト python scripts/demo/detect.py ... # 特定のフォルダ内の全てのファイルをテスト python scripts/demo/detect.py /*.

トレーニングの設定例を configs/example_training.トレーニングを開始するには

python main.py --base configs/ configs/

ここで、コンフィグは左から右にマージされる(後のコンフィグは同じ値を上書きする)。これはモデルコンフィグ、トレーニングコンフィグ、データコンフィグを組み合わせるために使用できます。しかし、これらすべてを1つのコンフィグで定義することもできる。例えば、MNISTのクラス条件付きピクセルベース拡散モデルのトレーニングを実行するには、 runpython main.py -base configs/example_training/toy/mnist_cond.yaml とします。

注1: トイ・データセット以外のコンフィグを使う configs/example_training/imagenet-f8_cond.yamlconfigs/example_training/txt2img-clipl.yaml そして configs/example_training/txt2img-clipl-legacy-ucg-training.yaml のtarファイルに格納されていると思われる)。 ウェブデータセット-フォーマット).適合させなければならない箇所を見つけるには、以下を含むコメントを検索する。 ユーザー をそれぞれのコンフィグに追加する。

注2: このリポジトリは ピトーチ1.13 そして ピトルチ2を生成モデルの学習に使用する。しかし、例えば以下のようなオートエンコーダの訓練には適している。 configs/example_training/autoencoder/kl-f4/imagenet-attnfree-logvar.yamlだけである。 ピトーチ1.13 がサポートされている。

注3: 潜在生成モデルのトレーニング(例えば、以下のように configs/example_training/imagenet-f8_cond.yaml)からチェックポイントを取得する必要がある。 ハグする顔 を交換する。 CKPT_PATH のプレースホルダ この行.提供されたtext-to-imageコンフィグについても同様に行う。

コンディショナー

について ジェネラルコンディショナー は コンディショナー・コンフィグ.その唯一の属性は エンブ・モデルのエンベッダーのリスト。 AbstractEmbModel)生成モデルの条件付けに使用される。すべてのエンベッダーは、学習可能かどうかを定義する必要があります(is_trainableデフォルト )、クラシファイアーのないガイダンス脱落率を使用する(ucg_rateデフォルト 0)、入力キー(入力キー)、例えば テキスト テキスト・コンディショニング用 クルス クラス・コンディショニングのために。コンディショニングを計算するとき、エンベッダーは次のようになります。 バッチ[input_key] を入力とする。現在のところ、2次元から4次元の条件付けをサポートしており、異なるエンベッダーの条件付けは適切に連結されます。エンベッダーの順番は コンディショナー・コンフィグ が重要だ。

ネットワーク

ニューラルネットワークは ネットワーク設定.以前はこう呼ばれていた。 unet_configこれは、トランスフォーマーをベースとした拡散バックボーンを実験する予定なので、十分一般的とは言えない。

損失

損失は以下の方法で設定される。 ロス・コンフィグ.標準的な拡散モデルのトレーニングでは、次のように設定する必要があります。 シグマサンプラーコンフィグ.

上述したように、サンプラーはモデルから独立している。そのため サンプラー設定また、数値ソルバーの種類、ステップ数、離散化の種類、分類器なしガイダンスのためのガイダンス・ラッパーなども設定する。

大規模なトレーニングには、以下のデータパイプラインを使用することをお勧めします。 データパイプライン プロジェクト。こ のプ ロ ジ ェ ク ト は要件に含まれてお り 、 オブジ ェ ク ト の インストールセクション.小さなマップスタイルのデータセットは、リポジトリで定義する必要があります(例:MNIST、CIFAR-10、...)そして、データのキー/値のdictを返します。例えば、example = {"jpg": x, # this is a tensor -1...1 chw "txt":"美しい画像"}。

ここでは、-1...1、チャンネル・ファースト・フォーマットの画像を想定している。

jaJapanese