DeepFakeのやり方を見てみた

Etc

はじめに

Yokohara Hirokazuさんのツイートを見てまず感動。そしてやり方の動画まで紹介されていたのでそちらを見てみた。

紹介されていた動画

6分の動画というのがまた素晴らしい。私の動画も短くすることを心がけよう。

必要となるもの

  • Google アカウント
    • いくつもの許可設定がある為、動画で紹介している方は閲覧用のアカウントを用意して使ったとの事
  • 写真や動画はサンプルが提供される為不要だが、用意する場合は写真にしても動画にしても256×256のサイズとする

※あとこちらの記事を見ながら行う場合は、自己責任でお願いします

手順

1. Googleドライブにフォルダを作成

Newを押してFolderを追加する

フォルダー名は下記のとおりとする

first-order-motion-model

2. 下記ページを開く

colab.research.google.com

3. 実行

3.1. この行をクリックして下記の通り変更

上記を下記に変更

!pip install PyYAML==5.3.1  # ←この行を追加。
!git clone https://github.com/AliaksandrSiarohin/first-order-model
  • 追加した行は PyYAMLをインストールするという意味
  • インストール先は自身のGoogleアカウントのどこか
  • PyYAMLはYAMLというファイル形式の読み書きを行えるようにするパッケージ
  • YAMLはエクセルのcsvやWebで使われるjsonなどと同様であるルールで記載されたテキスト

3.2. 実行

下記のイメージはすでに実行後。ここにある枠をクリックするとGoogleが作成したものではないが本当に実行するか?と聞かれるのでOKを押す

3.3. 完了したら次の行も実行

  • この行は上の手順でインストールしたfirst-order-modelのディレクトリへ移動するという意味

3.4. 完了したら次の行も実行


GoogleドライブのフォルダーをColabにマウント(接続)する

実行するとURLが表示される。そのURLをクリックすると下記の注意書きが出てくる。

許可をするとコードが発行される。そのコードをフォームに貼り付けてEnter。

  • Googleドライブにフォルダーを追加しましたという表示が出てくる

3.6 追加されたフォルダーをクリックで開く

3.7 フォルダーの中から顔写真とmp4を選択しMake a copyする

  • png(顔)とmp4(動画)好きなものを1つずつ選択

私は下記でとりあえずやってみることに


mp4(動画)を右クリック。Make a copyする

  • png(顔)も同様にMake a copy

3.8 vox~ではじまる2つのファイルもMake a copyする

下記2つのファイルも同様にMake a copyする

  • vox-adv-cpk.pth.tar
  • vox-cpk.pth.tar

3.9 自分のGoogleドライブへ行きファイルをリネームする

このようなファイルが出来ている。

ファイルを右クリックして Rename。先頭に付けられた”Copy of “を消す。

  • 4ファイルすべて行う

結果

3.10 4ファイルをすべて選択して最初に作成した first-order-motion-modelフォルダへドラッグし移動する

3.11 コラボレートリーに戻りソースを修正→実行

  • 赤枠の部分に今回使うpngとmp4の名前を入れる
  • Ctrl+ Enterで実行
  • 暫く待つ

結果

  • これは画像と動画を並べただけ

3.12 次の行を実行

  • ここでモデルの作成を行っている模様

3.13 次の行を実行

  • 暫く待つ

結果

  • 口がないところに口が出来ている…
  • どうやらひどいサンプルを選んでしまった模様

3.14 別の方法でのアニメーション

上記は相対的なポジションを使用したアニメーションだが、絶対的なポジションでも可能。しかし対象の形はビデオの形状に合わせられる。

上記のセルを実行した結果 ↓

  • 頭がオバマさんの形になっている事がわかる

最後に

しかし顔写真と動画を用意すればこんな感じでできるということですね。

すごい…

VTuberは数カ月後には今とは断然違うようになっているでしょうね

とてもおもしろい動画でした。

しかし、顔を極端に動かしたりお笑い芸人が行う顔芸のような顔をするとものすごく歪み明らかにバグっている顔になります。

あと舌を出しても反映されません。

なので例にあるようにあまり顔が動かないもの用ですね。

といっても探せば激しく動くやつもあるでしょうけども。

タイトルとURLをコピーしました