460 likes | 558 Views
Laboratoire d’Informatique de Grenoble Equipe STEAMER. Une approche sémantique pour la réutilisation et l’adaptation de données 3D. Thèse défendue le 19 décembre 2007 par Ioan Marius BILASCO Claude Chrisment , U. Toulouse III – rapporteur Mohand-Saïd Hacid , U. Lyon I – rapporteur
E N D
Laboratoire d’Informatique de Grenoble Equipe STEAMER Une approche sémantique pour la réutilisation et l’adaptation de données 3D Thèse défendue le 19 décembre 2007 par Ioan Marius BILASCO Claude Chrisment, U. Toulouse III – rapporteur Mohand-Saïd Hacid, U. Lyon I – rapporteur Jacques Le Maître, U. Sud Toulon-Var – examinateur Hervé Martin, U. Grenoble – directeur de thèse Marlène Villanova-Oliver, U. Grenoble – encadrant
Contexte • Engouement autour de 3D • Villes virtuelles, visites virtuelles, e-commerce • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • Contexte • Problématique • Objectifs
Contexte Scène maison M1 P1 R1 A • Donnée 3D • Géométrie • Texture • Structure • … • Sémantique arbre A1 A2 T2 F2 feuillage T1 F1 tronc M1 P1 F1 F2 R1 T1 T2 • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • Contexte • Problématique • Objectifs • X3D
Contexte • Réalisme de la visualisation • Ouverture au monde Web • VRML, X3D, U3D, COLLADA, 3D XML, … • Dispositifs 3D hétérogènes • Nouveaux domaines d’applications • Gestion de l’information 3D • Integration, Filtrage, Transformation, ... vers un 3D symbolique • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • Contexte • Problématique • Objectifs
Problématique Quoi et comment montrer ? Bâtiments à risque ? Comment assembler des nouvelles scènes ? Applications Web Adapter Plus court chemin ? Réutiliser Géométrie Apparence Structure Comment exploiter? Une maison à acheter ? Comment associer? Adapter Sémantique Un musée ? Comment satisfaire leurs attentes ? Comment exploiter?
domaine du risque domaine touristique Application 4 Application 2 Application 5 Application 1 Application 3 X3D RDF … … MPEG-7 VRML Sémantique Données 3D Problématique Adaptation Exploitation Réutilisation
Problématique • Ouvrir le monde 3D aux concepteurs • Produire de nouvelles données 3D • Réutilisation • Diffuser les données 3D • Adaptation • Exploiter la sémantique Solutions déclaratives + documentaires • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • Contexte • Problématique • Objectifs
Objectifs • Décrire les données 3D • Localiser les objets • Caractériser les objets • Réutiliser • Catégories d’objets • Apport sémantique • Adapter • Adaptation différenciée • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • Contexte • Problématique • Objectifs
Plan • Introduction • État de l’art • Sémantique • Recherche et réutilisation • Adaptation • Synthèse • Proposition • Expérimentation • Conclusion
La sémantique dans les documents 3D Caractéristiques de l’objet représenté type : bibliothèque nombre d’étages : 3 risque sismique : normal coord. géo. : (45°11’32’’N, 5°46’11’’E) [Halabala, 03], [Polys, 04], [Albertoni, 05], [Cruz, 05], [Gutierrez, 05], [Hetherington, 04], [Mansouri, 05],[Otto, 05], [Oliverio, 07], [Pittarello, 05] Géométrie points : 91 lignes : 84 … [Albertoni, 05] Apparence couleur dominante : gris [Albertoni, 05], [Mansouri, 05] Topologie isContainedby Campus … [Mansouri, 05], [Pittarello, 05] Caractéristiques média taille : 15 Ko encodage : XML/X3D [Albertoni, 05] • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • Sémantique • Recherche • Réutilisation • Adaptation • Synthèse
M1 La sémantique dans les documents 3D • Interne : métadonnées • [Polys, 04], [Hetherington, 04], [Cruz, 05], [Pittarello, 05] • Externe • OWL/RDF : [Albertoni, 05], [Otto, 05], [Oliverio,07] • MPEG-7 : [Halabala, 03], [Mansouri, 05] • Autres modalités de représentation • [SEDRIS, 98], [Active3D, 05], [Gutierrez, 05] Caractérisation partielle + Encodages spécifiques <Transform ...> … <MetadataSet name="caracteristiques"> <MetadataString name="categorie" value="maison"/> <MetadataString name="hauteur" value="5m"/> </MetadataSet>… <Shape DEF="M1"> ... </Shape> </Transform> • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • Sémantique • Recherche • Réutilisation • Adaptation • Synthèse
Recherche • Recherche à base d’exemples • Descripteurs au niveau signal [Zaharia, 03],[Kazdhan, 03], [Koubaroulis, 01], [Hillaga, 01], … • Mesure de similarité • Recherche à base de caractéristiques • Analyse des métadonnées [Funkhouser, 03] • Sémantique externe RDF, MPEG-7 Solutions spécifiques par représentation • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • Sémantique • Recherche • Réutilisation • Adaptation • Synthèse
Réutilisation • Intégration de données dans nouveaux contenus • Mécanismes internes au langage X3D • DEF/USE, PROTOs • Génération à base de templates • [Kleinermann, 05], [Bosca, 07], [Oliverio, 07] • Trois étapes • spécification – indiquer les entités à inclure • mise en correspondance – choisir les templates adéquats • génération – instanciation des templates À base d’identifiants + Systèmes fermés <Group DEF=‘PARCELLE’> <Group DEF='RANGEE'> <Group DEF='ARBRE'>…</Group> <Transform … > <Group USE='ARBRE'/> </Transform> … </Group> <Transform …> <Group USE=‘RANGEE’/> </Transform> … <Group> • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • Sémantique • Recherche • Réutilisation • Adaptation • Synthèse
Adaptation • Adaptation par dimension • Géométrie – techniques de simplification [Kim, 06], [To, 99], ... • Apparence – techniques d’adaptation 2D [Chen, 03], [Lee, 01], ... • Structure logique – techniques de réorganisation et substitution [Mulloni, 07], [Marvie, 04], [Dachselt, 06], [Estalayo, 2004], … Techniques d’adaptation par scène ou par objet • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • Sémantique • Recherche • Réutilisation • Adaptation • Synthèse
Aperçu de la proposition Synthèse Données 3D Réutilisation A1 R1 Couche d’accès à la sémantique Adaptation Arbres R2 A2 catégories RDF … propriétés MPEG-7 relations Sémantique A3 Exploitation App1 App2 • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • Sémantique • Recherche • Réutilisation • Adaptation • Synthèse
3DSDL Adapt3D Plate-forme d’adaptation Plate-forme de réutilisation 3DAF Plate-forme d’accès à la sémantique 3DSEAM Modèle d’annotations sémantiques 3D Aperçu de la proposition domaine du risque domaine touristique Application 4 Application 2 Application 5 Application 1 Application 3
Modèle de description de données 3D • Approche à base d’annotations • Localiser une donnée • Repères spatio-structurels • Caractériser une donnée à trois niveaux • Fragment • Entité du monde • Sémantique : locale, applicative, générale • S’affranchir d’un encodage spécifique • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • 3DSEAM • 3DAF • 3DSDL • ADAPT3D
Modèle de description de données 3D • Modèle objet • Évolution indépendante de la sémantique • Niveau générique multimédia 2D/3D Scene Semantics Local Semantics General Semantics MediaLocator Media Instance Entity MMFragment MediaProfile Logical Structure • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • 3DSEAM • 3DAF • 3DSDL • ADAPT3D
Modèle de description de données 3D • Niveau spécifique 3D • Une dimension = liste de descripteurs • Variabilité des descripteurs • Modèle de descripteurs • Nom, type, associé à un concept d’une ontologie • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • 3DSEAM • 3DAF • 3DSDL • ADAPT3D
Modèle de description de données 3D • Profils sémantiques • répertorier les propriétés et relations selon domaine • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • 3DSEAM • 3DAF • 3DSDL • ADAPT3D
Modèle de description de données 3D • Exemple de description reel.x3d, xpath://child::*[@id=‘GRIS’] :StructuralLocator reel.x3d, Box(C(0,-3,0), L(12), H(1),W(2)) :SpatialLocator
Plan • Introduction • État de l’art • Proposition • Modèle de description de données 3D (3DSEAM) • Une gestion générique des entrepôts 3DSEAM (3DAF) • Exploitation de la sémantique dans la réutilisation (3DSDL) • Adaptation différenciée des données 3D (ADAPT3D) • Expérimentation • Conclusion
Requête Géométrie Topologie Sémantique 3DSEAM Apparence Profil Media RDF MPEG-7 SRCO meta données X3D SGBD Plate-forme de gestion d’entrepôts • Gérer les entrepôts 3DSEAM • Indépendance entre représentation et accès à l’information • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • 3DSEAM • 3DAF • 3DSDL • ADAPT3D
Gestionnaire d’annotations Gestionnaire de requêtes Plate-forme de gestion d’entrepôts Architecture Entités Semantique Objets 3D add Entrepôt d’annotations 3DSEAM remove update Sémantique locale Plate-forme d’annotations 3D (3DAF) Profils Fragments Fragments multimédia BC Sémantique BC select Entités BC results entités semantique Requête 3DSEAM OQL fragments • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • 3DSEAM • 3DAF • 3DSDL • ADAPT3D
Plate-forme de gestion d’entrepôts • OQL [Cattel, 94] • Extension spécifique 3DSEAM • Opérations de jointures fonctionnelles Semantics(obj3d) sem • Propriétés complexes Semantics.gpsCoord.latitude prop • Profils sémantiques Semantics!Geospatial.altitude prop • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • 3DSEAM • 3DAF • 3DSDL • ADAPT3D
Plate-forme de gestion d’entrepôts • Exemple de requête 3DSEAM OQL Trouver tous les objets de couleur grise, leur profil géospatial et leur catégorie. SELECT obj3d, s!Geospatial, s!Catégorisation.catégorie FROM Object3D obj3d, Semantics(obj3d) s, Appearence(obj3d) app WHERE (app.dominantColor=GRAY) • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • 3DSEAM • 3DAF • 3DSDL • ADAPT3D
Encodage XML d’une instance Encodage XML d’un profil sémantique Encodage XML d’une propriété Plate-forme de gestion d’entrepôts • Résultats auto-descriptifs « à la XML » <items> <item> <element type="Object3D"> <element type=“Object3D.id”>G1</element> <element type=“Object3D.relEntity”>ENSIMAG_D</element> <element type=“Object3D.relMediaLocator”>G1_ML</element> … </element> <element type="Semantics!Geospatial"> <element type=“Semantics!Geospatial.gpsCoord"> <element type=“Semantics!Geospatial.gpsCoord.latitude”> 45°11’35’’N </element> <element type=“Semantics!Geospatial.gpsCoord.longitude”> 5°46’06’’S </element> </element> <element type=“Semantics!Geospatial.altitude”> 230 </element> </element> </element> <element type=“Semantics!Catégorisation.catégorie”> bâtiment </element> </item> … </items> SELECT obj3d, s!Geospatial, s!Catégorisation.catégorie FROM Object3D obj3d, Semantics(obj3d) s, Appearance(obj3d) app WHERE (app.dominantColor=GRAY)
Plan • Introduction • État de l’art • Proposition • Modèle de description de données 3D (3DSEAM) • Une gestion générique des entrepôts 3DSEAM (3DAF) • Exploitation de la sémantique dans la réutilisation • Adaptation différenciée des données 3D (ADAPT3D) • Expérimentation • Conclusion
Exploitation de la sémantique dans la réutilisation • Processus de réutilisation sémantique • Récupération des repères (3DAF) • Récupération de la sémantique (3DAF) • Extraction des fragments • Ajout des métadonnées • Inclusion au sein de la nouvelle scène • Réutilisation par catégories d’objets • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • 3DSEAM • 3DAF • 3DSDL • ADAPT3D
Exploitation de la sémantique dans la réutilisation • Réutilisation par catégorie d’objets • Critères d’appartenance • Apport sémantique • Génération de requêtes 3DSEAM OQL {[Appearance!dominantColor=GRAY]} {[Semantics!Geospatial.gpsCoord]} SELECT obj.id, sem!Geospatial.gpsCoord, FROM Object3D obj, Semantics(obj) sem WHERE obj.id in ($OBJ_IDs) SELECT obj3d{id,MediaLocator} FROM Object3D obj3d, Appearance(obj3d) app WHERE app.dominantColor=GRAY • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • 3DSEAM • 3DAF • 3DSDL • ADAPT3D
Exploitation de la sémantique dans la réutilisation • Extraction de fragments • X3D - langage pivot • Ajout d’informations sémantiques • Utilisation des nœuds Metadata[Set, String…] <Group DEF="BUS"> <!-- geometry and appearance --> </Group> <Group DEF=“BUS”> <MetadataSet name=“3dseam_annotations”> <MetadataSet name=“Semantics!Geospatial.gpsCoords“> <MetadataString name=“Semantics!Geospatial.gpsCoords.longitude” value=“5°46’11’’E”/> <MetadataString name=“Semantics!Geospatial.gpsCoords.latitude” value=“45°11’32’’N”/> </MetadataSet> </MetadataSet> … <!-- geometry and appearance --> </Group> XSLT <items> <item> <element type=“Object3D.id” value=“BUS”/> <element type=“Semantics…”> …. </element> </item> … </items> • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • 3DSEAM • 3DAF • 3DSDL • ADAPT3D
gpsCoord Interface de communication Plate-forme de réutilisation Propriétés sémantiques Récupération de repères Récupération de propriétés 5 {[Criteria1],[Criteria2]…} 2 {[prop_list; ids_list]…} 7 4 1 {BUS, gpsCoord} ID et repères d’objets par Catégories Contrôleur de réutilisation Attachement de la sémantique 3 Ajout sémantique (objID1,…, objIDN) 6 {BUS, xpath://doc(‘campus.x3d’) //group[DEF=‘BUS’]} Assemblage objID1,.., objIDN 9 Extraction(objID,Locator) Assemblage de scène 4 10 Fragments 3D Extraction de fragments 3D 8 5 7 11 {[Appearance!dominantColor=GRAY]} {[Semantics!Geospatial.gpsCoord]}
Plan • Introduction • État de l’art • Proposition • Modèle de description de données 3D (3DSEAM) • Une gestion générique des entrepôts 3DSEAM (3DAF) • Exploitation de la sémantique dans la réutilisation (3DSDL) • Adaptation différenciée des données 3D (ADAPT3D) • Expérimentation • Conclusion
Adaptation différenciée de données 3D • Méthodes d’adaptation • Description au niveau documentaire • Catégories d’objets • Combiner différentes techniques • dégradation, filtrage, substitution, … • Adaptation à base de règles • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • 3DSEAM • 3DAF • 3DSDL • ADAPT3D
Adaptation différenciée de données 3D • Règles d’adaptation • Étendue • Opérations ensemblistes sur les catégories d’objets • Technique d’adaptation • Ensemble extensible de modules d’adaptation • Paramètres d’adaptation • Exemples • (Arbres, SUBSTITUTE, [url =“arbres_simples.x3d”] ) • (Bâtiments diff UFR, ALTER, [color =$User.preferredColor ]) • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • 3DSEAM • 3DAF • 3DSDL • ADAPT3D
OQL 3DSEAM autres … autres … Transformation de scène Stratégie d’adaptation Récupération d’objets Contrôleur d’adaptation Adaptation d’objets Extraction de fragments id scène règles Adaptation différenciée de données 3D • Une architecture extensible (ADAPT3D) Interface d’interrogation 3DAF Modèle de descripteurs Stratégie séquentielle Gestionnaire de documents X3D Gestionnaires de documents Moteursd’adaptation autres … Moteur basique d’adaptation ... Interface de communication <X3D> • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • 3DSEAM • 3DAF • 3DSDL • ADAPT3D
Plan • Introduction • État de l’art • Proposition • Expérimentation • Conclusion
Expérimentation • Scénario : Modélisation de scènes urbaines • Représentation des entrepôts 3DSEAM • Extension de MPEG-7 : pour la localisation 3D • Nouveau Description Schema pourObject3D • Semantic Base DS pour Semantics • Traduction de 3DSEAM OQL en XQuery for $obj in doc("fragments.mpeg7.xml")//Multimedia["_3DObjectType“= @xsi:type)] let $loc : = $obj/MediaLocator let $s := doc("entities.mpeg7.xml")//Object[@id=$obj/@entity_id] let $categ:=$s/Label[contains(Name/text(),”Catégorisation”)]/Term[contains(Name/text(),”catégorie”)] where (contains($categ/Definition/text(),‘bâtiment') return <item type=“_3dseam::Object3D.MediaLocator">{$loc}</item> • SELECT loc • FROM Object3D obj, • MediaLocator(obj) loc, • Semantics(obj) s • WHERE s!Catégorisation.catégorie="bâtiment" • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions
Expérimentation • Interface de réutilisation et d’adaptation • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions
Expérimentation Catégories d’objets Category Arbres := {[Semantics!Catégorisation.catégorie="arbre"]} Category Bâtiments := {[Semantics!Catégorisation.catégorie="bâtiment"} Règles d’adaptation pour l’exclusion des arbres (a) a) {[ Arbres ], [ EXCLUDE ], [ ]} • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions
Expérimentation Catégories d’objets Category Arbres := {[Semantics!Catégorisation.catégorie="arbre"]} Category Bâtiments := {[Semantics!Catégorisation.catégorie="bâtiment"} Règles d’adaptation pour l’exclusion des arbres (a) et la substitution géométrique par la boîte englobante des bâtiments (b) a) {[ Arbres ], [ EXCLUDE ], [ ]} étendue méthode paramètres b) {[ Bâtiments ], [ DEGRADE_GEOM ], [ type=“BBOX” ]} • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions
Plan • Introduction • État de l’art • Proposition • Expérimentation • Conclusion • Rappels • Bilan • Perspectives
Conclusion • Rappel des objectifs • Espace de partage de données 3D • Réutilisation et adaptation déclarative • Rappel des manques de l’EA • Sémantique • Caractérisation partielle de données 3D • Liée à un type d’encodage spécifique • Réutilisation • Individuelle à base d’identifiants • Adaptation • Homogène ou à base d’identifiants • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • Rappels • Bilan • Perspectives
Conclusion • Bilan • 3DSEAM • L’ensemble de dimensions d’une donnée 3D • 3DAF • Indépendance du choix d’encodage • 3DSDL • Réutilisation à base de catégories • ADAPT3D • Adaptation différenciée suivant les catégories d’objets • Expérimentation • Réutilisation et adaptation de scènes 3D urbaines • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • Rappels • Bilan • Perspectives
Conclusion • Perspectives • Implémentation • Validation dans contextes différents • Passage à l’échelle • Sémantique • Règles d’équivalence • Réutilisation • Patrons de conception de haut-niveau • Adaptation • Calcul des stratégies d’adaptation • Introduction • Etat de l’art • Proposition • Expérimentation • Conclusions • Rappels • Bilan • Perspectives