Accueil » Rédactions » Interview : Surface Flows, publication présentée lors du SIGGRAPH 2012

Interview : Surface Flows, publication présentée lors du SIGGRAPH 2012

Surface Flows

 

Comme pour les éditions précédentes, le SIGGRAPH 2012 sera l’occasion pour de nombreux chercheurs de présenter leurs travaux innovants dans le domaine de l’imagerie. Nous vous proposons aujourd’hui de plonger dans l’un d’entre eux, intitulé Surface Flows for Image-Based Shading Design. Il propose une méthode alternative au rendu 3D à base de déformations 2D.

Romain Vergne, Pascal Barla, Xavier Granier et Roland Fleming, les auteurs de la publication, ont répondu à nos questions et reviennent sur le principe de cette méthode, ses avantages et limitations, mais aussi sur ses applications concrètes.

 

Ligne

 

3DVF : Bonjour, vous allez présenter lors du prochain SIGGRAPH une publication portant sur une méthode d’ombrage novatrice : Surface Flows for Image-Based Shading Design. En quelques mots, quel est l’objectif du projet de recherche ?

Romain Vergne, Pascal Barla, Xavier Granier, Roland Fleming : L’objectif principal est de fournir des outils 2D de déformation d’images qui permettent de produire des effets de texture et de réflexion donnant l’illusion d’une scène 3D ; une alternative au rendu en quelque sorte. Dans notre approche, on essaie de conserver la simplicité de manipulation des outils 2D (contrôle et feedback directs, liberté artistique) avec la puissance des outils de rendu 3D (précision des formes, des effets de matière ou d’éclairage).

Contrairement aux méthodes 100 % 2D comme le speed painting ou le dessin vectoriel par exemple, notre approche ne demande pas de compétences techniques avancées. Et comparé au rendu 3D, notre méthode permet de directement positionner des reflets lumineux, plutôt que de passer par le positionnement de lumières dans une scène 3D (qui se révèle souvent  complexe). On ne part cependant pas de rien : nos outils de déformation s’appuient sur des images de normales ou de profondeur, qui peuvent soit être fournies par un simple rendu d’une scène 3D, soit être créées directement via des outils de dessin ou de traitement d’images (comme nDo2 par exemple).

 

Surface Flows - teaser

En partant d’images de profondeur et de normales (à gauche), la méthode décrite dans la publication de Romain Vergne, Pascal Barla, Xavier Granier et Roland Fleming permet d’obtenir rapidement des effets de shading et de texture plausibles (à droite) en se fondant uniquement sur des outils de déformation d’images.

 

3DVF : Cette approche s’éloigne radicalement des techniques classiques à base de 3D… Comment en êtes-vous arrivés à aller dans cette direction ?

Le projet est parti d’une collaboration étroite entre des équipes de recherche en informatique graphique (à l’Inria Bordeaux Sud-Ouest) et en perception visuelle (à l’Université de Giessen en Allemagne). Nous nous intéressons aux aspects perceptuels depuis quelques années déjà, car nous considérons ces aspects comme essentiels pour parvenir à de nouveaux outils pour la création et la manipulation d’images. En effet, toute personne, lorsqu’elle observe une image, y perçoit sans le moindre effort des objets, leurs formes, leurs matériaux et les lumières environnantes. Les capacités perceptuelles du système visuel humain sont étonnantes, à tel point qu’elles nous apparaissent comme évidentes. Mais si l’on s’y intéresse de plus près, on se rend compte qu’il est mathématiquement impossible de retrouver précisément toutes les informations de forme/matériaux/environnement à partir d’une simple image ! En pratique, il n’est pas nécessaire d’atteindre une telle précision mathématique pour comprendre les images, car celles-ci fournissent des indices visuels récurrents sur la forme, les matériaux, etc.

C’est sur ces indices que la vision humaine s’appuie pour donner du sens aux images. C’est également ces indices visuels qui sont plus ou moins consciemment manipulés par les artistes lorsqu’ils dessinent ou peignent une image. Avec suffisamment d’expérience, un dessinateur peut donner à voir autant d’informations qu’une photographie (ou un rendu photo-réaliste), voire même rendre l’image plus lisible en ne conservant que les indices visuels essentiels.

En quelque sorte, la motivation originale de notre projet a été d’identifier ces indices afin de donner des outils qui permettent de les manipuler sans pour autant requérir de compétences techniques avancées. En particulier, nous nous sommes concentrés sur la forme des objets : quels sont les indices visuels qui nous permettent de percevoir la forme dans un rendu 3D ? Nous avons tout d’abord identifié deux types d’indices basés sur des motifs de distorsion : une distorsion caractéristique des objets texturés et déterminée par la variation de profondeur d’un point à l’autre de l’image; et une distorsion caractéristique des réflexions/réfractions et déterminée par la variation des normales d’un point à l’autre de l’image. Nous les avons déclinés en outils de déformation facilement manipulables par un utilisateur. L’image déformée représente alors soit la texture à appliquer à la surface de l’objet, soit l’environnement lumineux qui s’y reflète/transmet. Enfin, des effets de matériau sont obtenus en appliquant des filtres avant déformation.

Cette approche n’a donc absolument rien de physiquement réaliste, mais étant donné qu’elle s’appuie sur des indices visuels pertinents, elle permet de produire des résultats perceptuellement plausibles. Mieux : elle donne un contrôle direct en espace image à l’utilisateur, sans le contraindre à des réglages de paramètres physiques complexes en 3D, se rapprochant ainsi de la liberté conférée par les outils de dessin.

 

 

 

Distorsions

Ces images illustrent les effets de distorsion dus aux textures (à gauche) et aux reflets (à droite).
Les textures sont comprimées le long des fortes variations de profondeur,
tandis que les reflets sont eux comprimés le long des fortes variations de courbure.
© Roland W. Fleming (2009). All rights reserved.

 

3DVF : Quels types d’états de surface (objet mat/brillant, réflexion/réfraction voire effets comme le subsurface scattering ou les matériaux anisotropes) peuvent être simulés ?

Il est possible de générer de nombreux états de surface tout en laissant une grande liberté à l’artiste. Les opérateurs de déformation permettent d’imiter des effets de texture, d’ombre, de réflexion et de réfraction. En déformant et en combinant plusieurs images, il est possible d’obtenir une très grande variété de matériaux et de styles, comme nous l’avons détaillé dans la vidéo [voir ci-dessous] et le document annexe correspondant à l’article que nous avons publié à Siggraph.
Un simple flou permet de passer d’un matériau brillant à un matériau matte dans le cas des réflexions, et d’un matériau transparent à un matériau translucide dans le cas des réfractions. Des matériaux plus complexes peuvent être obtenus via des combinaisons simples de plusieurs déformations.

Pour imiter l’effet de Fresnel par exemple (qui caractérise le passage du diffus au spéculaire près des silhouettes), il suffit de déformer deux images, puis de combiner les résultats avec des poids indiquant à quel point la surface est penchée par rapport au point de vue (ce qui est facilement obtenu à partir de l’image de normale donnée en entrée).  Il est aussi possible de créer des matériaux qui varient spatialement : cela revient à appliquer une déformation de type texture, puis à l’utiliser pour combiner plusieurs déformations de type réflexion/réfraction. L’ajout de détails de surface fonctionne sur le même principe: on déforme tout d’abord une texture que l’on utilise ensuite comme bump map, qui est combinée à la carte de normale en entrée. Enfin, des rendus stylisés peuvent être obtenus en appliquant des filtres autres que le flou avant déformation, ou en utilisant des images de texture/reflet déjà stylisées.

L’anisotropie des matériaux n’est pas prise en compte cependant (elle devrait apparaitre dans les outils de déformation car elle est liée à la forme) ; c’est un point d’amélioration que nous réservons pour nos travaux futurs.

 

 


 

Effets


Quelques effets pouvant être obtenus avec la méthode décrite par Romain Vergne, Pascal Barla, Xavier Granier et Roland Fleming.
Ligne du haut : images de normales, de profondeur, de reflets et de textures données en entrée de la méthode.
Ligne du milieu : déformation des reflets par les normales, ajout de flou aux reflets, inversion de la déformation pour un effet transparent, et combinaison de reflets nets et flous.
Ligne du bas : déformation de la texture par la profondeur, utilisation de la texture déformée comme bump map, effet de matériau brillant, combinaison de deux matériaux.
(une version HD est disponible)

3DVF : Quelles sont les principales étapes de l’algorithme utilisé en coulisse ? 

L’algorithme de déformation en lui-même est très simple : chaque pixel de l’image, représentant une texture ou un motif lumineux, est déplacé en fonction d’une carte de profondeur ou de normale. C’est le même principe qu’une déformation de lentille de caméra par exemple ; sauf que dans notre cas la déformation est guidée par les variations de profondeur ou de normales entre le pixel courant et un ou plusieurs points d’ancrage.  En ces points d’ancrage, on garantit qu’aucune déformation ne va avoir lieu, ce qui permet en pratique à l’utilisateur de contrôler avec précision la position où textures et reflets spécifiques vont apparaitre.

Pour des effets plus complexes, plusieurs déformations peuvent être appliquées en cascade. Au cours de ce projet, nous avons mis en place un logiciel nodal qui nous a permis de tester toutes sortes de combinaisons : chaque nœud correspond à une déformation qui prend en entrée une carte de normales/profondeur et l’image à déformer, comme montré dans une autre vidéo [voir ci-dessous]. Mais cela pourrait tout aussi bien être inclus dans un logiciel fonctionnant à base de calques comme Gimp ou Photoshop. On a d’ailleurs illustré ces déformations au travers trois outils communément utilisés dans ces logiciels : un outil de déformation d’image (décrit précédemment) ;  un outil pinceau qui consiste à dessiner avec une brosse dont l’empreinte est automatiquement déformée pour dessiner des reflets ou appliquer des collages ; et un outil de dégradé, qui s’appuie sur une paire de points d’ancrage entre lesquels un dégradé linéaire est créé, puis déformé par l’un de nos opérateurs (très pratique notamment pour des effets diffus ou stylisés).

 

 

 




Démonstration live du système nodal implémentant la technique décrite.

 

Outils


Quelques exemples d’outils plus élaborés pour le dessin du shading.
1ère colonne : un effet de transparence est précisément contrôlé par plusieurs points d’ancrage.
2ème colonne : la forme d’un outil pinceau est automatiquement déformée pour créer facilement des effets de shading.
3ème colonne : des textures de « décalcomanie » sont appliquées et déformées automatiquement via la profondeur.
4ème colonne : un dégradé linéaire est déformé par les normales, ce qui permet de créer une grande variété d’effets en changeant le dégradé de couleurs.
(version HD de l’illustration)

3DVF : Au final, quelles sont les avancées majeures apportées par votre publication par rapport aux travaux précédents ?

Nous pensons avoir apporté deux contributions significatives dans ce projet : l’une théorique, l’autre pratique.
Notre étude théorique (fondée sur une analyse différentielle de l’équation du rendu) a permis d’identifier formellement deux types d’indices visuels communiquant la forme d’une surface 3D dans une image: les textures et les ombres sont déformées en fonction de l’orientation de la surface ; tandis que les réflexions et réfractions de l’environnement sont déformées en fonction de la courbure de la surface. Cette étude mathématique permet d’établir un lien entre la simulation physique du transport lumineux, et les motifs de distorsion qui jouent un rôle essentiel pour la perception de la forme comme l’ont récemment montré de nombreuses études perceptuelles.  
L’avantage pratique de cette étude, c’est qu’elle montre qu’il n’est pas nécessaire de simuler le transport lumineux par des processus complexes si l’on tient simplement à donner l’illusion d’une forme 3D ; il suffit de déformer des images de sorte que l’un ou l’autre de ces indices visuels émerge. C’est ce que nous avons fait au travers de deux opérateurs de déformation, eux-mêmes déclinés en outils de dessin qui permettent de contrôler précisément et simplement où apparaissent les reflets, les textures et les ombres.

3DVF : Plusieurs chercheurs ont été impliqués : Romain Vergne, Pascal Barla, Xavier Granier et Roland Fleming, issus de différents laboratoires (Inria, Institut Max Planck). Quel a été le rôle de chacun ? Comment s’est mise en place cette collaboration entre les instituts de recherche ?

On peut dire pour simplifier que Pascal Barla et Xavier Granier (chercheurs à l’Inria Bordeaux) ont été globalement plus impliqués dans la partie théorique, tandis que Romain Vergne et Roland Fleming (à l’Université de Giessen) l’ont plus été sur la partie perception et implémentation. En réalité, le projet a nécessité des connexions étroites et de nombreux croisements.
La rencontre s’est faite à SIGGRAPH en 2009 grâce à un article (Light Warping) publié entre autres par Romain, Pascal et Xavier qui utilisaient déjà les résultats d’études perceptuelles de Roland. À ce moment-là, Romain était thésard à Bordeaux, co-encadré par Xavier (spécialiste du rendu réaliste) et Pascal (qui a contaminé l’équipe bordelaise avec sa passion pour la perception visuelle). La collaboration avec Roland a alors commencé avec des visites respectives dans chacun des labos, pendant lesquelles nous nous sommes rapidement aperçus que nos deux domaines avaient des liens très forts et une grande complémentarité. La collaboration s’est renforcée avec le transfert de Romain à Giessen, qui travaille actuellement avec Roland en tant que post-doctorant. Elle s’est concrétisée pour la première fois avec cet article, mais nous espérons aboutir à d’autres résultats sous peu (notamment en perception).

 

Ligne

 

3DVF : Évidemment, l’avantage d’une méthode de manipulation 2D par rapport au rendu 3D est un coût (en termes de puissance/temps) qui peut a priori être bien plus faible. Qu’en est-il pour votre méthode ? Est-on proche de l’interactif, du temps réel ?

La méthode fonctionne en temps réel et a été programmée entièrement sur carte graphique (en utilisant le langage GLSL). On peut voir l’approche comme un Photoshop / Gimp modifié, dans lequel on va dessiner en déformant les images au préalable. Et cette déformation ne coûte pratiquement rien. L’objectif était vraiment de pouvoir contrôler le rendu en temps réel : déformer des images, modifier les matériaux, tester, annuler et recommencer, etc. Les opérations les plus coûteuses sont celles que l’on peut vouloir effectuer sur les images avant de les déformer (comme le flou).

3DVF : Peut-on envisager une utilisation pour de l’animation ?

Probablement, mais cela va nécessiter une légère adaptation. En effet, l’utilisateur contrôle les déformations via des points d’ancrage en espace image, et il revient donc à l’utilisateur de les animer s’il veut pouvoir faire évoluer la déformation. Cela pourrait se révéler suffisant pour ajouter des effets d’ombrage et de texture pour le dessin animé, puisque dans un tel cas l’animateur voudrait probablement contrôler le mouvement du shading comme il contrôle celui des lignes par exemple.

 Par contre, si l’on veut que la déformation suive des objets en mouvement fournis par le biais de cartes de profondeur ou de normales animées (vidéos ou rendus temps réel), il va alors falloir s’arranger pour que les points d’ancrage aient un mouvement 2D cohérent avec le mouvement 3D des objets. Une solution intéressante dans ce cas serait d’utiliser des outils de tracking pour animer la position des points d’ancrage de manière cohérente.

3DVF : Quelles sont les limites actuelles du système ? Sera-t-il possible d’y remédier ?

L’animation est une première limitation, comme nous venons d’en discuter.
La localité du contrôle peut poser quelques problèmes également : certains reflets apparaissent parfois à des endroits qui pourraient ne pas être désirables par l’artiste. Pour remédier à cela, on peut soit utiliser des points d’ancrage additionnels, soit restreindre l’influence d’un seul point d’ancrage par l’utilisation d’un masque. À noter que plus on ajoute de points d’ancrage, plus on s’éloigne des indices de forme escomptés.
L’aliasing est une autre limitation lorsqu’on applique trop de déformation. Il parait cependant assez facile de mettre au point des techniques d’anti-aliasing spécifiques. Une autre solution consisterait à déformer des images vectorielles, ce qui permettrait d’utiliser la technique dans des outils comme Illustrator ou Inkscape.
Enfin, notre traitement des matériaux est assez simpliste et repose essentiellement sur l’application de flous avant déformation. Cela a l’avantage de laisser une grande liberté à l’utilisateur pour expérimenter avec la méthode. Mais il serait aussi très intéressant d’adapter le flou à la déformation pour obtenir des résultats plus fins, notamment pour pouvoir créer des effets de matériaux anisotropes.

3DVF : Les artistes seront évidemment intéressés par les retombées concrètes du projet… Or un plugin Photoshop/AfterEffects est en préparation, de même qu’une version pour Nuke !
Pouvez-vous nous en dire plus ?

Nous avons en effet implémenté un plugin minimaliste sous Adobe PixelBender (langage très proche de GLSL), correspondant à l’outil de déformation d’images avec un seul point d’ancrage. Cela va nous permettre sous peu de tester la méthode directement dans Photoshop et AfterEffects, en essayant de tirer parti des outils et de l’interface déjà présents.
Quand à Nuke, le portage s’est révélé encore plus aisé, puisqu’il est possible d’implémenter la méthode directement via les nœuds existants (notamment le nœud d’expression pour les formules de déformation), et d’encapsuler le résultat dans un Gizmo qui possède quelques sliders. Il devient ensuite facile d’appliquer plusieurs déformations en cascade, soit à des images, soit à des patches qui peuvent être animés, rotoscopés, etc.

 

Ligne

 

3DVF : Avez-vous une idée de la date de lancement ? Sous quelles conditions (gratuit/payant, licence libre ou non) le plugin sera proposé ?
Avez-vous besoin de beta-testeurs ?

Nous aimerions diffuser ces outil-prototypes idéalement avant Siggraph et sous license gratuite et OpenSource. En effet, nous voyons ces portages comme une continuation de la publication, pour donner un coup de pouce aux programmeurs qui veulent reproduire la technique dans leur environnement. Mais nous sommes aussi avides de retours d’artistes beta-testeurs, afin d’améliorer la méthode voire suggérer de nouveaux projets de recherche ! D’autant plus que si suffisamment d’artistes utilisent nos outil-prototypes, cela va augmenter les chances de les retrouver implémentés en dur dans l’un de ces logiciels, avec toutes les fonctionnalités cette fois-ci. Ces outils seront bientôt (ou sont déjà) publiés à ces adresses : plugins Pixel Bender et scripts Nuke.

3DVF : En dehors du plugin, quelles sont les prochaines étapes concernant ce travail de recherche ? Allez vous poursuivre dans cette voie ?

Oui, ce n’est que le début d’une longue collaboration. Les prochaines étapes devront poursuivre plus en profondeur la partie théorique comme la partie perceptuelle pour perpétuer cette boucle vertueuse entre informatique graphique et perception visuelle : utiliser les résultats d’expériences pour créer des applications graphiques innovantes, qui elles-mêmes servent à réaliser de nouvelles expériences en perception visuelle.
Du côté graphique, une piste que nous aimerions suivre est la manipulation de la forme et des matériaux en post-process de rendus 3D complexes (global illumination par exemple). Encore une fois, il ne sera pas question ici de coller au réalisme physique, mais plutôt de tricher en modifiant les indices perceptuels présents dans les images rendues, comme le font déjà abondamment les artistes talentueux qui travaillent sous Nuke ou AfterEffects.

3DVF : Quels sont les domaines de recherche privilégiés des différents membres de l’équipe ? Pouvez-vous nous donner quelques exemples de vos travaux respectifs ?

L’avantage de la recherche c’est que l’on peut s’intéresser à de nombreux sujets très divers au cours de ses travaux ; la liste de nos domaines de prédilection est donc assez fournie ! Pour faire court : Romain a travaillé sur la perception de la forme au travers du shading, avec des applications en Archéologie notamment ; Pascal a développé des techniques d’animation 2D, de dessin vectoriel, d’analyse multi-échelles, et de rendu expressif, à chaque fois connectées à la perception visuelle ; Xavier a abordé de nombreux domaines, parmi lesquels le rendu réaliste, les techniques d’acquisition et de représentation de matériaux & lumières demeurent ses favoris; enfin Roland est un spécialiste en vision humaine, en particulier en ce qui concerne la perception de la forme des objets, de leurs couleurs, de leurs matériaux, et de leurs propriétés physiques. Il a récemment co-écrit un livre qui fait le lien entre informatique graphique et perception visuelle : Visual Perception from a Computer Graphics perspective.

Le plus simple pour découvrir nos travaux reste encore d’aller faire un tour sur nos pages web respectives (c.f. pages de Romain, Pascal, Xavier et Roland). Nous sommes chaque année à la recherche d’étudiants pour effectuer des masters, des thèses ou des post-doctorats ; parfois aussi du travail d’ingénierie (comme le portage de nos techniques dans des logiciels commerciaux ou OpenSource) en stage ou CDD. Il ne faut donc pas hésiter à nous contacter.

 

Ligne

 

3DVF : Pour finir, quelle est votre vision de la recherche française en infographie ? On note au passage que si les USA restent en tête pour les pays présents dans les publications sélectionnées au SIGGRAPH 2012, la France n’est pas en reste (une demi-douzaine de publications est issue d’équipes comportant au moins un chercheur affilié à l’INRIA)…

Il y a de nombreux chercheurs talentueux en informatique graphique un peu partout en France (pas seulement à l’Inria d’ailleurs). Nous collaborons beaucoup entre nous sur des sujets divers, et cela fait toujours plaisir de voir des articles publiés par des collègues dans des conférences prestigieuses comme Siggraph, Siggraph Asia ou Eurographics. On ne peut pas vraiment parler de compétition, mais plutôt d’émulsion : plus on voit des articles de nos collègues  publiés internationalement, plus cela nous motive pour tenter le coup de notre côté.

Nous aimerions d’ailleurs en profiter pour mentionner un article co-écrit par l’un d’entre eux,  Adrien Bousseau (chercheur à l’Inria Sophia Antipolis), publié également cette année à Siggraph. La méthode s’intitule Cross Shade et permet de créer des images de normales à partir de courbes (vectorielles) de construction utilisées pour le dessin en design. Nos deux outils s’interfacent donc naturellement, et ouvrent des perspectives passionnantes pour l’ombrage en dessin vectoriel, que nous comptons poursuivre dans un projet de collaboration (intitulé DRAO) qui débutera en fin d’année.

 

Chargement....

A Lire également