从 1.0 迁移到 1.2#

Audio2Face-3D NIM(版本 1.2)之前是 2 个微服务的套件(在版本 1.0 中):Audio2Face 微服务和 Audio2Face 控制器。本页将指导您了解两个版本之间的变化。

Audio2Face 控制器#

Audio2Face 控制器的功能已集成到 Audio2Face-3D 微服务中。gRPC 原型服务保持不变。

服务接口#

service A2FControllerService {
  rpc ProcessAudioStream(stream nvidia_ace.controller.v1.AudioStream)
      returns (stream nvidia_ace.controller.v1.AnimationDataStream) {}
}

Audio2Face-3D 微服务#

音频流标头#

AudioStreamHeader 消息中的新字段 emotion_params 控制 Audio2Emotion SDK 中的时间平滑。

message AudioStreamHeader {
  nvidia_ace.audio.v1.AudioHeader audio_header = 1;

  nvidia_ace.a2f.v1.FaceParameters face_params = 2;

  nvidia_ace.a2f.v1.EmotionPostProcessingParameters emotion_post_processing_params = 3;

  nvidia_ace.a2f.v1.BlendShapeParameters blendshape_params = 4;

  nvidia_ace.a2f.v1.EmotionParameters emotion_params = 5;
}

新的 EmotionParameters 消息引入了对随时间推移的情绪平滑的控制。live_transition_time 字段定义了情绪应平滑的持续时间。beginning_emotions 字段提供了平滑算法的初始情绪集。

message EmotionParameters {
  optional float live_transition_time = 1;

   map<string, float> beginning_emotion = 2;
}

Blendshape 参数#

BlendShapeParameters 消息中的新字段 enable_clamping_bs_weight 控制是否钳制返回的 blendshape 的值在 0 和 1 之间。钳制在应用乘数和偏移量之后应用。

message BlendShapeParameters {

  map<string, float> bs_weight_multipliers = 1;

  map<string, float> bs_weight_offsets = 2;

  optional bool enable_clamping_bs_weight = 3;
}

迁移配置文件#

为了使配置文件迁移更容易,我们在此提供了一个工具来执行此操作。

克隆存储库:NVIDIA/Audio2Face-3D-Samples

转到 migration/deployment_configuration_files_from_v1.0_to_v1.2/ 子文件夹。

并按照以下设置说明进行操作

配置文件迁移指南

这个示例 python 应用程序允许您将 A2F-3D 配置文件从 v1.0 迁移到 v1.2。

先决条件

安装

  • python3

  • python3-venv

设置虚拟环境并安装所需的软件包

python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -r requirements.txt

步骤

为此,有两种可能性。您要迁移用于以下用途的 A2F-3D 配置文件

  1. 运行 docker 容器

  2. 部署 UCS 应用程序

更新 docker 容器配置

更新

  • docker_container_configs/a2f_config.yaml

  • docker_container_configs/ac_a2f_config.yaml

使用您自己的配置文件。

然后运行

$ python3 convert_configuration_files.py docker_config

这将生成与 A2F-3D v1.2 兼容的新配置文件并打印文件夹名称。

更新 UCS 应用程序配置

更新

  • ucs_app_configs/a2f_config.yaml

使用您自己的配置文件。

然后运行

$ python3 convert_configuration_files.py ucs

这将生成与 A2F-3D v1.2 兼容的新配置文件并打印文件夹名称。

迁移 Kubernetes 部署#

通过 NGC 快速部署 Audio2Face-3D 的资源不再可用。对于简单的 Kubernetes 部署,请参阅本指南中的详细步骤:Kubernetes 部署