Projet Siames

previous up next contents
Précédent : Logiciels Remonter : Projet SIAMES, Synthèse d'Images, Animation, Suivant : Actions industrielles



Résultats nouveaux

 

Simulation d'éclairage d'environnements complexes

 

Participants : Kadi Bouatouch , Éric Maisel , Erwan Guillou , Daniel Meneveau , Éric Zeghers


Mots-clés : simulation d'éclairage, environnements complexes, décomposition de domaine


Résumé : Nos principaux résultats concernent les méthodes de simulation d'éclairage dans des environnements complexes (bâtiments...) et leur application à des cas concrets, la mise en oeuvre de critères de confort visuel et le dimensionnement et l'éclairage des tunnels routiers. De plus, nous avons conçu et mis en oeuvre de nouveaux algorithmes concernant la structuration de scènes, différentes stratégies d'ordonnancement de calculs radiatifs, la parallélisation de l'algorithme de radiosité sur un réseau de machines.

Nous avons conçu et mis en oeuvre une méthode de structuration de scènes complexes (par exemple des bâtiments) en sous-scènes afin de pouvoir simuler l'éclairage dans ces environnements (cf figure [*]). Cette méthode est interactive et offre la possibilité à l'utilisateur d'intervenir dans le processus de découpage afin d'accepter ou de refuser une cellule extraite ou de fusionner plusieurs cellules. Le découpage en sous-scènes correspond bien à la topologie de la scène [31].

Notre algorithme de simulation d'éclairage SIM utilise le résultat de cette structuration et fonctionne de la manière suivante : une cellule est choisie pour faire émettre l'énergie de ses surfaces. Elle est chargée en mémoire ainsi que les cellules qui lui sont visibles. Les calculs d'émission lumineuse des surfaces de la cellule choisie sont effectués. Puis une nouvelle cellule est choisie, chargée en mémoire, etc. Cependant, l'ordre dans lequel les cellules sont choisies est capital dans le processus de simulation d'éclairage. En effet, il est inutile de décharger puis de recharger une cellule participant à deux calculs consécutifs. Pour cela, nous proposons sept stratégies de choix des cellules permettant de réduire les accès disque ou d'accélerer la convergence de l'algorithme [30]. La simulation d'éclairage une fois effectuée, le résultat est sauvegardé sous forme d'un ensemble de fichiers réutilisables pour effectuer une visualisation interactive dans l'environnement.

De plus, nous avons mis en oeuvre une approche parallèle. Cette approche permet d'effectuer une simulation d'éclairage sur plusieurs processeurs simultanément. Les processeurs peuvent indifféremment appartenir à une machine parallèle ou à un réseau de machines. Ainsi, chaque processeur est chargé d'effectuer la simulation d'éclairage sur un groupe de cellules.


   Figure: Simulation d'éclairage sur plus de trois cent pièces

\begin{figure} \centering \psfig {file=IMG/pieces.ps,width=7cm}\end{figure}


Confort visuel

 

Participants : Kadi Bouatouch , Éric Maisel , Erwan Guillou , Daniel Meneveau , Samuel Carré , Éric Zeghers


Mots-clés : perception visuelle, confort visuel


Résumé : Les résultats issus de la simulation d'éclairage nous renseignent sur la manière dont est éclairé un environnement. Cette éclairage peut être remis en cause s'il produit des gênes chez un observateur. Cette remise en cause ne peut être possible que si l'on est capable de quantifier les critères d'inconfort visuel. Ces critères sont évalués une fois la simulation d'éclairage effectuée. Notre logiciel de simulation quantifie ces critères.

Les travaux qui ont été effectués sur l'inconfort visuel dans un environnement donné se basent, pour la majeure partie, sur des expériences pratiques, telles que celles de Blackwell, Weston , ou encore Bodmann, réalisées dans le cadre des travaux de la CIE (Commission Internationale de l'Eclairage) sur l'étude des performances visuelles. Ils ont permis à cette commission de décrire une méthode d'évaluation d'un environnement visuel, en terme de performances, en fonction de l'influence de l'éclairage, ainsi que des guides de travail pour les usages potentiels de ce modèle dans les applications d'éclairage.

Du fait de la structure et de la sensibilité de l'appareil visuel humain, nous pouvons trouver de nombreuses causes de gêne pour un observateur placé dans un environnement donné.

Notre travail a été de calculer les différents paramètres décrivant les performances visuelles potentielles dans un environnement, tels qu'ils sont définis par la CIE, ceci à l'aide des résultats fournis par notre logiciel de simulation d'éclairage [14]. Ceci permet d'obtenir une description photométrique de l'éclairage d'un environnement, ainsi que de ses effets sur des observateurs ayant une tâche particulière à y effectuer. En effet, une fois la simulation effectuée, on place un observateur et on fixe les paramètres de vue associés, puis on évalue les différents critères de confort visuel à l'aide d'une image de luminances et de contrastes. Ensuite, on décide s'il y a lieu de modifier les caractéristiques des sources ou les propriétés de réflexion des objets pour éviter toute gêne visuelle.

Eclairage et dimensionnement de tunnels routiers

 

Participants : Kadi Bouatouch , Éric Maisel , Erwan Guillou , Daniel Meneveau , Éric Zeghers


Mots-clés : perception visuelle, sécurité


Résumé : Une étude concrète que nous avons réalisée concerne l'éclairage des tunnels. Il s'agit d'assurer sur la chaussée un certain niveau de luminance pour permettre à l'utilisateur de détecter un obstacle. Pour cela il faut offrir à l'utilisateur plusieurs configurations possibles des paramètres du tunnel assurant ces niveaux de luminance.

Dès que la longueur d'un tunnel dépasse quelques dizaines de mètres, la pénétration de la lumière extérieure dans celui-ci devient très faible. De jour, le passage d'une ambiance lumineuse intense (extérieur) à un milieu aussi obscur est mal toléré par l'usager qui risque de ne pas percevoir un éventuel obstacle placé sur la chaussée.

Il apparaît donc nécessaire, ne serait-ce que pour des questions de sécurité, d'assurer des niveaux d'éclairage suffisants en tout point à l'intérieur de ces tunnels. On cherche donc à quantifier le minimum d'éclairage, celui dont le coût d'installation et de revient est minimal tout en assurant une sécurité suffisante sans toutefois négliger les aspects de confort visuel pour l'usager.

Nous avons mené une étude théorique approfondie [11] basée sur la perception visuelle ayant pour but d'obtenir une courbe de luminances minimales requise sur la chaussée dans la zone d'entrée du tunnel permettant de détecter un éventuel obstacle. Ensuite, nous avons développé une méthode offrant à l'utilisateur plusieurs jeux de paramètres du tunnel étudié permettant de respecter ces luminances requises : réflectance de la chaussée, des murs et du plafond, type et nombre de sources, puissance d'émission, ... Conceptuellement, ce problème peut être vu comme un problème de simulation inverse.

Interactions entre modèles physiques

 

Participants : Bruno Arnaldi , Frédéric Beauchamp , Rémi Cozot , Georges Dumont


Mots-clés :


Résumé : Dans le traitement des interactions entre systèmes, outre la détection géométrique d'inter-pénétration entre les objets, il est nécessaire de calculer la réaction des objets soumis à une interaction. Ceci est un problème de nature physique. A partir du modèle physique de chaque objet, défini par DREAM, nous calculons le nouvel état (position, vitesse, accélération) de celui-ci en fonction de la nature de l'interaction (choc ou contact) et des caractéristiques des matériaux qui composent les objets.

Nous classons les interactions entre systèmes en deux catégories : les chocs ou les contacts. Nous posons que des objets sont soumis à un choc lorsque leur vitesse relative, au point d'intersection de leur géométrie, est supérieure à une vitesse seuil. Dans le cas contraire, lorsque la vitesse relative est inférieure à cette vitesse seuil, les objets sont dit en contact. De plus, il est nécessaire de distinguer le cas de chocs entre des solides rigides du cas de chocs où au moins un des solides est déformable. En effet, un choc entre solides rigides est considéré comme étant instantané, à l'inverse d'un un choc incluant au moins un solide déformable. Dans le deuxième cas, les solides se déforment sous l'effet du choc, puis cherchent à retrouver leur forme initiale en restituant de l'énergie. Enfin, compte tenu des matériaux qui composent les solides, il convient d'intégrer les différents types de frottements induits (sec, visqueux, constant, ...).

Un choc entre solides rigides étant considéré comme instantané, les positions des objets sont fixes. Le nouvel état de vitesses des objets est calculé à partir d'un système matriciel composé des équations suivantes : une équation déduite du principe des travaux virtuels qui exprime la loi de variation de l'énergie cinétique du système lors du choc, l'équation de la loi de Newton qui exprime la variation des vitesses normales relatives des objets au point de choc en fonction d'un coefficient de restitution et les équations induites par l'existence ou non de frottement.

Ce système matriciel est résolu en utilisant le principe des multiplicateurs de Lagrange. Dans le cas des chocs incluant au moins un solide déformable, nous ajoutons, au modèle obtenu avec DREAM, les contraintes exprimant la non-interpénétration des géométries des objets au cours de leur mouvement et les contraintes dues aux frottements .

Contrôle du mouvement pour l'animation

 

Participants : Bruno Arnaldi , Jean-Luc Nougaret , Franck Multon , Nicolas Pazat


Mots-clés : animation, système dynamique, contrôle


Résumé : Nous avons formalisé une méthode de conception de modèles dynamiques pour la locomotion. Après avoir identifié les principes fondamentaux, nous avons proposé un modèle hybride permettant d'abstraire le processus de locomotion de manière très générique. Nous avons ainsi abouti à la notion de ``problème standard'', chère à l'automaticien. Cette étude a permis de définir une méthode de conception systématique, supportée par des outils théoriques et logiciels.

Pour être abordée de manière efficace, la conception de systèmes complexes doit être guidée par des principes théoriques fondateurs, mais aussi s'appuyer sur des méthodes et des outils pratiques. Le domaine de l'animation par ordinateur est encore trop récent pour que la conception de modèles de mouvement ait pu atteindre un degré de formalisation comparable à celui que l'on connait dans des domaines plus établis comme celui de l'automatique. Par contre, l'animation par modèles physiques est encore considérablement limitée, par le fait que l'animateur ne dispose pas de méthodes systématiques ni d'outils pratiques lui permettant de spécifier et de contrôler aisément le comportement de modèles dynamiques du mouvement. Pour l'automaticien ou le traiteur de signaux, le comportement d'un système dynamique peut être représenté à l'aide de transformées et de fonctions de transferts ou dans l'espace d'état. De notre côté, nous cherchons à abstraire la description des modèles de mouvement, de manière à les rendre accessibles et manipulables par les animateurs. Ainsi nos modèles de mouvements sont définis par des blocs fonctionnels - constituants élémentaires d'une bibliothèque de modèles génériques paramétrables [13] (cf figure [*]). En particulier, nous avons proposé un ensemble d'outils théoriques et logiciels, permettant d'assister un animateur au cours d'un cycle de conception. Ce cycle procède à différents niveaux d'abstraction du modèle, et comporte une phase de simplification progressive à l'issue de laquelle les lois de commande peuvent être synthétisées de manière automatique. Finalement toutes ces simplifications sont compensées a posteriori, par la restauration des effets négligés au cours de la première phase.

L'assemblage de ces mouvements (tâches) élémentaires, permet de synthétiser des mouvements complexes et soulève des problèmes théoriques fondamentaux, comme celui de la coordination.


   Figure: Locomotion naturelle d'un poisson

\begin{figure} \centering \psfig {file=IMG/poisson.ps,width=7cm}\end{figure}


Modèle de locomotion humaine pour l'animation

 

Participants : Bruno Arnaldi , Rémi Cozot , Franck Multon


Mots-clés : humanoïde, locomotion humaine, contrôle de système dynamique


Résumé : La locomotion humaine est un enjeu important et difficile pour l'animation par ordinateur. En effet, il faut garantir le réalisme des marches produites : critères physiques et biomécaniques, tout en conservant des temps de calcul compatibles avec l'animation interactive. Nous proposons un modèle de marche composé de trois parties : un automate qui supervise les cycles de locomotion, des trajectoires paramétriques qui incorporent des connaissances biomécaniques et un analyseur mécanique du rendement de la marche produite qui contrôle l'évolution des paramètres continus de cette dernière.

La locomotion humaine est un enjeu important et difficile pour l'animation par ordinateur. En effet, il faut garantir le réalisme des marches produites : critères physiques et biomécaniques tout en conservant des temps de calcul compatible avec de l'animation interactive.

Nous avons étudié ce problème dans le cadre des modèles hybrides pour l'animation et la simulation. Il est naturel de décomposer le contrôle de la locomotion en une partie discrète correspondant aux différentes phases de la marche et de la course (double appui, simple appui, vol ...) et une partie continue pour le calcul des trajectoires articulaires. Nous proposons d'utiliser ce type de renseignements en définissant un automate cyclique par articulation, dont chaque état correspond à une des phases introduites par Nilsson [NTH85]. Cette représentation en automates parallèles hiérarchisés permet de décrire explicitement la coordination entre les articulations. Une analyse mécanique des bilans énergétiques de la locomotion, à partir d'un modèle simplifié a permis de retrouver des résultats bien connus en biomécanique : la transition marche/course et la stratégie de longueur/fréquence des pas. Suivant les coûts énergétiques calculés, le module de mécanique signale quelle est la stratégie la plus réaliste.

En collaboration avec le projet iMAGIS de Grenoble, un outil de dynamique inverse a été développé afin de calculer les forces appliquées à chaque articulation pendant la marche produite par notre modèle [22].

Animation comportementale

 

Participants : Guy André , Anne Bachy , Stéphane Donikian , Guillaume Moreau , Éric Rutten


Mots-clés : animation et simulation comportementales


Résumé : L'essentiel des travaux menés cette année sur l'animation et la simulation comportementale ont consisté à étudier les techniques de spécification du comportement par une approche langage. L'application de ces travaux concerne principalement la spécification du comportement de conducteurs de véhicules dans un contexte de simulation urbaine ou autoroutière [20,19,18] (cf figure [*]).


   Figure: Véhicule autonome dans un environnement urbain dans lequel se trouvent un cycliste et un piéton

\begin{figure} \centering \psfig {file=IMG/vehicule.ps,width=7cm}\end{figure}


Langage de description des comportements

Les travaux engagés cette année se sont orientés vers l'approche langage et la génération de code. Le but de ce langage est la spécification orientée-objet du comportement des entités à la fois dans sa partie synchrone, utilisation du modèle formel STPH, et dans sa partie asynchrone, par le biais de processus anytime.

La partie synchrone de notre langage est fondée sur le formalisme STPH (Système de Transition Parallèle Hiérarchisé). La hiérarchie permet d'exprimer les comportements de façon plus modulaire, et rend leur modification plus aisée. Le parallélisme, quant à lui, rend compte de la concurrence des activités humaines. Il reste ensuite à intégrer les différents sous-comportements : les flots de données de sortie de chacun des sous-états d'un état doivent être convertis en sortie de l'état, en résolvant les éventuels conflits entre comportements (fonction d'intégration). Les processus interrogeables (ou anytime), tels qu'ils sont définis par Horvitz [Hor90], se fondent sur l'hypothèse qu'une réponse incomplète en temps et en heure est souvent plus utile qu'une réponse exacte arrivant trop tard. C'est donc aux processus interrogeables que reviennent les tâches plus coûteuses en terme de temps de calcul. Le langage défini permet d'accéder de façon immédiate à la réponse fournie par une telle tâche, quel que soit son état d'avancement. À ce langage de description de comportements, est associé un générateur de code C++ efficace, capable de générer, soit des modules pour la plate-forme de simulation GASP, soit un code de simulation indépendant.

Spécification du modèle STPH à l'aide du langage réactif Statemate

Nous avons étudié avec Eric Rutten du projet EP-ATR l'utilisation des langages Statemate et Signal comme environnement de programmation de modèles comportementaux répondant au formalisme STPH. L'intérêt de cette étude réside dans l'éventail d'outils de spécification, de vérification et de validation offerts par le couplage de ces deux langages. Statemate est un outil graphique développé par la société I-Logix qui permet de spécifier un système réactif reposant sur le modèle des statecharts défini par D. Harel [Har87]. Signal est un langage réactif synchrone orienté flot de données développé depuis de nombreuses années par le projet EP-ATR. Dans le cadre du projet européen SACRES, un format commun intitulé DC+ accueille les spécifications issues entre autre de ces deux langages et sert de support à la génération de code, ainsi qu'à des outils de vérification. De cette étude, il résulte qu'une utilisation coordonnée de ces deux langages est possible pour mettre en oeuvre le modèle STPH.

Algorithmique parallèle de la radiosité

 

Participant : Bruno Arnaldi , Thierry Priol , Luc Renambot


Mots-clés : synthèse d'images, algorithmes parallèles, radiosité


Résumé : Concernant la parallélisation de l'algorithme de radiosité, la stratégie que nous avons suivie, fondée sur une méthode de décomposition en cellules de l'espace de la scène associée à une résolution locale de l'équilibre énergétique nous a permis d'atteindre deux résultats majeurs. Du fait de l'augmentation de la localité des calculs, le traitement séquentiel de notre algorithme présente une meilleure efficacité que les algorithmes traditionnels et la mise en oeuvre parallèle permet d'atteindre des performances très intéressantes sur des bases de données de taille significative.

L'étude de la parallélisation de l'algorithme de radiosité est motivée, d'une part, par la nécessité de pouvoir réaliser des simulations sur de grandes bases de données (plusieurs millions de polygones) et, d'autre part, d'augmenter les temps de réponse de ces simulations. Notre méthode est fondée sur l'utilisation de deux concepts nouveaux [12,27,33] : les interfaces virtuelles et les masques de visibilité permettant de résoudre l'équation de radiosité sur des environnements très complexes (de l'ordre du million de polygones). Nous avons étudié l'impact de ces deux concepts pour améliorer le comportement de l'algorithme de radiosité vis à vis de la hiérarchie mémoire. Pour cela, nous avons utilisé la nouvelle machine Silicon Graphics Origin 2000 du Centre Charles Hermite à Nancy. Cette machine, dotée de 64 processeurs, offre un espace d'adressage global sous forme d'une mémoire virtuelle partagée.

Lors de traitement de bases de données très importantes (un million de polygones) impossibles à traiter sur une station de travail classique, notre méthode par décomposition de domaines et échange d'informations de visibilité obtient en séquentiel des performances cinq fois supérieures à une méthode de radiosité classique. L'étude a montré que le coût de la gestion de la décomposition était largement absorbé par la meilleure utilisation de la hiérarchie mémoire. Une décomposition optimale peut être déterminée pour chaque scène en fonction de l'architecture (en fonction de la taille des caches de données).

Pour la parallélisation de notre méthode sur cette nouvelle architecture, avec un modèle de programmation par variables partagées et non plus par passage de messages, les concepts principaux sont restés les mêmes : décomposition du domaine, chaque processeur accédant à un sous-ensemble de sous-environnements, échange de sources lumineuses et d'informations de visibilité cette fois-ci par la mémoire partagée. Diverses techniques d'allocation mémoire (par le système ou en décrivant précisément les zones accédées par chaque processeur) ont été utilisées et un premier mécanisme d'équilibrage de charge a posteriori utilisant les informations d'une exécution précédente a été conçu. Les performances obtenues sont très encourageantes. Une accélération de 20 sur 32 processeurs a été obtenue à laquelle il faut ajouter les gains déjà obtenus en séquentiel [24].



previous up next contents Précédent : Logiciels Remonter : Projet SIAMES, Synthèse d'Images, Animation, Suivant : Actions industrielles