项目简介
AniTalker是一个开源项目,它利用静态照片和音频文件来创造动态的面部说话视频。
AniTalker采用了一种通用的运动表示方法。这种创新的表示方法有效地捕捉了广泛的面部动态,包括微妙的表情和头部动作。
AniTalker通过两种自监督学习策略增强了运动描述:第一种策略是通过同一身份内的源帧重建目标视频帧来学习微妙的运动表示;第二种策略是使用度量学习开发身份编码器,同时积极减少身份和运动编码器之间的互信息。
这种方法确保了运动表示是动态的,并且不包含特定身份的细节,显著减少了对标记数据的需求。
功能特点
动态视频创作
AniTalker能够将静态图像转化为动态视频,其中不仅包括口型与音频的精准匹配,还涵盖了丰富的面部表情和头部动作。
个性化动画
用户可以根据个人喜好和需求,调整参数,定制出具有个性化表情和动作的面部动画。
高度仿真
这项技术能够捕捉到面部的微小动作,如眨眼和微笑,从而制作出具有高度仿真感的动态视频。
支持长视频
AniTalker支持制作超过3分钟的长视频,这使得它非常适合用于创建虚拟助手、数字角色表演等应用场景。
项目实操
预装环境
conda create -n anitalker python==3.9.0conda activate anitalkerconda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forgepip install -r requirements.txt演示脚本
python ./code/demo_audio_generation.py \--infer_type 'mfcc_pose_only' \--stage1_checkpoint_path 'ckpts/stage1.ckpt' \--stage2_checkpoint_path 'ckpts/stage2_pose_only.ckpt' \--test_image_path 'test_demos/portraits/monalisa.jpg' \--test_audio_path 'test_demos/audios/english_female.wav' \--result_path 'results/monalisa_case1/' \--control_flag True \--seed 0 \--pose_yaw 0 \--pose_pitch 0 \--pose_roll 0项目地址:
https://github.com/X-LANCE/AniTalker
高性价比GPU资源:https://www.ucloud.cn/site/active/gpu.html?ytag=gpu_wenzhang_tongyong_toutiao