• Aucun résultat trouvé

IV. Plan de la thèse

4. L’adaptation de données 3D

5.8. La sémantique

Dans le modèle 3DSEAM, la sémantique se retrouve à tous les niveaux de la caractérisation d’une donnée 3D. Ainsi, nous avons identifié quatre catégories qui regroupent respectivement les connaissances géométriques, les connaissances liées à l’apparence, les connaissances topologiques et les connaissances média. Chaque catégorie regroupe des propriétés matérialisant les différentes connaissances que l’on peut avoir sur une donnée 3D. Chacune de ces catégories est représentée par une classe dans le modèle. Cependant, les connaissances que l’on associe à une donnée 3D sont également issues des domaines d’application relatifs aux objets du monde réel modélisés par les données 3D.

5.8.1. Niveaux de caractérisation sémantique

À une donnée multimédia, il est possible d’associer de l’information relative à l’objet

réel représenté par la donnée. Si par exemple, la donnée multimédia représente la Tour Eiffel,

des propriétés issues du monde réel (hauteur réelle, poids de la structure, propriétaire, …) pourront être associées à la donnée et éventuellement utilisées par des scripts ou lors des interrogations effectuées sur les scènes contenant la donnée respective.

Cette dimension recueille l’ensemble des descriptions portant sur les propriétés d’une donnée :

• en rapport avec la scène la contenant – sémantique du fragment multimédia ou

• en rapport avec un domaine d’application spécifique – sémantique de l’entité représentée.

Par exemple, une propriété sémantique liée au fragment peut retenir le rôle que la donnée joue dans la scène – élément central, ou bien le comportement de l’objet vis-à-vis d’autres éléments de la scène. La sémantique d’une entité peut contenir des informations relatives au domaine géographique telles que les coordonnées (latitude, longitude) ou l’altitude des données. Ces informations peuvent servir également à définir des catégories d’objets partageant les mêmes propriétés sémantiques.

Nous identifions trois niveaux sémantiques d’une donnée 3D :

le niveau local spécifique à la scène qui contient la donnée – correspond à une instance bien précise de l’entité (la Tour Eiffel est au centre de la scène) ;

le niveau applicatif – correspond aux propriétés de l’entité du monde réel relatives à

un domaine d’application (par exemple, pour une application liée à la métallurgie on retiendra que la Tour Eiffel est construite en Fer puddlé provenant des aciéries de Pompey en Lorraine) ;

le niveau général – correspond à tout ce qui reste quand l’objet est sorti du contexte

applicatif de la scène (la taille réelle de la Tour Eiffel est de 324 m).

Dans le cas de la sémantique relative à la scène qui contient le fragment, le lien entre la donnée et ses propriétés sémantiques est réalisé sans intermédiaire. Dans le cas où la sémantique concerne les propriétés de l’élément du monde représenté par la scène, nous mettons en relation la donnée et sa sémantique en plusieurs étapes :

a) nous introduisons cet élément dans le modèle en tant qu’instance de la classe Entity s’il ne l’est pas déjà ;

b) nous associons l’entité au fragment multimédia ;

c) nous mettons en relation l’entité avec l’ensemble des propriétés sémantiques caractérisant l’élément et ses profils sémantiques. Un profil sémantique sert à regrouper l’ensemble des propriétés et relations sémantiques en rapport avec un domaine d’application spécifique. Si l’entité est déjà présente dans le système, la troisième étape est optionnelle car le fragment multimédia hérite de toutes les propriétés sémantiques associées auparavant avec cette entité.

La sémantique applicative ou générale liée aux fragments multimédia est accessible en deux étapes :

• l’obtention de l'entité associée au fragment multimédia,

• l’obtention de la sémantique (dans le cadre générale) ou d’un profil sémantique (dans le cadre d’une application spécifique) associés à l'entité.

Nous avons fait ce choix afin de faciliter le maintien de la cohérence. La sémantique peut changer (ajout d’une nouvelle information, suppression des données obsolètes) sans toucher au fragment multimédia et vice-versa.

De plus, plusieurs fragments multimédia peuvent représenter la même entité du

monde. Ainsi, un autre bénéfice de ce découplage entre la sémantique et le fragment multimédia

à travers la classe Entité est de centraliser les descriptions sémantiques des données

multimédia équivalentes d’un point de vue sémantique. Un deuxième rôle tout aussi

important est qu’elle permet de rendre indépendante l’évolution de la sémantique de

l’évolution des fragments multimédia.

5.8.2. Les profils sémantiques

La notion de profil sémantique, que nous avons brièvement introduit dans la sous-section précédente, est à la base de l’organisation des informations sémantiques dans 3DSEAM. Que ce soit pour les informations relatives à la sémantique générale, applicative ou locale, un profil

sémantique regroupe un ensemble de propriétés ou de relations qui décrivent

respectivement :

• une entité par rapport à un domaine ou une application spécifique,

• un fragment multimédia par rapport aux catégories d’information sémantique relative à la scène.

La notion de profil impose l’existence d’une structuration de l’information, propriété intéressante pour la gestion a posteriori de l’information.

Figure 5.17 La dimension sémantique du modèle 3DSEAM.

Dans la Figure 5.17, nous présentons la formalisation de ces notions dans un diagramme de classes UML [Booch et al., 1998]. Nous introduisons des relations d’agrégation entre les classes Semantics et SemanticProfile afin de tenir compte de la possibilité de réutiliser le même profil sémantique pour représenter la sémantique commune à plusieurs entités du monde ou à plusieurs fragments multimédia. La relation entre les classes SemanticProfile et SemanticProperty laisse entrevoir à la fois la possibilité de retrouver la même propriété sémantique dans plusieurs profils. Les relations sémantiques peuvent être définies soit par rapport à une entité (objet du monde réel), soit par rapport à un fragment multimédia (objet de la scène 3D). Afin de faciliter la description du modèle, nous introduisons une classe (SemanticObjects) représentant les objets du monde réel (ou les entités) et les fragments.

Il est souhaitable que toute information sémantique associée à une entité (si l’information est de niveau général) ou à un fragment (si l’information est locale) soit liée à un profil (SemanticProfile). Ceci est justifié par le fait qu’un profil est intrinsèquement lié à un domaine d’application ou à un type de caractérisation spécifique ce qui permet de mieux cerner la nature

et le sens de l’information. Un profil sémantique constitue en effet une vue sur l’ensemble des propriétés (SemanticProperty) et relations sémantiques (SemanticRelation) d’une entité. Ainsi, il est possible que deux ou plusieurs profils sémantiques partagent les mêmes propriétés. Nous ne souhaitons pas maintenir des doublons dans la description sémantique car cela demande un gros effort de maintenance de la cohérence lors des éventuelles mises à jour ou suppressions. Afin d’éviter ce type de problèmes, nous attachons l’ensemble des propriétés (rôle property de la classe Semantics) au niveau de l’objet représentant la sémantique de l’entité ou du fragment multimédia et non pas au niveau de chaque profil indépendamment.

La définition d’un profil sémantique est réalisée en indiquant le nom du profil, la liste des propriétés et éventuellement les noms des domaines auquel le profil peut être associé. Chaque propriété est définie par son nom, une description de ce qu’elle représente et éventuellement un nom étendu correspondant à un terme dans une ontologie de domaine. Ce nom étendu permet de donner plus de sens à la valeur contenue dans la propriété.

Le type d’association que nous voulons construire ici entre la sémantique d’un objet et un profil sémantique trouve quelques similitudes avec le concept d’interface dans les langages de programmation orientée objet. De la même manière qu’une interface représente la garantie que les instances des classes l’implémentant exhibent un certain type de comportement, l’association d’un profil à la sémantique est une garantie que les informations dénotées par le profil se retrouvent dans la liste de propriétés de l’objet représentant la sémantique d’une entité ou d’un fragment. Cependant, dans un objet représentant la sémantique, nous pouvons également trouver des propriétés sémantiques qui sont définies indépendamment d’un profil quelconque.

Figure 5.18 Exemple d’instanciation de la sémantique d’un objet représentant la Tour Eiffel.

Afin d’illustrer la mise en œuvre de ces concepts nous proposons dans la Figure 5.18 un exemple de description de la sémantique de l’entité TourEiffel correspondant à la Tour Eiffel. L’objet TourEiffel_Semantics contient l’ensemble des propriétés sémantiques que l’on a associé à cette entité. Dans cet exemple nous considérons cinq propriétés :

• les coordonnées GPS36 de l’objet réel (gpsCoord),

• l’altitude à laquelle l’objet réel se trouve par rapport au niveau de la mer (altitude),

• la catégorie (category) définie par rapport à une taxonomie des objets réels (bâtiment, arbre, …),

• le nom de l’objet réel (name, dans ce cas « La Tour Eiffel ») et

• la hauteur en mètres de l’objet réel (height).

36 Dans ce travail nous désignons les coordonnées GPS comme étant la latitude et la longitude précises d’un objet. Cet abus de langage a été réalisé afin de faciliter l’exposé de nos idées. La notion de coordonnées GPS comporte une inhérente imprécision, que nous ne traitons pas ici, due à la qualité du signal et au nombre de satellites utilisés pour son calcul.

Ces propriétés couvrent les deux profils sémantiques (Geospatial et Categorization) que nous présentons sur la droite de la Figure 5.18. Le profil Geospatial concerne les propriétés gpsCoord et altitude. Le profil Categorization concerne les propriétés category et name. Il y a également une propriété height qui ne fait partie d’aucun profil à présent.