Chapter 6 | Performance at Eon CS

6.1 Measuring and evaluating performance at Eon CS

Avec l’augmentation croissante des possibilités de génération et de traitement des données 3D, il est devenu essentiel de disposer d’outils d’abstraction pour en faciliter la manipu- lation.

Parmi ces outils d’abstraction, plusieurs approches s’appuient sur un pavage de la surface, que ce soit pour faciliter l’animation à travers une étape de squelettisation [104], pour réaliser des morphings entre objets [95, 114], afin de détecter les collisions [70], ou encore à des fins de simplification de surfaces [16]. Ces étapes de pavages, que l’on rencontre plus couramment sous le nom de segmentation, peuvent être guidées par de nombreuses informations

Ainsi, on constate une grande variété d’approches proposant une solution à cette question [3]. Selon les auteurs de cette étude comparative, les méthodes de segmentation peuvent être séparées en deux catégories. Les premières s’appuient essentiellement sur des propriétés géométriques locales pour construire des patches vérifiant un certain critères de régularité géométrique. Les secondes, qualifiées d’approches sémantiques, capturent des propriétés de forme plus globales.

Parmi ces dernières méthodes, plusieurs d’entre elles exploitent à la fois des informa- tions topologiques et géométriques, et peuvent en cela être rapprochée de la méthode que nous décrivons par la suite. Ainsi, Mortara et al. [79] procèdent à une extraction des par- ties tubulaires de la surface, en explorant l’intersection de cette dernière avec une sphère centrée en chacun des points de la surface. Cette méthode dépend d’un paramètre – le rayon de la sphère – correspondant à la taille des détails que l’on souhaite extraire.

Tierny et al. [104] construisent à l’aide d’un graphe de Reeb une décomposition hiérar- chique de la surface, chaque patch étant identifié par une arête du graphe. La construction du graphe de Reeb est déterminée par la détection d’extremums, déjà présentée à la sec- tion 4.2.1. De manière générale, les méthodes s’appuyant sur la construction de squelettes courbes [22] intègrent également une notion de topologie.

6.3. Segmentation organique 103 réside dans l’utilisation d’informations géométriques traduites d’un point de vue topo- logique. La segmentation résultant de ce découpage présente également la particularité d’être composée uniquement de cylindres ou de disques (éventuellement sphères dans un cas limite), topologies propices à l’abstraction de la surface qui les porte, que ce soit pour la squelettisation ou pour en extraire des primitives de formes.

6.3.1 Segmentation cylindrique

Lorsque la surface dispose d’une topologie non triviale, nous avons proposé à la section 5.2 une méthode de pavage de la surface par cylindres. Cette segmentation s’appuie sur la construction successive de tricets, qui découpent topologiquement la surface, en intégrant des propriétés de géométrie simple comme la longueur de découpage.

Cependant, quand la surface à manipuler ne possède pas une telle topologie, cette méthode est inefficace. Nous nous proposons de décrire dans cette section une approche globale, en profitant des possibilités topologiques de cette première méthode, tout en en intégrant au cœur du processus des propriétés géométriques plus globales de la surface,

Comme nous l’avions déjà décrit à la section 4.2.3, il est possible assez simplement de transformer des informations géométriques en informations topologiques. Après avoir construit un ensemble de points géométriquement remarquables, on retire autour de cha- cun de ces points un petit disque, ajoutant ainsi un bord supplémentaire à la surface. L’al- gorithme 6.1 décrit la structure générale de la méthode que nous proposons, qui permet de produire une segmentation en cylindres, disques et sphères sur une surface quelconque.

Algorithme 6.1 : Segmentation organique Données : M un 2-maillage

Résultat : Une segmentation organique T = (C, M, F ) E ← un ensemble d’extremums de M;

Retirer un petit disque à M autour de chaque sommet de E; T ← pavage en cylindres de M (algorithme 5.3);

Rajouter à M les disques ôtés précédemment;

Tout d’abord, vérifions que chacune des tuiles résultant de ce découpage sont d’un point de vue topologique des disques, des cylindres ou des sphères. L’algorithme 5.3 utilisé à la fin du processus produit un découpage en cylindres d’une surface donnée. Ce découpage étant ensuite complété en comblant certains bords à l’aide de disques, les seules topologies possibles sont bien celles attendues.

Décrit de cette manière, l’algorithme ne précise pas la manière de détecter l’ensemble des extremums du maillage. En effet, toutes les approches peuvent être envisagées. L’une d’elles consiste naturellement à reprendre les idées présentées à la section 6.2.1, qui laisse à l’utilisateur la possibilité d’ajuster suivant ses besoins pratiques la quantité d’extremums souhaités. Cependant, cette approche nécessite un premier découpage topologique, car elle s’appuie sur un dépliage de la surface. Si cette première étape peut être vue dans certains cas comme un inconvénient, ce n’est pour autant pas un défaut majeur, puisque le découpage initial peut être recousu au besoin après détection des extremums, afin de redonner sa topologie originale à la surface.

Dans les résultats que nous détaillons ci-dessous, nous avons illustré la flexibilité de l’algorithme 6.1 en utilisant également une autre approche pour détecter les extremums.

104 Chapitre 6. Découpages pour l’infographie

(a) Surface après suppression des points extre- mums (section 6.2.1).

(b) Surface après découpage en cylindres (sec- tion 5.2).

Fig.6.7 – Segmentation en cylindres d’une main. Maillage 3D original fourni par le dépôt de formes AIM@SHAPE.

6.3.2 Résultats

Nous avons appliqué cette méthode de segmentation à différentes surfaces, en faisant varier le mode de sélection des extremums.

Ainsi, la figure 6.7 présente la segmentation d’une main en cylindres et disques, après détection des extremums par la méthode de dépliage de à la section 6.2.1. Chacun des doigts de la main est ainsi décrit par une surface homéomorphe à un disque, et corres- pondent aux extremums qui ont été repérés. Ce pavage est complété de quatre cylindres, qui décrivent chacun une jonction entre deux des éléments déjà présents. Avec les mêmes paramètres pour le recuit simulé que ceux utilisés dans la section 5.2.3, le découpage de cette surface à 3 897 sommets s’est effectuée sur notre machine de travail en 20 secondes, dont deux secondes nécessaires à la détection des extremums.

La figure 6.8 reprend deux surfaces où la sélection des extremums a été réalisée par une approche n’utilisant que les distances sur la surface [103].

Nous avons ajusté pour la figure 6.8(a) le paramètre de proximité pour n’avoir que cinq extremums, afin de produire une segmentation générale de la surface. Chacun des membres géométriques est ainsi décrit dans la segmentation finale par un patch homéomorphe à un disque, que viennent compléter deux cylindres décrivant le buste du personnage. De nouveau avec les mêmes paramètres, le découpage de cette surface à 4 525 sommets s’est effectuée en 20 secondes.

La surface de la figure 6.8(b) quant à elle ne porte qu’un unique extremum, localisé sur la tête de la bouée. On profite dans ce cas des possibilités offertes par notre méthode de découpage en cylindres, qui peut s’adapter à toute topologie, puisque la surface initiale

In document From performance management to managing performance An embedded case study of the drivers of individual- and group-based performance in a call center context Larsson, Nathalie (Page 116-120)