sd-webui-controlnet - コントロールネットのWebUI拡張機能

(WebUI extension for ControlNet)

Created at: 2023-02-13 00:26:27
Language: Python
License: MIT

SD-WebUI-ControlNet

(仕掛品)コントロールネットのWebUI拡張機能

この拡張機能は、AUTOMATIC1111の安定した拡散Web UI用であり、Web UIが元の安定した拡散モデルにControlNetを追加して画像を生成できるようにします。追加はその場で行われ、マージは必要ありません。

ControlNetは、条件を追加することで拡散モデルを制御するニューラルネットワーク構造です。

ありがとう&インスピレーション: kohya-ss/sd-webui-additional-networks

切り

  • Web UIで大きなファイルをドラッグすると、ページ全体がフリーズする場合があります。代わりにファイルのアップロードオプションを使用することをお勧めします。
  • WebUIのハイジャックと同様に、任意のサイズの構成を受け入れるためにいくつかの補間を使用しました(
    scripts/cldm.py
    )

取り付ける

一部のユーザーは、使用する前にcv2ライブラリをインストールする必要があるかもしれません。

pip install opencv-python

UI の問題が発生した場合は、gradio をアップグレードします。

pip install gradio==3.16.2

  1. 「拡張機能」タブを開きます。
  2. タブの「URLからインストール」タブを開きます。
  3. このリポジトリの URL を "拡張機能の git リポジトリの URL" に入力します。
  4. 「インストール」ボタンを押します。
  5. Web UI をリロード/再起動します。

使い

  1. コントロールネットモデル (、、または) をフォルダー内に配置します。
    .pt
    .pth
    .ckpt
    .safetensors
    sd-webui-controlnet/models
  2. 「txt2img」または「img2img」タブを開き、プロンプトを記述します。
  3. 「モデルの更新」を押して、使用するモデルを選択します。(何も表示されない場合は、webuiをリロード/再起動してみてください)
  4. 画像をアップロードし、プリプロセッサを選択して完了します。

現在、フルモデルとトリミングモデルの両方をサポートしています。元のファイルからコントロールネットを抽出するために使用します。

extract_controlnet.py
.pth

事前トレーニング済みモデル: https://huggingface.co/lllyasviel/ControlNet/tree/main/models

抽出

モデルのファイルサイズを小さくするには、次の 2 つの方法があります。

  1. を使用して、元の.pthファイルからコントロールネットを直接抽出します。

    extract_controlnet.py

  2. を使用して差分を作成することにより、元のチェックポイントから制御を転送します。

    extract_controlnet_diff.py

すべてのタイプのモデルを正しく認識してロードできます。さまざまな抽出方法の結果を https://github.com/lllyasviel/ControlNet/discussions/12https://github.com/Mikubill/sd-webui-controlnet/issues/73 で説明します。

事前抽出モデル: https://huggingface.co/webui/ControlNet-modules-safetensors

事前抽出差分モデル: https://huggingface.co/kohya-ss/ControlNet-diff-modules

T2I アダプターのサポート (実験的)

現在、スケッチアダプタとイメージアダプタの両方をサポートしています。implは実験的なものであり、結果は元のリポジトリとは異なる場合があります。参考までに「」を参照してください。

Adapter Examples

これらのモデルを使用するには:

  1. https://huggingface.co/TencentARC/T2I-Adapter からファイルをダウンロードする
  2. 設定パネルで正しい設定を設定します-スケッチモデル用、キーポーズおよびセグメンテーションモデル用。
    sketch_adapter_v14.yaml
    image_adapter_v14.yaml
  3. スケッチモデルで画像を生成する場合は、0.6〜0.8などのわずかに低い強度(t)を使用することをお勧めします。(参照: LDM/モデル/拡散/PLM.py)

ヒント

  • いくつかの否定的なプロンプトを追加することを忘れないでください、ControlNetリポジトリのデフォルトの否定的なプロンプトは「長身、低解像度、悪い解剖学、悪い手、指の欠落、余分な数字、より少ない桁、トリミング、最悪の品質、低品質」です。
  • キャンバスの高さ/幅について:キャンバス生成用に設計されています。画像を直接アップロードする場合は、無視しても問題ありません。

インプット アウトプット
(プリプロセッサなし)
(プリプロセッサなし)

アダプターの例

インプット アウトプット

最小動作環境

  • (ウィンドウズ)(NVIDIA:アンペア)4gb-有効で、UIでモードがチェックされている場合、最大768x832になります
    --xformers
    Low VRAM