FaceTalkで、音声から顔の3Dアニメーションを作成する

1.はじめに

 以前からこのブログでは、音声から顔画像を動かす技術(Live Speech PortraitsMakeitTalk)をご紹介して来ましたが、それらはいずれも出力が2次元でした。今回ご紹介するのは、音声から顔の3Dアニメーションを作成するFaceTalkという技術です。

2.FaceTalkとは?

 下記がシステムの概要です。まず、顔の3Dメッシュ・テンプレート(template mesh)をエンコードして特徴量に変換し、それをデコードしてアニメーションした顔の3Dメッシュ(animated mesh) に復元するU -Netを用意します。

 そして、音声(Speech signal)と顔の3Dキャプチャ信号(expression signal)をそれぞれエンコードしたものを融合し、カテゴリの潜在的な表現空間(Categorical latent space)にマッピングして、U -Netの特徴量に作用させます。

 それでは、早速コードを動かしてみましょう。

3.コード

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

 まず、セットアップを行います。pytorch3dのインストールはpipでは上手く行かず、Building wheelsで行う必要がありセットアップに20分位かかりますので、しばらくお待ちください。

 animete_face.py で音声からFaceMash動画を作成します。audioに、audioフォルダにある音声ファイル(wav)のどれを使用するか記入します。自分の用意した音声を使用する場合は事前にaudioフォルダにアップロードしておいて下さい。

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

 作成した動画をダウンロードする場合は、下記を実行します。

 では、また。

(オリジナルgithub)https://github.com/facebookresearch/meshtalk

コメントを残す

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

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

ABOUTこの記事をかいた人

アバター

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