Open2
Stable Diffusionの画像生成の時に類似度を計算してくれる拡張機能を使ってみた
参考
README和訳
Stable Diffusion WebUI用SimilaritySifterの紹介
SimilaritySifterは、AUTOMATIC1111氏のStable Diffusion WebUI用の拡張機能です。face_recognitionライブラリを使用して、生成された画像を顔の類似度でフィルタリングすることができます。
特徴
- 生成された画像を、指定した参照画像の顔との類似度でフィルタリングできます
- txt2imgとimg2imgの両方の生成方式に対応しています
- WebUI内でシンプルで直感的なユーザーインターフェースを提供します
- 高精度な顔比較のために、強力なface_recognitionライブラリを活用しています
前提条件
Windowsへのインストール
Windowsに SimilaritySifter をインストールする前に、以下のソフトウェアをインストールする必要があります:
- Visual Studio 2022 または Visual Studio 2022 用のビルドツール
- Visual Studio のビルドツール以外の機能を使用する予定の場合、または不明な場合は、別ページ「Windows への Visual Studio Community 2022 のインストール」を参照してください。Visual Studio にはビルドツールが含まれていることに注意してください。
- Visual Studio のビルドツール機能のみを使用する予定の場合は、別ページ「Windows への Visual Studio 2022 用ビルドツールのインストール」を参照してください。
- CMake
- CMake はビルドツールです。公式の CMake ダウンロードページ(https://cmake.org/download/)からダウンロードできます。
MacまたはLinuxへのインストール
まず、Python バインディングを使用して dlib が既にインストールされていることを確認します:
- macOS または Ubuntu で dlib をソースからインストールする方法
次に、CMake がインストールされていることを確認します:
- macOS では、Homebrew を使用してインストールできます:
brew install cmake
- Linux では、ディストリビューションのパッケージマネージャーを使用してインストールできます。たとえば、Ubuntu の場合:
sudo apt-get install cmake
インストール方法
- Stable Diffusion WebUI の「Extensions」タブを開きます。
- 「Install from URL」サブタブに移動します。
- 「URL for extension's git repository」欄に以下の URL を貼り付けます:
https://github.com/emposy/sd-webui-similarity-sifter.git
- 「Install」ボタンをクリックします。
- インストールが完了するのを待ちます。「Installed into stable-diffusion-webui\extensions\sd-webui-similarity-sifter. Use Installed tab to restart」というメッセージが表示されます。
- 「Installed」サブタブに移動し、「Check for updates」をクリックしてから「Apply and restart UI」をクリックして拡張機能を有効にします。
前提条件
SimilaritySifter には以下の依存関係が必要です:
- Python 3.10.6以上
- Python バインディングを使用した dlib(インストール手順を参照)
- cmake(macOS では
brew install cmake
でインストール)
これらの依存関係は、拡張機能のインストールプロセス中に自動的にインストールされます。
使用方法
- WebUI で「SimilaritySifter」タブに移動します。
- 「Enable SimilaritySifter」チェックボックスをオンにします。
- 「Upload Image」ボタンをクリックし、参照として使用したい顔が含まれる画像を選択します。
- (オプション)「Remove Low Similarity Images」チェックボックスをオンにし、「Similarity Threshold」スライダーを調整して、指定した類似度以下の画像を削除します。
- 通常通り、txt2img または img2img を使用して画像を生成します。
- 生成された画像は、参照画像との顔の類似度に基づいてソートされ、最も類似している画像が最初に表示されます。
制限事項
- face_recognition ライブラリは大人の顔で学習されているため、子供の顔ではうまく機能しない可能性があります。
- 民族グループによって精度が異なる場合があります。詳細については、face_recognition の wiki を参照してください。
- 顔の類似度フィルターなしで画像を生成する場合と比較して、パフォーマンスが低下する可能性があります。
謝辞
SimilaritySifter は、以下のライブラリとプロジェクトを基に構築されています:
- AUTOMATIC1111 氏の Stable Diffusion WebUI
- Adam Geitgey 氏の face_recognition
これらの素晴らしいプロジェクトの開発者と貢献者の皆様に特別な感謝を申し上げます!
ライセンス
SimilaritySifter は MIT ライセンスの下でリリースされています。