🚀 Stable Diffusion 3.5 ControlNets
このリポジトリは、Stable Diffusion 3.5 Large と共に使用するためにトレーニングされたいくつかのControlNetモデルを提供します。ControlNetを使用することで、生成される画像の構造や外観を特定の条件に沿って制御することができます。
🚀 クイックスタート
このセクションでは、Stable Diffusion 3.5 ControlNetsの基本的な使い方を説明します。
✨ 主な機能
利用可能なコントロールタイプ
- Canny:Cannyエッジマップを使用して、生成される画像の構造をガイドします。イラストに特に役立ちますが、あらゆるスタイルで機能します。
- Depth:DepthFMによって生成された深度マップを使用して、生成をガイドします。建築レンダリングの生成や3Dアセットのテクスチャリングなど、いくつかの使用例があります。
- Blur:非常に高い忠実度でアップスケーリングを行うために使用できます。一般的な使用例は、入力画像をタイル化し、各タイルにControlNetを適用し、タイルをマージして解像度の高い画像を生成することです。この使用例の詳細な説明はこちらにあります。
- Comfyユーザーの場合は、この拡張機能がサポートを提供します。
- 画像を128から512のタイルサイズでタイル化することをお勧めします。
📦 インストール
SD3.5 Standalone Repoのインストール
git clone git@github.com:Stability-AI/sd3.5.git
pip install -r requirements.txt
次に、モデルとサンプル画像を以下のようにダウンロードします。
input/canny.png
models/clip_g.safetensors
models/clip_l.safetensors
models/t5xxl.safetensors
models/sd3.5_large.safetensors
models/sd3.5_large_controlnet_canny.safetensors
💻 使用例
基本的な使用法
python sd3_infer.py --controlnet_ckpt models/sd3.5_large_controlnet_canny.safetensors --controlnet_cond_image input/canny.png --prompt "An adorable fluffy pastel creature"
これにより、以下のような画像が生成されます。

高度な使用法
前処理
以下は、さまざまな制御画像タイプを前処理するためのコードスニペットです。
Canny
import torchvision.transforms.functional as F
img = F.to_tensor(img)
img = cv2.cvtColor(img.transpose(1, 2, 0), cv2.COLOR_RGB2GRAY)
img = cv2.Canny(img, 100, 200)
Blur
import torchvision.transforms as transforms
gaussian_blur = transforms.GaussianBlur(kernel_size=50)
blurred_image = gaussian_blur(img)
Depth
import torchvision.transforms as transforms
from depthfm.dfm import DepthFM
depthfm_model = DepthFM(ckpt_path=checkpoint_path)
depthfm_model.eval()
img = F.to_tensor(img)
c, h, w = img.shape
img = F.interpolate(img, (512, 512), mode='bilinear', align_corners=False)
with torch.no_grad():
img = self.depthfm_model(img, num_steps=2, ensemble_size=4)
img = F.interpolate(img, (h, w), mode='bilinear', align_corners=False)
ヒント
- ControlNetの強度を0.7 - 0.8から始め、必要に応じて調整することをお勧めします。
- Eulerサンプラーと少し多めのステップ数(50 - 60)を使用すると、特にCannyで最良の結果が得られます。
--text_encoder_device <device_name>
を渡すと、テキストエンコーダーを直接VRAMにロードでき、追加のVRAM使用量を犠牲にして、完全な推論ループを高速化できます。
📚 ドキュメント
他の環境での使用方法
Diffusersサポートについては、スタンドアロンリポジトリのREADMEを参照してください。
ComfyUIでの使用
Comfyでの使用方法の詳細(例: ワークフロー)については、ComfyUIのアナウンスブログ記事 を参照してください。
モデルの使用制限
モデルのすべての使用は、当社のAcceptable Use Policyに準拠する必要があります。
想定外の使用
このモデルは、人や出来事の事実的または真実の表現を生成するようにトレーニングされていません。したがって、このようなコンテンツを生成するためにモデルを使用することは、このモデルの能力範囲外です。
トレーニングデータと戦略
これらのモデルは、合成データやフィルタリングされた公開データを含むさまざまなデータでトレーニングされています。
🔧 技術詳細
整合性評価
当社の整合性評価方法には、構造化された評価と特定の害に対するレッドチーミングテストが含まれます。テストは主に英語で行われており、すべての可能性のある害をカバーしているとは限りません。
特定されたリスクと緩和策
- 有害なコンテンツ:有用性と害の防止のバランスを取るためのセーフガードを実装しています。ただし、すべての可能性のある有害なコンテンツが削除されていることを保証するものではありません。すべての開発者とデプロイヤーは、注意を払い、特定の製品ポリシーとアプリケーションの使用ケースに基づいてコンテンツセーフティガードを実装する必要があります。
- 誤用:技術的な制限と開発者およびエンドユーザーの教育は、モデルの悪意のあるアプリケーションに対する緩和策に役立ちます。すべてのユーザーは、ファインチューニングやプロンプトエンジニアリングメカニズムを適用する場合も含め、当社のAcceptable Use Policyに準拠する必要があります。当社の製品の違反的な使用に関する情報は、Stability AI Acceptable Use Policyを参照してください。
- プライバシー侵害:開発者とデプロイヤーは、データプライバシーを尊重する技術を使用して、プライバシー規制に準拠することが推奨されます。
📄 ライセンス
このモデルは Stability Community License の下でリリースされています。商用ライセンスの詳細については、Stability AI を訪問するか、お問い合わせ ください。
ライセンスの主要コンポーネント
- 非商用利用無料:個人や組織は、科学研究を含む非商用利用のために、このモデルを無料で使用できます。
- 年間収益が100万ドル未満の商用利用無料:スタートアップ、中小企業、クリエイターは、年間総収益が100万ドル未満である限り、商用目的でこのモデルを無料で使用できます。
- 出力の所有権:制限的なライセンスの影響を受けることなく、生成されたメディアの所有権を保持します。
年間収益が100万ドルを超える組織は、こちら からエンタープライズライセンスについてお問い合わせください。
謝辞
- 元のControlNet論文の著者であるZhang Lvmin、Rao Anyi、およびAgrawala Maneesh。
- Tile ControlNet を開発したZhang Lvmin。これはBlur ControlNetのインスピレーションとなりました。
- Diffusers ライブラリの著者。開発中に彼らのコードを参照しました。
- InstantX チーム。トレーニング中に彼らのFluxとSD3 ControlNetsも参照しました。
- モデルのすべての初期テスターと評価者、およびStability AIチーム。
お問い合わせ
モデルに関する問題を報告するか、お問い合わせる場合は、以下の方法でお願いします。
- セーフティ問題:safety@stability.ai
- セキュリティ問題:security@stability.ai
- プライバシー問題:privacy@stability.ai
- ライセンスと一般的な問い合わせ:https://stability.ai/license
- エンタープライズライセンス:https://stability.ai/enterprise