• Save

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this document? Why not share!

Modélisation de la perception dans un monde virtuel 3D

on

  • 3,884 views

Le document présente une revue des différents concepts, représentations et algorithmes pour percevoir un monde 3D virtuel.

Le document présente une revue des différents concepts, représentations et algorithmes pour percevoir un monde 3D virtuel.

Statistics

Views

Total Views
3,884
Views on SlideShare
3,883
Embed Views
1

Actions

Likes
3
Downloads
0
Comments
0

1 Embed 1

http://www.lmodules.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Modélisation de la perception dans un monde virtuel 3D Modélisation de la perception dans un monde virtuel 3D Document Transcript

  • Lectures Dirigées Modélisation de la Perception dans un Environnement Virtuelle 3D Jimmy Perron
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Table des Matières Table des Matières...........................................................................................................................ii Table des illustrations.....................................................................................................................iv 1 - Introduction................................................................................................................................7 2 - Sciences cognitives...................................................................................................................11 2.1 - Récepteurs.........................................................................................................................11 2.1.1 - Vision..........................................................................................................................11 2.1.2 - L’ouïe..........................................................................................................................12 2.2 - Le traitement de l’information........................................................................................14 2.3 - La représentation des perceptions..................................................................................17 2.3.1 - La représentation de la vision......................................................................................17 A - Représentation séparée de l’espace visuel....................................................................17 B - Représentation cognitive et psychologie de la perception visuelle..............................18 C - Représentation sensorimoteur.......................................................................................22 2.3.2 - La représentation de l’audition....................................................................................23 2.4 - Modèle d’un agent suivant les aspects psychologiques.................................................25 3 - Vision numérique 2D et 3D.....................................................................................................28 3.1 - Récepteurs.........................................................................................................................28 3.2 - Traitement et représentation de l’image numérique....................................................29 3.2.1 - Techniques de traitement d’une image........................................................................29 Segmentation......................................................................................................................30 Segmentation d’une paire d’images....................................................................................32 3.3 - Représentation interne du monde...................................................................................37 Matrice 2D..........................................................................................................................37 Réseaux sémantiques .........................................................................................................38 4 - Perception dans un environnement virtuel 3D.......................................................................40 ii
  • Modélisation de la Perception dans un Environnement Virtuelle 3D 4.1 - Introduction......................................................................................................................40 4.1.1 - Définition d’un Agent.................................................................................................40 4.1.2 - Structure générale d’un environnement virtuel...........................................................42 4.2 - Relations existantes entre les différents types de représentations...............................45 4.2.1 - Relation entre l’environnement virtuel et la représentation virtuelle..........................45 Environnement virtuel basé entièrement sur la représentation virtuelle............................45 Environnement virtuel enrichi à l’aide de la représentation virtuelle.................................47 4.2.2 - Relation entre la représentation virtuelle et la représentation mentale de l’agent.......53 4.3 - Structure des représentations..........................................................................................54 4.3.1 - Représentations géométriques 3D...............................................................................55 A - Modèles d’objets paramétrisés.....................................................................................55 B - Modèle CSG.................................................................................................................55 C - Modèle frontière...........................................................................................................56 4.3.2 - Représentations topologiques......................................................................................58 A - Décomposition en cellules............................................................................................58 B - Technique « Skeletons »...............................................................................................59 C - Région de poids............................................................................................................60 D - « Waypoints » Graphes................................................................................................60 E - Octree............................................................................................................................62 4.4 - Modèle de perception d’un agent....................................................................................65 Conclusion.....................................................................................................................................70 Bibliographie.................................................................................................................................71 iii
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Table des illustrations Figure 1.1 : Architecture représentationnelle de Marr [Gomes, 2000]........................................8 Figure 2.1 : Coupe de l’oeil humain [Bertorello, 1998]..............................................................11 Figure 2.2 : Appareil auditif humain [Ouïe]................................................................................13 Figure 2.3 : Méthode d’expérimentation [Ultranet, 2000]..........................................................14 Figure 2.4 : Trajet de l’information dans le système visuel [Ultranet, 2000].............................15 Figure 2.5 : Discrimination d’objets par attributs.......................................................................16 Figure 2.5a : Peinture de Salvador Dali......................................................................................19 Figure 2.6 : Parcours du son jusqu’au cerveau [Groscarret, 1999]...........................................23 Figure 2.7 : Représentation « Très » simplifiée d’un modèle de perception humain................24 Figure 2.8 : Modèle d’Agent.........................................................................................................25 Figure 2.9 : Représentation statique et dynamique du monde....................................................26 Figure 3.1 : Scène captée à l’aide d’une caméra numérique [Pollefeys, 2000].........................28 Figure 3.2 : Segmentation d’une image [Forsyth et Ponce, 2001].............................................30 Figure 3.3 : Représentation d’un rectangle.................................................................................31 Figure 3.4 : Segmentation en y de l’image...................................................................................31 Figure 3.5 : Acquisition d’images stéréoscopiques [Pollefeys, 2000].........................................33 Figure 3.6 : Image source des caméras [Moravec, 1996]............................................................33 Figure 3.7 : Résultat de l’analyse de l’image de la figure 3.6 [Moravec, 1996].........................34 Figure 3.8 : Calibration des caméras à l’aide d’images de points [Moravec, 1996]..................35 Figure 3.9 : Représentation de la scène à l’aide de surfaces 3D [Pollefeys, 2000]....................36 Figure 3.10 : « Pattern matching » géométrique [Matrox, 2000]...............................................36 Figure 3.11 : Réseau sémantique.................................................................................................38 iv
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Figure 3.12 : Relation Spatiale.....................................................................................................39 ...................................................................................................................................................43 Figure 4.1 : Environnement virtuel [Champandard,2001]........................................................43 Figure 4.2 : Représentation virtuelle : vue de dessus. [Champandar, 2001]..............................43 Figure 4.3 : Représentation mentale............................................................................................44 Figure 4.4 : Représentation virtuelle à l’aide d’une grille 10x6.................................................45 Figure 4.5 : Affichage de la représentation (source : Warcraft).................................................46 Figure 4.6 : Nouvelle architecture d’un environnement 3D.......................................................49 Figure 4.7 : Fusion des 2 représentations....................................................................................52 Figure 4.8 : Intégration d’un lien double permettant au moteur la modification de la représentation................................................................................................................................52 Figure 4.9 : Objet paramétrisé par h,l,m et r [Dupuis, 2000]......................................................55 Figure 4.10 : Représentation CSG [Dupuis, 2000]......................................................................56 Figure 4.11 : modèle en fil de fer [Dupuis, 2000]........................................................................57 Figure 4.12 : Représentation avec des Quadtree.........................................................................59 Figure 4.12a : diagramme de Voronoi.........................................................................................60 Figure 4.13 : « waypoint » graph [Sterren, 2001]........................................................................61 Figure 4.14 : Caractéristiques des « waypoints » [Sterren, 2001]...............................................61 Figure 4.15 : Construction d’un octree........................................................................................63 Figure 4.16 : voxel au centre d’un segment de l’objet.................................................................64 Figure 4.17 : Perception d’un agent.............................................................................................65 Figure 4.18 : Perception entravée................................................................................................66 Figure 4.19a Figure 4.19b......................................................................................................66 Figure 4.20 : Perception biaisée...................................................................................................67 v
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Figure 4.21 : Représentation à l’aide des hauteurs.....................................................................68 Figure 4.22 : Problème de perception..........................................................................................69 vi
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Modélisation de la perception dans un monde virtuel 3D 1 - Introduction Les nombreuses branches et applications de l’intelligence artificielle ouvrent de fascinantes portes vers la simulation de la réalité. Pour atteindre cet objectif, nous discuterons de l’importance de la représentation d’un problème. Ainsi, nous pourrons expliquer l’intime relation qui existe entre la représentation d’un problème ou d’un état et sa perception. En effet, lorsque nous effectuons la perception d’une scène, c’est sa représentation que nous percevons dépendemment du sens utilisé [Marr, 1982]. Si nous regardons une scène, c’est la lumière qu’elle dégage que nous percevons et rien d’autre. Les différents spectres de la lumière composent le langage décrivant la représentation du monde visuel. Le but ultime de l’étude sera de modéliser intelligemment la perception dans un environnement virtuel en trois dimensions. Avant tout, nous allons tenter de définir le concept de la perception. Les théories de la perception visuelle se classent parmi trois familles d’approches [Trivedi & Rosenfeld, 1989] : • L’approche psycho-visuelle, la plus ancienne car elle est attachée aux aspects psychologiques de la perception visuelle. • L’approche analytique, qui cherche à comprendre les mécanismes sensoriels et neuronaux de la vision biologique. • L’approche calculatoire, qui traite des problèmes algorithmiques de l’acquisition, du traitement et de l’interprétation des informations visuelles. Chaque approche doit faire face au même dilemme qu’ont eu les philosophes anciens : est-ce que nous interagissons directement avec le monde extérieur ou l’interaction se fait via notre représentation interne ? Nous avons vu, à travers les siècles, se dessiner deux conceptions de la perception. L’une suppose une perception du monde directement et l’autre, le monde n’est perçu qu’au travers de reconstructions mentales. 7
  • Modélisation de la Perception dans un Environnement Virtuelle 3D En termes de perception, l’ouvrage de Marr [Marr, 1982] a grandement contribué à la recherche en proposant les fondements que doit avoir toute approche de vision numérique pour être cohérente. Il explique qu’il est impossible de considérer le processus de traitement de l’information sans tenir compte de la représentation mentale du monde que l’humain possède. Dans cette optique, les travaux de Marr sont très pertinents puisqu’ils permettent de comprendre le découpage des fonctions d’un système visuel. Pour arriver à bien comprendre l’analyse faite au niveau du cerveau, il faut, selon Marr, découper le problème en trois niveaux : • Le niveau le plus abstrait, « Computational theory », décrit la tâche de chacun des dispositifs formant le système. Il doit aussi décrire la logique derrière l’accomplissement de la tâche et gérer la logique pour y arriver ; • Le niveau de la représentation de l’information « Representation and algorithm » doit précisemment décrire comment les calculs doivent être faits. Cela inclut la représentation de l’information ainsi que les algorithmes permettant de les manipuler ; • L’implémentation inclut la réalisation physique ou logicielle des algorithmes. La contribution de Marr la plus importante s’est faite au niveau « representation and algorithm » où il proposa une architecture permettant d’extraire les informations utiles d’une image. Les trois niveaux de cette architecture servent à générer une représentation en trois dimensions à partir d’une image. La figure 1.1 présente sommairement les étapes de ce processus. Figure 1.1 : Architecture représentationnelle de Marr [Gomes, 2000] 8
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Une autre conception de la vision se définit comme suit : « La vision est un processus de reconnaissance : Elle est associative, interpretative, Dirigée et Sélective. » [Aloimonos, 1994] Nous retrouvons encore une fois, à travers Marr et Aloimonos, les deux aspects de la vision. L’une, constructive, considère que le rôle de la vision est de fournir une représentation de l’environnement à d’autres niveaux cognitifs. L’autre considère la vision comme une partie intégrante d’un système complexe liée à l’attention et à l’action. Nous présenterons cette étude en explorant les trois aspects suivants : • l’apport des sciences cognitives au niveau de la perception et de la représentation de l’information ; • les techniques utilisées dans le domaine de la vision numérique ; • les techniques implantées dans le cadre des modèles Agents et Multi-Agents pour représenter le système de perception d’une scène. L’étude des sciences cognitives servira de préambule. Elle nous fera comprendre le fonctionnement de la vision à un niveau psychologique pour ne pas être leurrés par notre propre expérience de la vision. Ensuite, nous mettrons en évidence les deux différents concepts à travers leur évolution. La vision numérique, se basant sur l’idée de la perception immédiate et les mondes virtuels où une représentation doit être construite pour la perception de l’environnement. Chacun de ces aspects suivra sensiblement le même schéma qui est inspiré d’une architecture hiérarchique en couche. D’une manière générale, les niveaux de perception sont désignés par acquisition, segmentation, structuration et interprétation. Suivant cela, nous présenterons les récepteurs afin de bien comprendre le type d’information que le système reçoit (acquisition). Ensuite, nous nous attarderons au traitement de l’information (segmentation et structuration) et finalement, à la représentation « mentale » afin de faciliter la manipulation et le raisonnement sur les données emmagasinées (interprétation). À la fin de chaque section, nous présenterons les points majeurs qui sont susceptibles de nous intéresser pour l’élaboration de modèles. La dernière section discutant des modèles d’agents suivra un découpage quelque peu 9
  • Modélisation de la Perception dans un Environnement Virtuelle 3D différent. Cependant, les aspects soutenant les modèles de perception seront quand même présents. Nous ferons la relation entre les différentes représentations du monde et la perception que possède un agent de cet environnement. Nous nous attarderons ensuite sur les différentes structures que nous pouvons modéliser à partir du monde réel. Finalement, nous ferons une critique des informations contenues dans ce document en ce qui concerne la perception d’un agent et nous élaborerons sommairement un modèle de perception. 10
  • Modélisation de la Perception dans un Environnement Virtuelle 3D 2 - Sciences cognitives Avant d’étudier la possibilité de modéliser la perception dans un monde virtuel, il est pertinent de comprendre comment elle se produit dans la réalité. Le but ultime est de reproduire le plus fidèlement possible « l’idéal » en termes de perception: le fonctionnement biologique (animaux, humains). Pour y arriver, nous allons entrer dans le monde des sciences cognitives qui essaient d’expliquer les capacités cognitives de l’être humain. La perception se caractérise par cinq sens qui sont interprétés différemment les uns des autres. Dans le présent document, nous ne traiterons que de la vision et de l’audition car ce sont les sens les plus pertinents que l’informatique est en mesure d’aborder lorsque l’on désire simuler les capacités de perceptions. 2.1 - Récepteurs Afin de comprendre l’analyse que fait le cerveau des données reçues, il faut d’abord examiner les caractéristiques des données et comment elles sont retransmises au cerveau (niveau de l’acquisition). 2.1.1 - Vision Pour ce qui est de la vision, les données initiales sont portées par la lumière qui arrive à l’oeil. Une fois que les rayons lumineux ont traversé la pupille, ils atteignent finalement la rétine située tout au fond du globe oculaire. Figure 2.1 : Coupe de l’oeil humain [Bertorello, 1998] 11
  • Modélisation de la Perception dans un Environnement Virtuelle 3D La rétine est une mince couche de tissus nerveux qui tapissent le fond de l’oeil. Son rôle est de convertir le stimulus lumineux en un message électrique qui sera transmis au cerveau via le nerf optique. Nous n’entrerons pas dans les détails de la composition de la rétine ce qui nous amènerait à étudier la conversion « lumière/signal électrique ». Nous nous attarderons plutôt au stimulus électrique qui alimente le cerveau et à la manière qu’il a de traiter ces nouvelles données. Il est donc important de dire que les données se retrouvent maintenant sous forme électrique en supposant qu’un faisceau de lumière est converti en une impulsion électrique sur un nerf particulier1. En résumé, nous pouvons affirmer que l’image est la source d’informations que le système visuel obtient en entrée. 2.1.2 - L’ouïe La réception des sons se fait un peu de la même façon que la vision sauf qu’ici, les stimuli sont des ondes sonores ( variations de pression de l’air ). L’appareil auditif est constitué de trois parties ( figure 2.2 ). L'oreille externe est constituée du pavillon et du canal auditif. L'oreille moyenne est constituée du tympan et des osselets (marteau, enclume, étrier). L'oreille interne est un labyrinthe osseux constitué d'un enchevêtrement de canaux remplis d'un liquide conducteur. Les cellules ciliées se trouvent dans l'organe en colimaçon (ou cochlée). De plus, l'oreille interne contient les organes qui donnent le sens de l'équilibre. 1 La conversion de la lumière en impulsion électrique ne se fait pas exactement de cette façon mais pour notre besoin de simplicité, nous présumerons cette supposition vraie. 12
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Figure 2.2 : Appareil auditif humain [Ouïe] Le pavillon capte les ondes sonores et les transmet au tympan via le canal auditif qui vibre. Les osselets transmettent à la fenêtre ovale les vibrations du tympan en les amplifiant (30 fois). Les vibrations sont communiquées au liquide contenu dans la clochée. Ce sont les cellules ciliées qui transforment les vibrations en influx nerveux qui sont transmis au cerveau via le nerf auditif. Nous pouvons donc considérer ce type de données comme étant la conversion d’ondes sonores en signaux électriques. 13
  • Modélisation de la Perception dans un Environnement Virtuelle 3D 2.2 - Le traitement de l’information Que ce soit pour construire une représentation complète ou bien pour maintenir des représentations partielles dans un système visuel dynamique, les traitements sont fondamentalement semblables. Il s’agit, dans un premier temps, de détecter des éléments visuels intéressants pour ensuite les organiser en structures. Pour l’instant, la fonction à réaliser pour le cerveau est l’extraction des informations susceptibles de correspondre à des centres d’intérêts (points de saillances d’une image) dans l’image acquise. Pour effectuer cela, il faut préalablement réduire le volume d’information contenue dans l’image pour rendre son analyse accessible. Réduction du volume d’information Le traitement de l’image reçue en entrée est effectué par le cortex visuel du cerveau humain afin d’en retirer des informations utiles. Au stade actuel des recherches, les chercheurs n’ont que des pistes indirectes pour formuler des hypothèses car l’analyse du cerveau, cellule par cellule, est impossible étant donné la multitude de variables et de neurones qui entrent en jeu. Les recherches doivent se restreindre aux fonctions globales du cerveau mais les résultats sont quand même satisfaisants. La procédure est de présenter des entrées contrôlées au système visuel et d’analyser, à l’aide d’encéphalogrammes ou d’oscilloscopes, les groupes de neurones activés. Figure 2.3 : Méthode d’expérimentation [Ultranet, 2000] Les recherches de Stephen Kuffler, David H. Hubel et Torsten N. Wiesel (prix Nobel 1981) démontrèrent que le système visuel est formé de plusieurs parties ayant chacune leur rôle respectif. Par exemple : le « lateral geniculate nucleus (LGN) » répond seulement aux zones circulaires de la lumière tandis que le cortex visuel, qui reçoit les informations du LGN en entrée, ne répondait pas aux zones circulaires mais plutôt aux barres de lumières. La zone « complex 14
  • Modélisation de la Perception dans un Environnement Virtuelle 3D cortical cells », suivant le cortex visuel, comprend plusieurs groupes de cellules qui répondent seulement aux lignes d’une même pente dans une portion donnée de l’écran. suivant cela, voici ce que l’étude a permis de démontrer : • à chaque étape du traitement, les entrées d’un nombre de neurones intermédiaires convergent vers une seule sortie ; • à chaque étape, certaines informations sont sélectivement détruites ; • la zone « simple cortical cell » est activée seulement si un nombre de neurones du LGN convergeant vers cette zone sont simultanément actives. Autrement, l’excitation meurt au niveau des synapses ; • chaque niveau du cerveau agit donc comme une unité de filtration et, en procédant ainsi, fournit un mécanisme par lequel certaines caractéristiques provenant d’un stimulus très complexe peuvent être discriminées ; • plutôt que de répondre à une impulsion particulière dans un circuit particulier, le cerveau des mammifères semble répondre aux organisations spatiales et temporelles de plusieurs impulsions se dirigeant vers des circuits convergents. Figure 2.4 : Trajet de l’information dans le système visuel [Ultranet, 2000] Les découvertes nous montrent qu’une image initiale n’est pas analysée complètement mais qu’elle est plutôt filtrée pour discriminer l’information inutile. Il nous manque quand même un élément puisque selon Bajcsy (1988), la vision est un processus actif et non passif. Suite à cela, il nous faut donc un élément déclencheur pour que tout le processus de traitement s’active. 15
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Des expériences très simples dans lesquelles des sujets sont placés dans un environnement visuel uniforme révèle des comportements intéressants. En l’absence de point de repère, l’observateur parcourt inlassablement le champ visuel à la recherche d’un point de saillance. Le système visuel aurait donc besoin de la présence d’objets dans le champ visuel pour fonctionner. Le déclenchement de la perception active se ferait via les mécanismes attentifs qui recherchent des points de saillances dans l’image. Par exemple, lorsque qu’un point blanc est disposé sur un fond totalement noir, l’attention focus sur ce point blanc qui constitue un point de saillance En 1982, Marr proposait une théorie selon laquelle notre représentation du monde est influencée par la forme « shape-based », soit la délimitation, contour, partie d’objets et les relations qu’ils ont entre eux. Suite à cela, Treisman [Treisman, 1985] présentait l’idée qu’un premier découpage était effectué selon les délimitations d’un objet et que ces délimitations étaient remarquées par le changement de valeur de différents attributs. Par exemple : nous pourrions, à première vue, reconnaître distinctement un objet si sa couleur ou sa texture faisait contraste avec l’arrière-plan (Figure 2.5). Certains attributs constitueraient donc un bon point de départ pour la première analyse d’une scène contenant beaucoup d’informations (points de saillance). Figure 2.5 : Discrimination d’objets par attributs Le déplacement de l’oeil humain ne se fait pas de façon aléatoire lorsqu’il scrute une scène. En vérité, il suit les traits saillants qu’une image comporte et ensuite l’attention se porte sur un point pour ensuite se déplacer vers un autre point saillant. L’image est ainsi scrutée d’une façon sélective pour, encore une fois, éliminer l’information non pertinente. 16
  • Modélisation de la Perception dans un Environnement Virtuelle 3D 2.3 - La représentation des perceptions Une fois que le stimulus a été converti en signaux électriques et que les structures de l’image ont été extraites, nous devons comprendre comment le cerveau interprète et emmagasine ces données afin d’en faire l’analyse. 2.3.1 - La représentation de la vision A - Représentation séparée de l’espace visuel Suite à de nombreuses expérimentations sur les primates, les chercheurs se sont aperçus que l’information provenant de la perception visuelle était interprétée par deux composantes physiques différentes dans le cerveau. Les deux systèmes partagent la même entrée (les signaux de la vision), mais une différenciation survient plus tard dans le traitement. L’information perceptuelle se dirige vers le cortex inférieur du lobe temporal tandis que l’information nécessaire pour le contrôle moteur se dirige vers la région postérieure du pariétal. Cela crée une dissociation anatomique entre deux régions du cerveau, l’une codant l’expérience visuelle et l’autre servant au contrôle visuel du comportement. Pour illustrer ceci, prenons l’exemple suivant : un singe souffrant de lésions dans le cortex inférieur du lobe temporal aura de la difficulté à discriminer les objets qui l’entourent [Pribram, 1971] mais aura, en contre partie, une très bonne coordination oeil-main dans ses actions. En revanche, un animal ayant une lésion dans la région postérieure du pariétal aura une très bonne habilité pour la reconnaissance d’objets mais sera incapable d’en saisir un. Cela démontre bien la dissociation de l’espace visuel dans le cerveau humain. Il s’agit du système cognitif et du système sensorimoteur. Pour savoir si cela serait utile dans la modélisation de la vision virtuelle, il faudrait comprendre pourquoi le cerveau réagit ainsi afin d’analyser la pertinence d’une telle méthode. 17
  • Modélisation de la Perception dans un Environnement Virtuelle 3D B - Représentation cognitive et psychologie de la perception visuelle C’est dans les dernières décénies que nous avons vu se concrétiser, à l’aide d’expériences plus rigoureuses, ce que les psychologues tentaient depuis longtemps de comprendre : les mécanismes de la perception. Nous allons porter notre attention sur le système cognitif de la perception visuelle. Cette partie fait présentera les deux théories de la représentation de la perception les plus plausibles aujourd’hui : L’empirisme et la perception immédiate. Empirisme ou paradigme constructioniste La théorie de l’empirisme est, sans aucun doute, la théorie la plus dominante dans le domaine de la perception. Parmi les contributeurs importants, on retrouve Helmholtz (1821 - 1894), Ames (1949), Bruner (1951) et Gregory (1974). L’idée de cette théorie part du fait que la perception visuelle est un système très complexe et non une simple analyse d’image. Cela suggère donc un phénomène intermédiaire de construction, capable de déductions. Cette approche de la perception visuelle souligne l’importance de l’expérience et des associations d’idées. Des expériences ont montré que ce qui est perçu par un observateur subit l’influence du contexte, des idées et des stéréotypes. Dans les années 40, d’autres expériences menées par J. S. Bruner ont conduit à l’affirmation suivante : l’observateur perçoit le monde avec une série d’hypothèses, d’attentes qu’il confronte à ce que ses sens lui fournissent. Une hypothèse forte nécessite des preuves importantes pour être contredite et autorisée, à l’inverse, une certaine tolérance. En d’autres termes, l’observateur est un acteur dans la perception en se faisant des hypothèses sur le monde pour ensuite les vérifier. Cette théorie s’est modernisée par les travaux du psychologue anglais R. L. Gregory [Gregory, 1974]. Selon cette théorie, les signaux d’entrées activent des événements neuronaux. Ces mêmes événements interagissent avec la connaissance et la mémoire pour fabriquer un ensemble de données servant à formuler des hypothèses sur l’environnement. Cette chaîne d’événements est appelée perception. Afin de confirmer cette théorie, voici quelques arguments qui sont en faveur de celle-ci : 18
  • Modélisation de la Perception dans un Environnement Virtuelle 3D • La perception peut, dans des cas familiers, anticiper sur nos actions. Lors d’expériences sur le suivi d’une cible à l’aide d’un pointeur manuel, les sujets opèrent remarquablement bien lorsque les mouvements sont réguliers. • La perception est ambigüe. L’un des exemples les plus classiques est celui du cube de Necker. c’est une figure instable, pour laquelle deux interprétations coexistent. Si la perception était exclusivement liée aux stimuli, un même signal ne pourrait pas produire deux interprétations. • La perception peut être paradoxale. Les objets de l’artiste Salvador Dali (figure 2.5a) paraissent si réels que l’on se laisse prendre par notre anticipation. • La perception montre une capacité étonnante à séparer des objets familiers d’un arrière- plan complexe. La connaissance joue donc un rôle actif dans la sélection des signaux perçus. Figure 2.5a : Peinture de Salvador Dali Même si cette théorie a connu beaucoup de succès, elle laisse encore dans l’ombre un certain nombre de questions. Par exemple, rien n’est encore dit sur la nature des hypothèses utilisées par le système visuel. Leur origine, tout comme leur évolution sont encore indéterminées. L’approche empiriste est, à l’heure actuelle, encore activement débattue. L’idée de la construction intermédiaire a beaucoup influencé les techniques de vision virtuelle, en particulier avec le paradigme de Marr. L’utilisation de l’ordinateur pour modéliser le cerveau est une évolution naturelle dans l’histoire de cette théorie. 19
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Perception immédiate Nous avons introduit quelque peu la théorie de la perception immédiate qui se veut très récente. Elle a vu le jour grâce aux travaux de Gibson (1979) qui rejète toute démarche empirisme. Selon Gibson, l’environnement contient déjà tous les éléments nécessaires pour prendre des décisions. Comme le montre les hologrammes, la lumière est extrêment riche et structurée. Il est possible de percepvoir un objet en relief à partir d’une image de cet objet sour un faisceau laser. L’information existe, et nous n’avons pas besoin de représentation pout l’utiliser. L’un des concepts les plus importants de cette théorie est celui des invariants..Nous ne percevons pas le monde d’une façon aléatoire mais plutôt par un flot continu d’images en corrélation permanente. C’est pourquoi nous savons qu’un objet ne rétrécit pas réellement lorsqu’il s’éloigne de nous. Le dernier concept important accorde une certaine importance à l’influence de la fonction des objets que nous percevons. D’où l’idée que chaque partie de l’environnement possède un potentiel ou une capacité (désigné en anglais pas affordance). Les objets nous entourant guident notre perception sur ce qui est possible de faire ou non. L’analyse et la reconnaissance devraient donc pouvoir agir directement à partir des informations visuelles, sans représentation intermédiaire. Il reste quand même beaucoup d’ambigüité car cette théorie n’apporte pas de réponse sur la détection des invariants et la façon d’évaluer les potentiels. 20
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Perception haut niveau d’une scène Nous avons vu les deux écoles de pensée sur la perception visuelle, mais nous en savons peu sur la façon de percevoir une scène toute entière indépendemment du type de représentation. La perception d’une scène se fait donc selon plusieurs attributs : la couleur, la position des objets et la présence des objets dans la scène. La façon dont l’humain perçoit un nouvel endroit est la suivante : tout d’abord, il extrait l’information de la scène d’une manière plutôt large et imprécise afin d’en retirer rapidement le contexte ou la catégorie. En procédant ainsi, nous pouvons rapidement déterminer si nous sommes dans un restaurant, un centre commercial ou tout autre endroit connu. La deuxième phase de la perception est la reconnaissance automatique d’attributs spécifiques ( il s’agit ici de nos trois attributs énumérés plus haut ). Dans cette étape de la perception, il est possible que la scène contienne beaucoup plus de détails que ceux perçus; il faudra alors « focusser » un peu plus sur certains points d’intérêts afin d’analyser le tout. Cette façon de percevoir est basée sur ce que les chercheurs appellent « le mécanisme attentif de l’être humain » que nous avons brièvement décrit dans la section du traitement de l’information. Un attribut important est celui indiquant la présence ou non d’objets dans la scène. C’est une chose de dire que nous faisons la sélection visuelle selon certains objets présents dans la scène mais lesquels ? Aginsky et Tarr [Aginsky & Tarr, 2000] affirment que les objets les plus imposants sont considérés comme étant les instigateurs de l’analyse (objets saillants). L’étude de Rensink de 1997 tend à démontrer que les objets dictant l’histoire d’une scène (personnes, animaux, véhicules) ont été détectés plus aisément que les arbres ou les maisons par exemple. Beaucoup de psychologues ont assumé que la sélection visuelle est basée sur la position [Posner, Snyder, Davidson, 1980; Hoffman & Nelson, 1981; LaBerge, 1983; Posner & Cohen, 1984; Nissen, 1985; Koch & Ullman, 1985; Luck, Fan, & Hillyard, 1993; Tsal & Lavie, 1993; Cave & Pashler, dans la presse]. Il a aussi été prouvé [Kim & Cave, 1993] que le temps de réponse de la sélection d’un objet était plus court lorsque qu’un endroit près de l’objet recherché contenait une distraction ayant l’une des caractéristiques de la position cible. Cela implique donc que l’attention spatiale est guidée par les caractéristiques que contiennent les données [Wolfe, Cave, & Franzel, 1989; Kim & Cave, 1993]. 21
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Il existe donc plusieurs théories lorsqu’il est question d’objets saillants et la raison en est simple : Chaque individu percevra une scène selon ses propres points d’intérêts qui sont définis par l’expérience, la culture, les émotions et la génétique [Paillard, 2000]. C’est donc à cet endroit qu’un lien se forme avec le caractère émotif et comportemental d’un individu. C - Représentation sensorimoteur Selon plusieurs cogniticiens [Aschersleben, G. & Bachmann, T. & Müsseler], il existe une deuxième représentation visuelle à l’intérieur du cerveau. Il s’agit de celle qui dirige le mouvement et le comportement ayant recours à la perception visuelle pour le contrôle. Exemple : saisir une tasse de café ou attraper un ballon. Ces actions demandent une synchronisation entre les cellules neuronales de sorties (qui régissent le mouvement) et la représentation de l’action à effectuer (représentée sous forme d’images mentales). C’est donc dire que cette partie du cerveau exprime le « où » des choses (position par rapport à nous). Nous n’entrerons pas trop dans les détails du fonctionnement de cette représentation puisqu’elle a une importance beaucoup moins significative pour notre étude. La raison est que le modèle informatique qui devra découler de cette analyse ne se prête pas vraiment à l’étude des comportements visuels de l’agent puisqu’il se trouve dans un monde virtuel. Il n’interagira donc pas de la même façon avec son environnement que l’humain. Il est quand même important de prendre conscience qu’il existe ce type de représentation et que les deux points cognitif et sensorimoteur, ont la même source d’informations mais que l’analyse est différente [Jeannerod & Rossetti, 1993]. 22
  • Modélisation de la Perception dans un Environnement Virtuelle 3D 2.3.2 - La représentation de l’audition L’un des sens les plus évocateurs après la vision est sûrement l’ouïe. Nous avons brièvement parlé de la façon dont l’oreille capte le son, sous forme de fréquences, donc voici le schéma un peu plus complet de la route du son jusqu’au cerveau. Figure 2.6 : Parcours du son jusqu’au cerveau [Groscarret, 1999] C’est évidemment un peu trop détaillé pour notre étude mais ce qui est intéressant de remarquer, c’est que le son est modifié tout au long du parcours afin d’être correctement interprété par les neurones cérébraux auditifs. Le cortex primaire, celui qui reçoit les messages électriques, se subdivise en sous-régions qui répondent chacune de manière spécifique à des fréquences données. Ainsi, dans le temps et l'espace, la réalité physique des sons assemblés est préservée au niveau périphérique et central [Groscarret, 1999]. 23
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Ce qui nous intéresse plus particulièrement, c’est la relation entre tous ces sens. Par exemple, lorsque nous fermons les yeux et entendons « wouf-wouf », nous savons que c’est un chien qui aboie même sans le voir ou le toucher. La question suivante alors se pose : « Est-ce que la représentation des connaissances auditives est imbriquée avec celle de la vision ou est-ce tout simplement une représentation distincte ayant des liens de communication avec les autres sens? ». Nous savons que le traitement des fréquences (audition) se fait à des endroits bien précis dans le cerveau qui sont différents du traitement de la vision. Ce que nous ignorons, c’est l’endroit où se situe le résultat de l’analyse. C’est ce résultat qui nous permet d’affirmer que oui c’est un chien et qui fait l’association entre le son et l’image. L'hypothèse qui prévaut actuellement va dans ce sens : « un même substrat neuronal serait responsable de l'intégration des différentes représentations sensorielles ». Nous pourrions donc dire, sous toute réserve, qu’une fois les perceptions analysées, toutes les informations qui en découlent se dirigent au même endroit afin d’y être stockées. Analyse des sources Représentation principale du monde Figure 2.7 : Représentation « Très » simplifiée d’un modèle de perception humain En résumé, nous pouvons conclure que pour le développement d’un agent logiciel intelligent, il serait bon de prendre en considération la façon de faire de l’humain. Elle est un modèle complet et complexe de ce que l’on veut ultimement produire. Nous n’avons évidemment pas couvert tous les détails fournis par la psychologie cognitive. Il reste beaucoup de choses inexplorées, notamment le concept de regroupement des objets étudié par Grosberg. Nous avons exploré ce que nous pensions être utile pour le développement de la perception et de la représentation d’un agent. 24
  • Modélisation de la Perception dans un Environnement Virtuelle 3D 2.4 - Modèle d’un agent suivant les aspects psychologiques Nous allons maintenant tenter de construire un modèle de représentation de la perception suivant divers concepts issus de la psychologie. Cela nous orientera sûrement vers le début d’une solution qui sera, pour nous, une source d’idées. Étudions premièrement, l’idée que notre représentation soit une double représentation pour répartir les fonctions afin de ne pas surcharger l’analyse à un endroit précis. L’idée de base n’est évidemment pas mauvaise puisque chaque représentation pourra prendre en charge un certain nombre d’actions tout en assurant une bonne synchronisation avec la deuxième représentation. Il serait cependant pertinent d’imaginer une autre répartition que celle faite par l’humain (cognitif vs sensorimoteur) puisque l’aspect « actions sur l’environnement » se fera via une autre couche dans le modèle. Pour effectuer une opération sur l’environnement, nous n’avons pas besoin d’une perception des mouvements puisque l’agent connaîtra à tout moment sa position. Il n’a donc pas besoin de « regarder » ce qu’il fait. Module d’interaction Analyse Analyse Représentation 1 Représentation 2 Perception Environnement Figure 2.8 : Modèle d’Agent Maintenant que nous savons que nous ne suivrons pas exactement la voie du cerveau humain, il nous reste à déterminer quelles fonctions nos représentations devront supporter. 25
  • Modélisation de la Perception dans un Environnement Virtuelle 3D La première chose à laquelle nous pensons, est de représenter toute la scène dans une seule partie du système et d’utiliser la deuxième représentation comme « l’imagination » de l’agent. Nous pourrions aussi imaginer une autre répartition des tâches dans notre représentation. Par exemple, le premier système pourrait définir le monde déjà bien connu et analysé, tandis que l’autre pourrait servir de tampon pour l’analyse courante du monde inconnu que nous sommes présentement en train d’explorer. Le désavantage de cette méthode est que lorsque le monde sera entièrement connu, la deuxième représention sera inactive. Une autre approche, celle-là beaucoup plus intéressante, serait de représenter le monde en deux sous-ensembles distincts : l’un définissant l’environnement statique et l’autre l’aspect dynamique. En procédant ainsi, nous pourrions effectuer les tâches spécifiques au monde statique (collision, carte de navigation, interaction) tout en utilisant la perception dynamique (communication entre les deux) pour ne pas frapper une voiture qui se déplace par exemple. Communication Figure 2.9 : Représentation statique et dynamique du monde Dans la figure 2.9, nous représentons le monde sous deux aspects différents mais nous devons avoir un mode de positionnement commun pour que la position des objets dynamiques 26
  • Modélisation de la Perception dans un Environnement Virtuelle 3D concorde avec la position des objets statiques. La façon de le représenter sera abordée dans la section 4 mais nous pouvons facilement imaginer une matrice en 2 dimensions ou chaque cellule contient des informations relatives aux objets. En procédant ainsi, l’agent pourra savoir où se trouve un objet dynamique par rapport aux objets statiques simplement en interrogant la cellule correspondant à la position souhaitée. Il y a un concept de la psychologie qu’il serait très intéressant de développer, celui de la reconnaissance globale d’une scène. Nous pourrions doter l’agent de plusieurs niveaux de perception ce qui permettrait, lorsque le besoin s’en fait sentir, de rester à un niveau global. Par exemple, lorsqu’un agent découvre une nouvelle scène, il pourrait l’explorer en restant à un niveau de précision globale pour identifier où il se trouve et repérer certains gros objets. Ensuite, il pourrait raffiner sa précision sur des zones « d’intérêts » qui lui semblent importantes. En procédant ainsi, nous n’avons pas besoin de tout représenter à un niveau très fin pour créer du réalisme, ce qui sauve énormément de temps et d’espace. Comme nous l’avons vu, il y a plusieurs façons de représenter l’environnement et chaque méthode possède ses avantages. Il devient beaucoup plus simple d’analyser une solution lorsque l’on connaît préalablement le problème. Donc le modèle sera adapté aux besoins spécifiques qu’a un agent de se représenter le monde qui l’entoure. La psychologie cognitive nous permet d’évaluer certaines méthodes et de pouvoir innover lorsque l’imagination humaine ne trouve plus de solutions. 27
  • Modélisation de la Perception dans un Environnement Virtuelle 3D 3 - Vision numérique 2D et 3D La vision par ordinateur concerne l’aspect algorithmique de la perception visuelle, depuis l’acquisition à l’interprétation d’images. Plusieurs techniques sont en développement depuis plusieurs années dans le domaine de la vision numérique. Le but est d’acquérir des informations sur le monde extérieur via le même stimulus que l’humain : la lumière. En procédant ainsi, nous n’avons pas à préalablement modéliser le monde réel avant d’en faire l’analyse ; la modélisation devra se faire en temps réel. Cela suppose donc que le monde extérieur contient déjà une structure propre et que l’observateur n’a pas besoin de représentation interne pour l’utiliser. Selon Gibson, les informations contenues dans le flux optique sont suffisamment riches pour permettre des décisions. Ce mode de fonctionnement appelé : la perception immédiate [Gibson, 1979], est implanté dans certains modèles de la vision numérique. L’étude de cette approche nous fera peut- être comprendre certains aspects de la perception qui nous seront utiles dans notre modèle virtuel d’agent intelligents. 3.1 - Récepteurs Pour ce qui est de la technique de la vision numérique, le récepteur est une caméra qui capte les rayons lumineux émanant de la scène à visualiser. Figure 3.1 : Scène captée à l’aide d’une caméra numérique [Pollefeys, 2000] 28
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Une fois que l’acquisition de la lumière a été effectuée, la caméra transforme le stimulus lumineux en un message électrique. L’opération est similaire à ce que fait l’oeil humain mais nous nous arrêtons à ce stade-ci car pour aller plus loin, nous devons comprendre un peu plus le fonctionnement du cerveau. 3.2 - Traitement et représentation de l’image numérique Étant donné que nous ne savons pas reproduire les fonctionnalités de l’humain en matière de vision, les chercheurs ont développé une multitude de techniques permettant à une machine de voir. Notre but ici est de vérifier si ces différentes techniques pourraient avoir une applicabilité à un modèle virtuel d’agent suivant les contraintes que nous avons. Premièrement, un robot possède, à lui seul, tous les éléments lui permettant de faire du temps réel (CPU, caméra, mémoire, etc). Dans notre cas, nous devons implanter des centaines d’agents et ils devront tous partager la même unité de traitement et de stockage. Suivant cela, nous devrons répondre à la demande en soumettant un modèle qui sera « temps réel ». Commençons par étudier les travaux qui ont été effectués dans le domaine de la vision numérique. 3.2.1 - Techniques de traitement d’une image Lorsque nous parlons d’images numériques, nous parlons tout simplement d’une image en 2 dimensions telle que nous les connaissons (bitmap, photo, peinture). La différence est qu’elles sont représentées de façon numérique afin de pouvoir les traiter par des ordinateurs. En regardant l’image de la figure 3.1, nous voyons un manoir avec des arbres mais l’ordinateur ne voit que des points de couleurs différentes. La manière de procéder pour qu’il puisse reconnaître une image est très complexe. Il faut premièrement qu’il puisse se représenter l’image autrement que par des points. Il lui faut des structures qui seront reconnaissables : des segments, des formes, des volumes (cas 3D). Ce qui nous préoccupe ici, ce sont les techniques utilisées pour retirer de l’information pratique d’une image. 29
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Segmentation La première façon d’acquérir des informations d’une image est d’en faire la segmentation, i.e retirer tous les segments qui pourraient nous orienter sur la structure des objets. Le nom communément employé est « edge detection ». Figure 3.2 : Segmentation d’une image [Forsyth et Ponce, 2001] Dans le cas d’une image segmentée, il est possible et simple de stocker et de faire des traitments sur des courbes ou des droites. Donc en stockant toutes les courbes et droites de cette image sous forme d’équations, nous pourrons augmenter la connaissance du robot puisque maintenant, il sait ce qu’est un zèbre (figure 3.2). Vous vous doutez que ce n’est pas si facile! Mais c’est un début! Donc la manière de procéder pour extraire les segments est basée sur les différences de couleurs que contient l’image. Les chercheurs ont considéré la propriété psychologique de l’humain en matière de discrimination des objets qui dit que « la couleur ou la texture permet de bien discriminer un objet de son environnement ». Suivant ce phénomène, si nous avons une image 2D, il suffit d’effectuer la dérivée de cette image par rapport aux couleurs pour trouver le gradient des couleurs. Nous devons évidemment estimer la dérivée puisqu’elle est continue et donc non représentable dans un système informatique. L’approximation est la suivante : δh/δx ~= hi+1, j - hi-1, j (equation 1) Le balayage se fera en deux parties : un balayage horizontale pour trouver les segments verticaux et un balayage vertical pour trouver les segments horizontaux. Lors du balayage en X, 30
  • Modélisation de la Perception dans un Environnement Virtuelle 3D cette équation fonctionne de manière à stocker la différence de couleur du pixel avant et du pixel après celui que nous traitons. Donc si il y a une délimitation, le pixel avant sera par exemple de couleur rouge (une pomme) et le pixel suivant sera noir (arrière-plan) ce qui maximise la valeur du gradient. Un gradient bas signifie qu’il n’y a pas de délimitation significative. En suivant les gradiants maximums, il est possible de créer des segments et d’en retirer des équations qui caractérisent la forme. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 21 20 21 22 0 0 0 0 23 24 22 21 22 0 0 0 0 25 23 21 22 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Figure 3.3 : Représentation d’un rectangle 0 0 0 0 0 0 0 0 0 0 0 -22 -21 -20 -21 -22 0 0 0 0 -23 -24 -22 -21 -22 0 0 0 0 -3 -2 -2 0 0 0 0 0 0 23 24 22 21 22 0 0 0 0 25 23 21 22 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Figure 3.4 : Segmentation en y de l’image 31
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Comme nous avons pu le voir dans les figures précédentes, l’intérieur du rectangle est homogène puisque le gradient est faible. Lorsque le gradient est élévé, il s’agit d’une délimitation qui suppose la présence d’un segment. Il est évident que nous n’avons que les segments horizontaux puisque le gradient en x n’a pas été appliqué. À partir de cette représentation, il est assez simple de déduire le segment correspondant aux gradients extrêmes de l’image. Cette technique est très utilisée pour la reconnaissance de forme et aussi pour la représentation du monde extérieur. C’est une façon simple et efficace utilisée pour retirer l’information nécessaire d’une image 2D et l’emmagasiner sous forme de formules mathématiques. La force de cette approche est qu’une fois les équations connues, il est possible d’effectuer de nombreuses opérations afin de transformer l’objet. Nous pouvons par exemple lui faire faire des rotations, des translations et même effectuer des variations de perspective. L’humain fait de même lorsqu’il tente de faire la reconnaissance d’un objet, il effectue des tranformations afin de ramener l’objet sous une forme mieux connue. Il y a évidemment une multitude de techniques de raffinement associées à la segmentation mais nous n’entrerons pas dans ces détails car l’important pour nous est de comprendre le fonctionnement global. Segmentation d’une paire d’images Il est aussi possible d’obtenir de l’information d’ordre 3D à partir d’une paire d’images stéréoscopiques. Une image stéréoscopique est un peu la reproduction du phénomène visuel chez l’être humain car nous voyons en 3 dimensions à l’aide de nos deux yeux. L’idée est donc d’acquérir la même image à l’aide de deux caméras placées de telle sorte qu’elles ont un point de vue différent. 32
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Figure 3.5 : Acquisition d’images stéréoscopiques [Pollefeys, 2000] À l’aide de la géométrie projective, qui ne sera pas abordée dans ce document, nous réussissons à extirper, de ces deux images, suffisamment d’informations pour élaborer un modèle 3D primitif. Figure 3.6 : Image source des caméras [Moravec, 1996] 33
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Figure 3.7 : Résultat de l’analyse de l’image de la figure 3.6 [Moravec, 1996] La représentation de la figure 3.7 est stockée sous forme d’une grille d’évidence 3D. C’est le résultat d’une analyse des images stéréoscopiques de la scène de la figure 3.6 augmentée de ce que les chercheurs appellent « evidence ray throwing » [Moravec, 1996]. Une grille d’évidence est tout simplement une matrice 3D contenant des cellules pouvant avoir deux valeurs : 0 ou 1. La valeur 0 représente le vide, et la valeur 1 représente la présence d’un objet. C’est l’une des première représentation 3D obtenue à partir d’images stéréoscopiques. L’un des gros problèmes avec l’acquisition d’images provenant de deux caméras, c’est qu’il faut préalablement calibrer les caméras pour que certaines propriétés soient connues (distance entre les caméras, angle, distance à la scène, focus). Si cela n’est pas effectué rigoureusement, il s’infiltrera des erreurs lors de l’analyse des images. C’est un gros problème car cela impose que les caméras doivent rester fixes et qu’elles sont donc extrêmement sensibles aux bruits. 34
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Figure 3.8 : Calibration des caméras à l’aide d’images de points [Moravec, 1996] Pour traiter ce problème, les chercheurs essaient actuellement de développer une méthode d’auto-calibration des caméras qui se base sur des points précis de l’image. Les résultats sont encourageants mais il faut quand même posséder certaines connaissances, que ce soit au niveau de la scène ou des caméras, pour bien effectuer l’auto-calibration. Tout n’est pas gagné et les chercheurs devront redoubler d’ardeur afin de nous présenter des modèles d’acquisition automatique d’images stables et performantes. Après avoir discuté de la façon de construire un modèle 3D primitif à partir d’images 2D, regardons maintenant comment intégrer des modèles de représentation plus complets. La première technique est la méthode classique qu’utilisent les logiciels de modélisation, il s’agit de représenter la scène à l’aide d’une multitude de triangles ou surfaces en général. Cela donne une bonne représentation visuelle lors de la reconstruction mais aucune information utile ne peut directement être accessible (figure 3.9). Pour être capable de représenter une scène, nous devons aller plus loin que la simple représentation par triangles car nous ne pouvons effectuer aucune énumération d’objets. Il faut regrouper un ensemble de triangles afin de leur attribuer une propriété de plus haut niveau : l’objet. 35
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Les approches pour faire de la discrimination d’objets dans une scène tournent autour de la segmentation et du « Pattern matching » [Matrox, 2000]. La reconnaissance de forme (« pattern matching ») peut s’effectuer soit à l’aide de la segmentation, pour mettre les contours en valeur, ou par zones de gris. La technique des zones de gris se base sur la teinte de l’objet pour effectuer l’analyse mais elle est sur le déclin car elle ne prend pas en considération la variation d’éclairage ni les transformations que pourrait subir un objet. Figure 3.9 : Représentation de la scène à l’aide de surfaces 3D [Pollefeys, 2000] Par contre, le « pattern matching » géométrique est issu du procédé de la segmentation pour ensuite représenter la forme par les équations mathématiques des segments qui composent l’image (figure 3.10). Cette technique est beaucoup plus moderne car elle demande énormément de ressources au niveau machine pour que les résultats soient acceptables. Figure 3.10 : « Pattern matching » géométrique [Matrox, 2000] 36
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Il faut dire que nous ne sommes pas à un niveau d’abstraction très élevé en vision numérique car il est encore difficile d’identifier des objets. Une fois l’identification terminée (cela suppose une comparaison avec une base de données énorme d’objets), les chercheurs pourront être en mesure d’utiliser les techniques de représentation de connaissances d’IA. Pour le moment, la représentation se limite à décrire un objet selon ses formes géométriques et quelques autres propriétés (couleur, teinte). Il y a certains modèles qui reconnaissent un objet mais cet objet doit être répertorié au préalable dans une banque d’objets connus. Il est impossible, à ce stade-ci, de répertorier tous les objets qui existent. Dans la majorité des cas, le robot classe les objets connus et les objets inconnus, qu’il doit quand même se représenter, puisqu’ils constituent des osbtacles. 3.3 - Représentation interne du monde Nous allons maintenant nous introduire dans un monde totalement différent puisque nous nous élevons à un niveau supérieur de représentation d’une scène. En effet, il n’est plus question de catégoriser les objets d’une scène mais bien de se les représenter « mentalement ». Les techniques les plus utilisées sont les réseaux sémantiques (plus récemment les graphes conceptuels) et la représentation sous forme d’espaces de découpage (matrices ou vecteurs). Souvent, les deux techniques sont jumelées pour obtenir plus de précision avec un minimum de ressources puisqu’une matrice 3D où chaque cellule représente 1 mètre, ce n’est pas très précis et de plus, l’espace mémoire utilisé est énorme. Par exemple, pour une scène de 40x20x3 mètres, il faut 2400 cellules pour un espace très limité. Imaginer la représentation d’une ville entière! Donc, pour économiser de l’espace, l’utilisation d’une matrice 3D est remplacée par une matrice 2D ou 2,5D et de plus, ils combinent quelquefois cette représentation avec des réseaux sémantiques ou des graphes. Matrice 2D L’utilisation de la matrice 2D est semblable à la technique de la grille d’évidence présentée plus haut à l’exeption de deux choses. Premièrement, la représentation est modélisée comme étant une surface plane (2D) découpée avec une précision pouvant varier. La deuxième différence vient combler le fait qu’on ne représente pas la troisième dimension et donc, nous 37
  • Modélisation de la Perception dans un Environnement Virtuelle 3D n’avons pas d’informations sur la hauteur des objets. Dans la grille d’évidence, l’information contenue dans une cellule est 0 (rien) ou 1 (quelque chose) ce qui est très limitée. Lorsque nous utilisons une matrice 2D, il faut inclure à l’intérieur d’une cellule beaucoup plus de données sur ce qui est contenu par la région. Exemple, nous pourrions avoir de l’information sur la présence ou non d’un objet ou d’une partie d’objet dans la région courante. Il pourrait aussi y avoir de l’information sur cet objet (type d’objet, nom, dimension, hauteur, couleur, position exacte de chaque coin, etc). C’est la présence de l’attribut Hauteur qui vient combler notre lacune d’information par rapport à une matrice 3D. Cela introduit le modèle 2,5D qui donne de l’information sur la 3ième dimension sans la représenter physiquement (voir la section 4 pour plus de détails). Réseaux sémantiques Le rôle des réseaux sémantiques est quelque peu différent de celui de la matrice. La matrice établit une correspondance entre la position des objets et la scène mais il n’y généralement aucune information qui pourrait servir pour la catégorisation des objets. C’est à ce moment que les réseaux sémantiques entrent en jeu car ils peuvent servir à établir la hiérarchie des objets contenus dans la scène afin d’en déduire certaines relations. Universal Furnitur e EL EL Table Chais e Figure 3.11 : Réseau sémantique 38
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Dans la figure 3.11, nous venons de faire le lien entre une table et une chaise en disant qu’ils sont des éléments d’un même ensemble. Il y a donc possibilité d’établir des relations qui pourront servir lors de déductions futures. Il peut aussi y avoir des réseaux sémantiques qui servent à établir une relation de position par rapport aux autres objets de la scène. Par exemple, la relation serait à droite de ou sur le dessus de, ce qui représente la position relative d’un objet par rapport à un autre. L’avantage de cette technique, c’est qu’elle nécessite beaucoup moins de mémoire pour représenter le contenu d’une scène. Ce type de représentation se nomme représentation qualitative et elle est bien présentée par Hernandez (1994). À droite de Chais Table e Figure 3.12 : Relation Spatiale Le choix d’utiliser des matrices ou des réseaux sémantiques est relié à l’objectif ultime de la représentation. Nous aurions beaucoup d’autres choses à vous présenter dans cette section mais à ce niveau, il est aussi possible d’inclure le reste des techniques dans la prochaine section. La raison est qu’une fois les structures extraites de l’image, la représentation de la scène ne repose plus que sur des pratiques informatiques. Cela ne fait donc aucune différence entre la vision numérique et un monde virtuel. 39
  • Modélisation de la Perception dans un Environnement Virtuelle 3D 4 - Perception dans un environnement virtuel 3D 4.1 - Introduction Jusqu’ici nous avons vu que ce que nous apercevons n’a pas du tout la même structure que notre représentation mentale. La complexité du monde est trop grande pour que l’humain ou une machine puisse tout emmagasiner et analyser. Il se passe la même chose dans un environnement virtuel2 où le réaliste est d’une grande importance. Lorsque nous voyons une scène 3D virtuelle, il y a beaucoup d’informations qui doivent être présentes pour rendre le modèle plausible. L’agent3 ne possède, a priori, ni vision, ni audition ; il n’a donc aucun moyen de traiter les informations provenant de la scène. Afin de percevoir son environnement, l’agent évolue dans un monde connexe où il est possible de représenter la scène de façon à ce qu’une parfaite correspondance soit faite entre le monde et sa représentation mentale. Il y plusieurs relations possibles entre les diverses structures qui existent. Nous commencerons par présenter la définition d’un agent pour ensuite décrire la structure générale d’un environnement virtuel pour être en mesure de comprendre le cheminement de l’information. Suite à cela, nous allons vous expliquer la relation qu’il doit y avoir entre les divers éléments de l’architecture. Finalement, nous étudierons les différentes structures de représentation que nous retrouvons dans le domaine 3D. 4.1.1 - Définition d’un Agent Carl Hewitt a récemment fait remarquer que la question « qu’est-ce qu’un agent ? » est embarassante pour les membres de la communauté oeuvrant dans le domaine des agents. Le problème est que le terme « agent » est trop largement utilisé par des personnes travaillant dans les domaines reliés à l’intelligence artificielle. Ce faisant, nous serions tentés de définir un concept universel alors qu’en réalité, le terme est plutôt spécifique. C’est pour cette raison que nous attaquerons brièvement la question. 2 Tout ce qui peut interagir avec l’agent est appelé l’environnement virtuel. 3 Nous parlerons, à travers ce document, de l’agent au singulier mais soyez conscient qu’il peut y avoir plusieurs agents à l’intérieur de l’environnement virtuel. Voir section 4.1 pour définition d’un agent. 40
  • Modélisation de la Perception dans un Environnement Virtuelle 3D La plupart du temps, le terme « agent » est utilisé pour désigner un système matériel ou plus couramment logiciel qui a les propriétés suivantes : • autonomie : l’agent opère sans l’intervention directe d’un humain et il possède des contrôles qui lui permettent de faire des actions [Castelfranchi, 1995] ; • habileté sociale : l’agent interagit avec d’autres agents ou humains à l’aide d’un langage de communication d’agent [Genesereth et Ketchpel, 1994] ; • réactivité : l’agent perçoit son environnement (quel qu’il soit) et répond d’une manière opportune à ce qui arrive ; • pro-activisme : l’agent n’agit pas simplement sur son environnement par une action, il est capable d’exposer un but et de prendre des initiatives. Cette notion d’agent est aussi utilisée dans le domaine émergent du génie logiciel basé sur des agents (aussi appelé « programmation orientée-agent » ) : • l’agent communique avec ses pairs en échangeant des messages par l’entremise d’un langage de communication agent. L’agent peut être aussi simple qu’une fonction où il peut être une entité plus évoluée avec des notions persistantes de contrôle [Genesereth et Ketchpel, 1994, p.48]. Un softbot ( robot logiciel ) est un type d’agent qui interagit avec l’environnement logiciel en utilisant des commandes et en interprétant la rétroaction de l’environnement. Pour certains chercheurs, particulièrement ceux du domaine de l’IA, la notion d’agent est beaucoup plus spécifique que celle donnée précédemment. Ces chercheurs s’entendent généralement pour dire qu’un agent est un système informatique qui conceptualise ou implémente des concepts qui sont appliqués aux humains : par exemple les agents émotifs de Bates (1994). En considérant ceci, d’autres propriétés viennent s’ajouter à la liste déjà énoncée plus haut : 41
  • Modélisation de la Perception dans un Environnement Virtuelle 3D • mobilité : c’est l’habileté qu’un agent a de se mouvoir dans son environnement ; • véracité : c’est l’hypothèse qu’un agent ne communiquera pas d’informations erronées [Galliers, 1988b] ; • bienveillance : c’est l’hypothèse qu’un agent ne cherche pas à nuire aux autres agents engagés dans l’accomplissement de leurs tâches [Rosenschein et Genesereth, 1985] ; • rationalité : c’est le principe selon lequel un agent agira toujours de façon concise et logique pour l’obtention de son but. Voilà comment la communauté scientifique perçoit le concept d’agent; il n’y a pas vraiment de consensus établi et c’est pourquoi le terme est utilisé un peu partout et dans beaucoup d’occasions. Dans notre cas, nous utiliserons le terme agent d’après un concept précis qui le désigne comme étant intelligent4, i.e. qui répond aux propriétés énoncées précédemment. 4.1.2 - Structure générale d’un environnement virtuel Comme nous l’avons mentionné précédemment, l’agent n’a aucun moyen direct d’interagir avec son environnement qui est, dans notre cas, une scène virtuelle 3D. Nous devons donc faire une abstraction de la scène afin que l’agent puisse percevoir ce qui l’entoure. Cette représentation extraite du modèle 3D contiendra, en général, beaucoup plus d’informations utiles pour l’agent qu’un environnement rempli de polygones. Cette représentation sera une part importante d’un environnement virtuel dans lequel devront progresser des agents. Donc il faut bien déterminer la structure et les relations de ces composantes. Nous vous présentons la structure générale d’un environnement 2D/3D que nous allons raffiner tout au long de ce chapitre en intégrant de nouveaux éléments. Ces nouveaux éléments nous conduiront à une architecture complète et bien définie qui servira d’exemple pour la suite du document. 4 Le terme intelligence est utilisé dans le domaine précis de l’intelligence artificielle. L’intelligence artificielle est une modélisation imparfaite de l’intelligence humaine. 42
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Voici l’affichage de l’environnement virtuel. Nous devons garder en tête que le but ultime est d’obtenir un résultat visuel de la simulation pour l’utilisateur. Figure 4.1 : Environnement virtuel [Champandard,2001] Représentation virtuelle de la scène 3D. La structure, la position des objets, le nom des objets, la hauteur ainsi que tout autre attribut pouvant être utile pour une bonne définition du monde. Cette représentation est invisible à l’utilisateur, elle ne sert habituellement qu’aux agents. Figure 4.2 : Représentation virtuelle : vue de dessus. [Champandar, 2001] 43
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Ceci est la représentation mentale que possède l’agent. Pour des raisons de complexité, il y a généralement une très grande correspondance entre la représentation mentale et la représentation virtuelle mais ce n’est pas obligatoire. Dans ce cas-ci, l’agent ne connaît qu’une petite partie du monde. Figure 4.3 : Représentation mentale Il est important de remarquer qu’il existe une très grande correspondance entre l’environnement virtuel et la représentation virtuelle. C’est à partir des informations contenues dans la représentation virtuelle que l’affichage est effectué. Il y a plusieurs relations possibles entre ces deux entités; il est important d’en saisir toute l’ampleur afin de choisir celle qui conviendra le mieux à l’objectif de la simulation. 44
  • Modélisation de la Perception dans un Environnement Virtuelle 3D 4.2 - Relations existantes entre les différents types de représentations 4.2.1 - Relation entre l’environnement virtuel et la représentation virtuelle Dans cette section, nous étudierons la relation qui existe entre l’environnement affiché à l’utilisateur et la représentation virtuelle qui subsiste à l’intérieur de la machine. Nous vous présenterons des exemples de représentations mais nous ne discuterons pas des divers modèles qui ont été testés ; la prochaine section y sera entièrement consacrée. Environnement virtuel basé entièrement sur la représentation virtuelle Le cas le plus simple et le plus flexible est celui où la représentation est à la base de l’affichage de la scène. Nous utilisons un moteur 2D/3D pour afficher le contenu de la représentation. Voici un exemple basé sur une grille 2D qui définit un environnement 2D avec des agents. Zone : 2 Zone : 1 Zone : 0 Zone : 0 Zone : 2 Zone : 0 Zone : 0 Zone : 0 Zone : 0 Zone : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 Zone : 0 Zone : 1 Zone : 4 Zone : 0 Zone : 0 Zone : 0 Zone : 0 Zone : 0 Zone : 0 Zone : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 Zone : 0 Zone : 1 Zone : 0 Zone : 0 Zone : 0 Zone : 0 Zone : 1 Zone : 0 Zone : 0 Zone : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 Zone : 0 Zone : 1 Zone : 0 Zone : 2 Zone : 3 Zone : 0 Zone : 1 Zone : 0 Zone : 0 Zone : 2 agent : 0 agent : 0 agent : 1 agent : 2 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 Zone : 0 Zone : 1 Zone : 0 Zone : 3 Zone : 0 Zone : 0 Zone : 1 Zone : 0 Zone : 3 Zone : 2 agent : 0 agent : 0 agent : 1 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 Zone : 0 Zone : 0 Zone : 0 Zone : 0 Zone : 0 Zone : 0 Zone : 1 Zone : 0 Zone : 2 Zone : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 agent : 0 Figure 4.4 : Représentation virtuelle à l’aide d’une grille 10x6 45
  • Modélisation de la Perception dans un Environnement Virtuelle 3D La figure 4.4 montre une grille de 10 par 6 cellules représentant le monde virtuel. Chaque section contient une description qui correspond au type de zone (0 = gazon, 1 = eau, 2 = arbre, 3 = roche, 4 = gravier ) et au type d’agent se trouvant dans la section (0 = aucun agent, 1 = agent archer, 2 = agent guerrier). Le moteur d’affichage contient toutes les images de la représentation et peut facilement établir la correspondance pour effectuer le rendu dynamiquement. Lorsque la zone = 0 et agent = 1 le moteur affiche l’image « gazon » suivie de l’image de l’archer dans la même section à l’endroit approprié sur l’écran. Figure 4.5 : Affichage de la représentation (source : Warcraft) Cette façon de faire permet de modifier dynamiquement tout ce qui se trouve dans la représentation et, au prochain affichage, la modification s’affichera à l’utilisateur. Il est donc possible de déplacer facilement les agents, de détruire des rochers, de remplir des cours d’eau, etc. Plusieurs variantes ont été modélisées depuis le jeu « Pacman » mais les bases restent toujours les mêmes : représenter l’environnement à l’aide d’attributs pour effectuer l’affichage dynamique à partir de cette représentation. 46
  • Modélisation de la Perception dans un Environnement Virtuelle 3D L’avantage de ce type de relation est la très grande flexibilité du monde qui peut être modifiée à n’importe quel moment et n’importe où dans la scène. L’inconvénient est que la scène est découpée en sections, ce qui détériore la précision de l’affichage. La représentation ne doit pas comporter trop de détails, c’est-à-dire qu’elle doit être simple et limitée dans le nombre d’objets affichés. Par exemple, il serait très difficile de construire une représentation de ce type pour un monde entièrement en 3D. La quantité d’informations nécessaires serait beaucoup trop importante ; la représentation serait surchargée et la consommation des ressources augmenterait expotentiellement par rapport à la dimension de l’environnement. Nous devons quand même être nuancés sur ce point , car même si la tâche est difficile, elle n’est pas impossible. Nous verrons dans la section 4.3 des techniques permettant d’y parvenir. Environnement virtuel enrichi à l’aide de la représentation virtuelle Dans une situation idéale, l’affichage est basé entièrement sur la représentation virtuelle de la scène. Malheureusement, les choses ne sont pas toujours aussi simplistes car, souvent, une multitude de contraintes entrent en jeu. De nos jours, la simulation 3D prend une place dominante dans le monde du multimédia, ce qui nous oblige à adapter nos techniques. Pour comprendre l’enjeu, imaginons la situation suivante. Vous avez une représentation sous forme d’une grille d’une dimension de 1000x1000 cellules. Chaque cellule occupe 32 pixels de largeur et 32 pixels de hauteur sur l’écran ce qui en fait un monde assez volumineux. Nous allons nous placer dans la pire situation possible où nous devons, dynamiquement, changer l’attribut zone de chaque cellule de la représentation. En termes clairs, nous avons un environnement affiché normalement et nous voulons, au prochain « frame », ajouter un feu sur chaque cellule parce qu’une bombe nucléaire a explosé. La tâche est de parcourir les 1000 000 cellules pour y changer l’attribut zone afin qu’il soit égal à un feu. Si la modification d’une cellule prend 40 ns, la totalité de la grille prendra 40 ms. Nous sommes déjà au-delà des normes établies pour le temps réel (33 ms) et le temps d’affichage n’est pas encore considéré. 47
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Transportons-nous maintenant dans un monde représenté en trois dimensions où la représentation virtuelle sert de base à l’affichage. Une scène 3D comme celle de Quake contient évidemment une représentation 3D sinon l’affichage serait impossible. Cependant, cette représentation est statique, c’est-à-dire que nous ne pouvons pas modifier la structure de la scène au prochain affichage. Si nous voulons faire tomber un mur, il faudra que la représentation nous permette dynamiquement de modifier chaque vertex qui compose le mur. La majorité des moteurs 3D ne permettent pas de faire dynamiquement de telles modifications. Imaginons un cas où notre représentation permet la modification des polygones. Notre but est de faire écrouler toutes les structures de la scène. Pour y arriver, nous devons donc modifier tous les vertex de tous les objets de la scène. Le nombre d’informations est beaucoup trop important pour que l’on puisse respecter la contrainte du temps réel. Plusieurs se poseront la question suivante : la différence de temps entre afficher la scène et modifier certains attributs avant l’affichage est-elle vraiment considérable ? Il faut, dans les deux cas, parcourir toute la représentation, mais la différence est énorme ! Dans le cadre d’une scène statique, l’algorithme parcourt la représentation et affiche tous les polygones visibles pour l’utilisateur. Dans l’éventualité où l’algorithme doit effectuer des modifications sur les données avant de les afficher, il doit tout modifier. Même les objets non visibles pour l’utilisateur devront être modifiés. Finalement, en plus d’ajouter un calcul et un accès pour la modification, il faut prendre en considération tous les objets de l’environnement. Nous vous avons présenté un cas extrême pour vous démontrer la difficulté de ces problèmes. Si votre objectif n’est pas d’avoir une scène réaliste, des objets en forme de cube sans textures ni lumières conviendront. De nos jours, les puissances de calcul des ordinateurs et les processeurs graphiques permettent d’implanter ce genre de chose. Le problème vient de l’essence même de la représentation virtuelle qui a pour but d’interagir avec l’agent. Ce n’est pas cette représentation qui doit servir de données pour l’affichage de la scène. Si nous intégrons toutes les informations dans la représentation virtuelle, celle-ci sera surchargée de données inutiles pour le raisonnement de l’agent. La position des faces, des vertex, des lumières, ainsi que le « mapping » des textures n’intéressent pas du tout l’agent. La représentation doit se trouver à un niveau d’abstraction supérieur qui décrit les objets, les routes, les lacs, etc. 48
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Voici donc pourquoi les développeurs ont décidé d’intégrer une autre représentation qui décrit la scène au niveau le plus bas (vertex, segment, etc.). Il s’agit des représentations 3D géométriques comme celles créées par les logiciels spécialisés 3D Studio Max, SoftImage, Creator, pour ne citer que les plus connus. Comme nous l’avons dit, cette représentation est, la plupart du temps, statique ce qui interdit la modification de son contenu. Voici la nouvelle structure d’un environnement virtuel lorsque nous ajoutons cette composante : Moteur 3D Représentation Représentation de la virtuelle scène Représentation mentale de l’agent Figure 4.6 : Nouvelle architecture d’un environnement 3D 49
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Les flèches présentent les relations qui existent entre les divers éléments du système. Nous allons expliquer un peu plus en détail le rôle que chaque composante devra jouer. Il faut garder en tête que nous sommes dans la section qui explique la relation entre l’environnement virtuel et la représentation virtuelle. Dans notre nouveau modèle, le terme représentation virtuelle désignera à la fois la représentation virtuelle et la représentation de plus bas niveau (représentation de la scène). Commençons par expliquer le rôle de la représentation de la scène qui se veut de bas niveau. Représentation de la scène Cette représentation servira à afficher la structure générale de la scène 3D. On entend par structure générale tout ce qui est bâtiment, route, etc. En fait, puisque ce module devra être statique, tout ce qui ne bouge pas et ne doit pas être modifié se trouvera à cet endroit. La forme de la représentation dépend du standard que nous utilisons mais les bases sont toujours les mêmes : Objets->face->segment->vertex. Pour chaque objet, nous avons les attributs correspondants soient la position des vertex, l’orientation des segments, la couleur ou la texture des faces, etc. Si nous voulons modifier la position d’un vertex, il faut que le moteur 3D le permette ; la majorité des moteurs ne font que lire et afficher cette représentation. Chaque moteur 3D doit supporter certaines représentations de base pour faciliter la vie des programmeurs. Par exemple, le moteur Multigen Vega est compatible avec les formats Openflight et VRML. Le moteur de Quake supporte les formats « .map », « .mdl » et « .md2 » et MS DirectX le format « .x ». Il est évidemment possible de convertir certains formats vers d’autres pour que le moteur choisi puisse les reconnaître. Étant donné que c’est le moteur 3D qui interagit avec le fichier de représentation, c’est lui qui définit les opérations possibles sur celui-ci. Vous êtes donc dépendants du moteur avec lequel vous développez. Bien sûr, vous pouvez créer votre propre moteur pour implanter les fonctionnalités désirées mais généralement, c’est un travail ardu et long. Ce n’est pas tout ce que cette représentation devra contenir, il y aura aussi la définition des lumières et des effets spéciaux présents dans la scène. 50
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Représentation virtuelle Le rôle de la représentation virtuelle est de donner un modèle de l’environnement compréhensible et utile pour l’agent. Les éléments utiles dépendent de l’objectif de la simulation mais certaines composantes sont minimales. • Représentation des obstacles (structure générale) : pour que l’agent puisse se déplacer dans le monde virtuel, il lui faut savoir où sont disposés les obstacles et les voies accessibles. La façon de s’y prendre dépend de la précision que l’agent doit avoir de son environnement. Nous pouvons dire qu’à un endroit donné, il y a obstruction sans toutefois fournir d’informations supplémentaires. L’agent peut aussi posséder une représentation fidèle des objets (position, taille, type, attributs supplémentaires) pour qu’il puisse en déduire la structure. • Représentation des agents : généralement, le système intègre des agents physiques dans l’environnement. Il faut donc être capable de les repérer dans la scène et de les afficher. Nous devons savoir à quoi ils ressemblent pour que le moteur 3D puisse les intégrer dans l’environnement. Habituellement, un agent est représenté « extérieurement » par un fichier 3D. Une référence contenant les attributs de cet agent est alors intégrée dans la représentation virtuelle. Il peut alors se déplacer et effectuer différentes actions à l’intérieur de la représentation. Ce sont les éléments minimums que votre représentation virtuelle doit fournir aux agents. Il peut évidemment y en avoir plus mais il faut faire attention de ne pas surcharger la représentation avec des informations inutiles aux objectifs des agents. Relation entre les deux représentations virtuelles Lorsque nous désirons intégrer l’aspect dynamique de la structure de la scène, il faut que l’agent ait accès aux attributs de la scène. Afin d’y arriver, il y a deux solutions possibles : soit (1) le moteur 3D implante les fonctions d’accès, soit (2) il faut fusionner les deux représentations. Ainsi, l’agent pourra accéder directement aux informations bas niveaux de la structure des objets pour les modifier. En ce moment, certaines compagnies multimédias tentent de développer des représentations hiérarchiques intégrant la structure de la scène et les informations conceptuelles pour permmettre aux agents de s’y retrouver. 51
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Moteur 3D Niveau abstrait : objets, structure... (utile pour l’agent) Niveau utile pour l’affichage de la scène faces Polygones Segments Vertex Figure 4.7 : Fusion des 2 représentations Les chercheurs plus conservateurs essaient plutôt de laisser les deux représentations séparées tout en intégrant un moteur 3D plus dynamique. Moteur 3D Lien double lecture, écriture Représentation Représentation de la virtuelle scène Figure 4.8 : Intégration d’un lien double permettant au moteur la modification de la représentation Le problème est le suivant : pour que l’agent puisse décider de modifier le vertex d’un objet, il doit savoir que ce vertex existe ce qui revient à l’intégrer dans la représentation virtuelle. Cette technique revient à intégrer la représentation de la scène dans la représentation virtuelle. L’avantage est que nous ne sommes pas dépendants du standard de la représentation de la scène (exemple, .3ds, .flt, .mdl). Nous pouvons donc définir notre représentation de façon optimale pour notre application. En termes clairs, si nous n’avons pas besoin de modifier les routes, les lumières et les textures, elles n’apparaîtront pas dans notre représentation. Il y a, par contre, une certaine duplication de l’information et une synchronisation est nécessaire pour mettre à jour les données. Il revient donc au concepteur de déterminer ce qui répond le mieux à ces besoins. 52
  • Modélisation de la Perception dans un Environnement Virtuelle 3D 4.2.2 - Relation entre la représentation virtuelle et la représentation mentale de l’agent Cette section sera assez brève puisque, comme vous pourrez le constater, ces deux représentations sont extrêmement liées. Lorsque la représentation virtuelle est définie, c’est en général parce que celle de l’agent a déjà été établie. Nous n’avons qu’à représenter ce que l’agent doit acquérir comme information. Par exemple, si l’agent doit posséder la catégorie d’un édifice (magasin, hôtel, établissements gouvernementaux, etc.) pour le besoin de son raisonnement, cette information devra apparaître dans la représentation virtuelle. Si l’agent a besoin de se repérer dans la scène, la structure des édifices devra également ressortir de la représentation. C’est ainsi que l’agent pourra percevoir son environnement mais, comment y arrive-t-il? Puisqu’il ne possède pas de sens, la perception s’effectue à travers la représentation virtuelle. L’agent devra posséder une représentation mentale afin de pouvoir raisonner sur ce qu’il perçoit. Dans presque tous les cas, la structure de la représentation mentale est la même que la structure de la représentation virtuelle. C’est évident puisque la représentation virtuelle n’existe que pour les agents. Aussi il serait inutile de ne pas représenter la scène de la même façon. Lorsque les premières utilisations de cette structure ont été implantées, les chercheurs avaient doté l’agent de la connaissance totale de la scène. En d’autres termes, la représentation mentale était égale à la représentation virtuelle. Nous disions que l’agent était omniscient 5. Ainsi, la conception de ce type de système était d’une simplicité étonnante et la qualité de son fonctionnement était satisfaisante. De nos jours, les chercheurs n’acceptent plus ce genre d’omniscience car, ils proclament que la simulation ne reflète pas la réalité. Le standard devient de plus en plus ce que [Champandard, 2001] appelle la perception subjective. Ce concept veut que seule la partie visible de l’environnement soit accessible par l’agent. Évidemment, l’agent pourra être doté d’une mémoire afin de se rappeler des choses qu’il a perçues. Ainsi, l’agent pourra détenir toute la structure de la représentation virtuelle sans toutefois contenir toute l’information. Ce type d’agent se rapproche beaucoup plus du comportement humain qui doit apprendre et apprivoiser son environnement. 5 Le terme omniscient vaut dire « Qui sait tout ». 53
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Dans cette section, nous n’avons défini que les relations entre les représentations et non leurs structures. Les structures représentées ne sont que des exemples simples pour bien comprendre le fonctionnement des relations entre les représentations. Nous ferons dans la prochaine section, une étude exhaustive des différentes représentations existantes. Les objectifs visés par l’utilisation de l’environnement virtuel vous aideront à déterminer la représentation qui vous convient. 4.3 - Structure des représentations Lorsqu’une scène doit être rendue de façon détaillée, une représentation 3D doit exister pour la structure de l’environnement. Généralement, ce sont les modèles géométriques (section suivante) qui représentent les objets dans la scène 3D. Mais comme nous l’avons mentionné plus haut, ces modèles géométriques ne sont pas d’une grande utilité pour l’agent. Il est en effet utile d’avoir des modèles topologiques plus globaux au-dessus de ceux géométriques. Ces modèles plus abstraits traduiront les notions de lieux, de connexité et d’événements. Dans les deux niveaux, géométrique et topologique, nous plaçons des objets communs (les amers) permettant de faire le lien entre les deux représentations. Les amers peuvent être naturels (rochers, végétation, terrain), artificiels (intérieur d’un bâtiment, matrice) ou une combinaison des deux ( scène naturelle avec route). Nous allons, dans cette section, vous présenter brièvement les différents modèles 3D d’une scène. Ensuite, nous analyserons les représentations qui décrivent le monde de façon plus abstraite et finalement nous regarderons les représentations permettant d’avoir une plus grande flexibilité. 54
  • Modélisation de la Perception dans un Environnement Virtuelle 3D 4.3.1 - Représentations géométriques 3D Les modèles de représentation géométrique que nous verrons constituent uniquement la manière dont la scène est décrite pour l’affichage. Il ne s’agit pas de la représentation qui servira à l’agent, sauf dans le cas où il voudra modifier la structure d’un objet dans la scène. A - Modèles d’objets paramétrisés Ces modèles définissent les paramètres permettant de décrire de façon unique un objet de la scène. Par exemple, pour générer une droite, nous devons fournir deux points dans l’espace appartenant à la droite. Figure 4.9 : Objet paramétrisé par h,l,m et r [Dupuis, 2000] C’est un modèle très spécialisé qui s’avère trop limité en raison de la faible flexibilité des objets paramétrisables. Représenter des objets complexes avec ce type de méthode est une tâche très difficile. B - Modèle CSG Ces modèles manipulent des objets élémentaires (polyèdres, sphères...) qui sont, eux- mêmes, représentés par des points 3D dans l’espace. Ensuite, des opérations sont mises à la disposition de l’utilisateur ou du moteur 3D afin de modifier les objets. Voici à quoi ressemble la représentation d’un objet avec un modèle CSG (figure 4.10). 55
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Figure 4.10 : Représentation CSG [Dupuis, 2000] Comme vous pouvez le constater, l’objet complexe est construit à partir de trois objets simples O1, O2 et O3. En faisant l’union de ces objets et en soustrayant les objets O6 et O7, nous obtenons finalement l’objet O8. Ce modèle est incomplet car il nécessite des algorithmes pour évaluer l’arbre de construction. De plus, lorsque l’arbre CSG est mal balancé, les algorithmes sont inefficaces. Il est aussi très difficile de décrire un objet complexe n’intégrant pas de propriété géométrique ; exemple, un visage humain. C - Modèle frontière Ces modèles permettent de représenter uniquement les contours des objets 3D. Dans le cas d’un modèle fil de fer, les objets sont représentés par un ensemble de segments reliés par leurs extrémités. Ces modèles peuvent parfois avoir des ambiguïtés ou donner lieu à des formes impossibles (figure 4.11). 56
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Figure 4.11 : modèle en fil de fer [Dupuis, 2000] Une autre façon d’implanter les modèles frontières est de représenter les objets à partir de leurs surfaces. La plupart du temps, les surfaces sont divisées en facettes polygonales (triangles, etc.) et chaque facette est représentée par les arêtes et les sommets la délimitant. Cette méthode est la plus employée puisqu’elle est moins lourde et moins complexe qu’une représentation 3D complète. De plus, elle permet d’appliquer facilement des modèles d’illumination et de génération de textures. Les parties cachées sont aussi plus facilement calculables avec les algorithmes connus (Ray tracing, z-buffer, BSP, etc.). Le point négatif est que nous n’avons aucune information sur l’intérieur de l’objet. C’est l’approche la plus efficace de représentation géométrique lorsque l’objectif est la qualité de l’affichage de la scène. Nous avons donc vu que la représentation d’une scène 3D se fait par des polyèdres, faces, segments, sommets ou polygones qui en décrivent la géométrie. Il y a aussi des lignes ou des régions 2D, de couleurs ou de textures homogènes, qui complètent la description photométrique. Maintenant, il faut s’attarder au mode de représentation abstrait que nous pourrons dériver de cette scène afin de l’utiliser intelligemment. 57
  • Modélisation de la Perception dans un Environnement Virtuelle 3D 4.3.2 - Représentations topologiques A - Décomposition en cellules Nous avons introduit de manière imprécise le concept de cellules lorsque nous avons parlé de la relation entre la représentation virtuelle et l’environnement virtuel. Nous allons maintenant faire une analyse plus complète de cette méthode de représentation. Avec l’approche de décomposition par cellule, l’espace et les obstacles sont représentés par une grille de cellules. Les cellules peuvent être hexagonales ou irrégulières mais généralement, elles sont carrées. Les cellules ne représentent pas exactement la forme d’un obstacle mais elles peuvent l’approximer de mieux en mieux, plus la taille de la cellule est petite. Évidemment réduire la dimension de la cellule augmente la taille de l’espace de traitement. De plus, pour effectuer la discrimination entre un espace vide et un objet, les cellules peuvent contenir des informations relatives à ce qui se trouve à l’intérieur (type d’objet, dimension, etc.). Les avantages de cette méthode sont la simplicité et l’économie des ressources. La représentation est dynamique à 100% et l’implantation est simple. Par contre, tout ne se représente pas par cette technique. Si nous désirons utiliser un environnement détaillé et précis, ce n’est pas la bonne solution car nous serions dans l’obligation d’augmenter le nombre de cellules et donc de réduire les performances. De plus, un monde entièrement en 3D se représente mal avec cette technique pour les raisons que nous avons évoquées dans la section 4.2.1. Cependant, il y a des techniques pour représenter un monde 3D. Nous pouvons utiliser un attribut de hauteur dans la cellule qui décrit l’information en Z de l’objet. Cette approche est plus connue sous le nom de plan 21/2D. Nous pourrions aussi penser à une matrice en 3D mais la mémoire utilisée serait trop importante pour une grande scène. De plus, il y aurait énormémment d’espace vide, ce qui est inutile à une représentation pour faire de la perception. Suivant cela, deux techniques découlent d’une telle approche : un graphe, basé sur une matrice 3D, mais ne représentant que les espaces où il y a occupation et les octree (nous aborderons les octree dans la prochaine section). 58
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Techniques dérivées Pour palier aux nombreux problèmes de résolution, [Kambhampati, 1986] utilise une recherche multidimensionnelle basée sur le principe des quadtrees6.Cette technique fonctionne bien mais l’information complète doit quand même être disponible. L’avantage est que nous ne dupliquons pas la représentation totale pour chaque agent. De plus, seulement le niveau nécessaire de précision est employé. Figure 4.12 : Représentation avec des Quadtree Une autre technique est l’utilisation de bitmap pour la représentation de l’environnement. C’est un cas particulier de l’approche de la grille où chaque cellule est représentée par un pixel de l’image. La couleur du pixel est associée à une valeur qui est choisie selon notre objectif. Si l’objectif est de représenter des zones de passage et des obstacles, la couleur noire sera un obstacle et la couleur blanche une zone de passage. Les tons de gris exprimeront la difficulté d’emprunter ce chemin. B - Technique « Skeletons » L’approche Skeleton réduit l’espace vide à un réseau de segments unidimensionnels. Les représentations communes sont les graphes de visibilité et les diagrammes de Voronoi. Un graphe de visibilité est une collection de segments connectant les sommets visibles des objets un à un. Un diagramme de Voronoi est un ensemble de régions qui séparent l’espace selon plusieurs points Pi. La particularité est que tous les points d’une région donnée se trouvent plus près du 6 [Yahja, 1998] implante les quatrees en discrétisant une petite grille mais où chaque grande cellule est composée d’autres cellules d’une plus grande résolution. 59
  • Modélisation de la Perception dans un Environnement Virtuelle 3D point Pi que des autres points de l’emsemble. (figure 4.12a). Ces représentations sont surtout utilisées pour le « path finding » étant donné qu’ils ne contiennent pas beaucoup d’informations. Ils servent à définir des obstacles sans donner plus de détails sur la structure de la scène. Ces techniques peuvent être utilisées en parallèle avec d’autres méthodes de représentations plus détaillées. Figure 4.12a : diagramme de Voronoi C - Région de poids Cette technique est semblable à celle d’une grille sauf que les cellules peuvent être de forme polygonale et de taille variable. Chaque cellule est associée à un poids qui définit si l’obstacle est infranchissable ou fluide. Pour y effectuer la perception, [Mitchell, 1988] utilise la loi de la réfraction de Snell. L’idée est de lancer des rayons dans toutes les directions à partir de la position de l’agent. Chaque rayon atteindra la frontière entre deux cellules et ce rayon devra obéir à la loi de la réfraction avec les indices de réfraction étant les poids des zones respectives. Donc lorsque la valeur sera trop grande, il y aura réflexion du rayon ce qui indiquera qu’il y a un objet infranchissable. C’est une approche qui n’a pas connu beaucoup de succès, étant donné le domaine d’application restreint pour lequel elle est efficace. D - « Waypoints » Graphes Tout comme les techniques précédentes, les « waypoints » représentent la partie accessible du terrain par l’agent. Les connections entre les « waypoints » indiquent un 60
  • Modélisation de la Perception dans un Environnement Virtuelle 3D mouvement possible. Les graphes créés par les « waypoints » et leurs interconnexions définissent les chemins valides. Quelquefois, nous pouvons associer des concepts plus abstraits aux « waypoints » comme la présence de zones particulières ou la présence d’objets à proximité. La représentation peut être complexe et peut transmettre la structure générale de la scène. Nous voyons dans la figure 4.13 que le graphe nous suggère qu’il y a 3 salles reliées par des corridors. Figure 4.13 : « waypoint » graph [Sterren, 2001] Les « waypoints » peuvent permettrent d’effectuer différents raisonnements : • L’environnement local : les « waypoints » peuvent décrire la qualité de la position et quel type de mouvement est recommandé. • L’adhésion d’un concept qui décrit un terrain avec un niveau supérieur ; les « waypoints » peuvent être groupés pour représenter une salle, un lac ou une base de l’ennemi. • Les relations avec les autres « waypoints » : des relations peuvent être définies avec d’autres « waypoints » pour savoir si il y a une « line of sight » valide ou pour exprimer une simple relation de distance. • Le focus : Un « waypoint » dont les relations, comme une ligne de vue, sont orientées vers une certaine direction se verra focusser dans cette direction. Figure 4.14 : Caractéristiques des « waypoints » [Sterren, 2001] 61
  • Modélisation de la Perception dans un Environnement Virtuelle 3D En bref, les graphes formés par ce type de représentation peuvent être très flexibles et puissants. Plusieurs modes de raisonnement peuvent être implantés et la perception locale effectuée à partir de cette approche peut s’avérer très utile. E - Octree L’utilité d’utiliser la méthode avec des Octree est de représenter un monde 3D tout en discriminant les informations jugées inutiles pour l’obtention d’un but précis. Par exemple, il est absolument inutile de savoir le type de fleurs qu’il y a dans la pièce si le but est de se diriger dans l’environnement. C’est un des rares modes de représentation en 3D puisque la quantité de mémoires utilisées est énorme, si une grande précision est exigée. C’est justement dans cette optique que cette technique a été utilisée ; elle permet d’économiser les ressources du système en discriminant les informations non pertinentes. Imaginons que nous avons une représentation géométrique de la scène et que nous voulons une représentation virtuelle avec des octree. Il faut premièrement, choisir le niveau de précision que nous désirons à un endroit donné. La scène est ensuite découpée avec 8 cubes adjacents (figure 4.15) pour ensuite affecter des attributs à tous les cubes (présence ou non d’objet dans le cube, etc.). Suite à cela, il peut y avoir une subdivision récursive de l’espace si une meilleure précision est exigée dans le cube en haut à gauche. 62
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Subdivision récursive Figure 4.15 : Construction d’un octree Il est évident que si nous avons besoin d’un bon niveau de précision pour toute la scène, nous retombons sur les problèmes de la matrice 3D. Mais une solution est employée pour résoudre le problème des espaces vides [Thalmann, 1995]. Chaque cube dans un octree correspond à un voxel et contient une table de huit pointeurs sur les autres noeuds (cubes). Un pointeur NULL signifie que l’espace est vide, sinon il pointe sur un élément qui représente l’objet qui occupe cet espace. L’octree représente la scène où il y a souvent des objets statiques et dynamiques. Il est donc nécessaire de posséder des opérateurs comme ajouter et supprimer pour garder l’aspect dynamique de la représentation. Pour implanter ces opérateurs, il faut s’apercevoir du mouvement des objets, ce qui revient à supprimer un voxel pour en ajouter un plus loin. Pour faire cela, il faut parcourir toute la représentation et vérifier si l’état du voxel est cohérent avec l’état de la scène. S’il ne l’est pas, il faut modifier l’état du noeud de l’octree en fonction de la réalité de l’environnement. C’est une méthode performante et complète lorsque nous avons besoin de représenter l’espace en 3D. Elle est cependant plus lourde à traiter comparativement à une grille 2D mais elle offre l’avantage d’être 3D en ayant plusieurs niveaux de précision. Le plus grand problème est d’être capable de dire si l’espace est oui ou non occupé dans le cas où le voxel représente le centre d’un objet. 63
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Voxel de l’octree Figure 4.16 : voxel au centre d’un segment de l’objet Dans le cas d’une scène 3D Openflight, nous ne pouvons obtenir de l’information que sur les vertex des objets. Il devient donc plus difficile de déterminer si le voxel de la figure 4.16 appartient ou non à l’objet puisqu’il se trouve entre deux vertex et les segments ne sont pas représentés. Tout cela pour dire que ce mode de représentation demande beaucoup de temps de conception mais une fois implanté, il peut être vraiment utile et représentatif. Tous les modèles que nous venons de voir sont des cas particuliers ou des extensions d’une seule méthode de base : la représentation par cellules. Certaines techniques ont leurs spécialités et c’est pourquoi nous vous les présentons. Suivant l’objectif que vous recherchez, plusieurs de ces approches peuvent être combinées pour une plus grande flexibilité. 64
  • Modélisation de la Perception dans un Environnement Virtuelle 3D 4.4 - Modèle de perception d’un agent L’objectif que nous voulons atteindre est de définir un modèle de perception qui nous permettra d’interagir avec l’environnement d’une façon réaliste. Cela implique d’être en mesure de percevoir de manière locale, i.e. posséder un champ de vision restreint de façon à simuler le plus fidèlement possible la réalité. De plus, la perception devra faire la discrimination des éléments inutiles suivant l’objectif de l’agent. Il faut aussi que l’agent puisse percevoir les autres agents ainsi que leurs comportements. Nous allons commencer par définir un premier modèle qui devra permettre à l’agent de percevoir localement. L’idée de base est de percevoir ce qui se trouve dans la représentation selon un champ de perception7 fixe. Représentation virtuelle du monde. Agent Champ de perception de l’agent Figure 4.17 : Perception d’un agent Ce type de perception est simple et efficace mais elle ne reflète pas la réalité dans le cas où un objet entrave un autre objet placé derrière. 7 L’appellation sera champ de perception et non champ de vision parce que l’agent ne possède pas de vision telle que nous la connaissons. 65
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Représentation virtuelle du monde. Obstacle Agent Champ de perception de l’agent Figure 4.18 : Perception entravée Dans ce cas, si notre perception n’est pas bien définie, l’agent percevra l’obstacle ainsi que l’autre agent situé derrière l’obstacle. Il faut trouver une façon d’entraver la perception pour ne pas percevoir à l’arrière d’un objet. Une technique simple est d’utiliser une approche dérivée des « waypoints » en formant un graphe de perception. Chaque cellule possédera 4 pointeurs de perception sur les cellules voisines. Si une cellule contient un objet ou un obstacle, ces pointeurs seront tous à NULL afin de bloquer la perception de l’agent vers les cellules voisines. De cette manière, la perception de l’agent suivra les pointeurs du graphe et lorsqu’un pointeur sera à NULL, sa perception s’arrêtera là pour cette direction. Figure 4.19a Figure 4.19b C’est exactement le comportement souhaité car lorsque les pointeurs arrivent sur l’obstacle (carreaux bleus), la perception s’arrête dans cette direction puisque leurs pointeurs ne pointent nulle part (NULL). Dans la figure 4.19b, il y a un problème avec le champ de vision puisqu’il perçoit des cellules qui, logiquement, devraient être cachées (cellule X dans la figure 66
  • Modélisation de la Perception dans un Environnement Virtuelle 3D 4.19b). Pour avoir différents modes de perception, il suffit de changer l’algorithme de parcours des pointeurs. En procédant d’une autre façon, le problème de perspective de la perception sera réglé. La façon de construire les pointeurs se fait lors du pré-traitement de la scène (construction de la représentation virtuelle). Une fois la représentation construite, l’agent peut percevoir dynamiquement à l’aide des pointeurs. Lorsqu’il se trouve dans une cellule et qu’il désire percevoir, il procède de la façon suivante. L’agent longe les pointeurs définis par l’algorithme et stocke dans sa représentation mentale, les cellules pointées. Cela définit un champ de perceptions dynamique qui est valide, peu importe l’endroit où se situe l’agent. Il reste cependant un énorme problème. Si un minuscule objet est devant un immense objet, le minuscule objet empêchera la perception du plus grand. La raison est que notre perception se fait dans une représentation 2D et que la hauteur n’est pas prise en compte. Figure 4.20 : Perception biaisée Dans le cas où l’objet caché devrait être perçu parce qu’il est plus grand que l’autre, la perception ne s’effectue pas correctement. La solution serait de représenter le monde avec une grille 3D et d’appliquer la même approche mais les ressources techniques seraient insuffisantes. Suivant cela, il nous faut trouver une solution efficace en 2D nous permettant de résoudre ce problème. 67
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Une façon serait d’intégrer la hauteur maximale de l’objet que la cellule contient. Ensuite, lors du pré-traitment de la scène (création des pointeurs), les pointeurs de perception d’une direction donnée seraient créés si et seulement si la cellule pointée a une hauteur supérieure à la hauteur de la cellule courante. 10 20 10 Figure 4.21 : Représentation à l’aide des hauteurs Dans ce cas, lorsque les pointeurs de perceptions sont créés sur les cellules de hauteur 10, tous les pointeurs sont initialisés à Null puisqu’ils pointent tous vers des cellules contenant 0 (les cases blanches sont de hauteur 0) sauf une. Celle qui devra pointer sur la cellule de hauteur 20 ne sera pas à null puisque sa hauteur est plus petite que la cellule pointée (10 < 20). Nous n’avons pas représenté les pointeurs qui partent des cases vides (0) pointant vers les cases 10 et 20 pour alléger le graphique mais ils existent. En procédant ainsi, l’agent percevra en suivant les pointeurs valides à partir de sa position. Dans ce cas, les pointeurs valides pointent sur les cellules de hauteur 10 et un seul pointeur devient valide à partir des cellules pointées, il s’agit de celui qui pointe vers la cellule 20. Donc, l’agent percevra l’obstacle qui a une hauteur de 10 et l’objet derrière d’une hauteur de 20. Si un objet de plus petite taille se glissait derrière ces obstacles, l’agent ne pourrait pas le percevoir, ce qui est très réaliste. Notre modèle se concrétise peu à peu, mais il reste néanmoins un problème de perception à traiter. Notre représentation ne tient pas compte du cas suivant : 68
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Figure 4.22 : Problème de perception Si l’agent est assez près d’un obstacle, il ne devrait pas percevoir l’objet derrière même si celui-ci est plus grand. Notre modèle n’en tient pas compte et l’agent le percevra quand même. Il devient assez difficile d’étendre la représentation 2D à ce point pour rester simple et rapide lors de la perception. De plus, jusqu’ici nous nous sommes basés sur des agents au sol mais nous pouvons très bien imaginer un agent qui survole la région. Avec cette représentation, la perception d’un agent d’une hauteur plus grande que les édifices eux-mêmes est un problème. Dans ce document, nous n’aborderons pas ces divers problèmes mais il faudra, un jour ou l’autre, s’y attaquer. Si nous ne voulons pas représenter l’environnement en 3D, il faudra augmenter la qualité de la représentation 2D pour que ces limitations ne nous resteignent pas à une seule voie. 69
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Conclusion En résumé, nous avons énoncé quelques caractéristiques de la perception et de la représentation humaine. Ce travail nous a permis d’explorer différentes techniques pouvant être simulées ou imitées sur un système informatique. Ensuite, nous avons exploré les techniques actuellement utilisées dans le domaine de la vision numérique. L’acquisition et le traitement de l’information sont différents mais lorsque nous possédons la structure de la scène, la représentation se prête aux mêmes problèmes et contraintes que la perception virtuelle d’un agent. C’est pourquoi nous n’avons pas insisté sur les types de représentations qu’utilisent les techniques de vision numérique. Nous avons plutôt présenté les méthodes de représentation et de perception employées par un agent dans un monde virtuel. Nous avons présenté plusieurs méthodes mais l’évidence nous saute aux yeux : toutes découlent de la même technique de base : les grilles. Donc, à partir de cette constatation, nous avons tenté d’exploiter cette approche pour résoudre notre problème de perception d’une scène 3D. Nous avons rencontré plusieurs problèmes mais il est possible de les surmonter sans trop limiter notre champ d’action. C’est dans un futur proche que ces méthodes devront faire leurs preuves. De nombreux problèmes devront être résolus pour qu’une simulation utilisant cette approche soit la plus réaliste et générale possible. Il y aura, entre autres, le problème de la discrimination des objets qui sera intimement lié aux comportements et aux actions de l’agent. Il faudra de plus, tenir compte de diverses contraintes : le temps réel, l’intégration de plusieurs dizaines d’agents, les ressources disponibles, etc. Il y a donc encore beaucoup de travail à faire pour définir une représentation qui permettra une perception réaliste. Les chercheurs raffineront les techniques et les machines deviendront de plus en plus puissantes pour nous permettre d’accomplir cette tâche. 70
  • Modélisation de la Perception dans un Environnement Virtuelle 3D Bibliographie [Aloimonos, 1994] Aloimonos, Y. (1994) : What i have learned. CVGIP : Image understanding, 60(1), pages 74-85. [Aschersleben, 1999] Bridgeman, Bruce (1999) : Cognitive contributions to the perception of spatial and temporal events. Advances in psychology, No 129, Aschersleben, G. & Bachmann, T. & Müsseler, J. Editor. [Bates, 1994] Bates, J. (1994) : The role of emotion in believable agents. Communication of the ACM, No 37, pages 122-125. [Bertorello, 1998] Bertorello, Serge (1998) : Notions d’optique. http://serge.bertorello.free.fr/optique/vision.html. [Brockmann & Geisel, 2000] Brockmann, D. & Geisel, T. (2000) : The ecology of gaze shifts. Neurocomputing, 32-33, pages 643-650. [Boyle, 1988] Boyle, R. D. & Thomas R. C. (1988) : Computer vision, a first course. Blackwell scientific publications, 210 pages. [Champandard, 2001] Champandard, Alex J. (2001) : Bot Navigation: Design Philosophy. Ai-depot, http://ai-depot.com/BotNavigation/Design-Introduction.html. 71
  • Modélisation de la Perception dans un Environnement Virtuelle 3D [Cantoni, 1997] Cantoni, V. (1997) : Attentional Engagement in vision system. Dans Artificial Vision Academic Press. [Castelfranchi, 1995] Castelfranchi, C. (1995) : Guarantees for autonomy in cognitive agent architecture. Intelligent agents : theory, architectures and languages,(LNAI Volume 890), pages 56-70, Springer-Verlag : Germany. [Cave, Press] Cave, K.R., & Pashler, H. (in press) : Visual selection mediated by location: Selecting successive visual objects. Perception & Psychophysics. [Cave, 1994] Cave, K.R., & Pashler, H. (1994) : Visual selection mediated by location: Selecting noncontiguous locations. Manuscript submitted for publication. [Dupuis, 2000] Dupuis, C. (2000) : Représentation et construction d’objets 3D. Université Laval. [Forsyth et Ponce, 2001] Forsyth, David & Ponce, Jean (2001) : Computer Vision - A modern approach. Page 240. [Gallier, 1988b] Gallier, J. R. (1988b) : A theorical framework for computer model of cooperative dialogue. Acknowledging Multi-Agent conflict. PhD Thesis, Open University, UK. 72
  • Modélisation de la Perception dans un Environnement Virtuelle 3D [Genesereth et Ketchpel, 1994] Genesereth, M. R. & Ketchpel, S. P. (1994) : Software agents. Communication of the ACM, No 37, pages 48-53. [Gibson, 1979] Gibson, J. J. (1979) : The Ecological Approach to Visual Perception. Houghton Mifflin, Boston. [Gomes, 2000] Gomes, Herman (2000) : Marr's Theory: From primal sketch to 3-D models. http://www.dai.ed.ac.uk/CVonline/LOCAL_COPIES/GOMES1/marr.html. [Gregory, 1974] Gregory, R. L (1974) : Philosophy of psychology. Macmillan, London. [Groscarret, 1999] Groscarret, Hervé (1999) : Voyage musical parmi les neurones. Résonance n° 15, http://catalogue.ircam.fr/articles/textes/Groscarret99a/#fig3. [Hernandez, 1994] Hernandez, D. (1994) : Qualitative representation of spatial knowledge. Springer-Verlag, Germany, 202 pages. [Hoffman, 1981] Hoffman, J.E. & Nelson, B. (1981) : Spatial selectivity in visual search. Perception & Psychophysics, 30, pages 283-290. [Horowitz & Wolfe, 1998] Horowitz, T. S. & Wolfe, J. M. (1998) : Visual search has no memory. Nature, 394, pages 575-577. 73
  • Modélisation de la Perception dans un Environnement Virtuelle 3D [Jeannerod & Rosetti, 1993] Jeannerod, M., & Rosetti, Y. (1993) : Visuomotor coordination as a dissociable visual function: Experimental and clinical evidence. Dans C. Kennard (Ed.), Visual perceptual deficits (Bailliere’s clinical neurology 2(2)), pages 439–460. [Kambhampati, 1986] Kambhampati, S. & Davis, L. (1986) : Mutliresolution Path Planning for Mobile Robots. Dans IEEE Journal of Robotics and Automation, Vol RA-2, No. 3. [Kim, 1993] Kim, M-S. & Cave, K.R. (1993) : Spatial attention in searching for features and feature conjunctions. Poster presenté à une rencontre de la Psychonomic Society, St. Louis, Mo. [Koch, 1985] Koch, C., & Ullman, S. (1985) : Shifts in selective visual attention: Towards the underlying neural circuitry. Human Neurobiology, 4, pages 219-227. [Laberge, 1983] LaBerge, D. (1983) : Spatial extent of attention to letters and words. Journal of Experimental Psychology: Human Perception and Performance, 9, pages 371-379. [Luck, 1993] Luck, S.J., Fan, S., & Hillyard, S.A. (1993) : Attention-related modulation of sensory-evoked brain activity in a visual search task. Journal of Cognitive Neuroscience, 5, pages 188-195. [Marr, 1982] Marr, D. (1982) : The philosophy of the approach. Chapitre 1 dans Vision. San Francisco, W. H. Freeman and Company. 74
  • Modélisation de la Perception dans un Environnement Virtuelle 3D [Matrox, 2000] Matrox electronics (2000) : Pattern Matching. www.Matrox.com. [Mitchell, 1988] Mitchell, J. S. B. (1988) : An Algorithmic Approach to Some Problems in Terrain Navigation. Artificial Intelligence 37, pages 171-201. [Moravec, 1996] Moravec, H. (1996) : Robot spatial perception by stereoscopique vision and 3D evidence grids. Carnegie Mellon University, Pittsburgh. [Nissen, 1985] Nissen, M. J. (1985) : Accessing features and objects. [Ouïe] Haplosciences (2000) : Oreille - L'ouïe. http://www.chez.com/haplosciences/ear.html. [Pollefeys, 2000] Pollefeys, Marc (2000) : Tutorial on 3D modeling from images. Dublin, Ireland. [Posner, 1984] Posner, M.I. & Cohen, Y. (1984) : Components of visual orienting. Dans H. Bouma & D. Bowhuis (Eds.), Attention and Performance X, Hillsdale, NJ: Erlbaum, pages 531-556. [Posner, 1980] Posner, M. I., Snyder, C. R. R., & Davidson, B. J. (1980) : Attention and the detection of signals. Journal of Experimental Psychology, General 109, pages 160-174. 75
  • Modélisation de la Perception dans un Environnement Virtuelle 3D [Pribram, 1971] Pribram, K. H. (1971) : Languages of the Brain: Experimental Paradoxes and Principles in Neuropsychology. Englewood Cliffs: Prentice-Hall. [Rensink, 1997] Rensink, R., O'Regan, J. & Clark, J. (1997) : To See or Not to See: The Need for Attention to Perceive Changes in Scenes. Psychological Science 8, pages 368-373. [Rosenschein et Genesereth, 1985] Rosenschein, J.S. & Genesereth, M.R. (1985) : Deals among rational agents. Dans Proceedings of the Ninth International joint conference on AI (IJCAI-85), pages 91-99, Los Angeles, CA. [Sterren, 2001] Van Der Sterren, W. (2001) : Terrain Reasoning for 3D Action Games. Gamasutra. [Thalmann, 1995] Thalmann, D. (1995) : Navigation for digital action based on synthetic vision, memory and learning. Publié dans Computer and Graphics, Vol.19, No1, Pergammon Press, pages.7-19. [Treisman, 1996] Treisman, A., & DeSchepper, B. (1996) : Object tokens, attention, and visual memory. Dans T. Inui and J. L. McClelland (Eds.), Attention and Performance XVI. Cambridge, MA: MIT Press. [Treisman, 1985] Treisman, A. (1985) : Preattentive processing in vision. CVGIP: Image Understanding, 31, pages 156-177. 76
  • Modélisation de la Perception dans un Environnement Virtuelle 3D [Trivedi & Rosenfeld, 1989] Trivedi, M. & Rosenfeld, A. (1989) : On making computers « see ». IEEE trans. System Man Cybern., 19(6), pages 1333-1335. [Tsal, 1988] Tsal, Y. & Lavie, N. (1988) : Attending to color and shape: The special role of location in selective visual processing. Perception & Psychophysics, 44, pages 15-21. [Ultranet, 2000] Ultranet (2000) : Processing Visual Information. http://www.ultranet.com/~jkimball/BiologyPages/V/VisualProcessing.html. [Voronoi, 1999] Christopher Gold (1999) : Voronoi web site. http://www.voronoi.com/Indexframes.htm, Université Laval. [Wolfe, 1989] Wolfe, J.M., Cave, K.R., & Franzel, S.L. (1989) : Guided Search: an alternative to the Feature Integration Model of visual search. Journal of Experimental Psychology: Human Perception and Performance, No15, pages 419-443. [Yahja, 1998] Yahja, A. & Stentz, A. & Singh, S., & Brummit., B. (1998) : Framed-Quadtree Path Planning for Mobile Robots Operating in Sparse Environments. Dans Proceedings, IEEE Conference on Robotics and Automation. 77