Wayne Wu、Yunxuan Zhang、Ren Li によって作成されました。
顔の再現のための新しい学習ベースのフレームワークを紹介します。 ReenactGANとして知られる提案手法は、任意の人物の単眼ビデオ入力から対象者のビデオに顔の動きや表情を転送することができる。構造的なアーチファクトが生じる可能性があるピクセル空間内で直接転送を実行する代わりに、まずソース面を境界潜在空間にマッピングします。その後、トランスフォーマを使用して、ソース面の境界をターゲットの境界に適合させます。最後に、ターゲット固有のデコーダを使用して、再現されたターゲットの顔を生成します。効果的かつ信頼性の高い境界ベースの転送のおかげで、私たちの方法は写真のようにリアルな顔を再現できます。さらに、ReenactGAN は、再現プロセス全体が純粋にフィードフォワードであるため、再現プロセスをリアルタイムで実行できるという点で魅力的です。
このリポジトリのクローンを作成します。
git clone ...
cd ReenactGAN
境界エンコーダーは WFLW および Helen データセットでトレーニングされ、境界トランスフォーマーとデコーダーは両方とも CelebV データセットでトレーニングされます。エンコーダーのトレーニングには膨大な時間がかかるため、事前トレーニングされたエンコーダーは./pretrained_models/v8_net_boundary_detection.pthで入手できます。
境界トランスフォーマーをトレーニングするには、次を実行します。
sh script/train_Transformer.sh
引数--root_dirと--that_targetに注意する必要があります。 --root_dir はデータセットのディレクトリを指し、 --that_target はどの人物をターゲットにするかを指します。
0: Emmanuel_Macron
1: Kathleen
2: Jack_Ma
3: Theresa_May
4: Donald_Trump
デコーダをトレーニングするには、次を実行します。
sh script/train_Decoder.sh
また、対象者のディレクトリを参照する--root_dirの値に注意する必要があります。
モデルをテストするには、次を実行します。
sh script/move_models.sh ./checkpoints/Transformer_2019-xx-xx_xx-xx-xx/G_BA_xx.pth ./checkpoints/Decoder_2019-xx-xx_xx-xx-xx/xx_net_G.pth trump
sh script/test.sh
テストに使用されるイメージは ./test_imgs/samples/image にあり、テキスト ファイル ./test_imgs/samples/images_list.txt にはこれらのイメージのリストが含まれています。テストが完了すると、 resultsという名前の Floder が得られます。これには、実際の顔と再現された顔、境界、および実際の顔の変換された境界の画像が含まれています。ここにいくつかの結果を示します。
トレーニング済みモデルは Decoder と Transformer から取得できます。
ReenactGAN が研究に役立つと思われる場合は、以下を引用してください。
inproceedings{wayne2018reenactgan,
author = {Wu, Wayne and Zhang, Yunxuan and Li, Cheng and Qian, Chen and Loy, Chen Change},
title = {ReenactGAN: Learning to Reenact Faces via Boundary Transfer},
booktitle = {ECCV},
month = September,
year = {2018}
}
[email protected] までご連絡ください。