Roop は Stable Diffusion Web UI 用のDeepFake機能としてリリースされましたが、現時点では開発プロジェクトが中止されており、2023年10月1日以降は更新されていません。
とはいうものの、簡単かつ手軽にDeepFakeが体験できる点や、2024年4月時点の他のDeepFakeアプリにも引けを取らない性能と品質を誇っているため、いまだに根強い人気があります。
今回は Roop のインストールと使い方について紹介します。くれぐれも悪用は厳禁でお願いします。
ちなみに、Roopの後継として roop-unleashed がリリースされましたが、Roopのフォーク版としてnsfw-roop が登場しています。
後継版 | 【失敗しない】PCでDeepFake!roop-unleashedのインストール方法&使い方(スクリーンショットで丁寧解説) |
---|---|
フォーク版 | 【失敗しない】PCでDeepFake!nsfw-roop のインストール方法&使い方(スクリーンショットで丁寧解説) |
それから、「【生成AI入門】ディープフェイクの作り方と有名アプリ一覧(パソコン編)」の記事では、他の DeepFake アプリについても紹介していますので、興味のある方は併せてご覧ください。
Roopの公式サイト
roop の概要とソースコードは、Git上にある roop公式ページに掲載されています。本記事では、ここに記載されいている内容をできるだけわかりやすく解説したものになります。
https://github.com/s0md3v/roop/blob/main/README.md
インストールの前提条件
以下のサイトにインストール手順が記載されています。本記事もこの内容を元に解説していますが、インストールのしやすさを考慮して少し内容を変えています。
https://github.com/s0md3v/roop/wiki/1.-Installation
Python/CUDAのバージョン
動作に必要な環境は次の通りです。
必要な環境・ライブラリ | バージョンなど | 備考 |
---|---|---|
Python 環境 | Python 3.10 | |
Git 環境 | その時の最新版 | |
FFMPEG | その時の最新版 | 動画作成に使用 |
CUDA Toolkit | 11.8 | CPUで動かすならインストール不要 |
cuDNN | v8.9.7 | CPUで動かすならインストール不要 |
インストール手順の概要
次の手順でインストールを行います。既にインストール済みの場合はその手順を省き、Step2から行ってください。
Step1 Python動作環境の構築 | ①Python 3.10の環境準備 ②Gitの環境準備 ③CUDA Toolkit 11.8のインストール ④cuDNN のインストール ⑤Microsoft Visual C++ 2015 再頒布可能パッケージのインストール ⑥Microsoft Visual Studio 2022 ビルド ツールのインストール ⑦FFMPEGのインストール |
---|---|
Step2 roopのインストール | Gitからroopをインストール |
インストール手順
Step1.Python動作環境の構築
「【最初の一歩】生成AI向けPython環境構築手順(スクリーンショットで解説)」の記載内容(①~⑦)を実行してください。
Step2.roopのインストール
コマンドプロンプトを開き、インストールしたい場所にフォルダを移動します。
続けて、以下のコマンドを入力、実行してください。
git clone https://github.com/s0md3v/roop
cd roop
python.exe -m venv .roop
.roop\Scripts\activate
.roop\Scripts\pip.exe install -r .\requirements.txt
インストールした場所に roop という名前のフォルダが作成され、様々なモジュールやモデルがダウンロードされます。完了までに十数分くらい掛かると思います。
処理が終わったら次のような画面になります。
ここで次のコマンドを実行します。これは roop がサポートしていないドライバをアンインストールするためのコマンドです。
pip uninstall onnxruntime onnxruntime-gpu
Y/n ? を聞かれるので、そのままエンターキーを押します。これで古いドライバが削除されました。
次に、roop が対応しているドライバをインストールするため、次のコマンドを実行します。
pip install onnxruntime-gpu==1.15.1
以上でインストール作業は完了です。
Roopの起動方法
コマンドプロンプトを開き、Ropeをインストールしたフォルダの直下に移動します。行します。
次のコマンドを実行します。
cd roop
.roop\Scripts\activate
python run.py --execution-provider cuda
起動すると次の画面が表示されます。
Roopの使い方
他のDeepFakeとは異なり、使い方は非常にシンプルです。顔写真と置き換えたい動画を選択し、Startボタンをクリックし、出力先フォルダを指定するだけです。
出力先フォルダを選択するタイミングで「output.mp4」というファイル名が初期値になっていますので、必要に応じて任意の名前を入力して下さい。
実行中は画面に進捗状況がバーで表示されます。処理が完了すると「Processing to video succeed!」が表示され、顔が置き換わった動画が出力フォルダに出力されます。
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 | プログラムのバージョン番号を表示して終了する |
まとめ
roop の開発プロジェクトは現在既に中止されており、2023年10月1日以降は更新がされていません。後継としてroop-unleashedが、フォーク版として nsfw-roop が登場しているので、今後はそちらが更新されていくことになるでしょう。
あえて今、roop を選択する必要は無いかもしれませんが、 nsfw-roop run.py に引数を指定してバッチ処理ができるところは roop の強みであり、2024年6月現在においては、他のDeepFakeアプリと比べて品質や性能面で遜色は無いので、バッチ処理がしたい方にはお勧めです。
※ nsfw-roop も roopと同様バッチ処理が行えます。
コメント