Stable Diffusionの便利な拡張機能紹介記事です。
今回は顔を交換できるreactorについてご紹介します。
Reactorとは?
ReactorはFace Swapと呼ばれる顔を交換できる拡張機能です。
画像の顔を別の画像の顔と交換できます。
最近ではdeepfakeという動画の技術にも使われており、AIインフルエンサーなどのクオリティの高い動画は、これを使っていることが多いです。
元動画は実際に録ったもので、顔だけAIで変えるというもの。
またリアルタイムの映像に対してFaceSwapを使うこともできるため、動画配信などでも利用することができます。
今回は画像と画像ですが、Reactorで顔を入れ替える方法をご紹介します。
Reactorのインストール
WebUIを起動して、Extensions→Install from URL→URL for~に下記URLを入力し、Installボタンをクリックしてください。
https://github.com/Gourieff/sd-webui-reactor.git
インストール後にリスタート、または再起動すれば、ReactorのタブがUIに追加されます。
Reactorの使い方
Reactorはtxt2img、img2img、Extrasなどで使うことができます。
できることは同じですが、若干操作方法や特徴が異なるため、別々に紹介します。
txt2imgでReactorを使う方法
txt2imgで使うと生成する画像に対して、Reactorでセットした画像の顔を適用できます。
まずReactorのタブが追加されているので、チェックを入れてONにしてください。
生成する画像に適用したい顔の画像を取り込みます。
今回こちらの画像をお借りしました。https://www.pexels.com/ja-jp/photo/264614/
次にパラメータを設定します。
Save Original | 顔交換前の生成画像を保存するか |
Face Mask Correction | ピクセル化が目立つときに補正できる |
Source Image | ソース元画像が複数人居る場合にどの人物の顔を適用するか |
Target Image | 生成後の画像が複数人居る場合にどの人物の顔を入れ替えるか |
Gender Detection | ソース元・生成後の画像で適用する性別 |
Restore Face | 低画質画像の顔を復元 |
Restore Face Visibility | 顔の視認性を調整 |
CodeFormer Weight | CodeFormer使用時の重み |
設定が終わって生成すると、生成後の画像に対して、取り込んだ画像の顔が適用されます。
・左がオリジナル・右がReactor適用後
txt2imgでReactorを使うメリット
髪型や服装を固定しておけば、同一人物でさまざまなポーズやシチュエーションの画像が作れます。
プロンプトをいじりながら試行錯誤して画像生成したい場合は、txt2imgが便利です。
img2imgでReactorを使う方法
まずimg2imgタブで顔交換したい画像をセットします。クオリティを維持したい方は生成時のプロンプト・ネガティブプロンプトなども入力しておいてください。
次にReactorをオンして、適用させたい顔の画像を取り込みます。
サイズを画像に合わせます。
Resize toの右下にあるアイコンをクリックする、またはResize byで「1」を指定してください。
Denoising strengthによって多少結果が異なります。ここはお好みで調整してください。
これで実行すると取り込んだ画像に対して、Reactorにセットした画像の顔が適用されます。
img2imgでReactorを使うメリット
img2imgにはバッチ処理があるため、フォルダ内の画像全てに対して、Reactorの画像を適用できます。
後からまとめて顔だけ同一人物にするといったことが可能です。
同一人物の写真集・イラスト集などを作る場合は、作業の効率化ができます。
ExtrasでReactorを使う方法
Extrasも使い方はimg2imgとほぼ一緒です。
まずExtrasに顔を交換したい画像を取り込んでください。
Scale byを1にします。
ReactorをONにして、適用させたい画像を取り込みます。
これで実行すれば、顔交換が可能です。
ExtrasでReactorを使うメリット
細かい設定がいらないので、顔交換だけならExtrasが一番簡単です。
Extrasもバッチ処理が使えるので、img2imgと同じことができます。
またアップスケールやリサイズなど、他の機能と併用することが可能。
簡単に顔交換したい、他の機能と併用したい場合は、Extrasがおすすめです。
Reactorの使い方まとめ
今回はStable Diffusion Web UIでReactorを使う方法を紹介しました。
Reactorを使えば同一人物などの生成が楽になり、生成の幅が大きく広がります。
最近は動画生成でもよく使われているので、そちらについてはまた別の記事でご紹介します。
参考になれば幸いです。