はじめに
今回は手軽にディープフェイク動画が作成できるFaceswapのインストール手順から簡単な使用方法をご紹介します。黒い画面(コマンドプロンプト)を立ち上げて怪しい呪文(コマンド)を打ち込まずとも、ウィンドウ画面で簡単にディープフェイク動画ができますのでパソコン初心者の方でも気軽にお試しできます!
ディープフェイクとは?
以下の画像をご覧ください。左側が元々の画像で、元々の画像の顔を入れ替えて右側の画像が作成されました。つまり、右側の画像はフェイク(偽物)です。
https://www.youtube.com/watch?v=iHv6Q9ychnA
今回は、このように元々の画像に対して違う人物の顔を付け替えるという動画の作り方をご紹介していきます。なお、作成したフェイク動画を一般公開する場合は倫理上の問題などもありますので注意が必要です。
動作環境について
では、早速ディープフェイク動画が作成できるFaceswapをインストールしていきましょう。
Faceswapアプリの動作環境は以下です。
- Windows 10 (64bit版)
- 時間が掛かるのを待つ忍耐力
Windows 10の64bit版であれば、インストール可能です。Windows10であれば大抵64bit版ですので、64bit版かどうかが分からない場合は、インストール可能だと考えてもらってOKです。
(詳しい方向け:Linuxなどでもインストールできます。)
CPUでのFaceswapアプリ実行は、相当の時間(1週間とか)が掛かる為現実的ではありませんが、どのように作るのか試してみたい、ディープフェイク動画を作る雰囲気を感じたいということでしたらCPUでもOKです。(CPUとかGPU何それ?という方でしたら、ここはスルーしてもらって大丈夫です。)
インストール手順
-
以下のリンクから、「faceswap_setup_x64.exe」をダウンロードしてください。
https://github.com/deepfakes/faceswap/releases
-
ダウンロードした「faceswap_setup_x64.exe」 を実行します。
「この不明な発行元からのアプリがデバイスに変更を加えることを許可しますか?」というウィンドウ画面が出ますので、「はい」を押します。 -
以下の画面が出てきますので、インストールするフォルダを選択します。特に拘りがない場合は、インストール場所はそのままで「Next」をクリックします。
-
インストールの内容を設定する画面が出来てきます。
赤枠内の「NVIDIA GPU」「AMD GPU」「CPU」のいづれかを選択してください。
どれを選べばよいかわからない、あるいはとりあえず試してみたいという方は、一番右側のCPUを選択して「install」をクリックします。
(詳しい方向け: 既にAnacondaをインストールされている方の端末では、若干画面の表示が下記とは異なっていますが、GPUあるいはCPUの選択が必要です。デフォルトではfaceswapという名前で、ご使用されているAnaconda上に新たな仮想環境が作成されます。)
-
インストールが始まりました。インストールが終わるまで待ちましょう。端末によりますが15分から数時間程度の時間が掛かります。(詳しい方向け:SSDドライブへのインストールで15分程度掛かりました。)
-
インストールが終わったら、「close」をクリックします。
-
デスクトップを確認するとインストールされたFaceswapアプリが確認できます。
フェイク動画の作成手順
早速、Faceswapアプリを実行していきたい所ですが、その前にフェイク動画の作成手順を簡単に見ておきましょう。ここでは分かりやすくするために、ドラエモンの映画に出てくるドラエモンの顔をサザエさんに替えるフェイク動画を作るというシナリオを考えていきます。出来上がるフェイク動画はドラエモンの映画なのですが、ドラエモンの顔が全てサザエさんになっています。イメージできましたか?
手順1.
ドラエモンの映画からドラエモンの顔画像を抜き出します。
手順2.
サザエさんの顔の画像を集めます。(今回の説明では、サザエさんの顔の収集方法に関しましては割愛させて頂きます。)
手順3.
手順1で抜き出したドラエモンの顔画像と、手順2で集めたサザエンさんの顔画像をどのように取り換えればよいのかをFaceswapアプリに学習させます。(モデルの作成)
手順4.
手順3で学習させた内容(モデル)に基づいて、ドラエモンの映画のドラエモンをサザエさんに変換させます。
手順5.
手順4で出来上がるのは、ドラエモンの顔がサザエさんになっている動画ではなく、ドラエモンの顔がサザエさんになっている画像の集まりです。その為、ドラエモンの顔がサザエさんになっている画像の集まりを全部繋げると、ドラエモンの顔がサザエさんになっているドラエモンの映画が作れます。
先にお伝えしておくと、今回はFaceswapアプリで実行可能な上記手順の手順4まで実行してみます。
最終的な成果としては、ドラエモンの顔がサザエさんになっているドラエモンの映画の「連続した細切れ画像」が出来上がります。パラパラ漫画といえばよいでしょうか。
「連続した細切れ画像」を全部くっつける(手順5)を実施すると最終的に動画が作成可能になりますが、こちらは別途機会を設けて実行手順を実施させて頂く予定です。
Faceswap利用手順1. ドラエモンの映画からドラエモンの顔画像を抜き出す。
-
デスクトップに作成されたアイコンをダブル・クリックして実行します。実行直後は怪しい黒い画面が立ち上がりますが暫く待ちましょう。
-
Faceswapのアプリが立ち上がりました。
-
最初に「Extract」というタブで、ドラエモンの映画からドラエモンの顔画像を集める作業を実行していきます。
「Extract」タブの「Input Dir」右の映画フィルムのようなアイコンになっている画面内赤枠をクリックします。クリックすると新たなウィンドウが出現しますのでドラエモンの映画(元となるオリジナルの動画)を選択してください。
-
次に、「Output Dir」右のフォルダのようなアイコンになっている画面内赤枠をクリックします。クリックすると新たなウィンドウが出現しますので、ドラエモンの映画から抜き出すドラエモンの顔画像が出力されるフォルダ(お好きな場所)を選択してください。
-
そして、画面下側にある「Extract」をクリックします。
-
「Extract」をクリックすると、ドラエモンの映画からドラエモンの顔画像を抜き出す作業が開始されます。「Output Dir」の項目で指定したフォルダに、ドラエモンの顔画像が作成されていきます。
画面右下で進捗状況が確認できます。進捗状況が100%で完了したら次の作業に進んでください。
(サザエさんの顔画像を集める手順は省略します。)
Faceswap利用手順2. 顔画像を取り換える学習
-
ドラエモンの映画から抜き出したドラエモンの顔と、集めたサザエンさんの顔画像をどのように取り換えたらよいのかを学習させます。「Train」タブをクリックします。
-
「Input A」の右側にある赤枠をクリックします。新たなウィンドウが開きますので、ドラエモンの顔画像を集めたフォルダを指定します。
-
「Input B」の右側にある赤枠をクリックします。新たなウィンドウが開きますので、サザエさんの顔画像を集めたフォルダを指定します。
-
「Model Dir」の右側にある赤枠をクリックします。新たなウィンドウが開きますので、ドラエモンの顔とサザエさんの顔をどのように取り換えればよいのかという情報を集めるフォルダ(お好きな場所)を指定します。この「Model Dir」で指定した場所は後ほど必要になりますので「モデル・フォルダの場所」と覚えておいてください。
-
そして、画面下側の「Train」をクリックします。
-
「Train」をクリック直後は、Faceswapアプリの右側に以下画面のように何も表示されていませんので、暫く(数分程度)待ちましょう。
-
暫くすると顔の画像をどのように取り換えればよいのかという学習の進捗状況が画像として表示されます。学習の進捗状況は、以下の表に画面右下で確認できます。「Loss A」、「Loss B」の値が「0.02」(注意:0.2ではないです。)以下になったら「Stop」を押して学習を停止させてください。この「0.02」以下になるのは、実行しているPC環境によりますが数時間から数週間程度掛かります。もう待てない!という場合も、「Stop」を押して学習を停止させて次の手順に進んで頂いてOKです。
「Loss A」、「Loss B」の値が低ければ低いほど、より鮮明なフェイク動画が作成できます。
Faceswap利用手順3. ドラエモンの顔をサザエさんに取り換える
-
ドラエモンの映画から抜き出したドラエモンの顔と、集めたサザエンさんの顔画像を実際に取り換えて行きます。「Convert」タブをクリックします。
-
「Input Dir」の右側にある赤枠をクリックします。新たなウィンドウが開きますので、取り換える元となるドラエモンの映画を指定します。
-
「Output Dir」の右側にある赤枠をクリックします。新たなウィンドウが開きますので、ドラエモンの顔をサザエンさんの顔に取り換えたドラエモンの映画(の画像セット)を出力するフォルダ(お好きな場所)を指定します。
-
「Model Dir」の右側にある赤枠をクリックします。新たなウィンドウが開きますので、上記手順で「モデル・フォルダの場所」として指定したフォルダを選択してください。
-
最後に「Convert」をクリックします。「Output Dir」で指定したフォルダに顔がサザエさんなドラエモンの映画(の画像セット)が出力されていきます。
終わりに
最後までお付き合い頂きありがとうございまいた。最終的に細切れな画像のセットを繋げて動画にする際には、「ffmpeg 」などのツールが使えるようですのでご興味のある方は試してみてください。
追記
最終的に顔が変わった画像ではなくて、顔が変わった動画を最終的に出力するには、「Faceswap利用手順3. ドラエモンの顔をサザエさんに取り換える」の際に使用する「Convert」タブで、「Writer」項目を「Ffmpeg」に変更してあげれば動画が出力されるようです。
(「Convert」タブが下にスクロールできない場合は、ウインドウの幅を広げるなど調整してみてください。)
参考
https://github.com/deepfakes/faceswap/
https://forum.faceswap.dev/viewtopic.php?t=54