ARTIS Home Page Recherche   Équipe   Publications     Intranet
»English version

Sujets de DEA 2004-2005

Rendu expressif

Joëlle Thollot



Dessin au trait en 3D


De nombreaux travaux ont été effectués dans le domaine du rendu expressif dans le but de faire un rendu au trait de modèles 3D. La question que l'on se pose est alors quelles sont les lignes qui permettent de définir la forme d'un objet et comment les calcule-t-on ?
Deux types de lignes ont été définies :
- les lignes de silhouettes, contour, "suggestive contour" qui sont dependantes du point de vue (cf. fig 1);
- les lignes caratéristiques : vallées, montagnes, crêtes qui sont dependantes de la géométrie (cf. fig2).

Ces deux types de lignes sont calculables à partir d'un maillage 3D, de manière plus ou moins efficace et précise selon les méthodes utilisées. Cependant les résultats obtenus restent insatisfaisants, soit parce que l'on n'obtient pas assez de lignes, soit parce que ce ne sont pas celles qu'un artiste aurait choisi de dessiner.

Nous souhaitons faire une étude sur ce sujet pour determiner quelles sont les lignes utiles pour définir une forme, comment elles évoluent selon le point de vue, dans quelle mesure elles dépendent de shemas pré-conçus sur l'apparence que doit avoir un objet (un oeil de face est toujours dessiné de la même manière), dans quelle mesure elles reflètent l'éclairage, etc...

Pour cela nous proposons de définir une application permettant de dessiner sur un objet 3D, sous differents points de vue. De faire evoluer les lignes entre 2 points de vue pour obtenir un dessin cohérent sous tous les angles. Et aussi d'etudier le lien entre les lignes dessinées et celles caculées.



The image “http://www.cs.princeton.edu/gfx/pubs/DeCarlo_2003_SCF/david1.jpg” cannot be displayed, because it contains errors.  The image “http://www.cs.princeton.edu/gfx/pubs/DeCarlo_2003_SCF/david2.jpg” cannot be displayed, because it contains errors.
Fig 1 : contour et suggestive contours : http://www.cs.princeton.edu/gfx/pubs/DeCarlo_2003_SCF/index.php




Extraction of feature lines


    The image “http://www.cad.zju.edu.cn/home/mori/pages/research.files/dragon_featureline.PNG” cannot be displayed, because it contains errors.



Fig 2 : feature lines
gauche : http://www-i8.informatik.rwth-aachen.de/publications/publications_2000.html
droite : http://www.cad.zju.edu.cn/home/mori/pages/research.php




Stylisation d'une animation à partir d'une séquence de G-buffers (plusieurs sujets)


Nous voulons proposer un système permettant à un artiste de styliser une animation qu'il aurait faite avec un modeleur classique. Pour cela nous avons choisi une approche qui travaillerait avec la succession des images de l'animation augmentées de G-buffer (geometry-buffer [saito-Takahashi]) qui sont des images refletant des informations 3D de la scène : image de profondeur, image des normales, etc ....

Pour chaque frame de l'animation on possède donc plusieurs G-buffer (l'image classique pouvant etre considérée comme un G-buffer de couleur). Si ensuite on regarde l'ensemble de l'animation (on se place en 2D+temps) on peut la voir comme une pile d'images ou comme un cube dans l'espace/temps. On appelle cela le video cube et ce principe a été utilisé dans un but identique pour le traitement des videos : video tooning [wang et al], cf figure ci-dessous.

The image “http://students.washington.edu/juew/images/VideoTooning.gif” cannot be displayed, because it contains errors.          


Nous proposons ci-dessous un pipeline de rendu basé sur ces idées dans lequel diverses parties sont à étudier et sont autant de sujets de recherche possibles :





Le système spatial est un système de rendu classique, offert par n'importe quel modeleur (3dS, maya...). En sortie on récupère un ensemble de G-buffers indexés dans le temps pour former une animation. Dans un rendu standard on s'arrete là ou on passe directement dans un logiciel de compositing pour ajouter des effets spéciaux en combinant les diverses images de l'animation. Typiquement l'infographiste va faire differents rendus d'une même scène avec des éclairages differents pour les compositer ensuite.

Nous ajoutons donc entre le rendu et le compositing un pipeline de traitement permettant de styliser et d'abstraire l'animation. Il y a 3 étapes (voir la version shématique ici):


Sujet 1 : extraction des régions en 2d+t

C'est une partie du système d'extraction des primitives. On peut la décomposer en deux étapes :
Il faut en plus que cette région soit paramétrée pour pouvoir ensuite la remplir avec des marques. Cela donne le schéma suivant :



        

Dans le cadre d'un projet de DEA on se placera dans un cas simplifié : on suppose que l'abstraction des couleurs a déjà été en partie effectuée par un rendu de type "cartoon". On aura donc des images facilement segmentables en régions car les couleurs seront des applats. Comme dans les images ci-dessous :

 
Turorial blender sur le toonshading                                                                http://cm.bell-labs.com/cm/cs/who/howard/toonshade.html


Les questions de recherches à résoudre seront alors comment segmenter l'animation en 2d+t (suivre une région dans le temps) pour obtenir un volume.
Puis comment obtenir une paramétrisation de ce volume permettant de remplir chaque tranche (chaque frame) avec des marques en conservant une cohérence au cours de l'animation.

Ce projet de DEA s'appuiera sur les travaux suivants :
Comprehensible rendering of 3D shapes - Saito et Takahashi 1990
Video tooning - Wang et al - 2004

Sujet 2 : extraction des lignes et des points en 2d+t

C'est une partie du système d'extraction des primitives. Les points et les lignes peuvent représenter deux types d'infromations, soit des informations géométriques (silhouettes, contours) soit des informations 2D (postionnement ou orientation dans l'image) permettant de guider le système de marques.

De plus, il est possible que d'une image à l'autre des lignes apparaissent/disparaissent ou fusionnent, il faudra donc ajouter un traitement de ces évenements pour obtenir une evolution temporelle cohérente. De même, il est possible que trop de points ou lignes soient extraits dans certaines images, on souhaite donc aussi avoir un méchanisme de simplification et abstraction de ces primitves.

Enfin, ces primitives 2d+t devront être paramétrisées correctement pour pouvoir assurer une stylisation correcte lors de la création des marques associées.

On peut résumer cela dans le schéma suivant :




Ce projet consistera à dêfinir des méthodes pour extraire les contours dans les G-buffer et les pramétriser correctement. Pour cela il faudra être capable de suivre les contours entre deux images successives. On s'impirera pour cela des travaux de Kalnins sur les silhouettes.

Ce projet de DEA s'appuiera sur les travaux suivants :
Comprehensible rendering of 3D shapes - Saito et Takahashi 1990
Video tooning - Wang et al - 2004
Coherent Stylized Silhouettes - Kalnins et al - 2003



Sujet 3 : génération des marques

C'est une partie du système de gestion des marques. On suppose que l'on possède les primtives 2d+t de l'animation avec une paramétrisation et des attributs et on se pose la question de la géneration des marques. La contrainte est la cohérence temporelle de l'animation. Elle doit être en partie assurée par les primitives sous-jacentes. Par exemple, dans le cas des contours, la primitive associée est une surface en 2d+t qui doit être suffisamment lisse pour assurer cette cohérence dans la position du contour. En revanche  les primitves ne décrivent pas le style et le type de marque.

On cherchera donc à définir un ensemble de paramètres permettant de définir le style des marques. Pour cela on s'inspirera des travaux NPR portant sur la simulation de différents types de peinture/traits et sur des oeuvres d'artistes pour essayer d'en tirer les caractérisitiques communes. Le générateur de marques peut-être se schématiser comme ci-dessous :





Ce schéma donne uniquement les 3 grands types de marques : points, lignes, regions.
Il reste à définir leurs attributs (forme, taille, couleur, opacité, réaction au melange,....) et les outils logiciels pour les gérer.

Pour une bibliographie sur le NPR, on pourra regarder : http://www.red3d.com/cwr/npr/