gitextract_oysdhwag/ ├── .gitignore ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── cog.yaml ├── docs/ │ ├── index.html │ └── static/ │ ├── css/ │ │ ├── bulma.css.map.txt │ │ └── index.css │ └── js/ │ ├── bulma-carousel.js │ ├── bulma-slider.js │ └── index.js ├── inference.py ├── inference_videoretalking.sh ├── models/ │ ├── DNet.py │ ├── ENet.py │ ├── LNet.py │ ├── __init__.py │ ├── base_blocks.py │ ├── ffc.py │ └── transformer.py ├── predict.py ├── quick_demo.ipynb ├── requirements.txt ├── third_part/ │ ├── GFPGAN/ │ │ ├── LICENSE │ │ ├── gfpgan/ │ │ │ ├── __init__.py │ │ │ ├── archs/ │ │ │ │ ├── __init__.py │ │ │ │ ├── arcface_arch.py │ │ │ │ ├── gfpgan_bilinear_arch.py │ │ │ │ ├── gfpganv1_arch.py │ │ │ │ ├── gfpganv1_clean_arch.py │ │ │ │ ├── stylegan2_bilinear_arch.py │ │ │ │ └── stylegan2_clean_arch.py │ │ │ ├── data/ │ │ │ │ ├── __init__.py │ │ │ │ └── ffhq_degradation_dataset.py │ │ │ ├── models/ │ │ │ │ ├── __init__.py │ │ │ │ └── gfpgan_model.py │ │ │ ├── train.py │ │ │ ├── utils.py │ │ │ ├── version.py │ │ │ └── weights/ │ │ │ └── README.md │ │ └── options/ │ │ ├── train_gfpgan_v1.yml │ │ └── train_gfpgan_v1_simple.yml │ ├── GPEN/ │ │ ├── align_faces.py │ │ ├── face_detect/ │ │ │ ├── data/ │ │ │ │ ├── FDDB/ │ │ │ │ │ └── img_list.txt │ │ │ │ ├── __init__.py │ │ │ │ ├── config.py │ │ │ │ ├── data_augment.py │ │ │ │ └── wider_face.py │ │ │ ├── facemodels/ │ │ │ │ ├── __init__.py │ │ │ │ ├── net.py │ │ │ │ └── retinaface.py │ │ │ ├── layers/ │ │ │ │ ├── __init__.py │ │ │ │ ├── functions/ │ │ │ │ │ └── prior_box.py │ │ │ │ └── modules/ │ │ │ │ ├── __init__.py │ │ │ │ └── multibox_loss.py │ │ │ ├── retinaface_detection.py │ │ │ └── utils/ │ │ │ ├── __init__.py │ │ │ ├── box_utils.py │ │ │ ├── nms/ │ │ │ │ ├── __init__.py │ │ │ │ └── py_cpu_nms.py │ │ │ └── timer.py │ │ ├── face_model/ │ │ │ ├── face_gan.py │ │ │ ├── gpen_model.py │ │ │ └── op/ │ │ │ ├── __init__.py │ │ │ ├── fused_act.py │ │ │ ├── fused_bias_act.cpp │ │ │ ├── fused_bias_act_kernel.cu │ │ │ ├── upfirdn2d.cpp │ │ │ ├── upfirdn2d.py │ │ │ └── upfirdn2d_kernel.cu │ │ ├── face_morpher/ │ │ │ ├── .gitignore │ │ │ ├── README.rst │ │ │ ├── facemorpher/ │ │ │ │ ├── __init__.py │ │ │ │ ├── aligner.py │ │ │ │ ├── averager.py │ │ │ │ ├── blender.py │ │ │ │ ├── locator.py │ │ │ │ ├── morpher.py │ │ │ │ ├── plotter.py │ │ │ │ ├── videoer.py │ │ │ │ └── warper.py │ │ │ ├── requirements.txt │ │ │ ├── scripts/ │ │ │ │ ├── make_docs.sh │ │ │ │ └── publish_ghpages.sh │ │ │ ├── setup.cfg │ │ │ └── setup.py │ │ ├── face_parse/ │ │ │ ├── blocks.py │ │ │ ├── face_parsing.py │ │ │ ├── model.py │ │ │ ├── parse_model.py │ │ │ └── resnet.py │ │ └── gpen_face_enhancer.py │ ├── face3d/ │ │ ├── checkpoints/ │ │ │ └── model_name/ │ │ │ └── test_opt.txt │ │ ├── coeff_detector.py │ │ ├── data/ │ │ │ ├── __init__.py │ │ │ ├── base_dataset.py │ │ │ ├── flist_dataset.py │ │ │ ├── image_folder.py │ │ │ └── template_dataset.py │ │ ├── data_preparation.py │ │ ├── extract_kp_videos.py │ │ ├── face_recon_videos.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 │ │ ├── nvdiffrast.py │ │ ├── preprocess.py │ │ ├── skin_mask.py │ │ ├── test_mean_face.txt │ │ ├── util.py │ │ └── visualizer.py │ ├── face_detection/ │ │ ├── README.md │ │ ├── __init__.py │ │ ├── api.py │ │ ├── detection/ │ │ │ ├── __init__.py │ │ │ ├── core.py │ │ │ └── sfd/ │ │ │ ├── __init__.py │ │ │ ├── bbox.py │ │ │ ├── detect.py │ │ │ ├── net_s3fd.py │ │ │ └── sfd_detector.py │ │ ├── models.py │ │ └── utils.py │ └── ganimation_replicate/ │ ├── LICENSE │ ├── checkpoints/ │ │ ├── opt.txt │ │ └── run_script.sh │ ├── ckpts/ │ │ ├── ganimation/ │ │ │ ├── 220419_183211/ │ │ │ │ ├── opt.txt │ │ │ │ └── run_script.sh │ │ │ └── 220419_183229/ │ │ │ ├── opt.txt │ │ │ └── run_script.sh │ │ ├── opt.txt │ │ └── run_script.sh │ ├── data/ │ │ ├── __init__.py │ │ ├── base_dataset.py │ │ ├── celeba.py │ │ └── data_loader.py │ ├── main.py │ ├── model/ │ │ ├── __init__.py │ │ ├── base_model.py │ │ ├── ganimation.py │ │ ├── model_utils.py │ │ └── stargan.py │ ├── options.py │ ├── solvers.py │ └── visualizer.py ├── utils/ │ ├── alignment_stit.py │ ├── audio.py │ ├── ffhq_preprocess.py │ ├── flow_util.py │ ├── hparams.py │ └── inference_utils.py └── webUI.py