1. #1
    Responsable Qt


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherches
    Inscrit en
    août 2008
    Messages
    23 289
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherches
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 23 289
    Points : 140 289
    Points
    140 289

    Par défaut La modélisation des cheveux passera-t-elle bientôt par de l'apprentissage profond ?

    Les technologies de rendu de cheveux pour les jeux vidéo ne manquent pas. Par exemple, NVIDIA dispose de HairWorks, AMD de TressFX. Cependant, ces bibliothèques ont un énorme désavantage : le temps de calcul requis pour la simulation physique. En effet, une chevelure est constituée de millions de cheveux qui se déplacent plus ou moins indépendamment les uns des autres. Conséquence ? Dans des jeux comme The Witcher 3, activer le rendu des cheveux fait chuter significativement la performance.


    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.
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions), HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  2. #2
    Membre confirmé Avatar de onilink_
    Profil pro
    Inscrit en
    juillet 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 26
    Localisation : France

    Informations forums :
    Inscription : juillet 2010
    Messages : 152
    Points : 545
    Points
    545

    Par défaut

    Je trouve ça un peu gadget, comparé par exemple a la simulation de fluide sur le même principe:


    Enfin bon ça peut être intéressant s'il ne faut pas forcement un matos aussi performant qu'une Titan Xp, tout en laissant des performances pour le reste.
    Mais je ne suis pas convaincu que la simulation au cheveux près soit le meilleur rapport qualité/prix visuellement parlant.

    La reconstruction en revanche est plutôt bluffante (dans la seconde vidéo), mais je verrais ce genre d'application plus hors jeu vidéo (animation 3d par ex).
    Des tutos de pixel art: https://twitter.com/OniMille

Discussions similaires

  1. Mettre à jour des tables liées entre elles
    Par Abdelkabir dans le forum VB.NET
    Réponses: 3
    Dernier message: 13/08/2007, 15h49
  2. Réponses: 1
    Dernier message: 10/05/2007, 01h47
  3. Réponses: 2
    Dernier message: 07/12/2005, 13h25
  4. Modéliser des modèles de documents
    Par raoudi57 dans le forum Débutant
    Réponses: 5
    Dernier message: 10/11/2005, 20h23
  5. Modélisation des systèmes multiagents
    Par IMANE_nadjat dans le forum Intelligence artificielle
    Réponses: 1
    Dernier message: 10/11/2005, 11h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo