Des chercheurs de l’USC, Pinscreen et Microsoft ont alors pensé à utiliser de l’apprentissage profond pour remplacer ces simulations physiques. Malgré un temps d’apprentissage extrêmement long, cette technique promet d’atteindre une très bonne performance en inférence, c’est-à-dire lors de l’utilisation du réseau neuronal pour effectuer la simulation physique. Sur du matériel actuel très haut de gamme (une carte NVIDIA Titan Xp), cette inférence ne prend que quelques millisecondes pour des dizaines de milliers de cheveux, avec moins de cent mégaoctets occupés en mémoire. La simulation n’empiète donc pas énormément sur la puissance de calcul disponible pour le rendu, même si les cœurs tensoriels des puces Volta pourraient être mis à contribution.
Plus techniquement, le réseau neuronal profond apprend à partir d’images 2D une correspondance envers un rendu en 3D des cheveux. Son architecture fait largement appel à des couches convolutionnelles (convolution, pooling, déconvolution). Le réseau transforme d’abord l’image 2D en un champ vectoriel d’orientation des cheveux ; ensuite, il génère des cheveux (représentés comme des séquences de points 3D) ; finalement, il reconstruit un rendu en augmentant le niveau de détail à partir des cheveux générés. Cette méthode permet de préserver énormément de détails locaux, ce qui donne une apparence relativement naturelle au rendu (notamment les cheveux crollés).
Le jeu de données utilisé comprend quarante mille styles différents de coiffure (et donc de comportement des cheveux), pour cent soixante mille images prises avec des points de vue aléatoires. Cependant, il tend à mal généraliser : certains types de coiffure n’ont pas un rendu très réaliste (surtout les plus exotiques : cheveux crépus, africains, très courts) — il faudrait probablement encore agrandir le jeu de données pour résoudre ce problème (ou utiliser plusieurs réseaux neuronaux plus spécialisés).
Cette recherche n’est pas directement applicable dans des jeux vidéo, l’entrée du modèle restant une image. Reste à voir comment la simulation à base de réseaux neuronaux pourra prendre en compte tous les effets : pas seulement une tête qui tourne, mais aussi le vent dans les cheveux ou encore un tissu…
Sources : Nvidia GPUs could use AI to power next-gen HairWorks models in future games, AI Can Render 3D Hair in Real Time.
Voir aussi : Single-View Hair Reconstruction using Convolutional Neural Networks.