Utilisation de la théorie de la
décision et de métriques perceptuelles pour
accélérer le rendu temps-réel de scènes
complexes avec illumination globale (surfaces diffuses ET non diffuses)
Tout ceci est partie d'une
constatation simple...
Est-il utile de concentrer des calculs
important lorsque le matériau est peu
réfléchissant, lorsque celui-ci comporte un vernis qui
limitera la contribusion diffuse, lorsque l'environnement
réflechi ne contient que peu de détails (uniquement des
variations basses fréquences) ou que celui-ci est très
sombre, etc. Il nous est apparu nécessaire de prendre en compte
TOUTES ces conditions pour optimiser efficacement les calculs à
effectuer.
Pour tenir compte de ces facteurs et
les évaluer nous avons exploitée une approche efficace
basée sur la théorie de la décision.
Puisque le résultat final est
dédié à un observateur humain, nous avons tenu
compte des caractéristiques de son système visuel pour
estimer encore plus finement quels étaient réellement les
phénomènes pour lesquels des approximations pouvaient
être réalisés sans effets notables pour l'oeil
humain et quels étaient ceux particulièrement influents
et perceptibles.
Caractéristiques du système
Rendu temps-réel OpenGL + optimisations OpenGL avancees
Illumination globale diffuse calculée par notre radiosité hiérarchique.
Texturation
Reflexions non diffuse par 'environment maps' filtrées par la BRDF.
Multi-Texturation pour materiaux multi-couches (e.g. Bois + Verni)
Résultats principaux apportés par notre approche
basée sur la décision de la théorie incluant des
métriques perceptuelles
Gestion des textures diffuses (Article EGRW 01).
Simplification du maillage résultat (Article TOG 03).
Gestion des réflexions non diffuses (Article TOG 03).
Figure 1 : Système développé (cliquer pour agrandir)
Le rendu réaliste de scènes
complexes en 3D requiert des capacités de calculs importantes.
Or, les applications interactives utilisent déjà une
partie des ressources disponibles (comme la mémoire, ou la
charge CPU), il devient donc plus difficile de mettre au point une
solution.
Nous allons donc essayer de mieux allouer les ressources disponibles
pour optimiser l'exécution (par exemple la qualité
d'image ou la fréquence d’affichage).
Notre approche est basée sur la
théorie de la décision. Cette
théorie importante permet d’aider un décideur à
choisir de façon optimale entre un ensemble de solutions
alternatives, à la lumière de leurs conséquences
respectives. Typiquement, le décideur doit choisir entre un
ensemble d'actions possibles dont chacune a une efficacité
prévue. Souvent, l'action choisie est celle qui maximise ce
critère.
Ce formalisme peut être adapté pour le rendu interactif.
Le problème que nous essayons de résoudre peut être
énoncé de la façon suivante : sachant qu’il existe
des contraintes, quelles sont les meilleures actions de rendu possibles
qui optimiseront le rendu des images ?
Figure 2 : Fondements de la Théorie de la Décision.
1.
Contraintes :
Nous devons d’abord définir les contraintes du système,
qui sont de deux types : limitations de ressource et décisions
de conception. Dans une application de rendu qui utilise des ressources
matérielles, le nombre de textures peut être contraint par
la quantité de mémoire vidéo : c’est une
limitation de ressources. Dans une application de raytracing, la
quantité de rayons à former est contraint par le temps de
calcul de chaque trame : c’est une décision de conception.
2. Actions
de rendu :
Nous devons considérer les actions de rendu affectées par
les contraintes et pour chacune de ces actions, les approximations que
le système pourrait exécuter pour respecter les
contraintes.
Dans un algorithme de raytracing, les actions de rendu possibles
peuvent être : "calculez le rayon primaire", "calcul de la
contribution de la source lumineuse", "calcul de la contribution
spéculaire"...
Dans beaucoup de cas, les approximations d'une action de rendu forment
un ensemble ordonné d’alternatives. Dans le cas des niveaux de
détail par exemple, les différents niveaux du
détail de l’affichage de l’objet sont des approximations
possibles.
L'ensemble de toutes les approximations utilisées est
appelé l’état de rendu graphique du système. Cet
état peut être modifié pour chaque trame ou de
façon asynchrone.
Ensuite, nous devons décrire les liens entre les contraintes et
les actions de rendu en définissant le coût de chacune,
par rapport à une contrainte spécifique
Dans une application de raytracing, le coût de chaque action de
rendu peut être évaluée sur la base du nombres
rayons à générer. Pour une application OpenGL, le
coût peut être défini comme le nombre de primitives
à évaluer.
3. Efficacité:
Afin de sélectionner les actions de rendu à mettre en
œuvre, nous devons être capable de mesurer l'efficacité
d'un état de rendu. Celui-ci est évalué en
comparant l’état de l’image produite avec l’image ‘parfaite’qui
serait produite en l’absence de toutes contraintes avec le maximum de
précision offert par l'algorithme de rendu choisi.
Un des aspects importants de la théorie de la décision
dans le cadre du rendu graphique interactif, est la possibilité
d’ordonner les différents états de rendu afin d'obtenir
une prise de décision optimale. Elle permet de créer des
méthodes rapides pour évaluer l’efficacité, car il
est seulement nécessaire d’ordonner les différents
états, plûtot que d’estimer les valeurs de chaque
état, de façon isolée.
4. Allocation des ressources :
L’ordonnancement et la prise de décision sont régies par
un algorithme d'allocation des ressources dont le rôle est de
déterminer quel est l’état du rendu qui minimise le
coût et maximise l'efficacité.
Malheureusement, l’optimisation de l’efficacité, en
présence de contraintes, est NP complet. Alors que
quelques approximations existent pour un cas général,
dans beaucoup d’autres, il est nécessaire concevoir un
algorithme qui prenne en compte les spécificités du
problème et de son environnement.
Il est important de préciser que dans la mise au point de
systèmes interactifs, le coût informatique
nécessaire à la prise de décisions doit être
négligeable par rapport au coût du rendu graphique. En
particulier, le coût de calcul de différentes
approximations de rendu, ainsi que celui engendré par les
algorithmes d’allocation de ressource doivent être
extrêmement faible.
Métriques
perceptuelles
Les métriques de qualité image
que nous employons dans nos prises de décision sont
basées sur le sytstème de perception humain. En effet,
bien connaître ses limitations permet d'adapter le rendu en
présentant à l'observateur les effets et les
phénomènes auxquels il est sensible et en supprimant ceux
qui sont que plus difficilement perceptibles.
Nos
métriques sont basées sur (voir
ici) :
Figure 3 : Elevation Maps (en niveaux de gris) pour quelques
textures (Pavage, Marbre, Parquet, Bois). Le noir indique une
insensibilité aux variations fréquentielles du motif, le
gris et le blanc indiquent une sensibilité plus forte (par
exemple pour les lignes du pavage).
Figure 4 : Estimation de la qualité image par nos
métriques pour l'éclairement diffus (QD) et les
réflexions non diffuses (QE). La scène test, rendue en
temps-réel présente une sphère de bois dont la
texture, le vernis, les conditions d'éclairement,
l'environnement varient. En fonction de ces divers paramètres,
il est possible d'observer que les métriques calculées
identifient clairement quels sont les phénomènes qui
sensibilisent l'observateur. Les métriques sont
dissociées et non normalisées (il n'est donc pas possible
de comparer un QD à un QE). Pour plus de détail sur
l'utilisation des métriques par le système, il est
prié de se référer à l'article. Sommairement, elles
permettent d'ordonner entre elles les réflexions diffuses d'un
côté puis les réflexions spéculaires d'un
autre.
Résultats obtenus
Figure 5 : "Decision theory based
radiosity mesh simplification". Simplification du maillage
calculée par la radiosité pour n'afficher que les
éléments essentiels à la perception d'un
observateur. Par exemple, il est ici inutile d'exploiter un maillage
très fin pour une zone peu éclairée et dont la
texture apportera des hautes fréquences masquant les
détails d'illumination. Par contre, le plafond ne
présente pas de texture et des variations d'illumination forte
qui doivent être finement représentées. Cette
approche est extrêmement utile en radiosité car les
conditions d'illumination globales sont souvent plus "lissées"
que l'éclairement direct initial (qui lui produira dès le
début des calculs un maillage très fin sur les variations
d'illumination apportées par les sources lumineuses de la
scène).
Figure 7 : "Perceptually-Based
Texture Caching". Choix des niveaux de mip-maps pour le rendu
temps-réel des textures en fonction de la position de
l'observateur, de la sensibilité de
l'observateur, des
conditions d'éclairement, du contenu fréquentiel des
textures. Pour une texture donnée, Ti, les barres de niveau
indiquent le mip-map à choisir (lors d'un zoom, le niveau de la
texture observée descend donc au minimum, soit la
résolution maximale).
Figure 8 : "Perceptually-Based
Environment-Maps Filtering and Rendering". Notre technique a
également été employée pour la prise en
compte des réflexions spéculaires (Environment Maps
filtrés par la BRDF ; i.e. Convolution) et ce en fonction des
matériaux employés, des conditions d'éclairement,
de l'environnement, de la sensibilité de l'observateur, etc.
Ici, chaque barre indique le degré d'importance des
rélexions non diffuses présentes à l'écran.
En fonction de l'observation, l'ordre évolue (pour un zoom,
certaines réflexions deviennent même inutiles, ce qui
permet d'optimiser l'affichage et l'occupation mémoire).