AI个人学习
和实操指南

ER NeRF:构建高保真都的说话人物视频合成系统

本文于 2025-01-14 20:33 更新,部分内容具有时效性,如有失效,请留言

综合介绍

ER-NeRF (Efficient Region-Aware Neural Radiance Fields)是一个开源的说话人物合成系统,发表于ICCV 2023会议。该项目利用区域感知神经辐射场技术,能够高效地生成高保真度的说话人物视频。系统的主要特点是采用区域化处理方案,分别对人物头部和躯干进行建模,并通过创新的音频-空间分解技术,实现了更准确的唇形同步。项目提供了完整的训练和推理代码,支持自定义训练视频,并可使用不同的音频特征提取器(如DeepSpeech、Wav2Vec、HuBERT等)来处理音频输入。该系统在视觉质量和计算效率方面都取得了显著的提升,为说话人物合成领域提供了一个重要的技术解决方案。

新项目:https://github.com/Fictionarry/TalkingGaussian


ER NeRF:构建高保真都的说话人物视频合成系统-1

 

功能列表

  • 高保真度说话人物视频合成
  • 区域感知的神经辐射场渲染
  • 支持头部和躯干分离建模
  • 精确的唇形同步处理
  • 多种音频特征提取支持(DeepSpeech/Wav2Vec/HuBERT)
  • 自定义视频训练支持
  • 音频驱动的人物动画生成
  • 平滑的头部运动控制
  • 眨眼动作支持(AU45特征)
  • LPIPS微调优化功能

 

使用帮助

1. 环境配置

系统运行环境要求:

  • Ubuntu 18.04操作系统
  • PyTorch 1.12版本
  • CUDA 11.3
    安装步骤:
  1. 创建conda环境:
conda create -n ernerf python=3.10
conda install pytorch==1.12.1 torchvision==0.13.1 cudatoolkit=11.3 -c pytorch
pip install -r requirements.txt
  1. 安装额外依赖:
pip install "git+https://github.com/facebookresearch/pytorch3d.git"
pip install tensorflow-gpu==2.8.0

2. 预处理模型准备

需要下载并准备以下模型文件:

  • 人脸解析模型
  • 3DMM头部姿态估计模型
  • Basel Face Model 2009

3. 自定义视频训练流程

  1. 视频准备要求:
    • 格式:MP4
    • 帧率:25FPS
    • 分辨率:建议512x512
    • 时长:1-5分钟
    • 要求每一帧都包含说话人物
  2. 数据预处理:
python data_utils/process.py data/<ID>/<ID>.mp4
  1. 音频特征提取(三选一):
  • DeepSpeech特征提取:
python data_utils/deepspeech_features/extract_ds_features.py --input data/<n>.wav
  • Wav2Vec特征提取:
python data_utils/wav2vec.py --wav data/<n>.wav --save_feats
  • HuBERT特征提取(推荐):
python data_utils/hubert.py --wav data/<n>.wav

4. 模型训练

训练分为头部训练和躯干训练两个阶段:

  1. 头部训练:
python main.py data/obama/ --workspace trial_obama/ -O --iters 100000
python main.py data/obama/ --workspace trial_obama/ -O --iters 125000 --finetune_lips --patch_size 32
  1. 躯干训练:
python main.py data/obama/ --workspace trial_obama_torso/ -O --torso --head_ckpt <head>.pth --iters 200000

5. 模型测试和推理

  1. 测试模型效果:
# 仅渲染头部
python main.py data/obama/ --workspace trial_obama/ -O --test
# 渲染头部和躯干
python main.py data/obama/ --workspace trial_obama_torso/ -O --torso --test
  1. 使用目标音频进行推理:
python main.py data/obama/ --workspace trial_obama_torso/ -O --torso --test --test_train --aud <audio>.npy

提示:添加--smooth_path参数可以减少头部抖动,但可能降低姿态准确性。

未经允许不得转载:首席AI分享圈 » ER NeRF:构建高保真都的说话人物视频合成系统

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文