SPARK: Captura Monocular de Rostro Personalizada en Tiempo Real y Auto-supervisada
Kelian Baert · Shrisha Bharadwaj · Fabien Castan · Benoit Maujean · Marc Christie · Victoria Fernandez Abrevaya · Adnane Boukhayma
Technicolor | Instituto Max Planck | INRIA Rennes
Artículos de la Conferencia SIGGRAPH Asia 2024
Cita
Si encuentra útil nuestro código o artículo, por favor cite como:
@inproceedings{baert2024spark,
title = {{SPARK}: Self-supervised Personalized Real-time Monocular Face Capture},
author = {Baert, Kelian and Bharadwaj, Shrisha and Castan, Fabien and Maujean, Benoit and Christie, Marc and Abrevaya, Victoria and Boukhayma, Adnane},
year = {2024},
month = dec,
booktitle = {SIGGRAPH Asia 2024 Conference Proceedings},
articleno = {113},
doi = {10.1145/3680528.3687704},
isbn = {979-8-4007-1131-2/24/12},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
numpages = {12},
url = {https://kelianb.github.io/SPARK/},
}Instalación
Detalles
- Crea el entorno usando setup.sh.
- Ejecuta TrackerAdaptation/setup_submodules.sh. Esto puede tomar algunos minutos.
- Enlaza FLAME desde MultiFLARE a EMOCA:
ln TrackerAdaptation/submodules/EMOCA/assets/FLAME/geometry/generic_model.pkl MultiFLARE/assets/flame/flame2020.pkl - Esto es equivalente a descargar FLAME (versión 2020), descomprimirlo y copiar
generic_model.pklen./MultiFLARE/assets/flame/flame2020.pkl. - Obtén el espacio de textura del Basel Face Model adaptado a FLAME. Desafortunadamente, no podemos distribuir el espacio de textura ya que la licencia no lo permite. Por lo tanto, utiliza la herramienta de este repositorio para convertir el espacio de textura a FLAME. Coloca el archivo resultante del modelo de textura en
TrackerAdaptation/submodules/EMOCA/assets/FLAME/texture/FLAME_albedo_from_BFM.npz.
Conjunto de datos
Consulta el repositorio MonoFaceCompute para preprocesar tus propios datos.
Uso
SPARK es un enfoque de dos etapas. Primero, ejecuta MultiFLARE para reconstruir un Avatar Facial 3D a partir de múltiples vídeos. Luego, usa TrackerAdaptation para adaptar un rastreador facial 3D existente a tu avatar para seguimiento en tiempo real mediante aprendizaje por transferencia.
Detalles
1. MultiFLARE
cd MultiFLARE
python train.py --config configs/example.txtExport neutral mesh
python export_mesh.py --config configs/example.txt --resume 3000 --out_dir /tmp/example_mesh --tex_type albedoRecomendamos comenzar con el archivo de configuración de ejemplo proporcionado y modificar input_dir, train_dir y output_dir. Para una lista de todos los parámetros, por favor consulte arguments.py o la salida de python train.py --help. Los parámetros se pueden pasar ya sea en el archivo de configuración o como argumentos de línea de comandos.
2. Adaptación del Rastreador
cd TrackerAdaptation
DECA encoder + MultiFLARE decoder
python train.py --config configs/example_deca.txt
EMOCA encoder + MultiFLARE decoder
python train.py --config configs/example_emoca.txt
SMIRK encoder + MultiFLARE decoder (recommended!)
python train.py --config configs/example_smirk.txt
EMOCA encoder + EMOCA decoder (baseline)
python train.py --config configs/example_emoca_baseline.txtQuantitative eval
python evaluate.py --config configs/example_smirk.txt --tracker_resume 3000 --frame_interval 5 --num_frames 64Visualization videos
python make_comparison_video.py --config configs/example_smirk.txt --tracker_resume 3000 --test_dirs 5 6 --n_frames 1000 --smooth_crops --framerate 24
python make_overlay_video.py --config configs/example_smirk.txt --tracker_resume 3000 --test_dirs 2 --out test_beard --texture /path/to/texture.png --n_frames 1000 --smooth_crops --framerate 24Información de la Licencia
El código en este repositorio está sujeto a múltiples licencias.
- Código Original (Technicolor Group & INRIA Rennes)
- Todo el código en este repositorio, excepto donde se especifique lo contrario, está licenciado bajo la Licencia CC BY-NC-SA.
- Código de Terceros (Instituto Max Planck para Sistemas Inteligentes)
- Ubicación:
./MultiFLARE/flame,./MultiFLARE/flare,./TrackerAdaptation/submodules - Estos directorios contienen código del Instituto Max Planck, con algunas modificaciones. Por favor, lea cuidadosamente la Licencia MPI y tenga en cuenta que esto está disponible solo para fines de investigación científica no comercial.