「ディープフェイク動画を簡単に作成したい」
「roopを使うと顔の部分が低画質になってしまう・・・」
このような場合には、Ropeがオススメです。
この記事では、Ropeについて解説しています。
本記事の内容
- Ropeとは?
- Ropeのシステム要件
- Ropeのインストール
- Ropeの動作確認
それでは、上記に沿って解説していきます。
Ropeとは?
Ropeは、ディープフェイク動画を作成できるプロジェクトです。
ツール・アプリと言っても良いでしょう。
ディープフェイク動画の生成であれば、roopが有名です。
roopでも、ディープフェイク動画を生成することはできます。
しかし、roopでは顔の部分が低画質になってしまうという問題があります。
Ropeでは、その問題が解決されているのです。
それ以外にもroopにはない機能が多く備わっています。
次の動画は、Ropeによって生成されたディープフェイク動画です。
roopの弱点であった顔部分の低画質化を克服できています。
Ropeのシステム要件
Ropeは、Windowsで動く想定と記載されています。
そして、Python 3.10必須ということです。
また、それ以外では次のように記載されています。

roopと同じだということですね。
つまり、roopを動かす環境が必要だと言えます。
それについては、上記で載せたroopの記事に詳細を説明しています。
したがって、まずはroopをインストールして動かすことまで試してみてください。
遠回りに見えますが、最も近道だと言えます。
Ropeのインストール
Ropeは、Python仮想環境へのインストールがオススメです。
まずは、プロジェクトをダウンロードしましょう。
git clone https://github.com/Hillobar/Rope.git
ダウンロードできたら、リポジトリルートに移動しておきます。
cd Rope
ここで以下のファイルを確認できます。
requirements.txt
--extra-index-url https://download.pytorch.org/whl/cu118 numpy==1.23.5 opencv-python==4.7.0.72 scikit-image==0.21.0 tk==0.1.0 pillow==9.5.0 onnx==1.14.0 onnxruntime-gpu==1.16.2 protobuf==4.23.2 torch==2.0.1+cu118 torchvision==0.15.2 torchaudio==2.0.2 tqdm ftfy regex
CUDA 11.8で動くGPU版のPyTorchが前提となっています。
GPU版PyTorchについては、次の記事で説明しています。
システム要件を満たしていれば、次のコマンドを実行するだけです。
pip install -r requirements.txt
処理が完了したら、Ropeのインストールは完了です。
Ropeの動作確認
Ropeの動作確認を行います。
その前に、必要なモデルをダウンロードしておきましょう。
上記ページから、「models.zip」をダウンロードします。

ダウンロードしたファイルは、解凍しましょう。
解凍したディレクトリの中にある全ファイルを「models」ディレクトリに保存します。

これで準備はOKです。
では、以下のコマンドでRopeを起動します。
python Rope.py
上記コマンドを実行すると、次のようなGUI画面が表示されます。

使い方は、下記ページに詳しく記載されています。
https://github.com/Hillobar/Rope/wiki
注意する点は、次の部分です。

ここで指定するディレクトリにおいては、単純に人物画像を設置するだけで構いません。
次のように何も加工する必要がありません。

ディレクトリを指定すると、少しだけ待たされて次のように表示されます。

自動的に顔を切り抜いてくれるということです。
同じように、動画のディレクトリを指定すると動画のサムネイルが表示されます。

ここまで確認できれば、動画を選択します。

上記のように動画が表示されたら、「Find」をクリック。

そうすると選択中のシーンから、顔画像が取得されます。
複数人いれば、複数人分の顔画像が表示されることになります。
この状態で、入れ替えたい顔をそれぞれから選択します。

この状態で「Swap」をクリック。

そうすると、動画上の顔が入れ替わります。

再生ボタンを押すと、顔が入れ替わったままの状態で動画が再生されます。

その点でも、Ropeはroopよりも勝っています。
リアルタイムに確認できるというのは、メリットになりますね。
あと、デフォルトではRopeもroopと同じような画質です。

若干ぼやけていますよね。
この状態で「GFPGAN」をクリックしてみましょう。

そうすると、次のように高画質になります。

ただし、この高画質モードでの動画再生は速度が一気に落ちます。
それだけ負荷が高いということでしょう。
確認して、OKとなれば録画モードにします。

録画モードで再生すると、録画が始まります。
生成された動画は、画面下部の以下アイコンで選択できるディレクトリに保存されます。
