Home
Login

Bibliothèque de modèles d'IA générative développée par Stability AI, comprenant Stable Diffusion XL, Stable Video Diffusion et de nombreux autres modèles de génération d'images et de vidéos.

MITPython 26.1kStability-AIgenerative-models Last Updated: 2025-05-20

Présentation détaillée du projet de modèles génératifs de Stability AI

Aperçu du projet

La bibliothèque de modèles génératifs de Stability AI est un projet open source qui propose une variété de modèles de génération d'IA avancés, notamment la génération d'images, la génération de vidéos et la synthèse multi-vues. Ce projet adopte une conception modulaire et prend en charge la formation et l'inférence de divers modèles de diffusion.

Caractéristiques principales

1. Architecture modulaire

  • Approche basée sur la configuration : Construction et combinaison de sous-modules en appelant la fonction instantiate_from_config()
  • Classes de modèles de diffusion nettoyées : Refactorisation de LatentDiffusion en DiffusionEngine
  • Gestion unifiée des conditions : La classe GeneralConditioner gère tous les types d'entrées conditionnelles

2. Architecture de modèle améliorée

  • Framework de débruiteur : Prend en charge les modèles à temps continu et à temps discret
  • Échantillonneurs indépendants : Séparation du guideur et de l'échantillonneur
  • Modèles d'auto-encodage nettoyés : Architecture d'encodeur optimisée

Modèles pris en charge

SDXL (Stable Diffusion XL) Série

  • SDXL-base-1.0 : Modèle de base, prend en charge la génération d'images en résolution 1024x1024
  • SDXL-refiner-1.0 : Modèle de raffinement, utilisé pour le post-traitement d'images
  • SDXL-Turbo : Modèle de génération rapide

SVD (Stable Video Diffusion) Série

  • SVD : Modèle image vers vidéo, génère des vidéos de 14 images en résolution 576x1024
  • SVD-XT : Version étendue, prend en charge la génération de 25 images

SV3D (Stable Video 3D) Série

  • SV3D_u : Génération de vidéos orbitales basées sur une seule image
  • SV3D_p : Prend en charge la génération de vidéos 3D avec des chemins de caméra spécifiés

SV4D (Stable Video 4D) Série

  • SV4D : Modèle de diffusion vidéo vers 4D, utilisé pour la synthèse de vidéos à partir de nouvelles perspectives
  • Génère 40 images (5 images vidéo × 8 perspectives de caméra) en résolution 576x576

Architecture technique

Framework de débruiteur

  • Modèles à temps continu : Prend en charge un échantillonnage temporel plus flexible
  • Modèles à temps discret : Cas particulier des modèles de diffusion traditionnels
  • Composants configurables :
    • Poids de la fonction de perte (denoiser_weighting.py)
    • Préconditionnement du réseau (denoiser_scaling.py)
    • Échantillonnage du niveau de bruit (sigma_sampling.py)

Installation et utilisation

Exigences environnementales

  • Python 3.10+
  • PyTorch 2.0+
  • GPU compatible CUDA

Étapes d'installation

git clone https://github.com/Stability-AI/generative-models.git
cd generative-models

# Créer un environnement virtuel
python3 -m venv .pt2
source .pt2/bin/activate

# Installer les dépendances
pip3 install -r requirements/pt2.txt
pip3 install .
pip3 install -e git+https://github.com/Stability-AI/datapipelines.git@main#egg=sdata

Démarrage rapide

Génération d'image à partir de texte (SDXL)

# Télécharger les poids du modèle dans le dossier checkpoints/
# Exécuter la démonstration Streamlit
streamlit run scripts/demo/sampling.py --server.port <your_port>

Génération de vidéo à partir d'image (SVD)

# Télécharger le modèle SVD
# Exécuter un échantillonnage vidéo simple
python scripts/sampling/simple_video_sample.py --input_path <path/to/image.png>

Synthèse multi-vues (SV3D)

# SV3D_u (vidéo orbitale)
python scripts/sampling/simple_video_sample.py --input_path <path/to/image.png> --version sv3d_u

# SV3D_p (chemin de caméra spécifié)
python scripts/sampling/simple_video_sample.py --input_path <path/to/image.png> --version sv3d_p --elevations_deg 10.0

Synthèse vidéo 4D (SV4D)

python scripts/sampling/simple_video_sample_4d.py --input_path assets/sv4d_videos/test_video1.mp4 --output_folder outputs/sv4d

Configuration de l'entraînement

Types d'entraînement pris en charge

  • Modèles de diffusion au niveau des pixels : Entraînement direct dans l'espace des pixels
  • Modèles de diffusion latente : Entraînement dans l'espace latent, nécessite un VAE pré-entraîné
  • Modèles de génération conditionnelle : Prend en charge diverses conditions telles que le texte, les catégories, etc.

Exemples d'entraînement

# Entraînement de génération conditionnelle MNIST
python main.py --base configs/example_training/toy/mnist_cond.yaml

# Entraînement texte vers image
python main.py --base configs/example_training/txt2img-clipl.yaml

Traitement des données

Pipeline de données

  • Prend en charge les pipelines de données pour l'entraînement à grande échelle
  • Fichiers tar au format WebDataset
  • Prise en charge des ensembles de données de type Map

Format des données

example = {
    "jpg": x, 
    "txt": "a beautiful image"  
}

Licence du modèle

  • SDXL-1.0 : Licence CreativeML Open RAIL++-M
  • SDXL-0.9 : Licence de recherche
  • Série SVD : Licence à des fins de recherche

Détection de filigrane

Le projet utilise la bibliothèque invisible-watermark pour intégrer des filigranes invisibles dans les images générées :

# Installer l'environnement de détection de filigrane
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

# Détecter le filigrane
python scripts/demo/detect.py <filename>

Caractéristiques techniques

1. Génération de haute qualité

  • SDXL prend en charge la génération d'images haute résolution 1024x1024
  • SVD prend en charge la génération de vidéos de haute qualité
  • SV3D/SV4D prend en charge la synthèse multi-vues et vidéo 4D

2. Contrôle conditionnel flexible

  • Prend en charge diverses entrées conditionnelles telles que le texte, les images, les vecteurs, etc.
  • Guidance sans classificateur (Classifier-free Guidance)
  • Taux de dropout conditionnel configurable

3. Techniques d'échantillonnage avancées

  • Divers solveurs numériques
  • Nombre d'étapes d'échantillonnage et méthodes de discrétisation configurables
  • Prend en charge les wrappers de guidance

4. Convivial pour la recherche

  • Rapports techniques et articles détaillés
  • Code source ouvert et poids du modèle
  • Support communautaire actif

Scénarios d'application

  1. Création artistique : Génération d'images artistiques à partir de texte
  2. Production de contenu : Génération de contenu vidéo à partir d'images
  3. Modélisation 3D : Génération d'images multi-vues
  4. Recherche et développement : Recherche sur les algorithmes de modèles de diffusion
  5. Éducation et formation : Apprentissage des technologies de génération d'IA

Avantages du projet

  • Conception modulaire : Facile à étendre et à personnaliser
  • Haute performance : Code d'entraînement et d'inférence optimisé
  • Prise en charge multimodale : Diverses tâches de génération telles que l'image, la vidéo, la 3D, etc.
  • Mises à jour continues : Publication régulière de nouveaux modèles et fonctionnalités
  • Communauté active : Documentation et exemples de code riches

Ce projet représente l'état de l'art actuel dans le domaine de l'IA générative, offrant aux chercheurs et aux développeurs des outils puissants pour explorer et appliquer les technologies d'IA générative.

Star History Chart