目录
[live2d-tts 只有教程,](#live2d-tts 只有教程,)
talking-head-anime-4-demo
训练后效果,生成各个姿态的图
src/tha4/app/character_model_manual_poser.py

相机驱动:
character_model_mediapipe_puppeteer.py
训练后config:
config.yaml
bash
prefix: demo
character_image_file_name: data/images/lambda_02.png
face_mask_image_file_name: data/images/lambda_02_face_mask.png
face_morpher_random_seed_0: 12771885812175595441
face_morpher_random_seed_1: 14367217090963479175
face_morpher_num_training_examples_per_sample_output: 10000
face_morpher_batch_size: 7
body_morpher_random_seed_0: 2892221210020292507
body_morpher_random_seed_1: 9998918537095922080
body_morpher_num_training_examples_per_sample_output: 10000
body_morpher_batch_size: 8
num_cpu_workers: 1
num_gpus: 1
face_morpher_file_name: character_model/face_morpher.pt
body_morpher_file_name: character_model/body_morpher.pt
https://github.com/pkhungurn/talking-head-anime-4-demo
图片格式示意:

保存模型0010
python
@file_task(workspace, self.character_model_character_png_file_name(), [self.character_image_file_name])
def copy_character_image_file_name():
copy_file(self.character_image_file_name, self.character_model_character_png_file_name())
@file_task(workspace, self.character_model_face_morpher_file_name(), [
f"{self.face_morpher_prefix()}/checkpoint/0010/module_module.pt",
])
def copy_face_morpher():
copy_file(
f"{self.face_morpher_prefix()}/checkpoint/0010/module_module.pt",
self.character_model_face_morpher_file_name())
@file_task(workspace, self.character_model_body_morpher_file_name(), [
f"{self.body_morpher_prefix()}/checkpoint/0015/module_module.pt",
])
def copy_face_morpher():
copy_file(
f"{self.body_morpher_prefix()}/checkpoint/0015/module_module.pt",
self.character_model_body_morpher_file_name())
加载模型:
python
def load(file_name: str):
conf = OmegaConf.to_container(OmegaConf.load(file_name))
dir = os.path.dirname(file_name)
character_image_file_name = os.path.join(dir, conf["character_image_file_name"])
face_morpher_file_name = os.path.join(dir, conf["face_morpher_file_name"])
body_morpher_file_name = os.path.join(dir, conf["body_morpher_file_name"])
return CharacterModel(
character_image_file_name,
face_morpher_file_name,
body_morpher_file_name)