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)
- 可配置的條件 dropout 率
3. 先進的採樣技術
- 多種數值求解器
- 可配置的採樣步數和離散化方法
- 支持引導包裝器
4. 研究友好
- 詳細的技術報告和論文
- 開源代碼和模型權重
- 活躍的社區支持
應用場景
- 藝術創作:文本生成藝術圖像
- 內容製作:圖像生成視頻內容
- 3D 建模:多視角圖像生成
- 研究開發:擴散模型算法研究
- 教育培訓:AI 生成技術學習
項目優勢
- 模塊化設計:易於擴展和定制
- 高性能:優化的訓練和推理代碼
- 多模態支持:圖像、視頻、3D 等多種生成任務
- 持續更新:定期發布新模型和功能
- 社區活躍:豐富的文檔和示例代碼
這個項目代表了當前生成式 AI 領域的最先進技術,為研究者和開發者提供了強大的工具來探索和應用生成式 AI 技術。