Contribute Media
A thank you to everyone who makes this possible: Read More

Interopérabilité Python/C++ pour la motion capture et l'animation faciale

Description

Notre compagnie, "Dynamixyz", développe des logiciels pour les studios de production de films, de jeux vidéos et d'effets spéciaux. Nous nous spécialisons dans la "motion capture" faciale: capter avec précision les mouvements d'acteurs réels sur des vidéos et transférer ces mouvements afin d'animer les visages de personnages virtuels. Sous le capot, on retrouve un mélange de techniques de traitement d'image, de vision par ordinateur, d'image de synthèse et de maths. Essentiellement des maths. Dans ce petit monde là, en général, le C++ règne en maître. Éxécuter des algorithmes mathématiques de traitement et d'optimisation sur des données tels que des maillages 3D et des séquences d'images requiert en effet un maximum d'efficacité dans les calculs et de la maitrise des ressources hardware utilisées (Mémoire, CPU). Notre bon C++ traine toutefois son lot d'inconvénients: verbeux, compilé et peu flexible, son utilisation limite la vitesse de développement et d'exploration de nouveaux algorithmes, sans parler des nombreux pièges dans lesquels tout dévloppeur C++, même expérimenté, est sûr de tomber. Si le C++ reste indispensable à certain endroits critiques de nos algorithmes, Python est un bien meilleur outil pour explorer, combiner, organiser, tester et débugger nos algorithmes. A l'usage, nous avons convergé vers des pratiques de développement où nous allions Python et C++ pour profiter du meilleur des deux mondes: rapidité et déterminisme du C++ pour les coeurs de calculs, flexibilité et richesse syntaxique du Python pour la conception et l'organisation haut-niveau des programmes. C'est avec plaisir et enthousiasme que nous partagerions nos pratiques d'interopérabilité entre Python et C++, ses avantages et limitations, et illustrer ces propos par des exemples concrets et des jolies images issues de certains de nos projets. Demo reel de Dynamixyz: https://youtu.be/1WSneAhR5oA Note de l'équipe d'organisation : captation vidéo non autorisée par l'intervenant.e.

Details

Improve this page