【これで解決】Stable Diffusion 顔を入れ替える拡張機能 roopのエラー解消方法 AI画像生成

かな(見習い)
かな(見習い)

roopっていう拡張機能が便利そうだったから入れてみたけど、
メニューがでないから使えない、なんでだろ、、

ナカ(マスター)
ナカ(マスター)

roopの導入エラーの要因は2つある、
だからその2つの要因を潰せば導入できるぞ☆

かな(見習い)
かな(見習い)

なるほどメニューがでてこないのはエラーが発生してるから
なんですね、
マスターその2つのやり方とやらを教えてください!

roopのサービスは終了したからエラーが出る

roopは8月くらいにサービスを終了しており、
そこからアップデートなどが行われていない
状況となっています。

なのでその状況のファイルをダウンロードして
使おうとしてもエラーが発生するようになっています。

エラーが出ているかどうかはどうやってわかるの?

roopを導入したにも関わらず使用できない時点で
エラーが出ていると判断することもできますが、

・roopのメニューが出てこない
・グーグルコラボの箇所に「module error」のような文言が出ている

このような側面からもエラーが出ていると判断できます。

このエラーの要因は2つに分けることができ、
その対処方法もそれぞれあるので順番にご紹介します。

エラー要因1:roopモデルが入っていない

roopの拡張機能導入時にroopモデルも自動的に
入るはずなのですが、

これが入っておらずroopモデルフォルダが空になっている
ことによってエラーが発生している場合があります。

その場合はこちらのサイトから「inswapper_128.onnx」という
ファイルをダウロードしてフォルダに入れてみてください。


https://github.com/facefusion/facefusion-assets/releases


パッと見「inswapper_128.onnx」がないように見えますが、
「show all 35 assets」を押すと見えてないファイルが表示される
ようになるのでそこにファイルがあります。

ダウンロードした後の流れ

ファイルをダウンロードしたらstable diffusionのmodelフォルダを
開くと「roop」というフォルダがあると思うのでこの中に入れます。

roopフォルダの中身がこのような状態になれば完了になります。

このやり方でroopが使えるようになった場合は
ここで終わりになるので、2つ目の対策をする
必要はありません。

上記をやってもroopが使えるようにならない場合は
これから説明する2つ目の対策を行ってみてください。

エラー要因2: バージョンが合っていない

roopに必要なモジュールが入っていないか、
そのモジュールのバージョンがあっていない場合に
エラーが発生します。

モジュールを理解しようとすると逆にややこしくなる
と思うので説明割愛します。

モジュールがわからなくても以下の手順に沿って
進めれば解消させることができます。

1.何のモジュールが入っていないのかを特定


グーグルコラボなどのメッセージ箇所に「module error」が出ていると思うので
そこの右側のカンマで囲まれている名前が不足しているモジュール名でそれを
入れるようにする流れになります。

roopエラーの場合、

・insightface
・ifnude
・onnxruntime

この3つのどれかが不足していることがほとんどなので
どれが不足しているかよくわからない場合は3つ順番に
入れていくのも良いかと思います。

2.不足しているモジュールをPCに入れる

まずstable diffusionのフォルダの
venvフォルダを開きます。

その中に「Scripts」フォルダがあるのでこちらを
開きます。

「Scripts」フォルダ内でアドレス箇所を「cmd」と
入れてコマンドプロンプトを開いてください。

この開き方じゃなくても「Scripts」フォルダに対して
指示が出せる状態でコマンドプロンプトを立ち上げる
やり方でしたらなんでも大丈夫です。


コマンドプロンプトを立ち上げたら、不足しているモジュールを入れます。

「pip install 不足しているモジュール名」でエンターを押します。

例えばinsightfaceが不足している場合は「pip install insightface」と入れて
エンターを押します。

モジュールが入ったあとに上記の文言が出ない場合は、モジュールが問題なく
入っているので、終わりになります。

上記の文言が出た場合はバージョンを合わせる必要があるので、
緑色の「python.exe -m pip install –upgrade pip」部分をコピペして
エンターを押してください。

終わったら再度「pip install 不足しているモジュール名」でエンターを押します。

こういう感じになったら問題なくモジュールが入っています、
コマンドプロンプトを閉じてstable diffusionを起動させて
みてください。

恐らくroopのメニューが出てきて使えるようになっていると
思います。

まとめ:登れば見える景色がある

stable diffusionの顔を入れ替える拡張機能「roop」の
導入エラー解消方法について解説しました。

導入だけで今回のような対策をしないといけないのは
とても手間ではありますが、

それに見合うだけの価値のある拡張機能なので
ぜひエラーを解消させて活用できるようにしてみてください。