HyperAI超神経

GeneFace++ デジタル ヒューマン デモ

GeneFace++: ユニバーサルで安定したリアルタイムオーディオ駆動型 3D 話し顔生成テクノロジー

このチュートリアルでは、手順に従うだけで、すべての人に適切な環境がセットアップされ、パーソナライズされたデジタル ヒューマンを生成できます。

1. プロジェクトの紹介

GeneFace は、オーディオを使用して 3D 顔合成リップスピーチビデオを駆動できます。これは、さまざまな分野のオーディオに対応する自然な結果を生成できる、多用途で忠実度の高い NeRF ベースの話し顔生成方法です。具体的には、GeneFace は大規模な口唇言語コーパスで変分モーション ジェネレーターを学習し、結果を調整するためにドメイン適応型後処理ネットワークを導入します。広範な実験により、GeneFace の方法は、以前の方法と比較して、より多用途で忠実度の高い話し顔の生成を実現できることが証明されました。

2. デモ走行方法

ビデオチュートリアルのリファレンス:[ゼロ基本 + ナニー レベル] クローン デジタル ヒューマンを作成するプロセス全体を明らかにし、GeneFace++ はハードウェア要件なしでワンクリックでアクティブ化でき、誰でもデジタル クローン チュートリアルを学ぶことができます

1. Webページにアクセスします

コンテナを起動した後、API アドレスをクリックして Web インターフェイスに入ります

2. ウェブサイトを閉じる

Web サイトを実行しているターミナルで次のように入力します Ctrl + C  これによりウェブサイトの運営は終了となります。ターミナル ページが閉じている場合は、ワークスペースの左側のタブで 2 番目の項目を選択すると、閉じたターミナル ページを取得できます。

3ß

端末でプログラムが実行されている場合、他のコマンドは実行できません。現在のプログラムを終了するか、新しいターミナルを開いて他のコマンドを実行するかを選択できます。

3. トレーニングパーソナライズモデルの運用方法

以下は、画像とリンクの位置を変更せずに、コンテンツをクリーンで理解しやすくするために整理された Markdown ドキュメントです。

1. 準備

独自のデジタル ヒューマン ビデオの準備をしましょう。トレーニングされたビデオは自動的に切り取られるため、ビデオの幅と高さは正方形にすることをお勧めします。 512 * 512  サイズ。ビデオが他のサイズの場合、トリミング後に黒い枠が表示される場合があり、過度の黒い枠はトレーニング効果に影響を与えます。ビデオ形式は次のとおりである必要があります mp4、Web ページの左下隅にあるアップロード領域にビデオをドラッグしてアップロードします。

注意すべき点:

  • ビデオ名には漢字を含めないでください。
  • ビデオの背景はきれいで不必要な要素がない必要があり、できれば単色の背景にする必要があります。背景要素が多すぎる、または乱雑である場合、背景の抽出に失敗することがあります。
  • ビデオ内の顔は鮮明である必要があり、顔が写真の被写体部分を占める必要があります。顔がぼやけるので、半身動画ではなく、肩から上からのアップ画像をおすすめします。

サンプル画面は以下の通りです⬇️
メイメイ

トレーニングパラメータの推奨事項

適切なトレーニング ステップ数を選択します。50,000 ステップ以上をお勧めします。参考時間は以下の通りです。

  • プロジェクト提供のサンプルビデオ(5月):
    ビデオの長さは約 4 分で、データ セットの作成には約 1 時間かかります。 1 つのモデルを 50,000 ステップでトレーニングするには、約 1 時間かかります。
    全体的なトレーニングには 2 つのモデルの作成が必要で、合計で約 2 ~ 3 時間かかります。
  • ビデオの長さの推奨事項:
    動画の長さは 3 ~ 5 分である必要があります。動画が短すぎると長時間トレーニングしても良い結果が得られにくく、長すぎるとトレーニング時間が長くなってしまいます。

トレーニングの進捗状況

ターミナルで次のコマンドを実行して、トレーニングの進行状況を確認できます。 bash tail -f app.log   このビデオを表示するときはトレーニング済みです!トレーニング完了! 

モデルのトレーニング結果

トレーニングが完了すると、次のことが可能になります。 torso model ckpt path or directory  ビデオに関連する 2 つのフォルダーを見つけます (次の場所にあります)。 motion2video_nerf  ディレクトリ)。選ぶ videoid_torso  フォルダー内のモデルはすぐに使用できます。

注意すべき点:

  • 右側の最初の 2 つのモデルを選択する必要があります。選択しない場合は、デフォルトのモデルが使用されます。
  • 最初のモデルは音声からジェスチャへの変換モデルで、選択します audio2motion_vae のモデルが使用可能です。
  • 頭部モデルが胴体で選択されている場合、エラーが報告される場合があります。
    Inference ERROR: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!!

トレーニングされたモデルを使用する

すでにトレーニング済みのモデルがある場合は、それを同様のフォルダー構造に配置して直接使用できます。

2.再訓練

モデルをトレーニングするプロセス全体は、データ セットの生成、頭部モデルのトレーニング、肩モデルのトレーニングとして要約できます。予期せぬ中断によりプロセスの一部を繰り返したり、最初からやり直すことを避けるために、コードは各ステップが完了するたびに完了ステップを記録します。同じ名前のビデオの場合、すでに実行された手順はスキップされ、前回完了しなかった手順が直接実行されます。

新しいステップ数でモデルを再トレーニングする場合は、2 つのトレーニング済みフォルダーを削除するだけで済みます。次のコマンドを実行してモデル フォルダーを削除できます。肩モデルのみを再トレーニングしたい場合は、胴体フォルダーを削除してください。

rm -r /openbayes/home/geneface_out/checkpoints/motion2video_nerf/把这里换成你的视频名称_head
rm -r /openbayes/home/geneface_out/checkpoints/motion2video_nerf/把这里换成你的视频名称_torso

4. クリーンなデータ

再トレーニングする予定がない場合は、ダウンストリーム スクリプトを実行すると、データ セット内のすべてのデータがクリアされ、スペースを節約できます。データセットの作成にも時間がかかるため、削除する場合は慎重に行ってください。ビデオ名を入力するときにサフィックスは必要ありません mp4

/output/clear_video_data.sh 你的视频名称

ビデオのすべてのデータを完全に消去したい場合は、次のスクリプトを実行できます。

/output/clear_video_data.sh/output/clear_all_data.sh 你的视频名称

5. フォルダー構造の概要

新しいビデオをトレーニングすると、geneface_out の下に次のファイルとフォルダーが生成されます。VIDEO_ID はビデオの名前です。

- geneface_out

-- binary
--- videos
---- {VIDEO_ID}
----- trainval_dataset.npy # 制作好的数据集,推理和训练的时候都用它

--processed #生成数据集过程中存放数据的文件夹
--- videos
---- {VIDEO_ID} # 从视频中提取的所有数据都在这,制作好数据集(即上面的 trainval_dataset.npy)后就没用了

-- raw
--- videos
---- {VIDEO_ID}.mp4 # 存放着你上传的视频的 512*512 版本,制作好数据集后就不需要了

-- view_check # 用于访问 checkpoints 的软链接
-- checkpoints 
--- motion2video_nerf # 存放训练好的模型数据
---- {VIDEO_ID}_head
---- {VIDEO_ID}_torso