gitextract_pkbb6gh_/ ├── .gitignore ├── LICENSE ├── README.md ├── app_sadtalker.py ├── cog.yaml ├── docs/ │ ├── FAQ.md │ ├── best_practice.md │ ├── changlelog.md │ ├── face3d.md │ ├── install.md │ └── webui_extension.md ├── inference.py ├── launcher.py ├── predict.py ├── quick_demo.ipynb ├── req.txt ├── requirements.txt ├── requirements3d.txt ├── scripts/ │ ├── download_models.sh │ ├── extension.py │ └── test.sh ├── src/ │ ├── audio2exp_models/ │ │ ├── audio2exp.py │ │ └── networks.py │ ├── audio2pose_models/ │ │ ├── audio2pose.py │ │ ├── audio_encoder.py │ │ ├── cvae.py │ │ ├── discriminator.py │ │ ├── networks.py │ │ └── res_unet.py │ ├── config/ │ │ ├── auido2exp.yaml │ │ ├── auido2pose.yaml │ │ ├── facerender.yaml │ │ ├── facerender_still.yaml │ │ └── similarity_Lm3D_all.mat │ ├── face3d/ │ │ ├── data/ │ │ │ ├── __init__.py │ │ │ ├── base_dataset.py │ │ │ ├── flist_dataset.py │ │ │ ├── image_folder.py │ │ │ └── template_dataset.py │ │ ├── extract_kp_videos.py │ │ ├── extract_kp_videos_safe.py │ │ ├── models/ │ │ │ ├── __init__.py │ │ │ ├── arcface_torch/ │ │ │ │ ├── README.md │ │ │ │ ├── backbones/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── iresnet.py │ │ │ │ │ ├── iresnet2060.py │ │ │ │ │ └── mobilefacenet.py │ │ │ │ ├── configs/ │ │ │ │ │ ├── 3millions.py │ │ │ │ │ ├── 3millions_pfc.py │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── base.py │ │ │ │ │ ├── glint360k_mbf.py │ │ │ │ │ ├── glint360k_r100.py │ │ │ │ │ ├── glint360k_r18.py │ │ │ │ │ ├── glint360k_r34.py │ │ │ │ │ ├── glint360k_r50.py │ │ │ │ │ ├── ms1mv3_mbf.py │ │ │ │ │ ├── ms1mv3_r18.py │ │ │ │ │ ├── ms1mv3_r2060.py │ │ │ │ │ ├── ms1mv3_r34.py │ │ │ │ │ ├── ms1mv3_r50.py │ │ │ │ │ └── speed.py │ │ │ │ ├── dataset.py │ │ │ │ ├── docs/ │ │ │ │ │ ├── eval.md │ │ │ │ │ ├── install.md │ │ │ │ │ ├── modelzoo.md │ │ │ │ │ └── speed_benchmark.md │ │ │ │ ├── eval/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── verification.py │ │ │ │ ├── eval_ijbc.py │ │ │ │ ├── inference.py │ │ │ │ ├── losses.py │ │ │ │ ├── onnx_helper.py │ │ │ │ ├── onnx_ijbc.py │ │ │ │ ├── partial_fc.py │ │ │ │ ├── requirement.txt │ │ │ │ ├── run.sh │ │ │ │ ├── torch2onnx.py │ │ │ │ ├── train.py │ │ │ │ └── utils/ │ │ │ │ ├── __init__.py │ │ │ │ ├── plot.py │ │ │ │ ├── utils_amp.py │ │ │ │ ├── utils_callbacks.py │ │ │ │ ├── utils_config.py │ │ │ │ ├── utils_logging.py │ │ │ │ └── utils_os.py │ │ │ ├── base_model.py │ │ │ ├── bfm.py │ │ │ ├── facerecon_model.py │ │ │ ├── losses.py │ │ │ ├── networks.py │ │ │ └── template_model.py │ │ ├── options/ │ │ │ ├── __init__.py │ │ │ ├── base_options.py │ │ │ ├── inference_options.py │ │ │ ├── test_options.py │ │ │ └── train_options.py │ │ ├── util/ │ │ │ ├── BBRegressorParam_r.mat │ │ │ ├── __init__.py │ │ │ ├── detect_lm68.py │ │ │ ├── generate_list.py │ │ │ ├── html.py │ │ │ ├── load_mats.py │ │ │ ├── my_awing_arch.py │ │ │ ├── nvdiffrast.py │ │ │ ├── preprocess.py │ │ │ ├── skin_mask.py │ │ │ ├── test_mean_face.txt │ │ │ ├── util.py │ │ │ └── visualizer.py │ │ └── visualize.py │ ├── facerender/ │ │ ├── animate.py │ │ ├── modules/ │ │ │ ├── dense_motion.py │ │ │ ├── discriminator.py │ │ │ ├── generator.py │ │ │ ├── keypoint_detector.py │ │ │ ├── make_animation.py │ │ │ ├── mapping.py │ │ │ └── util.py │ │ └── sync_batchnorm/ │ │ ├── __init__.py │ │ ├── batchnorm.py │ │ ├── comm.py │ │ ├── replicate.py │ │ └── unittest.py │ ├── generate_batch.py │ ├── generate_facerender_batch.py │ ├── gradio_demo.py │ ├── test_audio2coeff.py │ └── utils/ │ ├── audio.py │ ├── croper.py │ ├── face_enhancer.py │ ├── hparams.py │ ├── init_path.py │ ├── model2safetensor.py │ ├── paste_pic.py │ ├── preprocess.py │ ├── safetensor_helper.py │ ├── text2speech.py │ └── videoio.py ├── webui.bat └── webui.sh