ComfyUI.Tokyo

ReActor

みなさんが大好き、でも設定が厄介なReAcorです。

公式 ComfyUI-ReActor

ComfyUIでReActorを設定する際に、特に ` buffalo_l ` と ` inswapper_128.onnx ` の設定で初心者がつまずきやすい点について解説します。

ReActor導入時の注意点とbuffalo_l, inswapper_128.onnxの設定について

ComfyUIにReActorを導入する際、いくつかの段階で設定が必要になります。特に、顔認識モデルである `buffalo_l` と顔入れ替えモデルである `inswapper_128.onnx` の設定は、ReActorが正しく動作するために非常に重要です。

1. Insightfaceのインストール

ReActorは、顔認識技術に Insightface というライブラリを利用しています。

通常、ReActorをインストールする際に自動で導入されますが、Windows環境でエラーが発生することがよくあります。

これは、Visual StudioのC++ビルドツールが必要になるためです。

もし、Visual Studioをインストールしたくない場合や、インストールしてもビルドがうまくいかない場合は、以下の手順で事前にビルドされたInsightfaceパッケージを導入することをおすすめします。

  1. Pythonのバージョン確認:

    ComfyUIのルートフォルダでコマンドプロンプトを開き、以下のコマンドを実行してPythonのバージョンを確認します。

    ```
    python_embedded\python.exe -V
    ```

    例: `Python 3.10.x` のように表示されます。

  2. Insightfaceパッケージのダウンロード:
    確認したPythonのバージョン(例: 3.10, 3.11, 3.12)に対応するInsightfaceの `whl` ファイルをダウンロードします。提供されているGitHubのトラブルシューティングセクションにリンクがあることが多いですが、通常は以下のようになります。
    • Python 3.10向け: `insightface-0.7.3-cp310-cp310-win_amd64.whl`
    • Python 3.11向け: `insightface-0.7.3-cp311-cp311-win_amd64.whl`
    • Python 3.12向け: `insightface-0.7.3-cp312-cp312-win_amd64.whl`
    ダウンロードした `whl` ファイルは、**ComfyUIのルートフォルダ**に配置してください。
  3. pipの更新とInsightfaceのインストール: 再度ComfyUIのルートフォルダでコマンドプロンプトを開き、以下のコマンドを順番に実行します。
    • pipPの更新:
      ```
      python_embedded\python.exe -m pip install -U pip

      ```
    • Insightfaceのインストール(ダウンロードした `whl` ファイルの名前に合わせてください):
      ```
      python_embedded\python.exe -m pip install insightface-0.7.3-cp310-cp310-win_amd64.whl (Python 3.10の場合)
      ```

2. buffalo_lとinswapper_128.onnxの配置と確認

ReActorは、顔の検出と入れ替えを行うために、Insightfaceが提供する特定のONNXモデルファイルを使用します。これらは通常、ReActorのインストール時に自動的にダウンロードされますが、手動での確認や再配置が必要になる場合があります。

  • `buffalo_l` モデル: `buffalo_l` は、複数の顔関連モデル(性別・年齢推定、顔の特徴点検出など)をまとめたディレクトリです。ReActorが正しく動作するためには、この`buffalo_l` ディレクトリが `ComfyUI\models\insightface` の中に存在し、必要なonnxファイルが含まれている必要があります。
    • 場所: `ComfyUI\models\insightface\buffalo_l\`
    • このディレクトリ内に、`1k3d68.onnx`, `2d106det.onnx`, `det_10g.onnx`, `genderage.onnx`, `w600k_r50.onnx` などのファイルがあることを確認してください。
  • `inswapper_128.onnx` モデル: `inswapper_128.onnx` は、実際に顔の入れ替えを行うための主要なモデルファイルです。
    • 場所: `ComfyUI\models\insightface\`
    • このファイルが `ComfyUI\models\insightface`ディレクトリの直下にあることを確認してください。もしファイルが破損している、または存在しない場合は、[公式GitHubページ](https://github.com/Gourieff/ComfyUI-ReActor) のトラブルシューティングセクションに記載されているリンクから手動でダウンロードし、既存のファイルを置き換えてください。

3. モデルのハッシュ値の確認

提供元は、ダウンロードしたモデルのハッシュ値(MD5, SHA256)を公開しています。これにより、ダウンロードしたファイルが破損していないか、また改ざんされていないかを確認できます。

ダウンロードしたファイルと公開されているハッシュ値を比較し、一致するかどうかを確認することをおすすめします。ハッシュ値の確認ツールは、WindowsであればPowerShellの `Get-FileHash` コマンドや、フリーのハッシュ計算ツールなどがあります。

その他のトラブルシューティング(初心者が遭遇しやすいもの)

  • `AttributeError: 'NoneType' object has no attribute 'get'` これは `inswapper_128.onnx` ファイルに問題がある可能性が高いエラーです。上記の手順に従い、`inswapper_128.onnx` を手動でダウンロードして `ComfyUI\models\insightface` に置き換えると解決することがほとんどです。
  • `reactor.execute() got an unexpected keyword argument 'reference_image'` ReActorノードの入力ポートが更新によって変更された場合に発生します。
    現在のワークフローからReActorノードを削除し、もう一度追加し直してください。
    これにより、新しい入力ポートが反映されます。
  • `ControlNet Aux Node IMPORT failed error when using with ReActor Node` ComfyUIでOpenCVのバージョン競合が発生している可能性があります。 ComfyUIを閉じて、ComfyUIのルートフォルダでコマンドプロンプトを開き、以下のコマンドを実行します。
    ```
    python_embedded\python.exe -m pip uninstall -y opencv-python opencv-contrib-python
    opencv-python-headless python_embedded\python.exe -m pip install opencv-python==4.7.0.72
    ```
    これにより、互換性のあるバージョンのOpenCVがインストールされます。
  • 商用利用に関する注意点 ReActorは、非商用目的でのみ使用が許可されている `buffalo_l` および `inswapper_128.onnx` モデルを利用しています。もし商用目的でReActorを使用したい場合は、ご自身でモデルをトレーニングするか、商用利用が許可されている別のモデルを見つける必要があります。この点には十分ご注意ください。

カスタム・ノード設定だけでは、こんな感じになります。

modelsフォルダ下のReActorフォルダ

modelsフォルダ下のinsightfaceフォルダ

当site管理人も良くわかっていないので、詰め込み過ぎる感がありますね。

とにかく、動けばいいやという感じで設定しています。

Build Tools for Visual Studio 2022も当site管理人は入れています。

認識系の細かい部品は、マイクロソフト製のものが使われいるからです。

insightface-0.7.3-cp312-cp312-win_amd64.whlは、当site管理人は、insightfaceフォルダに入れてあります。

フォルダも準備してうまくいかなかったときは、いろいろ試してみます。

ここまで進み、上のアドレスを削除してcmdを入力しコマンドプロンプトを立ち上げます。

当site管理人は、埋め込み型ComfyUIをWinsows11 Cドライブで使用しています。

pipをアップデートする

C:\ComfyUI_windows_portable\python_embeded\python.exe -m pip install -U pip

Insightfaceのインストール

C:\ComfyUI_windows_portable\python_embeded\python.exe -m pip install insightface-0.7.3-cp312-cp312-win_amd64.whl
場合によっては、
C:\ComfyUI_windows_portable\python_embeded\python.exe -m pip install insightface-0.7.3-cp313-cp313-win_amd64.whl

C:\ComfyUI_windows_portable\python_embeded\python.exe -m pip install -r requirements.txt

C:\ComfyUI_windows_portable\ComfyUI\custom_nodes\comfyui-ReActor のなかにある、install (windows)をダブルクリック

これでもだめなら、と、当site管理人は削除して何度も何度も設定した経験があります。

Workflow

ReActor_kiso.json

画像サイズ 横448(64×7) 縦576(64×9)にしましたが、任意サイズでも稼働します。

GPUなしでも十分に楽しめます。

当site管理人の古いノートパソコンでReActorを楽しんでいます。


Link