MakeitTalkで、1枚の顔画像を音声から動かす

1.はじめに

 以前、1枚の顔画像を動画の様に動かす、First-Order-Motion-Model という技術をご紹介しましたが、今回は1枚の顔画像を音声から動かす、MakeitTalkという技術をご紹介します。

2.MakeitTalkとは?

 以下に、MakeitTalkのパイプラインを示します。

 音声情報と1枚の顔画像から得た顔のランドマーク情報を、唇付近を制御するブロック(Speech Content Animation)と、顔全体を制御するブロック(Speaker -Aware Animation)に入力します。

 それぞれのブロックでLSTMなどを使ってランドマークの動きを予測し、その結果を合成して音声に同期した顔のランドマークの予測を行います。

 最後に、顔のランドマークの予測を元に、Face Warp あるいは Image2Image Translation で、顔画像を生成します。

3.コード

 コードはGoogle Colabで動かす形にしてGithubに上げてありますので、それに沿って説明して行きます。自分で動かしてみたい方は、この「リンク」をクリックし表示されたノートブックの先頭にある「Colab on Web」ボタンをクリックすると動かせます。

 まず、セットアップを行います。

 次に、学習済みの重みをダウンロードします。

 処理する静止画の指定とパラメータの設定を行います。静止画は examples フォルダーの中にある jpg の中から拡張子なしのファイル名で指定します。

 パラメータは、瞬きをするか、動画の初期状態で口を開けるか、そして口の縦横の動きや頭の動きをどの程度にするかを設定します。

 それでは、音声に連動して静止画が動くmp4動画を作成します。このとき音声は、examples フォルダーの中にある ***.wav を使います。

 作成したmp4動画を再生します。

 処理する静止画の指定のところで、default_head_name = ‘anime01’ に変更して順次実行すると

 デフォルトされ過ぎていたり鼻がハッキリ描いてないとダメですが、そうでなければこんなアニメ顔も動かせます。

 処理する静止画の指定のところで、default_head_name = ‘mask01’ に変更して順次実行すると

 顔のランドマークが検出できれば、こんな風にお面でも動かせます。

 では、また。

(オリジナルgithub)https://github.com/yzhou359/MakeItTalk

2 件のコメント

  • 大変、貴重な投稿ありがとうございます。勉強させていただいてます。
    Colabで試してみたのですが、いくつかのディレクトリ指定エラー(MakeItTalkのディレクトリを追加することで)を修正し動きそうなところまで行ったのですが、下記で同様にディレクトリ指定が異なるようで躓きます。こちらはどのように修正すれば動きますでしょうか?お時間あるときに教えていただければ嬉しいです

    /usr/local/lib/python3.7/dist-packages/torch/serialization.py in __init__(self, name, mode)
    209 def __exit__(self, *args):
    210 pass
    –> 211
    212
    213 class _open_file(_opener):

    FileNotFoundError: [Errno 2] No such file or directory: ‘examples/ckpt/ckpt_autovc.pth’

    • 勉強中さん
      こんにちは。
      エラーを見ると、学習済みモデルの重みのダウンロードの4行目で、ckpt_autovc.pthのダウンロードに失敗をしたことが原因です。
      重みはGoogle driveからダウンロードするのですが、ダウンロード回数が一定以上になると共有リンクからはダウンロードが不可になるというgoogle側の仕様のため、ダウンロードに失敗したと思われます。
      今やってみたところ問題なく動作しましたので、時間を置いてまたトライしてみて下さい。

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

    ABOUTこの記事をかいた人

    アバター

    ディープラーニング・エンジニアを趣味でやってます。E資格ホルダー。 好きなものは、膨大な凡ショットから生まれる奇跡の1枚、右肩上がりのワクワク感、暑い国の新たな価値観、何もしない南の島、コード通りに動くチップ、完璧なハーモニー、仲間とのバンド演奏、数えきれない流れ星。