Stable Diffusion Web UI 用のDeepFake機能としてリリースされ、その後開発プロジェクトが中止された Roop ですが、そのフォーク版(元のソースをコピーして改変を加えたもの)として nsfw-roop が登場しています。
以前、Roopの後継版として roop_unleashed を紹介しましたが、こちらは完全に作り直されているのに対し、今回紹介する nsfw-roop は当初の Roop と見た目は同じで、新たにライブ映像に対する顔交換機能が追加された形となっています。
本記事では nsfw-roop のインストール方法と簡単な使い方について解説していますので、試してみたい方は是非参考にしてください。
後継版 | 【失敗しない】PCでDeepFake!roop-unleashedのインストール方法&使い方(スクリーンショットで丁寧解説) |
---|---|
元祖Roop | 【失敗しない】PCでDeepFake!Roop のインストール方法&使い方(スクリーンショットで丁寧解説) |
DeepFakeアプリは他にもいろいろありますので、興味のある方は「【生成AI入門】ディープフェイクの作り方と有名アプリ一覧(パソコン編)」の記事も併せてご覧ください。
nsfw-roopの公式サイト
nsfw-roop の概要とソースコードは、Git上にある nsfw-roop公式ページに掲載されています。本記事では、ここに記載されいている内容をできるだけわかりやすく解説したものになります。
https://github.com/GosuDRM/nsfw-roop?tab=readme-ov-file
インストールの前提条件
nsfw-roopのページでは、インストール方法へのリンク(下記)が記載されていますが、これは元祖 Roop のインストール方法を紹介したもので nsfw-roop のインストール手順とは少し異なります。この通りやっても動作しませんのでご注意ください。
https://github.com/s0md3v/roop/wiki/1.-Installation
Python/CUDAのバージョン
動作に必要な環境は次の通りです。(Roopと同じ)
必要な環境・ライブラリ | バージョンなど | 備考 |
---|---|---|
Python 環境 | Python 3.10 | |
Git 環境 | その時の最新版 | |
FFMPEG | その時の最新版 | 動画作成に使用 |
CUDA Toolkit | 11.8 | CPUで動かすならインストール不要 |
cuDNN | v8.9.7 | CPUで動かすならインストール不要 |
インストール手順の概要
次の手順でインストールを行います。Step1はRoopと全く同じなので、既にインストール済みの場合はStep2から実行してください。
Step1 Python動作環境の構築 | ①Python 3.10の環境準備 ②Gitの環境準備 ③CUDA Toolkit 11.8のインストール ④cuDNN のインストール ⑤Microsoft Visual C++ 2015 再頒布可能パッケージのインストール ⑥Microsoft Visual Studio 2022 ビルド ツールのインストール ⑦FFMPEGのインストール |
---|---|
Step2 nsfw-roopのインストール | Gitからnsfw-roopをインストール |
Step3 inswapper_128.onnxのインストール | Hugging face から inswapper_128.onnx をダウンロードし 所定のフォルダにコピー |
インストール手順
Step1.Python動作環境の構築
「【最初の一歩】生成AI向けPython環境構築手順(スクリーンショットで解説)」の記載内容(①~⑦)を実行してください。
Step2.nsfw-roopのインストール
コマンドプロンプトを開き、インストールしたい場所にフォルダを移動します。
続けて、以下のコマンドを入力、実行してください。
git clone https://github.com/GosuDRM/nsfw-roop.git
cd nsfw-roop
仮想環境でのインストールが推奨されているので、.nsfw という名前で仮想環境を作成し、その仮想環境にインストールします。従って、次のコマンドを実行してください。
python.exe -m venv .nsfw
.nsfw\Scripts\activate
.nsfw\Scripts\pip.exe install -r .\requirements.txt
インストールした場所に nsfw-roopという名前のフォルダが作成され、様々なモジュールやモデルがダウンロードされます。完了までに十数分くらい掛かると思います。
処理が終わったら次のような画面になります。
ここで次のコマンドを実行します。これは nsfw-roopがサポートしていないドライバをアンインストールするためのコマンドです。
pip uninstall onnxruntime onnxruntime-gpu
Y/n ? を聞かれるので、そのままエンターキーを押します。これで古いドライバが削除されました。
次に、nsfw-roop が対応しているドライバをインストールするため、次のコマンドを実行します。
pip install onnxruntime-gpu==1.15.1
Step3.inswapper_128.onnx のインストール
次に、Hugging Face から inswapper_128.onnx というモデルファイルを下記リンクからダウンロードし、modelsフォルダにコピーします。赤丸の「LFS」をクリックするとダウンロードできます。
https://huggingface.co/ezioruan/inswapper_128.onnx/tree/main
nsfw-roop の下にある models フォルダに inswapper_128.onnx をコピーしてください。
以上でインストール作業は完了です。
nsfw-roopの起動方法
コマンドプロンプトを開き、nsfw-ropeをインストールしたフォルダの直下に移動します。
次のコマンドを実行します。
cd nsfw-roop
.nsfw\Scripts\activate
python run.py --execution-provider cuda
起動すると次の画面が表示されます。
nsfw-roopの使い方
Roop とほぼ同じですが、ライブ映像へのDeepFaceボタンが追加されています。使い方は非常にシンプルで、顔写真と置き換えたい動画を選択し、Startボタンをクリックし、出力先フォルダを指定するだけです。
出力先フォルダを選択すると「output.mp4」というファイル名が初期値になっていますので、必要に応じて任意の名前に書き換えてください。
実行中は画面に進捗状況がバーで表示されますが、表示内容はRoopと全く同じです。処理が完了すると「Processing to video succeed!」が表示され、顔が置き換わった動画が出力フォルダに出力されます。
nsfw-Roopにも、Roopと同様に run.py 実行時に指定できる引数(オプション)が多数存在しています。これを使うことで、複数の動画をバッチ処理で変換することも可能です。
プション | 説明 |
---|---|
-h, --help | このヘルプメッセージを表示して終了する |
-s SOURCE_PATH | ソース画像を選択するパス |
-t TARGET_PATH | ターゲット画像または動画を選択するパス |
-o OUTPUT_PATH | 出力ファイルまたはディレクトリを選択するパス |
--frame-processor FRAME_PROCESSOR | フレームプロセッサ(選択肢:face_swapper、face_enhancer、...) |
--keep-fps | ターゲットのFPSを保持する |
--keep-frames | 一時フレームを保持する |
--skip-audio | ターゲットのオーディオをスキップする |
--many-faces | すべての顔を処理する |
--reference-face-position REFERENCE_FACE_POSITION | 参照顔の位置 |
--reference-frame-number REFERENCE_FRAME_NUMBER | 参照フレームの数 |
--similar-face-distance SIMILAR_FACE_DISTANCE | 認識に使用する顔の距離 |
--temp-frame-format {jpg,png} | フレーム抽出に使用される画像形式 |
--temp-frame-quality [0-100] | フレーム抽出に使用される画像品質 |
--output-video-encoder {libx264,libx265,libvpx-vp9,h264_nvenc,hevc_nvenc} | 出力ビデオに使用されるエンコーダー |
--output-video-quality [0-100] | 出力ビデオの品質 |
--max-memory MAX_MEMORY | 最大RAM量(GB単位) |
--execution-provider {cpu} [{cpu} ...] | 利用可能な実行プロバイダ(選択肢:cpu、...) |
--execution-threads EXECUTION_THREADS | 実行スレッド数 |
-v, --version | プログラムのバージョン番号を表示して終了する |
まとめ
今回は nsfw-roop についてインストール方法と使い方を紹介しました。
Roop の開発プロジェクトが昨年10月に中止され、後継としてroop-unleashedが登場しましたが、 Roopのフォーク版として登場したのがnsfw-roopです。
roop のシンプルな画面と操作はそのままに、Webカメラを使ったライブ映像のDeepFake映像が作成できる機能が追加されています。
nsfw-roop も今後バージョンアップ重ねて、本家とは違う方向に進化していったら楽しいですね。
コメント