Home
Login

Ein hochauflösendes Text-zu-Bild-Generierungsmodell, das auf latenten Diffusionsmodellen basiert.

MITPython 41.2kStability-AIstablediffusion Last Updated: 2024-10-10

Detaillierte Beschreibung des Stable Diffusion Projekts

Projektübersicht

Stable Diffusion ist ein von Stability AI entwickeltes Open-Source-Text-zu-Bild-Generierungsmodell, das auf der Technologie der latenten Diffusionsmodelle (Latent Diffusion Models) basiert. Das Projekt realisiert die Synthese hochauflösender Bilder und ist in der Lage, qualitativ hochwertige Bilder auf der Grundlage von Textbeschreibungen zu erzeugen.

Projektadresse: https://github.com/Stability-AI/stablediffusion

Kerntechnische Merkmale

1. Architektur des latenten Diffusionsmodells

  • Verwendung des latenten Raums für den Diffusionsprozess, was im Vergleich zur direkten Operation im Pixelraum effizienter ist
  • Verwendung der U-Net-Architektur als Entrauschungsnetzwerk
  • Integration von Selbstaufmerksamkeits- und Kreuzaufmerksamkeitsmechanismen

2. Text-Encoder

  • Verwendung von OpenCLIP ViT-H/14 als Text-Encoder
  • Unterstützung komplexer textueller Bedingungen
  • Fähigkeit, detaillierte Textbeschreibungen zu verstehen und in visuelle Inhalte umzuwandeln

3. Unterstützung mehrerer Auflösungen

  • Stable Diffusion 2.1-v: 768x768 Pixel Ausgabe
  • Stable Diffusion 2.1-base: 512x512 Pixel Ausgabe
  • Unterstützung des Trainings und der Inferenz in verschiedenen Auflösungen

Wesentliche Versionshistorie

Version 2.1 (7. Dezember 2022)

  • Einführung des v-Modells mit 768x768 Auflösung und des Base-Modells mit 512x512 Auflösung
  • Basierend auf der gleichen Parameteranzahl und Architektur
  • Feinabstimmung auf einem weniger restriktiven NSFW-Filterdatensatz

Version 2.0 (24. November 2022)

  • Völlig neues Modell mit 768x768 Auflösung
  • Verwendung von OpenCLIP-ViT/H als Text-Encoder
  • Von Grund auf neu trainiert, unter Verwendung der v-prediction Methode

Stable UnCLIP 2.1 (24. März 2023)

  • Unterstützung von Bildtransformationen und Mischoperationen
  • Feinabstimmung basierend auf SD2.1-768
  • Bereitstellung von zwei Varianten: Stable unCLIP-L und Stable unCLIP-H

Kernfunktionen

1. Text-zu-Bild-Generierung

Grundlegende Funktion zur Generierung von Bildern aus Textbeschreibungen:

python scripts/txt2img.py --prompt "a professional photograph of an astronaut riding a horse" --ckpt <path/to/768model.ckpt/> --config configs/stable-diffusion/v2-inference-v.yaml --H 768 --W 768

2. Bildreparatur (Inpainting)

Unterstützung der lokalen Reparatur und Bearbeitung von Bildern:

python scripts/gradio/inpainting.py configs/stable-diffusion/v2-inpainting-inference.yaml <path-to-checkpoint>

3. Tiefenbedingte Bildgenerierung

Strukturerhaltende Bildgenerierung basierend auf Tiefeninformationen:

python scripts/gradio/depth2img.py configs/stable-diffusion/v2-midas-inference.yaml <path-to-ckpt>

4. Bild-Superauflösung

4-fache Superauflösungsfunktion:

python scripts/gradio/superresolution.py configs/stable-diffusion/x4-upscaling.yaml <path-to-checkpoint>

5. Bild-zu-Bild-Konvertierung

Klassische img2img-Funktion:

python scripts/img2img.py --prompt "A fantasy landscape, trending on artstation" --init-img <path-to-img.jpg> --strength 0.8 --ckpt <path/to/model.ckpt>

Installation und Umgebungskonfiguration

Grundlegende Umgebung

conda install pytorch==1.12.1 torchvision==0.13.1 -c pytorch
pip install transformers==4.19.2 diffusers invisible-watermark
pip install -e .

Leistungsoptimierung (Empfohlen)

Installation der xformers-Bibliothek zur Verbesserung der GPU-Leistung:

export CUDA_HOME=/usr/local/cuda-11.4
conda install -c nvidia/label/cuda-11.4.0 cuda-nvcc
conda install -c conda-forge gcc
conda install -c conda-forge gxx_linux-64==9.5.0

cd ..
git clone https://github.com/facebookresearch/xformers.git
cd xformers
git submodule update --init --recursive
pip install -r requirements.txt
pip install -e .
cd ../stablediffusion

Intel CPU Optimierung

Optimierungskonfiguration für Intel CPUs:

apt-get install numactl libjemalloc-dev
pip install intel-openmp
pip install intel_extension_for_pytorch -f https://software.intel.com/ipex-whl-stable

Technische Architekturdetails

Modellkomponenten

  1. Encoder-Decoder-Architektur: Verwendung eines Autoencoders mit einem Downsampling-Faktor von 8
  2. U-Net-Netzwerk: 865M Parameter U-Net für den Diffusionsprozess
  3. Text-Encoder: OpenCLIP ViT-H/14 verarbeitet die Texteingabe
  4. Sampler: Unterstützung verschiedener Sampling-Methoden wie DDIM, PLMS, DPMSolver

Speicheroptimierung

  • Automatische Aktivierung des speichereffizienten Aufmerksamkeitsmechanismus
  • Unterstützung der xformers-Beschleunigung
  • Bereitstellung der FP16-Genauigkeitsoption zur Einsparung von Grafikspeicher

Anwendungsbereiche

1. Künstlerische Gestaltung

  • Konzeptkunstdesign
  • Illustrationsgenerierung
  • Stiltransfer

2. Inhaltsproduktion

  • Erstellung von Marketingmaterialien
  • Social-Media-Inhalte
  • Produktdesign-Prototypen

3. Forschungsanwendungen

  • Forschung im Bereich Computer Vision
  • Forschung im Bereich generativer Modelle
  • Multimodales Lernen

Ethische Überlegungen und Einschränkungen

Datenverzerrung

  • Das Modell spiegelt Verzerrungen und Missverständnisse in den Trainingsdaten wider
  • Es wird nicht empfohlen, es direkt für kommerzielle Dienste zu verwenden, ohne zusätzliche Sicherheitsmechanismen hinzuzufügen

Inhaltssicherheit

  • Eingebautes unsichtbares Wasserzeichensystem zur Identifizierung von KI-generierten Inhalten
  • Bemühungen zur Reduzierung expliziter pornografischer Inhalte, aber dennoch vorsichtige Verwendung erforderlich

Nutzungsbeschränkungen

  • Die Gewichte sind nur für Forschungszwecke bestimmt
  • Einhaltung der CreativeML Open RAIL++-M Lizenz

Star History Chart