Home
Login

潜在拡散モデルに基づいた高解像度テキストから画像生成モデル

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

Stable Diffusion プロジェクト詳細

プロジェクト概要

Stable Diffusion は、Stability AI によって開発されたオープンソースのテキストから画像生成モデルであり、潜在拡散モデル(Latent Diffusion Models)技術に基づいています。このプロジェクトは、高解像度画像の合成を実現し、テキスト記述に基づいて高品質の画像を生成できます。

プロジェクトアドレス: https://github.com/Stability-AI/stablediffusion

核心技術特徴

1. 潜在拡散モデルアーキテクチャ

  • 潜在空間を使用して拡散プロセスを実行し、ピクセル空間で直接操作するよりも効率的です。
  • U-Netアーキテクチャをノイズ除去ネットワークとして採用します。
  • 自己注意機構と交差注意機構を統合します。

2. テキストエンコーダ

  • OpenCLIP ViT-H/14 をテキストエンコーダとして使用します。
  • 複雑なテキスト条件制御をサポートします。
  • 詳細なテキスト記述を理解し、視覚コンテンツに変換できます。

3. 多解像度サポート

  • Stable Diffusion 2.1-v: 768x768ピクセル出力
  • Stable Diffusion 2.1-base: 512x512ピクセル出力
  • さまざまな解像度のトレーニングと推論をサポートします。

主要バージョン履歴

Version 2.1 (2022年12月7日)

  • 768x768解像度のvモデルと512x512解像度のbaseモデルをリリースしました。
  • 同じパラメータ数とアーキテクチャに基づいています。
  • より緩いNSFWフィルタリングデータセットで微調整されています。

Version 2.0 (2022年11月24日)

  • 768x768解像度の新しいモデル
  • OpenCLIP-ViT/Hをテキストエンコーダとして使用します。
  • 最初からトレーニングし、v-predictionメソッドを採用します。

Stable UnCLIP 2.1 (2023年3月24日)

  • 画像変換と混合操作をサポートします。
  • SD2.1-768に基づいて微調整されています。
  • 2つのバリアントを提供します:Stable unCLIP-LとStable unCLIP-H

核心機能

1. テキストから画像生成

基本的なテキスト記述から画像を生成する機能:

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. 画像修復(Inpainting)

画像の局所的な修復と編集をサポートします。

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

3. 深度条件画像生成

深度情報に基づいて構造を保持した画像生成:

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

4. 画像超解像度

4倍超解像度機能:

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

5. 画像から画像変換

古典的なimg2img機能:

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>

インストールと環境設定

基礎環境

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

性能最適化(推奨)

xformersライブラリをインストールしてGPU性能を向上させます。

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最適化

Intel CPU向けの最適化設定:

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

技術アーキテクチャ詳細

モデルコンポーネント

  1. エンコーダ-デコーダアーキテクチャ: ダウンサンプリング係数8の自己エンコーダを使用します。
  2. U-Netネットワーク: 865MパラメータのU-Netを拡散プロセスに使用します。
  3. テキストエンコーダ: OpenCLIP ViT-H/14がテキスト入力を処理します。
  4. サンプラー: DDIM、PLMS、DPMSolverなどのさまざまなサンプリング方法をサポートします。

メモリ最適化

  • メモリ効率の高い注意機構を自動的に有効にします。
  • xformersアクセラレーションをサポートします。
  • FP16精度オプションを提供して、ビデオメモリを節約します。

アプリケーションシナリオ

1. 芸術創作

  • コンセプトアートデザイン
  • イラスト生成
  • スタイル転送

2. コンテンツ制作

  • マーケティング素材制作
  • ソーシャルメディアコンテンツ
  • 製品プロトタイプ設計

3. 研究アプリケーション

  • コンピュータビジョン研究
  • 生成モデル研究
  • マルチモーダル学習

倫理的考慮事項と制限

データバイアス

  • モデルは、トレーニングデータのバイアスと誤解を反映しています。
  • 追加の安全メカニズムを追加せずに、商業サービスに直接使用することはお勧めしません。

コンテンツセキュリティ

  • AI生成コンテンツの識別を支援する組み込みの不可視透かしシステム。
  • 露骨なポルノコンテンツを減らすよう努めていますが、慎重に使用する必要があります。

使用制限

  • 重みは研究目的でのみ使用されます。
  • CreativeML Open RAIL++-Mライセンスに従ってください。

Star History Chart