Stability-AI/generative-modelsView GitHub Homepage for Latest Official Releases
Stability AIが開発した生成AIモデルライブラリ。Stable Diffusion XLやStable Video Diffusionなど、多様な画像・動画生成モデルを収録。
MITPythongenerative-modelsStability-AI 26.3k Last Updated: May 20, 2025
Stability AI 生成モデルプロジェクト詳細
プロジェクト概要
Stability AIの生成モデルライブラリは、画像生成、動画生成、多視点合成など、様々な高度なAI生成モデルを提供するオープンソースプロジェクトです。このプロジェクトはモジュール設計を採用し、多様な拡散モデルの学習と推論をサポートします。
コア機能
1. モジュール化されたアーキテクチャ
- 設定駆動方式:
instantiate_from_config()
関数を呼び出してサブモジュールを構築および組み合わせます。 - クリーンアップされた拡散モデルクラス:
LatentDiffusion
からDiffusionEngine
にリファクタリング。 - 統一された条件処理:
GeneralConditioner
クラスがすべてのタイプの条件入力を処理します。
2. 改善されたモデルアーキテクチャ
- デノイザーフレームワーク: 連続時間モデルと離散時間モデルをサポートします。
- 独立したサンプラー: ガイドとサンプラーを分離します。
- クリーンアップされた自己符号化モデル: 最適化されたエンコーダアーキテクチャ。
サポートされるモデル
SDXL (Stable Diffusion XL) シリーズ
- SDXL-base-1.0: 基本モデル、1024x1024解像度の画像生成をサポート。
- SDXL-refiner-1.0: リファインモデル、画像の後処理に使用。
- SDXL-Turbo: 高速生成モデル。
SVD (Stable Video Diffusion) シリーズ
- SVD: 画像から動画へのモデル、14フレームの576x1024解像度の動画を生成。
- SVD-XT: 拡張バージョン、25フレームの生成をサポート。
SV3D (Stable Video 3D) シリーズ
- SV3D_u: 単一画像に基づく軌道動画生成。
- SV3D_p: カメラパス指定をサポートする3D動画生成。
SV4D (Stable Video 4D) シリーズ
- SV4D: 動画から4Dへの拡散モデル、新しい視点からの動画合成に使用。
- 40フレーム(5つの動画フレーム × 8つのカメラ視点)の576x576解像度を生成。
技術アーキテクチャ
デノイザーフレームワーク
- 連続時間モデル: より柔軟な時間サンプリングをサポート。
- 離散時間モデル: 従来の拡散モデルの特殊なケース。
- 構成可能なコンポーネント:
- 損失関数重み付け (
denoiser_weighting.py
) - ネットワーク事前条件 (
denoiser_scaling.py
) - ノイズレベルサンプリング (
sigma_sampling.py
)
- 損失関数重み付け (
インストールと使用
環境要件
- Python 3.10+
- PyTorch 2.0+
- CUDAサポートのGPU
インストール手順
git clone https://github.com/Stability-AI/generative-models.git
cd generative-models
# 仮想環境の作成
python3 -m venv .pt2
source .pt2/bin/activate
# 依存関係のインストール
pip3 install -r requirements/pt2.txt
pip3 install .
pip3 install -e git+https://github.com/Stability-AI/datapipelines.git@main#egg=sdata
クイックスタート
テキストから画像生成 (SDXL)
# モデルの重みを checkpoints/ フォルダにダウンロード
# Streamlitデモの実行
streamlit run scripts/demo/sampling.py --server.port <your_port>
画像から動画生成 (SVD)
# SVDモデルのダウンロード
# 簡単な動画サンプリングの実行
python scripts/sampling/simple_video_sample.py --input_path <path/to/image.png>
多視点合成 (SV3D)
# SV3D_u (軌道動画)
python scripts/sampling/simple_video_sample.py --input_path <path/to/image.png> --version sv3d_u
# SV3D_p (指定カメラパス)
python scripts/sampling/simple_video_sample.py --input_path <path/to/image.png> --version sv3d_p --elevations_deg 10.0
4D動画合成 (SV4D)
python scripts/sampling/simple_video_sample_4d.py --input_path assets/sv4d_videos/test_video1.mp4 --output_folder outputs/sv4d
学習設定
サポートされる学習タイプ
- ピクセルレベル拡散モデル: ピクセル空間で直接学習。
- 潜在拡散モデル: 潜在空間で学習、事前学習済みのVAEが必要。
- 条件付き生成モデル: テキスト、カテゴリなど、様々な条件をサポート。
学習例
# MNIST条件付き生成学習
python main.py --base configs/example_training/toy/mnist_cond.yaml
# テキストから画像への学習
python main.py --base configs/example_training/txt2img-clipl.yaml
データ処理
データパイプライン
- 大規模学習をサポートするデータパイプライン。
- WebDataset形式のtarファイル。
- Map-styleデータセットをサポート。
データ形式
example = {
"jpg": x,
"txt": "a beautiful image"
}
モデルライセンス
- SDXL-1.0: CreativeML Open RAIL++-M ライセンス
- SDXL-0.9: 研究ライセンス
- SVDシリーズ: 研究用途ライセンス
ウォーターマーク検出
プロジェクトでは、invisible-watermarkライブラリを使用して、生成された画像に不可視のウォーターマークを埋め込みます。
# ウォーターマーク検出環境のインストール
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
# ウォーターマークの検出
python scripts/demo/detect.py <filename>
技術的特徴
1. 高品質生成
- SDXLは1024x1024の高解像度画像生成をサポート。
- SVDは高品質の動画生成をサポート。
- SV3D/SV4Dは多視点および4D動画合成をサポート。
2. 柔軟な条件制御
- テキスト、画像、ベクトルなど、様々な条件入力をサポート。
- 分類器フリーガイダンス(Classifier-free Guidance)。
- 構成可能な条件ドロップアウト率。
3. 高度なサンプリング技術
- 多様な数値ソルバー。
- 構成可能なサンプリングステップ数と離散化方法。
- ガイドラッパーをサポート。
4. 研究フレンドリー
- 詳細な技術レポートと論文。
- オープンソースコードとモデルの重み。
- 活発なコミュニティサポート。
応用シーン
- アート創作: テキストから芸術的な画像を生成。
- コンテンツ制作: 画像から動画コンテンツを生成。
- 3Dモデリング: 多視点画像生成。
- 研究開発: 拡散モデルアルゴリズムの研究。
- 教育研修: AI生成技術の学習。
プロジェクトの利点
- モジュール設計: 拡張とカスタマイズが容易。
- 高性能: 最適化された学習および推論コード。
- マルチモーダルサポート: 画像、動画、3Dなど、様々な生成タスク。
- 継続的な更新: 定期的な新モデルと機能のリリース。
- 活発なコミュニティ: 豊富なドキュメントとサンプルコード。
このプロジェクトは、現在の生成AI分野における最先端技術を代表し、研究者と開発者に生成AI技術を探求し応用するための強力なツールを提供します。