Une approche sémantique pour la réutilisation et ladaptation de données 3D Thèse défendue le 19...

Preview:

Citation preview

Une approche sémantique pour la réutilisation et l’adaptation de données 3D

Thèse défendue le 19 décembre 2007par Ioan Marius BILASCO

Claude Chrisment, U. Toulouse III – rapporteurMohand-Saïd Hacid, U. Lyon I – rapporteur

Jacques Le Maître, U. Sud Toulon-Var – examinateurHervé Martin, U. Grenoble – directeur de thèse

Marlène Villanova-Oliver, U. Grenoble – encadrant

Laboratoire d’Informatique de Grenoble Equipe STEAMER

2

Contexte

Engouement autour de 3D Villes virtuelles, visites virtuelles, e-commerce

IntroductionEtat de l’art PropositionExpérimentationConclusions

ContexteProblématiqueObjectifs

3

IntroductionEtat de l’art PropositionExpérimentationConclusions

ContexteProblématiqueObjectifsX3D

Contexte

Donnée 3D Géométrie Texture StructureStructure …… SémantiqueSémantique

Scène

M1 R1P1A

A1 A2

T1 F1 T2 F2

maison

arbre

feuillage

tronc

M1

R1

P1

T1

F1

T2

F2

4

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 symboliqueIntroductionEtat de l’art PropositionExpérimentationConclusions

ContexteProblématiqueObjectifs

5

Problématique

Applications

Web

Un musée

?

Une maison à acheter

?

Bâtiments à

risque ?

Comment satisfaire

leurs attentes ?

Comment assembler des

nouvelles scènes ?

Plus court

chemin ?

Quoi et comment montrer ?

Sémantique

Comment

associer?

Com

ment

exploiter?

GéométrieApparenceStructure

Adap

ter

Adapter

Réutiliser

Comment exploiter?

6

Adaptation Réutilisation

Problématique

Application 1

Application 2 Application 4

Application 5

domaine du risque domaine touristique

Application 3

RDF

MPEG-7…

Sémantique

X3D

VRML

Données 3D

Exploitation

7

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

IntroductionEtat de l’art PropositionExpérimentationConclusions

ContexteProblématiqueObjectifs

8

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

IntroductionEtat de l’art PropositionExpérimentationConclusions

ContexteProblématiqueObjectifs

9

Plan

Introduction État de l’art

Sémantique Recherche et réutilisation Adaptation Synthèse

Proposition Expérimentation Conclusion

10

La sémantique dans les documents 3D

Caractéristiques de l’objet représentétype : bibliothèquenombre d’étages : 3 risque sismique : normalcoord. 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étriepoints : 91lignes : 84…

[Albertoni, 05]

Apparencecouleur dominante : gris

[Albertoni, 05], [Mansouri, 05]

Topologie isContained by Campus

… [Mansouri, 05], [Pittarello, 05]

Caractéristiques médiataille : 15 Koencodage : XML/X3D

[Albertoni, 05]

IntroductionEtat de l’art PropositionExpérimentationConclusions

SémantiqueRechercheRéutilisationAdaptationSynthèse

11

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

La sémantique dans les documents 3D

<Transform ...> …<MetadataSet name="caracteristiques"><MetadataString name="categorie" value="maison"/><MetadataString name="hauteur" value="5m"/>

</MetadataSet>…<Shape DEF="M1"> ... </Shape>

</Transform>

IntroductionEtat de l’art PropositionExpérimentationConclusions

SémantiqueRechercheRéutilisationAdaptationSynthèse

M1

12

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

IntroductionEtat de l’art PropositionExpérimentationConclusions

SémantiqueRechercheRéutilisationAdaptationSynthèse

13

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

Réutilisation

IntroductionEtat de l’art PropositionExpérimentationConclusions

SémantiqueRechercheRéutilisationAdaptationSynthèse

ARBRE

RANGEE

PARCELLE

RANGEE

ARBRE Transform Transform Transform

RANGEE Transform Transform Transform

Scene

TransformPARCELLE

RANGEE

ARBRE Transform Transform Transform

RANGEE Transform Transform Transform

Scene

Transform<Group DEF=‘PARCELLE’><Group DEF='RANGEE'><Group DEF='ARBRE'>…</Group><Transform … > <Group USE='ARBRE'/> </Transform>…

</Group> <Transform …> <Group USE=‘RANGEE’/> </Transform> …<Group>

14

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

IntroductionEtat de l’art PropositionExpérimentationConclusions

SémantiqueRechercheRéutilisationAdaptationSynthèse

15

Synthèse

Réutilisation

Exploitation

RDFMPEG-7

Sémantique

A2

A3

Données 3D

A1

Ad

apta

tio

n

Arbres

Couche d’accès à la sémantique R2

R1

App1 App2

propriétés

relations

catégories

Aperçu de la proposition

IntroductionEtat de l’art PropositionExpérimentationConclusions

SémantiqueRechercheRéutilisationAdaptationSynthèse

16

Aperçu de la proposition

Application 1

Application 2 Application 4

Application 5

domaine du risque domaine touristique

Application 3

Modèle d’annotations sémantiques 3D3DSEAM

Plate-forme d’accès à la sémantique3DAF

Plate-forme de réutilisation

3DSDL Plate-forme d’adaptationAdapt3D

RDF

MPEG-7…

Sémantique

X3D

VRML

Données 3D

17

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

IntroductionEtat de l’art PropositionExpérimentationConclusions

3DSEAM3DAF3DSDLADAPT3D

18

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

LogicalStructure

GeneralSemantics

MediaInstance

MMFragmentMediaLocator

Entity

SceneSemantics

MediaProfile

LocalSemantics

IntroductionEtat de l’art PropositionExpérimentationConclusions

3DSEAM3DAF3DSDLADAPT3D

19

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 ontologieIntroductionEtat de l’art PropositionExpérimentationConclusions

3DSEAM3DAF3DSDLADAPT3D

20

Modèle de description de données 3D Profils sémantiques

répertorier les propriétés et relations selon domaine

IntroductionEtat de l’art PropositionExpérimentationConclusions

3DSEAM3DAF3DSDLADAPT3D

21

ScèneRéelle:3DObject

G1:3DObject

B1:3DObject

G13:3DObject

G10:3DObject

reel.x3d, xpath://Group[@id=‘BLEU’]:StructuralLocator

:SpatioStructuralLocator

reel.x3d, xpath://child::*[@id=‘GRIS’]:StructuralLocator

reel.x3d, Box(C(0,-3,0), L(12), H(1),W(2)):SpatialLocator

locaux.x3d, xpath://X3D:StructuralLocator

reel.x3d, xpath://Group[@id=‘GRIS’]:StructuralLocator

P:3DObject

P1:3DObject

P3:3DObject

reel.x3d, xpath://Group[@id=‘Passerelles’]/Transform[position()=1]

:StructuralLocator…

ENSIMAG_E:Entity

ENSIMAG_D:Entity

ENSIMAG_D0:Entity

ENSIMAG_D3:Entity

Catégorisationcatégorie=bâtiment

:Semantics

Passerelle_1e:Entity

Passerelle_3e:Entity

BC

Sémantique

BC

Entités

BC

Fragments multimédia

Catégorisationcatégorie=bâtiment

:Semantics

Catégorisationcatégorie=etage

:Semantics

Catégorisationcatégorie=etage

:Semantics

Catégorisationcatégorie=passerelle

:Semantics

Catégorisationcatégorie=passerelle

…:Semantics

reel.x3d, xpath://Group[@id=‘Passerelles’]/Transform[position()=3]

:StructuralLocator

Modèle de description de données 3D

reel.x3d, xpath://child::*[@id=‘GRIS’]:StructuralLocator

reel.x3d, Box(C(0,-3,0), L(12), H(1),W(2)):SpatialLocator

Exemple de description

22

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

23

Plate-forme de gestion d’entrepôts Gérer les entrepôts 3DSEAM Indépendance entre représentation et accès à

l’information

Géométrie

Apparence

Topologie

Profil Media

Sémantique

3DSEAM

RDF MPEG-7 SRCOmeta

donnéesX3D

SGBD

Requête

IntroductionEtat de l’art PropositionExpérimentationConclusions

3DSEAM3DAF3DSDLADAPT3D

24

Plate-forme de gestion d’entrepôts

Architecture

Entrepôt d’annotations 3DSEAMGestionnaired’annotations

EntitésBC

sem

an

tiqu

e

en

tité

s

fra

gm

en

ts

EntitésSemantique

3D Objets

Requête 3DSEAM

OQL

add

remove

update

select

results

Plate-forme d’annotations 3D

(3DAF)

Profils

Sémantique locale

Gestionnairede requêtes

Fragments

SémantiqueBC

Fragmentsmultimédia

BC

IntroductionEtat de l’art PropositionExpérimentationConclusions

3DSEAM3DAF3DSDLADAPT3D

25

Plate-forme de gestion d’entrepôts OQL [Cattel, 94] Extension spécifique 3DSEAM

Opérations de jointures fonctionnellesSemantics(obj3d) sem

Propriétés complexesSemantics.gpsCoord.latitude prop

Profils sémantiquesSemantics!Geospatial.altitude prop

IntroductionEtat de l’art PropositionExpérimentationConclusions

3DSEAM3DAF3DSDLADAPT3D

26

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)

IntroductionEtat de l’art PropositionExpérimentationConclusions

3DSEAM3DAF3DSDLADAPT3D

27

<items><item>

<element type="Semantics!Catégorisation.catégorie">bâtiment

</element></item>…

</items>

<items><item>

<element type="Semantics!Catégorisation.catégorie">bâtiment

</element></item>…

</items>

Plate-forme de gestion d’entrepôts Résultats auto-descriptifs « à la XML »

Encodage XML d’une instance

Encodage XML d’une propriété

Encodage XML d’un profil sémantique

SELECT obj3d, s!Geospatial,s!Catégorisation.catégorie

FROM Object3D obj3d, Semantics(obj3d) s,Appearance(obj3d) app

WHERE (app.dominantColor=GRAY)

<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>

28

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

29

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

IntroductionEtat de l’art PropositionExpérimentationConclusions

3DSEAM3DAF3DSDLADAPT3D

30

SELECT obj3d{id,MediaLocator}FROM Object3D obj3d, Appearance(obj3d) appWHERE app.dominantColor=GRAY

SELECT obj.id,sem!Geospatial.gpsCoord,

FROM Object3D obj, Semantics(obj) semWHERE obj.id in ($OBJ_IDs)

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]}

IntroductionEtat de l’art PropositionExpérimentationConclusions

3DSEAM3DAF3DSDLADAPT3D

31

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”> <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>

<Group DEF="BUS"> <!-- geometry and appearance --></Group>

<items> <item> <element type=“Object3D.id”

value=“BUS”/>

<element type=“Semantics…”>

….</element>

</item> …</items>

XS

LT

IntroductionEtat de l’art PropositionExpérimentationConclusions

3DSEAM3DAF3DSDLADAPT3D

32

Interface de communication

Plate-forme de réutilisationRécupérationde propriétés

Récupérationde repères

Attachement dela sémantique

Assemblagede scène

Extraction defragments 3D

Contrôleur de réutilisation

ID et repèresd’objets

par Catégories

Propriétéssémantiques

Fragments3D

Extraction(objID,Locator)

{[Crite

ria1],[Crite

ria2]…}

{[prop_list; ids_list]…}

Ajout sémantique(objID1,…,

objIDN)

AssemblageobjID1,..,

objIDN

1

2

3

4

5

4

6

7

5

7

8

9

11

10

{BUS, xpath://doc(‘campus.x3d’)

//group[DEF=‘BUS’]}

{BUS, gpsCoord}

gpsCoord

{[Appearance!dominantColor=GRAY]} {[Semantics!Geospatial.gpsCoord]}

33

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

34

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

IntroductionEtat de l’art PropositionExpérimentationConclusions

3DSEAM3DAF3DSDLADAPT3D

35

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 ])

IntroductionEtat de l’art PropositionExpérimentationConclusions

3DSEAM3DAF3DSDLADAPT3D

36

Adaptation différenciée de données 3D Une architecture extensible (ADAPT3D)

Modèle dedescripteurs

Moteursd’adaptation

Moteurbasique

d’adaptation

autres…

Gestionnaire de documents

X3D

autres…

...

Extraction de fragments

Gestionnairesde documents

<X3D>

Transformationde scène

Adaptation d’objets

Interface de communication

id scène

règles

Interface d’interrogation 3DAF

Contrôleurd’adaptation

Récupérationd’objets

OQL

3DSEAM

Stratégied’adaptation

Stratégieséquentielle

autres…

IntroductionEtat de l’art PropositionExpérimentationConclusions

3DSEAM3DAF3DSDLADAPT3D

37

Plan

Introduction État de l’art Proposition Expérimentation Conclusion

38

for $obj in doc("fragments.mpeg7.xml")//Multimedia["_3DObjectType“= @xsi:type)]

let $loc : = $obj/MediaLocatorlet $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>

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 pour Object3D Semantic Base DS pour Semantics

Traduction de 3DSEAM OQL en XQuery

IntroductionEtat de l’art PropositionExpérimentationConclusions

SELECT loc FROM Object3D obj,

MediaLocator(obj) loc, Semantics(obj) s

WHERE s!Catégorisation.catégorie="bâtiment"

39

Expérimentation

Interface de réutilisation et d’adaptationDégradation de type BBOX Dégradation de type SPHERE

Dégradation de type FLAT_2D Dégradation de type FLAT_3D

IntroductionEtat de l’artPropositionExpérimentationConclusions

40

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 ], [ ]}

IntroductionEtat de l’artPropositionExpérimentationConclusions

41

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” ]}

IntroductionEtat de l’artPropositionExpérimentationConclusions

42

Plan

Introduction État de l’art Proposition Expérimentation Conclusion

Rappels Bilan Perspectives

43

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

IntroductionEtat de l’art PropositionExpérimentationConclusions

RappelsBilanPerspectives

44

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

IntroductionEtat de l’art PropositionExpérimentationConclusions

RappelsBilanPerspectives

45

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

IntroductionEtat de l’art PropositionExpérimentationConclusions

RappelsBilanPerspectives

46

Merci pour votre attention!

Recommended