Ultralight Digital Human: 第一款完全开源的实时视频数字人

职场   2024-10-29 13:57   北京  

一个能在移动设备上实时运行的数字人模型,这应该是第一个开源的如此轻量级的数字人模型。

源码地址:

https://github.com/anliyuan/Ultralight-Digital-Human

下载源码后:

1. 安装依赖:

conda create -n dh python=3.10conda activate dhconda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidiaconda install mkl=2024.0pip install opencv-pythonpip install transformerspip install numpy==1.23.5pip install soundfilepip install librosapip install onnxruntime


2. 下载模型:

https://drive.google.com/file/d/1e4Z9zS053JEWl6Mj3W9Lbc9GDtzHIg6b/view?usp=drive_link

把模型放到源码的data_utils/下。

3. 数据处理:

准备好你的视频,3到5分钟的就可以,必须保证视频中每一帧都有整张脸露出来的人物,声音清晰没有杂音,把它放到一个新的文件夹里面。

 提取音频特征:

用了两个不同的特征提取器,分别是wenet和hubert,选择使用wenet的话,你必须保证你视频的帧率是20fps,如果选择hubert,视频帧率必须是25fps。hubert的效果更好,但是wenet速度更快,可以在移动端上实时运行。

cd data_utilspython process.py YOUR_VIDEO_PATH --asr hubert


4. 训练模型:

先训练一个syncnet,效果会更好。

cd ..python syncnet.py --save_dir ./syncnet_ckpt/ --dataset_dir ./data_dir/ --asr hubert


然后找一个loss最低的checkpoint来训练数字人模型。

cd ..python train.py --dataset_dir ./data_dir/ --save_dir ./checkpoint/ --asr hubert --use_syncnet --syncnet_checkpoint syncnet_ckpt


5. 整合:

ffmpeg -i xxx.mp4 -i your_audio.wav -c:v libx264 -c:a aac result_test.mp4




前端程序设计
专注前端最前沿技术,数据可视化,web3d。偶尔插播生活和艺术。
 最新文章