Télécharger le fichier pdf d’un mémoire de fin d’études
TECHNIQUES DE SYNTHESE D’IMAGE 3D
La synthèse d’image 3D se décompose essentiellement en deux étapes : Il y a d’abord la « modélisation », qui consiste à modéliser ce qu’on veut visualiser ou représenter. Ensuite le « rendu » qui est la visualisation de ce qu’on a modélisé. Dans chacune de ces étapes, il existe un grand nombre de techniques. Bien que théoriquement les techniques de modélisation et de rendu soient indépendantes, il va de soi que le rendu doit pouvoir exploiter les données modélisées et bien souvent une technique de modélisation est étroitement associée avec une technique de rendu.
Modélisation
La modélisation consiste à faire stocker par l’ordinateur un ensemble de données géométriques et de caractéristiques graphiques permettant de représenter ensuite le modèle. Ce modèle est habituellement appelé « scène 3D » ou « vue 3D ». Pour ce faire, il faut utiliser des logiciels : Le processus de modélisation peut être soit automatique comme pour un « scanner 3D », où un programme va créer une représentation informatique à partir d’un objet réel du monde, soit manuel à l’aide d’un logiciel d’édition 3D. Dans ce dernier cas, un infographiste est responsable de la création du modèle. Ces logiciels sont appelés « modeleurs » d’après l’anglais modeler. Parmi les logiciels les plus connus et les plus répandus se trouvent 3D Studio Max (3DSMax), Maya, LightWave, Cinema4D (Cine4D), Blender, etc.
Rendu
Le rendu se décompose à son tour en plusieurs phases : Calcul de l’éclairage (illumination), la projection dans le plan d’observation, et le dessin proprement dit avec application éventuelle de textures. Le rendu est une phase qui consiste à transformer l’espace 3D en une image à deux dimensions (2D). Il est généré par un ou des programmes qu’on appelle « moteur de rendu 3D », intégré(s) ou non au logiciel de modélisation.
Illumination
Il y a l’illumination locale qui est une méthode de calcul d’illumination utilisée dans la synthèse d’image 3D. Elle permet de calculer la luminosité apparente d’un volume. Puis l’illumination globale, qui, en déterminant la lumière tombant sur une surface, tient compte non seulement de la lumière qui a pris un chemin partant directement d’une source lumineuse (illumination directe), mais également la lumière ayant subi la réflexion des autres surfaces dans la scène à 3D (illumination indirecte).
L’illumination locale se distingue de l’illumination globale par le fait qu’elle ne considère que des critères locaux (paramètres du point ou de la face à éclairer comme la normale, couleur, absorption, émission ; l’emplacement des sources lumineuses). Les images rendues en utilisant des algorithmes d’illumination globale sont alors plus photoréalistes que des images rendues en utilisant des algorithmes d’illumination locale.
Projection
Les objets ainsi définis par des nombres peuvent ensuite être dessinés sur un écran ; les triplets de valeurs (x, y, z) sont transformés en points du dessin. Ce rendu utilise la notion de perspective : Il y a la perspective conique, avec points de fuite, c’est-à-dire, plus l’objet est loin, plus il est dessiné petit. Ce procédé est parfois qualifié abusivement de « vraie 3D » ou de « vision naturelle » (Fig. 1.02). Et la perspective axonométrique dont la taille de l’objet ne varie pas avec l’éloignement ; mais l’éloignement est figuré par un déplacement dans le plan de la figure (Fig. 1.03).
Dessin
Des techniques complémentaires d’application de texture (texture mapping) sont utilisées pour le rendu d’effets plus réalistes sans pour autant rendre plus complexes les modèles 3D. Par exemple l’application de textures photoréalistes issues de l’objet réel, le placage de relief (bump mapping) qui est une perturbation locale des normales à la surface et permet de rendre l’aspect de surfaces granuleuses, et les textures d’éclairage.
DIFFERENCE FONDAMENTALE AVEC LA 2D
L’image faite avec les techniques citées précédemment aurait très bien pu être dessinée directement en 2D, mais elle a été calculée, générée à partir du modèle 3D.
Le monde de la 3D en images de synthèse est, effectivement, réel. Cette image est volumétrique (volumique), et donne une valeur à tous les points de l’espace (calculs matriciels). Ceux-ci sont tous reliés entre eux afin de constituer des polygones, appelés communément des facettes. Ces facettes interconnectées entre elles à leur tour, constituent finalement l’objet 3D en question. Par ailleurs, d’autres points peuvent se trouver eux aussi à l’intérieur même de l’objet, ceux-là même auxquels on peut attribuer des fonctions spécifiques supplémentaires, conférant à l’objet une impression de masse en plus du volume (par exemple l’objet plein et l’objet creux).
CONTRAINTES TEMPORELLES
Des contraintes temporelles sont envisagées en synthèse d’image 3D. Le cinéma et le jeu vidéo sont pris comme exemple de contextes d’utilisation de cette synthèse. Bien que la technologie soit analogue dans les deux cas, il existe des différences notables. La contrainte de temps réel inhérente au jeu vidéo n’existe évidemment pas au cinéma. C’est pourquoi les images de synthèse utilisées au cinéma, plus détaillées, sont précalculées une par une, ce qui permettent un bien meilleur rendu visuel. Il convient donc de bien faire la différence entre la 3D temps réel et la 3D précalculée. Mais il y a aussi d’autres contextes, notamment celui de la maquette numérique d’aspect, qui utilise des solutions hybrides, des compromis entre 3D temps réel et 3D precalculée, qui permettent d’obtenir dans certains cas un rendu visuel proche de la synthèse d’image 3D précalculée, tout en bénéficiant des avantages de la 3D temps réel.
CARACTERISTIQUES DE LA 3D TEMPS REEL
La 3D temps réel est effectivement utilisée dans les jeux vidéo, mais a également de nombreuses autres applications comme la visualisation architecturale, visualisation médicale, simulations diverses, économiseurs d’écrans, etc. Le challenge technique inhérent à cette sorte de 3D est d’obtenir la meilleure qualité d’image possible tout en conservant une animation fluide, ce qui demande d’optimiser au mieux les calculs d’affichage. (Fig. 1.04)
Figure 1.04 : Image en temps réel [2]
CARACTERISTIQUES DE LA 3D PRECALCULEE
La 3D précalculée est utilisée dans la création d’images, d’effets spéciaux et de films d’animation. Son avantage principal est qu’elle permet d’obtenir une très grande qualité d’image et un réalisme poussé. L’image est qualifiée de « photoréaliste » lorsque son niveau de détail est très important. On peut alors la confondre avec une photographie. Une préoccupation pour les temps de calcul existe, mais à une échelle totalement différente de celle de la 3D temps réel. En effet, dans cette dernière, une animation fluide demande qu’il soit possible de calculer plus de vingt images par seconde, alors qu’en 3D précalculée, le calcul d’une image peut prendre des heures, voire des jours. Une fois toutes les images calculées, elles sont projetées à la fréquence voulue. Elles sont souvent générées sur ce qu’on appelle une ferme de calcul. C’est un réseau important d’ordinateurs reliés les uns aux autres, pour multiplier la puissance de calcul : comme chaque seconde d’animation requiert près de 30 images, cela signifie que pour 15 minutes d’animations le réseau devra générer plus de 27 000 images. (Fig. 1.05)
Figure 1.05 : Image en 3D precalculée [2]
CARACTERISTIQUES DE LA 3D HYBRIDE
La 3D hybride vise à améliorer le photoréalisme de la 3D temps réel en pré-calculant (et donc en figeant) certains paramètres dont le calcul est coûteux mais dont la qualité est indispensable au réalisme de l’image. L’éclairage fait partie de ces paramètres coûteux. En 3D temps réel, il est sacrifié : pas ou peu d’ombres portées, pas d’illumination globale. Or, un bon éclairage apporte énormément au réalisme de l’image et c’est souvent ce qui fait la grande différence entre la 3D temps réel et la 3D précalculée. Figer ce paramètre peut être un problème, il ne peut plus être changé en temps réel, l’éclairage ne peut plus être complètement dynamique. Mais il y a de nombreux contextes d’utilisation de la 3D temps réel, dans lesquels il n’est pas indispensable d’avoir un éclairage complètement dynamique, et on peut donc se permettre de figer cet éclairage. On calcule alors des textures d’éclairage qui encodent l’éclairage. Ce calcul est relativement long (précalculé, il n’est pas fait en temps réel) mais, une fois effectué, l’information d’éclairage est disponible instantanément. La qualité du rendu peut alors approcher ce qu’on obtient en 3D précalculée tout en apportant de l’interactivité dans les réglages de tous les autres paramètres. (Fig. 1.06)
Figure 1.06 : Image en 3D hybride [2]
Conclusion : L’imagerie tridimensionnelle résulte donc d’une évolution des techniques de l’imagerie 2D. Cependant au fil du temps, elle a développé ses propres techniques la différenciant avec la 2D. La 3D a plusieurs domaines d’application : les images 3D, le cinéma, la médecine, etc. auxquels on peut distinguer plusieurs types de 3D selon la contrainte temporelle ayant une répercussion sur la qualité du rendu 3D.
|
Table des matières
INTRODUCTION
Chapitre 1: GENERALITES SUR L’IMAGERIE 3D
1.1. Historique
1.2. Synthèse D’image 3d
1.2.1. Généralités
1.2.2. Techniques De Synthèse D’image 3d
1.3. Différence Fondamentale Avec La 2D
1.4. Contraintes Temporelles
1.4.1. Caractéristiques De La 3d Temps Réel
1.4.2. Caractéristiques De La 3d Precalculée
1.4.3. Caractéristiques De La 3d Hybride
Chapitre 2: MODELISATION ET NUMERISATION D’IMAGE 3D
2.1. Méthodes Utilisées Pour La Modélisation 3d
2.1.1. Modélisation Directe
2.1.2. Présentation D’un Scan 3d
2.2. Caractéristiques De La Camera
2.2.1. Vue En Perspective
2.2.2. Camera Trackball
Chapitre 3: OUTILS ET LANGAGES DE PROGRAMMATION DU SCANNER 3D
3.1. OpenCV
3.1.1. Fonctionnalités
3.1.2. Traitement D’images
3.1.3. Récupération De L’image Et Affichage
3.2. OpenGL
3.2.1. Fonctionnalités
3.3. GTK
3.3.1. Principales Fonctions De Gtk+ Utilisées
Chapitre 4: REALISATION DU LOGICIEL DE GESTION D’UN SCANNER 3D
4.1. Présentation Du Projet
4.1.1. Envoie De La Commande d’Allumage des Lasers
4.1.2. Allumage De La Caméra
4.1.3. Prise de la vue de la caméra
4.1.4. Envoie de la commande de rotation du moteur de un pas
4.2. Logiciel De Traitement
4.2.1. Bouton Accueil
4.2.2. Bouton Scanner
4.2.3. Bouton Paramètres
4.3. Résultats De Tests
CONCLUSION
ANNEXE
Annexe: EXTRAIT DE CODE EN LANGAGE C
REFERENCES
Télécharger le rapport complet