Vous êtes 38.107.191.101(Login)

overcrowded / Solipsis Livrables L2 T7

carte des liens de la page courante SolipsisLivrablesL2T7 SolipsisLivrablesL2T8 ExploFormes GaiHDR LeRoux LeRoux03 MarINa MultiFormes Par01 PolyFormes Ruchaud01 VoluFormes WordsEye

Solipsis Livrables L2 T7

Ecriture en cours


Contexte


La création d'environnements virtuels est un processus complexe. L'utilisation de modeleurs impératifs supposent une connaissance de l'environnement très poussée en plus de la maitrise de l'outil proprement dit. En effet avec ce type d'outil, appelé modeleur imperatif, le concepteur doit définir précisement toutes les caractéristiques géometriques des objets constituant l'environnement, environnement qui devra pour être crédible, être suffisamment riche et don complexe à modéliser.
Aucun des outils de modélisation actuels n'est assez convivial pour permettre son utilisation par des personnes non spécialistes, même si l'apparition de nouveaux produits montre une réelle volonté en ce sens. Ces outils s'ils proposent des systèmes d'aides à la modélisation, ne modifie pas la facon de modéliser consistant à decrire précisement tous les éléments de la scène.

Parmi ces produits, citons tout de même SketchUp de la société Google qui propose dans un modeleur impératif un ensemble de fonction permettant de s'affranchir d'un certain nombre de désagrement. Parmi ces fonctions se trouvent :
  • Dessin sur un plan arbitraire
  • Accroche automatique des points sur des contraintes (extremité, milieu, extension)
  • Deplacement contraint selon les axes X,Y, Z ou un axe prédefini.

Dans le cadre du projet Solipsis, l'objectif est de founir à un utilisateur non expérimenté un outil de conception d'environnements virtuels, convivial et intuitif.
Lors de cette activité de conception, l'utilisateur va essayer de reproduire l'image mentale (l'idée) de la scène grace au modeleur. Cette image imprécise au premier abord est amenée à évoluer et à se préciser au cours même de la modélisation.Plusieurs tentatives et de multiples prototypes sont généralement nécessaires avant d'obtenir un résultat satisfaisant. Concernant ces aspects, les outils actuels offrent peu de moyens pour assister le concepteur.

La modélisation déclarative


Historique

Le concept de modélisation déclarative à commencer à se développer à nantes dans l'équipe de M. Lucas à la fin des années 1980. Ce developpement fait suite à plusieurs constats:
  • certaines constructions sont très longues à réaliser avec les méthodes existantes
  • il est parfois difficile de trouver toutes les constructions répondant aux critères de départ
  • certaines constructions simples à décrire sont très à obtenir avec les outils existants

Le terme "Modélisation déclarative" apparait alors en 1989 dans [Lucas]. On y trouve un première définition : "l'objectif de la modélisation déclarative de formes est de permettre d'engedrer des formes (ou des ensembles de formes) par la simple donnée d'un ensemble de propriétés ou de caractéristiques.L'ordinateur est chargé d'explorer l'univers des formes potentielles afin de sélectionner celles correspondants à la définition donnée.Le concepteur n'a plus qu'à choisir, à l'aide d'outils appropriés, la ou les formes qui lui conviennent."

Au début des années 1990, demarre le projet "ExploFormes?", composé de plusieurs sous-projets qui ont initiés les recherche dans ce domaine. Parmi ces projets, on trouve:
  • PolyFormes? : construction de polyèdres réguliers et semi-réguliers [Martin]
  • MultiFormes? : création de scènes hiérarchiques [Boughanem]
  • VoluFormes? : contrôle spatial et mécanismes de croissance [Chauvat]

D'autres projets ont ensuite vus le jour, ils seront présentés ci dessous.

Principes généraux


La modélisation déclarative est une alternative intéressante regroupant les aspects venant d'approches telle que:
  • la modélisation par contrainte
  • la conception paramétrique
  • la modélisation cognitive
  • les systèmes de génération procédurale automatique

Gaildrat présente un tour d'horizon assez complet des principes de la modélisation déclarative [Gai] et [GaiHDR?]. Nous reprenons ici plusieurs éléments de cette étude.
Elle définit le modeleur déclaratif comme suit:
"Un modeleur declaratif fournit un ensemble d'outils permettant au concepteur de décrire l'image mentale de l'entité qu'il souhaite créer. Pour cela, il enonce un ensemble des propriétés et des relations géométriques, photometriques ou physiques entre objets introduits dans la scène ou entre parties de l'objet. Cet ensemble de propriétés est ensuite interprété en contraintes qui sont ensuite traitées afin de produire un environnement résultant correspondant le plus fidèlement possible à la description. Ainsi , le concepteur peut se concentrer uniquement sur le résultat et laisser la gestion des actions géométriques élementaires au modeleur.

Un modeleur déclaratif offre une assistance tout au long de la création d'un environnement et intègre:
  • des interactions multimodales
  • interprétation des propriétés enoncées
  • génération automatique d'une, plusieurs, voire toutes les solutions respectant les propriétés
  • présentation des résultats
  • possibilité de modifier dynamiquement et incrémentalement les propriétés pour converger en finale vers un environnement correspondant aux attentes du concepteur
"

D'après cette définition, il apparait que la modélisation déclarative est un domaine pluridisciplinaire regroupant la synthèse d'images, la linguistique (dans le cas d'interaction langagière), de la base de données et le domaine d'application.

Modèle de conception

Dans le domaine du design, il est admis qu'on ne peut exposer un problème sans avoir une idée de la solution et que la convergence vers la solution se fait parallèlement à la compréhension du problème.
La modélisation déclarative permet la conception d'environnement à partir d'enoncés vagues ou imprécis, contrairement à la modélisation impérative ou le concepteur doit avoir une idée précise du résultat avant de commencer. A partir de ces enoncés, c'est au système de fixer les paramètres manquants. Ce système permet d'obtenir rapidement une approximation du modèle, qui sera ensuite affiné en modifiant ou ajoutant des proriétés jusqu'a obtention d'un modèle satisfaisant.
Cette facon d'aborder la tâche du concepteur se retouve dans la facon itérative de gérer le processus de conception.


Les 3 phases de la modélisation déclarative

Un modeleur déclaratif est génerallement organisé en 3 phases:
  • La phase de description ou le concepteur définit les propriétés de la scène à construire
  • La phase de génération ou le système calcule une, plusieurs ou l'ensemble des solutions respectant la description.
  • La phase de prise de connaissance ou le concepteur visionne les solutions obtenues afin de pouvoir modifier la description le cas échéant.

Du fait de cette organisation, un modeleur déclaratif intègre:
  • un interpréteur pour traduite les propriétés énoncées en contraintes bas-niveau.
  • un solveur de contrainte produisant le modèle.

Phase de description

Cette phase est décisive pour la suite du processus.
Lors de cette phase, le concepteur va décrire la scène, sa composition, son organisation, ses caractéristiques.
Elle peut etre abordée de 2 facons différentes :
  • globale : un scénario ou un script decrivant la totalité de la scène
  • incrémentale : le concepteur donne interactivement les propriétés, constate directement le résultat et peut ainsi modifier la description.

Afin d'eviter les propriétés contradictoires et les descriptions insuffisantes, il est possible d'utiliser des outils de vérification de la description avant de lancer la phase de génération proprement dite.

Beaucoup de projets se sont focalisés sur la phase de génération et la description, souvent négligée a été réduite à un langage script.
Pourtant, pour faire cette description, l'utilisateur dispose d'interactions diverses parmi lesquelles:
  • le langage (naturel ou non)
  • la gestuelle
  • une utilisation conjointe des 2

Les modalités d'interaction


Script
L'utilisation de langage spécifique (script), en opposition au langage naturel permet de reduire la phase d'interprétation des propriétés au minimum.
En effet les propriétés de la scène sont enoncées dans un langage directement compréhensible par le solveur. Cette approche, si elle a l'avantage d'eliminer les problèmes d'interprétation, nécessite l'apprentissage d'un langage ce qui nuit gravement à la facilité d'utilisation du modeleur.
Dans cette catégorie d'outils, on trouve MultiFormes? developpé à Limoges [Ruchaud01?] et les versions les plus recentes de Dem²ons à Toulouse [LeRoux03?].

multiformes.jpg?
Images résultats du projet MultiFormes?

Image résultats du projet Dem²ons *
Images résultat du projet Dem²ons

Langage naturel

Le projet WordsEye? permet à l'utilisateur de décrire la scène en langage naturel. Le système détermine les objets à utiliser à partir d'une importante base de données (table, chaise, personnage). La connaissance de certaines fonctions sur ces objets permet de déterminer leurs positions et attitudes respectives.
Dans ce projet, l'accent à été mis sur les aspects linguistiques et les scènes générées ne sont très complexes.
Une application de démonstration en ligne est disponible sur http://www.wordseye.com.

Exemple d'utilisation de Wordseye *
Exemple d'utilisation de Wordseye

Du fait de la difficulté d'analyse du langage naturel, il y peu de projet mettant vraiment l'accent sur cet aspect.

Les interactions gestuelles
La description est alors founie à l'aide d'actions plus classiques (selection d'objets ou de relation entre objets). L'interaction peut être basé sur un fonctionnement 2D ou 3D.
Ce fonctionnement incrémental, plus naturel correspond bien au modèle itératif, le concepteur modifiant la description pour améliorer la scène.
Parmi les projets utilisant les interactions gestuelles, on trouve :
  • GINA et MarINa? : construction de scène à partir de photos ou de dessin en perspective et de contraintes géométriques [Colin]
  • DEM²ONS_98 et DEM²ONS_LE : utilisation d'une interface graphique pour ajouter les propriétés traitées ensuite par un solveur adapté.
  • CAPS : système utilisant des contraintes fonctionnelles explicites ou implicitres et un module pseudo_physique pour aider le concepteur lors de l'ajout d'objet


Image résultat de DEM²ONS_LE *
Image résultat de DEM²ONS_LE

Multimodalités
L'utilisation conjointe interactions gestuelles et langagières permet de faciliter la phase de déscritpion. Il est ainsi possible de combiner l'immersion et l'interaction. L'utilisateur peut énoncer la propriété "Poser çi sur ça" et pointer pour désigner "çi" et "ça".

Connaissances sémantiques

Le concepteur doit pouvoir fournir une image mentale de la scène à créer et pour cela, il doit disposer d'un vocabulaire suffisamment riche et précis pour laisser libre cour à sa créativité mais également éviter les imprécisions et ambiguités du langage naturel. Il faut donc établir une base de connaissances, concernant les propriétés que peut employer le concepteur, suffisamment riche au niveau sémantique.

Des connaissances pragmatiques et fonctionnelles permettent au solveur de choisir une disposition en fonction de l'usage dans un contexte donné. Par exemple, des assiettes seront automatiquement empilées sur la desserte ou disposées autour d'une table dans un salon pour un repas, sans que le concepteur ait besoin de le préciser.

Propriétés strictes vs propriétés floues

Dans le cadre de la modélisation, les propriétés sont classiquement considérées comme strictes et sont utilisées pour fixer des caractéristiques exactes, comme le nombre de fenêtres d'une pièce par exemple.

Les propriétés floues permettent d'exprimer des propriétés imprécises et incomplètes, ce qui correspond à une des idées principale du déclaratif qui est de permettre une description sans avoir une idée précise du résultat. Le concepteur peut donc esquisser une description à partir de propriétés floues pour ensuite affiner sa description en fixant certaines caractéristiques au fur et à mesure de la prise de connaissance des résultats intermédiaires.


Phase de generation

Pb d'ambiguité
Restriction de l'espace de recherche.

Technique de resolution d'un problème de génération par contraintes



Donc on a quand meme peu de chance de reussir

Quelles sont les alternatives?

Modélisation procedurale

L-Systems

Un système de Lindenmayer ou L-Système (ou L-System en anglais) est une grammaire formelle, permettant un procédé algorithmique, inventé en 1968 par le biologiste hongrois Aristid Lindenmayer.Au départ Lindenmayer avait pensé ce système comme un langage formel qui permettait de décrire le développement d'organisme multicellulaires simple. [Lin]

Le concept central des L-Systèmes est la notion de réécriture. La réécriture est une technique pour construire des objets complexes en remplaçant des parties d'un objet initial simple en utilisant des règles de réécriture.
Un L-système comporte:

  • Un alphabet
  • Un symbole de départ appelé axiome (ou initiateur)
  • Une ou plusieurs règles qui établissent l'évolution des symboles à chaque étape, appelée(s) générateur(s) (un symbole qui n'est pas modifié ne nécessite pas forcément de règle)

Exemple

Voici le premier L-System d'Aristid Lindenmayer qui servait à décrire le développement d'une algue :

  • Alphabet : V = {A, B}
  • Constantes : S = {\empty}
  • Axiome de départ : w = A
  • Régles : (A → AB) ∧ (B → A)

En premier on a l'axiome ω, puis chaque règle de P est à la ligne l'une de l'autre. A=AB est à comprendre comme tout symbole A devient un "mot" AB à la génération suivante.

Voici le résultat sur six générations :

  • n=0, A
  • n=1, AB
  • n=2, AB A
  • n=3, AB A AB
  • n=4, AB A AB AB A
  • n=5, AB A AB AB A AB A AB
  • n=6, AB A AB AB A AB A AB AB A AB AB A

DOL vs SOL

L'exemple ci dessus ne présente aucune ambiguité. Pour n'importe quelle génération la solution proposée est unique. Ce système est dit détérministe (DOL-System pour "Determinist O-context L-System"
On lui opposera les SOL-System (Stochastic O-context L-System) faisant appel aux probabilités. Contrairement au DOL-System, il est possible de déterminer plusieurs transformations pour un symbole. Chaque possibilité sera pondérée pour pouvoir donner priorité à certaines transformations par rapport à d'autres.

Context Sensistive

Les deux systèmes précédents (des OL-Systems) ne peuvent pas simuler l'interaction de parties d'une plante car ils sont context-free, i.e. chaque partie se développe indépendamment des autres parties. Un L-System context-sensitive résoud ce problème en prenant en compte ce qui précéde ou succède à une partie, c'est à dire un symbole. Un tel système est appelé IL-System ou encore (k,l)-System, le contexte de gauche est un "mot" de longueur k et celui de droite un "mot" de longueur l.

Plantes


Villes

L'utilisation des L-Systems permet de générer assez simplement des réseaux routiers. Parish etr Mueller [Par01?] ont étendus le principe pour permettre la prise en compte de caractéristiques géographiques tel que le relief ou le type de réseau souhaité.

Batiments

L'utilisation de SOL-System a été mise en oeuvre par Müller [Mül06] pour la modélisation de batiments dans le cadre d'une ville. Les SOL-System permettent alors d'obtenir un grand nombre de batiments différents à partir de peu de règles.

Modélisation procédurale

Les batiments du meme Müller.

Bibliographie

[Gai] Veronique Gaildrat (IRIT Toulouse) - Modélisation déclarative
[GaiHDR] - V. Gaildrat - Modélisation déclarative d'environnements virtuels (HDR 2003)
[LeRoux03] O. LeRoux? 2003 - Modélisation déclarative d'environnements virtuels
[Martin] P. Martin and D. Martin 1993 - Declarative generation of a family of polyhedra, GRAPHICON St Petersbourg
[Boughanem] M. Boughanem et D. Plemenos 1994 - Techniques d'apprentissage en modélisation déclarative de scènes par décomposition hiérarchique, International Conf. on CG an AI
[Chauvat] D. Chauvat 1994 - Le prjet VoluFormes? : un exemple de modélisation déclarative avec contrôle spatial, Thèse de doctorat, Université de Nantes
[Colin] MarINa? : Photomodélisation à l'aide de la géométrie projective
[Lin] Wikipedia - L-System
[Par01] Parish & Müller 2001 - Procedural Modeling of Cities
[Mül06] Müller 2006 - Procedural Modeling of Building
Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]