cedro-blog

Live Speech Portraits で音声から顔画像を動かす

1.はじめに

 今回ご紹介するのは、音声から顔画像を動かす、Live Speech Portraits という技術です。

論文リンク

2.Live Speech Portraitsとは?

 まず、音声(Audio Stream)からGRUとマニホールド投影を使って深い音声表現を抽出します(Deep Speech Representation Extraction)。

 そして、LSTMとMLPを使った口の動きの予測(Audio to Mouth-related Motion)と自己回帰モデルを使った頭・上半身の動き予測(Probabilistic Head Motion Synthesis)をそれぞれ行い合成します。

 最後に、合成した予測結果を条件付き特徴マップにまとめ、画像翻訳ネットワークで動画のフレームを出力します(Photorealistic Image Synthesis)。

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

3.コード

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

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

  demo.pyを使って、音声に合わせて顔画像を動かしてみましょう。–idの後に人物名(May, McStay, Nadella, Obama1, Obama2)、–driving_audio の後に音声ファイル(wav)を指定します。

 自分の用意した音声(wav)を使う場合は、data/input フォルダーに自分のPCからドラッグ&ドロップでアップロードして、–driving_audiodで指定して下さい。

 demo.pyで作成される動画はaviなので、mp4に変換します。下記のコードのresults/の後に、人物/音声ファイル(拡張子なし)/音声ファイルを指定します。

 それでは、動画を再生してみましょう。

https://cedro3.com/wp-content/uploads/2021/09/Obama1.mp4

 もう1つやってみましょうか。人物をObama1→May、音声ファイルを00083.wav→osaka.wavに変更して実行すると、

https://cedro3.com/wp-content/uploads/2021/09/output4.mp4

 サッチャーが、おかんに説教する大阪の娘に変身します。ぜひ、色々やって楽しんでみて下さい。

 では、また。

(オリジナルgithub)https://github.com/YuanxunLu/LiveSpeechPortraits