FR2784770A1 - Procede de codage d'un maillage source par minimisation de volume, et applications correspondantes - Google Patents

Procede de codage d'un maillage source par minimisation de volume, et applications correspondantes Download PDF

Info

Publication number
FR2784770A1
FR2784770A1 FR9813090A FR9813090A FR2784770A1 FR 2784770 A1 FR2784770 A1 FR 2784770A1 FR 9813090 A FR9813090 A FR 9813090A FR 9813090 A FR9813090 A FR 9813090A FR 2784770 A1 FR2784770 A1 FR 2784770A1
Authority
FR
France
Prior art keywords
mesh
encoding
vertex
vertices
source mesh
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9813090A
Other languages
English (en)
Other versions
FR2784770B1 (fr
Inventor
Nathalie Laurent
Henri Sanson
Pierre Alliez
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Priority to FR9813090A priority Critical patent/FR2784770B1/fr
Priority to PCT/FR1999/002524 priority patent/WO2000022577A1/fr
Priority to EP99949060A priority patent/EP1121665B1/fr
Priority to DE69906339T priority patent/DE69906339D1/de
Publication of FR2784770A1 publication Critical patent/FR2784770A1/fr
Application granted granted Critical
Publication of FR2784770B1 publication Critical patent/FR2784770B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

L'invention concerne un procédé de codage d'un maillage source (M) représentatif d'un objet en trois dimensions, délivrant un maillage simplifié (M') correspondant audit maillage source (M), lesdits maillages étant définis par un ensemble de sommets, d'arêtes et/ ou de faces. Selon l'invention, le procédé met en oeuvre une étape de minimisation d'un volume compris entre ledit maillage source (M) et ledit maillage simplifié (M'). Par exemple, lorsque chacun desdits maillages est défini par la position de chacun de ses sommets, ladite étape de minimisation peut assurer la détermination des positions des sommets (X1 , X2 ,... Xn ) dudit maillage simplifié (M') minimisant le volume V (M, M') entre ledit maillage source et ledit maillage simplifié.

Description

Procédé de codage d'un maillage source par minimisation de
volume, et applications correspondantes.
1. domaine de l'invention et applications 1.1 domaine de l'invention Le domaine de l'invention est celui du codage de structures de données géométriques, ou maillages, notamment de grande taille. Plus précisément, l'invention concerne la représentation et le codage d'objets ou de scènes en trois dimensions. Plus précisément encore, l'invention concerne une technique
d'approximation d'un maillage source en trois dimensions.
Un maillage est classiquement défini par un ensemble de sommets et de faces (ou un ensemble de sommets, d'arêtes et d'orientations) définissant une topologie. De tels maillages sont par exemple utilisés en graphisme sur ordinateur, pour modéliser des objets en trois dimensions avec une complexité géométrique limitée. L'approximation d'un maillage M consiste à trouver un maillage M' dont la complexité géométrique est moindre que celle du maillage M, et qui approche au
mieux la géométrie de M, au sens d'un certain critère défini à l'avance.
1.2 exemples d'applications L'invention trouve des applications dans tous les domaines o il est souhaitable de réduire le nombre d'informations nécessaires pour représenter et/ou manipuler efficacement un objet en trois dimensions ou un ensemble d'objets, par
exemple pour l'analyser, ou stocker et/ou le transmettre.
A titre indicatif, l'invention peut notamment s'appliquer au domaine de la réalité virtuelle (visites ou boutiques virtuelles, loisirs, télémanipulation, etc...). Dans ce type d'application, l'approximation de maillages permet de réduire le coût de rendu de scènes complexes, en particulier en définissant la notion d'échelonnabilité sur les maillages (fonction du point de vue, des
capacités graphiques, du taux de rafraîchissement souhaité,...).
Dans le cas de la réalité virtuelle distribuée ou partagée, cela permet également d'adapter la complexité d'une scène aux capacités de rendu et de stockage des différents terminaux, ainsi qu'aux débits des réseaux; - la simulation scientifique (éléments finis, CAO, etc...). La réduction de la complexité géométrique des modèles permet une accélération des temps de calcul, une prise de décisions plus rapide, notamment lors de la conception en CAO, et l'élimination des informations redondantes dans une base de données 3D; - la modélisation (scanner 3D (reconstruction de surfaces à partir de points non organisés), scanners volumiques, reconstruction de surfaces à partir de photos stéréoscopiques ou de séquences vidéo, de modèles numériques de terrains (imagerie satellite ou radar), etc...). Un modèle numérique de terrain permet ainsi l'obtention d'un maillage représentant la topologie d'une région. Un tel maillage est obtenu par l'échantillonnage régulier d'une image stockant l'information d'altitude en chaque point. Il en résulte une quantité de données importante, comprenant des informations inutiles pour la simulation scientifique, ou trop coûteuse pour le rendu (dans le cas de simulateurs). L'approximation de maillages réduit la quantité de données, tout en garantissant une bonne fidélité géométrique aux données initiales et la conservation de la topologie. 2. art antérieur 2.1 les familles d'algorithmes Plusieurs techniques d'approximation de maillages sont déjà connues. Les plus répandues peuvent être classées en trois grandes familles d'algorithmes selon qu'elles fonctionnent par: - décimation; ré- échantillonnage sous-critique;
- subdivision adaptative.
2.1.1 décimation La décimation consiste à retirer de manière itérative des sommets et/ou des faces d'un maillage. Cette opération est appelée opération élémentaire de simplification. Les méthodes mettant en oeuvre ce principe de décimation peuvent également optimiser les positions des sommets après simplification, cette dernière
étant choisie de manière à préserver au mieux la topologie du maillage.
2.1.2 réDchantillonnage sous-crii Le ré-échantillonnage consiste à échantillonner un modèle original, soit en prenant des points aléatoirement sur sa surface et en retriangulant ensuite soit en définissant une grille tridimensionnelle et en agglomérant les sommets dans chaque boîte élémentaire de la grille. Le modèle ainsi généré est simplifié, et doit approximer au mieux les données initiales. Cette technique est rapide, mais ne conserve pas la topologie ni les caractéristiques visuellement importantes des
maillages.
2.1.3 subdivision adantative La subdivision adaptative commence avec un modèle comportant une géométrie très simple, que l'on subdivise récursivement ensuite, en ajoutant à chaque itération un détail dans les régions ou l'erreur d'approximation est
maximale.
2.2 exemples de techniques connues De façon à permettre une approximation d'un maillage avec une qualité de reconstruction satisfaisante, il est nécessaire de combiner une décimation et une optimisation des positions des sommets conservés. En d'autres termes, l'objectif de base d'un procédé de codage d'un maillage source étant de maximiser la qualité de l'approximation pour une complexité géométrique donnée, celui-ci doit notamment présenter les propriétés suivantes: - décimation; - préservation de la topologie;
- optimisation des positions, suivant un critère d'erreur prédéfini.
2.2. 1 remaillage Une première méthode, appelée "remaillage" répondant à ces critères a été présentée par Greg TURK, dans le document "Re-tiling polygonal surfaces" (SIGGRAPH 92 Conference Proceedings, pages 55-64, 1992). Elle fonctionne par échantillonnage, décimation et optimisation des positions. Elle permet de paramétrer le nombre de niveaux de résolution souhaités et le nombre final de
sommets pour chacun d'eux.
L'algorithme débute par une distribution aléatoire du nombre de sommets paramétrés sur la surface du modèle, puis optimise leur position en les liant par des forces de répulsion (fonctions de la courbure locale). Il triangule ensuite les polygones ainsi formés, en incluant les sommets du maillage original. Enfin, on décime le modèle un sommet après l'autre (si cette opération conserve la topologie
locale) puis on retriangule le trou résultant.
On obtient ainsi un modèle raffiné dans les régions de forte courbure et
décimé sur les régions planes.
Un inconvénient de cette méthode est qu'elle présente une partie aléatoire.
En conséquence, deux décimations successives ne donnent pas le même résultat.
Par ailleurs, cette technique a tendance à lisser les discontinuités dans la plupart
des situations.
De plus, la fidélité aux données initiales n'est pas exprimée directement au
cours de l'optimisation des positions.
2.2.2 codage progressif de maillages Une autre technique, appelée "codage progressif de maillages", a été développée par Hugues HOPPE, dans le document "Progressive meshes" (SIGGRAPH 96 Conference Proceedings, pages 99-108, 1996). Elle repose sur la décimation et l'optimisation des points. Cette technique est décrite plus en détail en annexe 1, en relation avec les figures 1 à 4, de façon à ne pas surcharger la présente discussion. Il est clair cependant que cette annexe 1, ainsi que l'annexe 2,
font partie intégrante de la description.
Cette technique de codage progressif de maillages présente différents inconvénients. Notamment, elle ne conserve pas naturellement les discontinuités ou singularités géométriques, ce qui suppose une gestion de cas particuliers, tels que les coins, les arêtes vives finissantes et les arêtes vives régulières, pour éviter des ruptures de topologie. Cela entraîne des calculs complexes, difficiles à mettre en oeuvre, et suppose des paramétrages peu aisés (qu'est-ce qu'une arête vive ?
Comment pondérer le terme de ressort pour éviter de lisser les surfaces ?...).
Par ailleurs, elle n'est pas efficace pour caractériser les différences
perceptuelles entre deux maillages.
3. objectifs de l'invention L'invention a notamment pour objectif de pallier les différents
inconvénients de la technique antérieure.
Plus précisément, un objectif de l'invention est de fournir un procédé de codage d'un maillage source en trois dimensions, présentant un meilleur rapport
qualité de l'approximation/complexité géométrique que les techniques connues.
Notamment, l'invention a pour objectif de fournir un tel procédé, respectant plus fidèlement les caractéristiques importantes à conserver (singularités
ou discontinuités).
Un autre objectif de l'invention est de fournir un tel procédé, ne nécessitant pas une recherche et une gestion des cas particuliers (tels que les arêtes et les coins), ni la mise en oeuvre de paramètres spécifiques (par exemple critères de reconnaissance d'une arête, seuils,...) qu'il est nécessaire de définir pour chaque maillage. L'invention a encore pour objectif de fournir un tel procédé, qui permet une reconstruction successive du maillage, celui-ci étant reconnaissable, sous une
représentation grossière, très rapidement.
L'invention a également pour objectif de fournir un tel procédé permettant
de répondre aux fonctionnalités fixées dans le projet de standardisation ISO-
MPEG4, à savoir: - la compression de maillages, qui doit réduire fortement la quantité de données décrivant la géométrie, avec des pertes visuelles minimales; - la représentation progressive d'un maillage, permettant de définir un maillage sous la forme d'un maillage de base à faible résolution, et d'une séquence de raffinements; - l'adaptation à une gamme de débits importante, la qualité étant
acceptable, mais pour de très faibles débits.
4. caractéristiques principales de l'inentioni 4.1 utilisation d'une métrique volumiue Ces objectifs, ainsi que d'autres qui apparaîtront plus clairement par la suite, sont atteints selon l'invention à l'aide d'un procédé de codage d'un maillage source (M) représentatif d'un objet en trois dimensions, délivrant un maillage simplifié (M') correspondant audit maillage source (M), lesdits maillages étant définis par un ensemble de sommets, d'arêtes et/ou de faces. Ce procédé met en oeuvre une étape de minimisation d'un volume compris entre ledit maillage source
(M) et ledit maillage simplifié (M').
Ainsi, l'invention concerne une technique d'approximation de maillages utilisant une métrique basée volume, et non comme cela est classiquement le cas, une métrique considérant la distance entre un sommet et une surface (une telle
distance n'étant d'ailleurs pas unique).
Cette approche nouvelle prend en compte naturellement les caractéristiques importantes à conserver (singularités) sans qu'il soit nécessaire de recourir à la détection de cas particuliers. Aucun paramétrage particulier n'est requis, avant le traitement d'un maillage: on minimise simplement le volume entre les deux
maillages.
4.2 caractéristiques avantageuses de l'invention L'invention peut notamment être mise en oeuvre à l'aide d'un algorithme
organisé en deux parties: la décimation et l'optimisation de positions.
La décimation permet d'obtenir un maillage géométriquement simplifié, à partir du maillage original, tout en conservant la topologie et une bonne
ressemblance avec ce maillage original.
L'optimisation des positions des sommets permet l'obtention de la
meilleure approximation au sens de la métrique basée volume de l'invention.
En combinant décimation et optimisation, on peut générer soit un maillage sous forme progressive (en utilisant alternativement la décimation d'un sommet et une optimisation locale), soit des niveaux de résolution distincts (en utilisant successivement la décimation d'un ensemble de sommets et une optimisation globale). De façon avantageuse, chacun desdits maillages étant défini par la position de chacun de ses sommets et des arêtes les reliant, ladite étape de minimisation assure la détermination des positions des sommets (X 1, X2,... Xn) dudit maillage simplifié (M') minimisant le volume V(M, M') entre ledit maillage source et ledit
maillage simplifié.
Préférentiellement, ladite étape de minimisation met en oeuvre un processus itératif optimisant progressivement les positions des sommets dudit
maillage simplifié (M').
Ledit processus itératif peut notamment être interrompu lorsqu'au moins un des critères d'arrêt suivants est atteint: - un nombre (N) maximum d'itérations; - une différence entre deux vecteurs déplacement successifs des
positions des sommets inférieure à un seuil prédéterminé (ú).
Selon un mode de réalisation avantageux, ladite étape de minimisation met en oeuvre une méthode de gradient adaptatif. Cette méthode, ainsi qu'on le verra par la suite, permet de mettre en oeuvre l'invention avec une complexité de calcul réduite. En effet, il n'est alors pas nécessaire d'effectuer un calcul explicite du volume. Dans ce cas, ladite méthode de gradient adaptatif peut avantageusement reposer sur les opérations suivantes: - sélection d'un vecteur X de R 3n (n > 1) dudit maillage simplifié, p et calcul du gradient VE (Xp) en Xp de la fonction à minimiser E=d(M,M'); détermination de la position Xp de Xp dudit maillage, selon la relation définie à l'itération k+l par: Xk+! =Xk 'YkX 7E(Xpk) k+l k DEI Xp = Xpk-- kX VE(Xpk) k variant de 0 à n-1 (avec n < N) et ék étant le pas de ladite relation; N représente le nombre d'itérations utiles pour atteindre la convergence (cette dernière étant atteinte lorsque la différence entre deux déterminations successives est inférieure à un seuil (e) ou
lorsqu'un nombre maximum d'itérations est atteint).
On peut noter que Xp appartient à R 3 si on effectue une optimisation locale ou à R 3n Si on effectue une optimisation globale. En d'autres termes, on optimise les positions d'un sommet à la fois dans le cas d'une optimisation locale et de tous les sommets simultanément (sous la forme d'un unique vecteur de R 3n)
dans le cas d'une optimisation globale.
De façon préférentielle, ledit pas yk est variable, et il varie en fonction de l'oscillation de deux déplacements successifs des sommets et/ou en fonction des variations de l'énergie. Il peut notamment être maintenu entre deux bornes Ym.in et Tmax Selon un mode de réalisation avantageux de l'invention, on détermine, à chaque itération, une variation élémentaire dudit volume correspondant à un champ de vecteurs È4'. La surface étant paramétrée par u et v, de façon qu'un vecteur 81Kf s'exprime sous la forme II (u, v), ladite variation élémentaire est assimilée au parallélépipède généré par l'évolution de l'élément de surface dudv dans la
direction 8M1 (u, v).
Cette variation élémentaire de volume entre M et M' peut avantangeusement s'écrire: âd(M,M' 1,1r)=- f f r(u,v)f(u,v)lKr (u,v)do(u, v) U,V avec: T(u,v)=q(M,M,fi(u,v)) = 1 si la normale unitaire fi(u,v) est
orientée vers le volume intérieur, et -1 sinon.
Selon un mode de réalisation préférentiel de l'invention, ledit maillage simplifié est paramétré à l'aide d'un modèle d'éléments finis. Lesdits éléments
finis sont avantageusement obtenus à l'aide d'un interpolateur affine.
Dans ce cas, ledit maillage simplifié peut s'écrire: N M(uv) Xili(u, v) i-= avec k,(u,v) une fonction de forme adaptée à un modèle d'éléments finis triangulaires, et Xi sommet dudit maillage, défini dans R3, et on définit une fonction de forme sur le maillage par le biais de coordonnées barycentriques. En utilisant l'expression précédente, on obtient: N d(MM,6X,..., Xn)=- J J T(u, v)ii(u,v) ô âXiXi(u,v)da(u,v) u,v 1=, U,V i N =- J f l(uv)n(uv)ÈXii(uv)d(uv) i= I U,v De façon avantageuse, la position d'un sommet Xi à la kième itération s'écrit X k+I = Xi -k_ _ avec la dérivée partielle de la distance pour un sommet Xi =d - f r l(u,v)i(u,v)i (u,v)dc(u,v). a Xi u,v E Supp(X) Avantageusement, le procédé de l'invention met en oeuvre un codage progressif dudit maillage simplifié, par décimation et optimisation locale. Ainsi, ledit maillage simplifié est, de façon avantageuse, représenté par un maillage de
base et une séquence de raffinements dudit maillage de base.
Dans ce cas, le procédé comprend préférentiellement une étape d'initialisation du vecteur Xp, comprenant une étape de dénombrement des arêtes vives autour de deux sommets à fusionner, après ladite décimation, et: - si les nombres d'arêtes vives sont les mêmes autour des deux sommets, on place le sommet résultant de la fusion au milieu du segment reliant lesdits sommets; - si les nombres d'arêtes vives sont différents, on place le sommet résultant de la fusion sur le sommet présentant le plus grand
nombre d'arêtes vives.
De façon avantageuse, le calcul du gradient à la kième itération comprend les étapes suivantes: - discrétisation de l'expression de la dérivée partielle de la distance pour chaque sommet Xi, sous la forme: N M a 3d'' 0,-x-,_:, (i,)f(,j),(,j)(ij) avec: - S l'ensemble des triangles voisins du sommet Xij; - N le nombre de points échantillonnés dans la direction de u; - M le nombre de points échantillonnés dans la direction de v; - calcul de l'orientation des surfaces, par identification de la plus proche intersection avec le maillage source M. Selon un aspect préférentiel de l'invention, l'orientation relative des surfaces audit maillage source et dudit maillage simplifié est calculée selon l'équation: TI(U,V)=--<fiM',fM>' <HM", XiXM > avec: Xj le point échantillonné sur M'; XM le point d'intersection de la droite passant par Xj et de direction f avec le maillage source M; tim la normale au maillage source M au point XM; HM. la normale au maillage source M' au point Xj;
(XJXM représente un vecteur).
Selon un autre aspect avantageux de l'invention, le procédé comprend une étape de limitation de la dégradation due à une transformation élémentaire, mettant
en oeuvre une queue de priorité sur les transformations élémentaires.
Préférentiellement, ladite étape de limitation de la dégradation due à une transformation élémentaire comprend les étapes de: - calcul d'un cofût pour chaque transformation élémentaire possible; - réalisation de la transformation élémentaire de moindre cofit; - recalcul des coûts des transformations élémentaires modifiées par la transformation élémentaire précédente; - ajout des nouvelles transformations élémentaires créées et calcul
des coûts correspondants.
Le coût d'une transformation élémentaire (Ti) peut par exemple s'exprimer par: C(Tj(X,Xj)) = max d2 (VM,F(X fI)) avec: Ti transformation fusionnant deux sommets Xi et Xj dudit maillage simplifié M'; xif le sommet dudit maillage simplifié M' résultant de ladite transformation; F(Xif) les faces dudit maillage simplifié M' avoisinant le sommet Xif après ladite transformation; VM ensemble des sommets dudit maillage source M appartenant aux faces ayant été intersectées lors du calcul de l'orientation des
surfaces pendant ladite minimisation.
Le procédé de l'invention peut s'appliquer à de très nombreux domaines techniques, et en particulier à au moins un des domaines appartenant au groupe comprenant: - la réalité virtuelle; - la simulation scientifique;
- la modélisation.
5. liste des figures D'autres caractéristiques et avantages de l'invention apparaîtront plus
clairement à la lecture de la description suivante d'un mode de réalisation
préférentiel de l'invention, donnée à titre de simples exemples illustratifs et non limitatifs, et des dessins annexés parmi lesquels: les figures 1 à 4 sont discutées en annexe 1, présentant la technique connue du codage progressif de maillages, et illustrent respectivement: figure 1 (également commentée par la suite) transformation élémentaire (fusion d'arête); - figure 2: solutions initiales; - figure 3: mise à jour des transformations dans le voisinage affecté par la dernière modification; - figure 4: ajout des transformations nouvellement créées; la figure 5 illustre le principe de base de l'invention, consistant à minimiser le volume entre deux surfaces; - les figures 6 à 11 sont discutées en annexe 2, décrivant les aspects mathématiques de l'invention, et illustrent respectivement: - figure 6: variation élémentaire du maillage; - figure 7: variation élémentaire du maillage dans la direction de la normale; - figure 8: système de coordonnées sur un triangle; figure 9: fonction de forme; - figures 10 et 11: exemples d'évolutions de surface sur deux courbes en deux dimensions; - la figure 12 illustre la mise à jour des adjacences de face après fusion d'une arête adjacente à deux faces; - la figure 13 illustre la mise à jour des adjacences de face après fusion d'une arête adjacente à une face; - la figure 14 illustre le dénombrage des arêtes vives autour de sommets du maillage; - la figure 15 présente le principe de l'initialisation de la position du sommet à optimiser, dans différentes situations; - la figure 16 illustre l'échantillonnage sur un triangle pour l'intégration numérique; - la figure 17 explique le principe de l'orientation relative des surfaces, de façon à éviter la formation de plis sur la surface losrque la position initiale est trop éloignée de l'optimum; - la figure 18 illustre le coût d'une transformation élémentaire; - la figure 19 est un synoptique de l'approximation de maillages selon l'invention; - la figure 20 est un synoptique de l'optimisation d'un sommet Xi; - les figures 21 à 24 illustrent le comportement du procédé de l'invention, sur un parallélépipède rectangle, après décimation sur un coin (figure 21), une arête vive régulière (figures 22 et 23) et un plan (figure 24); - la figure 25 illustre les différentes (12) itérations effectuées sur un
exemple simple, selon l'invention.
6. principe général d'une mise en oeuvre de l'invention 6.1 structure Ainsi que discuté précédemment, l'invention concerne une méthode d'approximation de maillage mettant en oeuvre une métrique basée volume. Un des avantages de cette métrique est qu'elle prend naturellement en compte les caractéristiques importantes à conserver (les singularités), sans devoir recourir à la
détection de cas particuliers.
D'une façon générale, l'approximation de maillages génère un modèle polygonal géométriquement plus simple que le modèle original. Le nombre de polygones nécessaire à la représentation est ainsi réduit, tout en conservant la
meilleure approximation, au sens perceptuel, du modèle original.
Le problème correspondant peut être formulé par une approche variationnelle permettant d'approximer un maillage M par un maillage M' (ou 1II) comprenant un nombre réduit de triangles. Elle autorise le déplacement des sommets en optimisant leurs positions au sens d'un ou plusieurs critères définis
par le biais d'une fonctionnelle d'énergie à minimiser.
L'approximation d'un maillage génère un modèle géométriquement plus simple que le modèle original. Le nombre de polygones nécessaires à la représentation est ainsi réduit tout en conservant la meilleure approximation (au sens perceptuel) du modèle original. La qualité de l'approximation définit le niveau de ressemblance perceptuelle pour une complexité géométrique fixée. L'invention utilise une métrique basée volume entre "le maillage approximant" et le "maillage approximé". Le principe de l'algorithme est scindé en deux parties: la décimation et l'optimisation des positions. L'opération élémentaire de décimation choisie est la fusion d'arête, qui fusionne deux sommets, de façon à supprimer un sommet et deux faces du maillage. L'algorithme d'optimisation choisi est un algorithme itératif de gradient à pas adaptatif afin de minimiser itérativement le volume compris entre le modèle et
le maillage original.
En combinant décimation et optimisation, on peut générer soit un maillage
sous forme progressive, soit des niveaux de résolution distincts.
6.2 décimation Afin de simplifier la géométrie d'un maillage, il convient de décimer itérativement le maillage tout en conservant une bonne topologie, on choisit donc une transformation élémentaire: la fusion d'arête, qui fusionne deux sommets adjacents en un sommet, supprime deux faces et place le nouveau sommet
résultant de la fusion, suivant un principe décrit ultérieurement.
Cette décimation peut être réalisée alternativement ou successivement avec une optimisation des positions d'un ou de plusieurs sommets suivant l'application visée. On peut construire plusieurs niveaux de résolution d'un maillage en utilisant cette transformation élémentaire, et la granularité minimale est obtenue par une décimation puisque le maillage est alors défini au sommet près. On procède alors en alternant décimation locale et optimisation locale du sommet résultant de la
fusion.
Inversement, on peut définir des niveaux de résolutions de manière générale en décimant au préalable un ensemble de sommets puis en optimisant
globalement les positions des sommets du maillage.
La décimation successive permet de construire des maillages progressifs.
Dans ce cas, il convient de choisir judicieusement l'ordre de réalisation des transformations. Cet ordre est défini par le biais d'une queue de priorité sur les transformations élémentaires de manière à effectuer en premier les transformations
affectant le moins possible le modèle original.
Cela amène à définir la notion de cofit pour chaque opération élémentaire et la queue de priorité sera triée par ce dernier. Ainsi initialement, toutes les transformations possibles sont listées, le coût de chacune d'elles est calculé (sans effectuer de modifications sur le maillage), on réalise la transformation de moindre coût, et on recalcule les coûts des transformations élémentaires modifiées par la
transformation précédente.
Bien sûr, d'autres techniques que la décimation peuvent être utilisées pour
obtenir le maillage approché, ou approximé, tel que des techniques de sous-
échantillonnage, de subdivisions adaptatives, etc...
6.3. optimisation Le problème de l'optimisation consiste donc à minimiser une fonctionnelle d'erreur définie par: E(M, M') = d(M, M') o d(M, M') caractérise une distance entre les deux maillages M et M', et garantit la fidélité aux données initiales. L'algorithme d'optimisation est choisi notamment
pour ses performances en terme de vitesse et/ou de pertinence de la solution finale.
On explique ci-dessous le contexte théorique de la métrique basée volume utilisée pour caractériser l'erreur d'approximation entre deux maillages, ainsi que la formulation variationnelle permettant l'optimisation de la qualité de
l'approximation, selon l'invention.
6.3.1 métrique Un exemple de mesure de l'erreur, ou distance, entre les maillages M et M' est illustrée en figure 5. La mesure de l'erreur est donnée par le volume V,
compris entre les deux surfaces formées par les maillages M et M'.
Ce volume est défini par l'intégrale de Lebesgue suivante: V(M,M')= f I(V(M,M)(:)d3q R3 avec Iv(4) la fonction indicatrice de l'intérieur du volume et q un point
générique de R3.
6.3.2 fonctionnelle Un maillage étant défini partiellement par les positions de ses sommets, on peut formuler le problème de la minimisation du volume par le biais d'une fonctionnelle d'énergie à minimiser, cette fonctionnelle étant définie par: E = E error = d(M, M') =d(M,M',X1,...,Xn)) L'algorithme d'optimisation mis en oeuvre consiste alors à déterminer les positions optimales des sommets X1, X2,...Xn qui minimisent la distance
d(M',M).
6.3.3 variation élémentaire de volume L'évolution élémentaire du maillage M' est définie par le champ de vecteurs 81]. Une expression de la variation élémentaire du volume est décrite en
annexe 2 ( 2).
6.3.4 mise en oeuvre du gradient adaptatif La technique d'optimisation utilisée pour résoudre le problème de la minimisation peut avantageusement reposer sur une approche itérative, tel que le gradient adaptatif. L'annexe 2 ( 1) décrit en détail la mise en oeuvre de cette technique du gradient adaptatif, ainsi que le calcul d'une variation élémentaire de volume permettant la détermination du gradient à chaque itération, et le
paramétrage du maillage par un modèle d'éléments finis triangulaires.
Un modèle d'éléments finis triangulaires permettant de calculer le gradient
en chaque sommet est décrit en annexe 2 ( 3).
L'algorithme du gradient pour un sommet Xi s'écrit sous la forme: k+' =X k _a _ XL xs -d d pa i L'expression de la dérivée partielle de la distance pour un sommet Xi est: a <3d
38d - I I( uv)(u,v))xi(u,v)dG(u,v).
a Xi u,v E Supp(ô) Le support de la fonction de forme est défini par les triangles voisins du sommet Xi. L'intégrale est calculée par le biais d'une discrétisation sur les triangles (décrite par la suite) et une heuristique a été adoptée pour déterminer l'orientation relative des surfaces formées par M et M' (également décrite par la suite). A chaque itération du gradient, on applique un déplacement sur le sommet X qui tend à minimiser le volume entre les surfaces. Le déplacement est la somme des contributions liées aux calculs d'orientation en plusieurs points de chaque
triangle.
Le pas y, est adaptatif. Au départ il est initialisé à To (une fraction de la longueur de l'arête fusionnée), puis il est multiplié par k (avec k < 1), en présence d'une oscillation (c'est-à-dire lorsque deux vecteurs de déplacement successifs a dk+ a 8dk
sont de directions opposées: < " X ', X > < 0).
Ce pas y, est borné (borne inférieure Ymin)' afin de conserver la convergence de l'algorithme. On a y, e]8, 2%o-È], avec 0 < 5 < X0 et Il HE(X)
Il < 1/1ko (o HE représente le Hessien de E).
On considère la convergence atteinte lorsque le déplacement du sommet Xi d'une itération à l'autre est inférieure à ú (E étant une fraction de la dynamique locale des arêtes du maillage). Le nombre d'itérations de l'algorithme peut
également être borné.
7. description d'un mode de réalisation détaillé
Le procédé de l'invention permettant de générer des approximations de maillages à différents niveaux de résolution, un codage progressif de maillages par
décimation et optimisation locale peut être mis en oeuvre.
Dans cette optique, on définit une transformation élémentaire de décimation adaptée au codage progressif, une méthode d'optimisation locale et une queue de priorité sur les transformations afin de maximiser le ratio quantité d'informations/qualité visuelle à chaque itération de l'algorithme. On décrit par la suite la mise en oeuvre de cet algorithme, et notamment le calcul du gradient défini
sur un sommet du maillage.
7.1 transformation élémentaire Le codage progressif permet de définir la notion d'échelonnabilité sur un maillage. L'échelonnabilité maximale est obtenue lorsque la résolution du maillage peut être choisi au sommet près. Un maillage peut ainsi être codé sous la forme d'un maillage de base (à une résolution visuellement acceptable) et d'une séquence
de raffinements.
Afin d'obtenir une telle structure de données, il convient de décimer itérativement le maillage, d'optimiser localement les positions des sommets de manière à approximer localement au mieux le maillage initial, et d'enregistrer simultanément la séquence de décimation afin de coder le maillage dans le sens des raffinements. On choisit donc une transformation élémentaire réversible, par exemple la fusion d'arêtes définie par HOPPE (document déjà cité), qui est illustrée en figure 1. La fusion d'arête 10 consiste à fusionner les deux sommets adjacents 11 et 12 en un sommet 13, à supprimer les deux faces 14 et 15 et à optimiser la position du
sommet 13 résultant de la fusion.
Cette transformation est réversible (insertion 16 d'un sommet).
Après transformation, les adjacences doivent être mises à jour. Pour cela, on considère une structure de type faces/sommets et une adjacence définissant toute les relations entre les éléments. Les faces stockent des liens vers leurs faces voisines, et chaque sommet liste les faces qui le contiennent et les sommets voisins. Les figures 12 et 13 illustrent la mise à jour des adjacences de faces après
fusion d'une arête adjacente à deux faces (figure 12) ou à une face (figure 13).
La décimation est ainsi naturellement prise en compte sur toutes les zones du maillage, sans qu'il soit nécessaire de détecter les cas particuliers, telles que les
arêtes adjacentes à une seule face.
7.2 initialisation L'optimisation agit sur la position du sommet résultant de la fusion de l'arête formée par les sommets Xa et Xb. Afin de débuter l'algorithme d'optimisation avec une bonne condition initiale, on choisit de positionner le sommet le plus proche de l'optimum probable. Pour cela, on introduit la notion d'arête vive: une arête est vive lorsque l'angle formé par les normales aux deux faces adjacentes est supérieur à un seuil fixé paramétrable. On dénombre ensuite le nombre d'arêtes vives autour des sommets de l'arête à fusionner, ainsi que cela est illustré en figure 14. Le sommet 141 est associé à aucune arête vive, le sommet
142 à deux arêtes vives et le sommet à trois arêtes vives.
On déduit de ce dénombrement deux cas pour l'initialisation, ainsi que cela est illustré en figure 15: - si les nombres d'arêtes vives autour de Xa et autour de Xb sont identiques, on effectue l'initialisation au milieu du segment formant l'arête à fusionner. Sur les zones planes de faible courbure, cela
permet de conserver une bonne compacité sur les triangles voisins.
Sur une arête vive régulière (nombres d'arêtes vives égaux à 2), cela permet de positionner le sommet proche de l'arête vive qui sera conservé au cours de l'optimisation; - si les nombres d'arêtes vives autour de Xaet autour Xb sont différents, l'initialisation est effectuée sur le sommet présentant le plus grand nombre d'arêtes vives. Dans les cas les plus courants,
l'optimum est atteint à partir de cette position initiale.
Dans l'exemple de la figure 15, dans lequel le maillage source correspond à un parallélépipède 151, on constate que cette heuristique place le sommet: - sur le coin du parallélépipède lorsque l'arête à fusionner forme un coin 152; - et sur l'arête vive régulière du parallélépipède lorsque l'arête
commence sur la région plane et se termine sur l'arête vive 155.
Les situations o le nombre d'arêtes vives est le même autour des deux
sommets est illustré en 152 et 154.
7.3 optimisation On rappelle que l'expression de la fonctionnelle considérée: E = Eerror = d(M, M') Cette fonctionnelle est minimisée en optimisant la position du sommet Xi par un algorithme de gradient: k+l k a âdk X X i -Yi - X Les déterminations du pas yi et des critères d'arrêt sont discutées au
6.3.4.
7. 4 discrétisation Le calcul du gradient nécessite donc une discrétisation de l'intégrale: -a - IdJ l(u,v)ii(u,v)l,(u, v)do(u,v) a Xi u,v E Supp(X,)
Sur le support de la fonction de forme définie sur Xi.
On est donc amené à échantillonner la surface des triangles, avant d'évaluer en chaque point X(x,y,z) la valeur de la fonction de forme ki(x, y, z) et
l'orientation des surfaces rl(u,v).
Le gradient s'exprime donc sous la forme discrète suivante N M _=_ L (i"J0fi(i 'J0)i(iT'j')d(i'JT) i X i =-I = teSi =Ij =1 avec: - S l'ensemble des triangles voisins du sommet Xi; - Na le nombre de points échantillonnés dans la direction de u;
- MT le nombre de points échantillonnés dans la direction de v.
Pour un triangle donné, l'échantillonnage est effectué dans le plan passant par ses sommets, le nombre de points étant proportionnel à la surface du triangle,
ainsi que cela est illustré en figure 16.
Le repère d'échantillonnage est formé par l'arête 161 de plus grande longueur et la hauteur 162 du triangle courant. Soit n le nombre minimum de points par triangles fixés à l'avance, Smin l'aire minimale des triangles voisins de Xiet h le pas d'échantillonnage. On déduit h par la formule suivante: n x h2= Smin La fonction de forme est évaluée par un rapport de surfaces tel que décrit
en annexe 2.
7.5 orientation des surfaces L'orientation relative de deux surfaces définie en trois dimensions est délicate à définir avec exactitude. On utilise avantageusement une heuristique pour calculer l'orientation des deux surfaces M et M' (c'est-à-dire le terme ril(u,v) de l'équation du gradient présenté ci-dessus): r(uv) =--< fiMfiM > < iM', XJXM > avec: Xj le point échantillonné sur M'; XM le point d'intersection de la droite passant par Xj et de direction HM avec le maillage source M; nm la normale au maillage source M au point XM;
nM M la normale au maillage source M' au point Xj.
o <,> représente le produit scalaire.
La figure 17 illustre ce calcul de l'orientation en deux dimensions. En trois dimensions, il suffit de remplacer les segments par des triangles. Cette heuristique limite fortement la formation de plis sur la surface, puisque le terme < fM,fM >
traduit l'opposition des normales lorsqu'elles sont de sens opposés.
7.6 priorités sur les transformations Chaque transformation élémentaire décime le maillage approximant M'. La qualité de l'approximation se dégrade donc au cours de la décimation, ou reste au mieux invariante lorsque le volume reste inchangé, et ce malgré l'optimisation des points. Par exemple, si l'on considère une sphère, on sait qu'elle nécessite en théorie une infinité de triangles pour être parfaitement modélisée. Dès lors que l'on restreint le nombre de triangles, on dégrade la qualité de son approximation. En revanche, sur des régions planes d'un objet, on peut décimer jusqu'à l'obtention d'un maillage optimal (ainsi, sur un parallélépipède, l'optimum est atteint lorsque
chaque face est décrite par deux triangles).
On souhaite coder progressivement les maillages, et donc retirer itérativement les sommets par une opération de fusion d'arêtes. Après l'optimisation des positions, un autre processus est donc développé, consistant à définir une priorité sur les transformations élémentaires, de manière à effectuer en
premier les transformations affectant le moins possible le modèle.
Pour cela, on définit la notion de coût pour chaque opération élémentaire,
et une queue de priorité triée selon ce coût.
Ainsi, initialement, toutes les transformations possibles sont listées puis le coût de chacune d'elles est calculé (sans effectuer les modifications correspondantes sur le maillage). On réalise la transformation de moindre coût, puis on recalcule les coûts des transformations élémentaires modifiées par la transformation précédente. On rappelle que la fusion d'arête supprime deux faces soit en conséquence, les transformations concernant ces faces sont retirées de la queue de priorité, ce qui créé une ou deux nouvelles transformations, pour lesquelles on calcule également le cofit en énergie, déduit de la technique décrite en annexe 2, et qui représente la variation de volume entre le maillage avant et après transformation. Le calcul direct du volume entre deux surfaces triangulées étant complexe à
calculer, on fait appel à une heuristique permettant de simplifier ce problème.
Soient: - Ti la transformation fusionnante de sommet Xi et Xj de M' Xifle sommet de M' résultant de la fusion (dont on a optimisé la position); - F(Xif) les faces de M' avoisinant le sommet x f après transformation; - VM l'ensemble des sommets de M appartenant aux faces ayant été intersectées lors du calcul de l'orientation des surfaces pendant l'optimisation. Le coût d'une transformation élémentaire Ti s'exprime alors sous la forme: C(Ti(Xi,Xj)) = maxd2(VM,F(Xit)) Ce coût correspond donc à la distance maximale des sommets du maillage original (sous les faces avoisinant le sommet Xi) aux faces avoisinant Xi après transformation. La figure 18 illustre, en deux dimensions, l'expression du coût dans le cas d'une décimation sur une discontinuité. Comme indiqué
précédemment, en trois dimensions les segments sont remplacés par des triangles.
La transformation 181 consiste à fusionner les sommets Xi et Xj en un sommet
Xi'. Les sommets 182] à 1824 correspondent à l'ensemble VM.
On peut constater que sur un plan maillé, le coût d'une transformation serait nul, les zones comportant une information redondante étant décimées en
priorité.
On présente maintenant des exemples de synoptique pour la mise en
oeuvre des différents aspects discutés précédemment.
7. 8 synoptiques 7.8.1 approximation de maillages La figure 19 résume l'algorithme d'approximation d'un maillage M
comportant n faces par un maillage M' comportant m faces (avec bien sûr m < n).
On commence tout d'abord par copier le maillage source M, ou maillage original, dans la variable M', représentant le maillage simplifié que l'on cherche à déterminer (191). Sur ce maillage M', on effectue ensuite une recherche de toutes les transformations élémentaires réalisables (192), puis un calcul (193) des coûts
énergétiques de ces transformations après optimisation.
On sélectionne et on réalise (194) la transformation de moindre coût parmi
l'ensemble des transformations possibles. Il s'agit de l'étape de décimation.
Puis, on met à jour (195) les coûts énergétiques des transformations, dans le voisinage affecté par la transformation effectuée à l'étape 194. Enfin, on ajoute (196) les nouvelles transformations induites par la transformation effectuée 194, et
on calcule les cofits correspondants.
Les trois étapes 194, 195 et 196 sont réitérées (197) n - m fois, jusqu'à ce
qu'au moins un des critères d'arrêt soit atteint.
7.8.2 optimisation en position La figure 20 illustre l'optimisation du sommet Xi, après fusion de l'arête
(Xj, Xj).
On définit au préalable les paramètres d'initialisation suivants, partiellement en fonction de la dynamique de la géométrie locale autour du sommet Xi: Epsilon est un critère d'arrêt de la convergence, fraction de la longueur moyenne des arêtes autour du sommet Xi (typiquement
0,001);
Maxlter est la borne supérieure du nombre d'itérations, fixée arbitrairement (typiquement 200 itérations); StepInit, StepDec et StepMin sont respectivement la valeur d'initialisation, le taux de décroissance et la borne inférieure du pas. StepInit et StepMin sont des fractions de la longueur de l'arête à fusionner (typiquement 0,1 et 0, 01), StepDec est fixé arbitrairement (typiquement 0,95); - StepSampling est le pas d'échantillonnage sur les triangles, utilisé pour le calcul discret de l'intégrale formant le gradient à chaque itération. Il est déduit des aires des faces voisines du sommet X. - NbSharpEdges(X) est le nombre d'arêtes vives autour du sommet X. L'algorithme débute par une étape 201 d'initialisation en position, qui consiste à effectuer les opérations suivantes: Si (NbSharpEdge(X1) = NbSharpEdge(Xj)) alors initialiser au milieu de l'arête à fusionner, sinon
initialiser sur le sommet du plus grand nombre d'arêtes vives.
On réalise ensuite le calcul 202 du gradient, avec les opérations de discrétisation sur les triangles et d'orientation des surfaces. Puis, on effectue le déplacement 203. Le sommet se déplace de la valeur du vecteur gradient multiplié
par le pas courant.
On contrôle ensuite l'évolution 204 du pas. Si une oscillation est détectée avec le vecteur gradient précédent, le pas est multiplié par StepDec. Si le pas est
inférieur à StepMin, il est réinitialisé à StepMin.
Enfin, on effectue un test de convergence 205. Si la distance entre la position courante et la position précédente est inférieure à Epsilon, ou si le nombre d'itérations MaxIter est atteint, l'algorithme est arrêté (206). Sinon, on répète
(207) les étapes 202 à 205.
7. 9 résultats On montre maintenant, à partir d'un exemple simple (un parallélépipède),
le comportement du procédé d'approximation de maillages selon l'invention.
L'intérêt du parallélépipède est de permettre de vérifier la qualité de l'approximation sur les discontinuités (arêtes vives régulières et coins) et sur les plans. Sur un tel objet, l'optimum est atteint lorsque l'on obtient chaque face maillée par deux triangles et que la forme globale de l'objet est parfaitement conservée. La figure 21 illustre le cas d'une décimation sur un coin 211 du parallélépipède. La solution initiale a été placée sur le coin 211, puisque le nombre d'arêtes vives est maximal en ce sommet (trois autour du coin 211 et deux autour de l'arête vive régulière de l'objet (sommet 212)). L'algorithme d'optimisation oscille, puis converge autour de cette position initiale 213, puisque le pas de gradient a été initialisé à une valeur non nulle, puis a diminué dès que l'oscillation
a été détectée.
La figure 22 présente une décimation sur une arête vive régulière. La solution initiale a été placée au milieu de l'arête 223, puisque le nombre d'arêtes vives est identique (deux autour de chaque sommet 221 et 222). Plusieurs solutions situées sur l'arête vive régulière de l'objet satisfont l'invariance de volume, et l'algorithme converge après oscillation autour de l'arête, sur une position dépendante de la solution initiale. Le milieu 224 de l'arête constitue donc
une bonne initialisation dans ce cas.
La figure 23 illustre une autre situation de décimation sur une arête vive régulière, dans laquelle la solution initiale a été placée sur l'arête vive 234, puisque les nombres d'arêtes vives sont différents (deux autour du sommet 233 situé sur
l'arête, et aucune autour du sommet 232 situé sur la face plane 235 de l'objet).
Plusieurs solutions situées sur l'arête vive régulière de l'objet satisfont l'invariance de volume, et l'algorithme converge après oscillation autour de l'arête 234, sur
une position 236 dépendant de la solution initiale.
La figure 24 présente le cas d'une décimation sur un plan 243. La solution initiale a été placée au milieu de l'arête 245 formée par les sommets 241 et 242, puisque les nombres d'arêtes vives sont identiques (aucune autour de chaque sommet 241et 242). Plusieurs sommets situés sur le plan de l'objet satisfont l'invariance de volume. L'algorithme converge, après oscillation, de part et d'autre du plan, sur une position dépendant de la solution initiale. Le milieu 244 de l'arête
constitue donc, à nouveau une bonne initialisation dans cette situation.
Le procédé décime le maillage initial en utilisant une queue de priorité.
* La figure 25 montre les douze itérations successives de l'algorithme,
numérotées (b) à (m), à partir du maillage original numéroté (a).
On constate que les arêtes entraînant une invariance de volume sont décimées en priorité. L'optimum est atteint pour les sommets demandés sur cet
objet, puisque chaque face est alors maillée par seulement deux triangles.
On remarque que les arêtes rejoignant deux coins de l'objet ne sont pas fusionnées, puisque cette opération aurait entraîné une forte dégradation de la qualité de l'approximation, les coûts et transformations élémentaires correspondantes étant supérieurs aux coûts d'une fusion d'arêtes sur un plan ou le
long d'une arête vive régulière.
ANNEXE 1
Codage progressif de maillages Hugues Hoppe a développé une méthode fonctionnant par décimation et optimisation des
points. La décimation est réalisée par une transformation élémentaire réversible et facile-
ment codable: la fusion d'arête qui rassemble deux sommets adjacents en un seul sommet, supprime deux faces et optimise ensuite la position du sommet résultant de la fusion (figure 1).
L'auteur a utilisé une approche variationnelle permettant la minimisation du proces-
sus, la fonctionnelle d'énergie associée est définie par un terme d'erreur et un terme de régularisation: E =. Eerror + Erógu1
Ce terme d'erreur caractérise la distance entre les deux maillages Al et. 1 définie lo-
calement, et garantit la fidélité aux données initiales. Le terme de régularisation permet de respecter la topologie d'un mail]age et d'assurer l'unicité de la solution. Afin d'initialiser le problème, une fois la face à supprimer déterminée, trois minimisations (partant de trois
positions initiales différentes choisies de manière à initialiser correctement le processus d'op-
timisation) sont réalisées (figure 2) afin de retenir la solution correspondant au minimum
d'énergie de la fonctionnelle.
Chaque transformation Ti supprimant un sommet de la triangulation et modifiant le
maillage Mi en Mi+1, engendre une augmentation de l'énergie globale qui peut être calculée.
Le coût en énergie résultant de cette décimation est le suivant AETi = E. I, - Ef, (1)
{ AET, > O0
Au départ toutes les transformations possibles sur le maillage sont listées, puis le coût énergétique pour chacune d'entre elles est calculé. Ces transformations sont rangées dans une queue de priorité triée suivant leur coût estimé. Au cours de l'algorithme, la transformation de coût minimum est effectuée, puis les coûts des transformations dans le voisinage affecté par cette modification sont mis à jour(figure 3). Les transformations nouvellement créées sont ajoutées et leur coût estimé est calculé (figure 4). L'algorithme agit donc de manière itérative et décime le maillage Ml d'un sommet et de deux faces à chaque itération. Cette approche de décimation et d'optimisation est bien adaptée au contexte de codage progressif, puisqu'il suffit d'enregistrer la séquence des décimations dans le sens inverse (celui des raffinements) pour coder un maillage sous une forme progressive. Ainsi un maillage.1I peut être représenté
par un maillage à la résolution M0 et par une séquence de raffinements {r0,rl,r2,.. rn}.
L'erreur utilisée pour caractériser la distance entre les deux maillages est la distance euclidienne (ou quadratique) entre le point Xi à optimiser du maillage MI et le maillage AI, qu'il convient de définir. Les points situés à une distance D de Xi dans R2 forment une sphère de rayon D: d2(Xi, M) = min d2(Xi, Y) = min [IXi - Y112 (2) YEM o N
X11II2 = ( x,X2)1/2,X E l.
j=l Le maillage 3t étant une surface triangulée, cela engendre une mesure de la distance entre un point Xi et un ensemble de triangles. On remarque d'après la définition de la distance L2 dans R3 que le point de M1 situé à la distance minimale de.X, n'est pas toujours unique. Le choix effectif de ce point dépend de l'ordre d'insertion des points et de la nature du test lors de la recherche du minimum (< ou <). La métrique L2 appliquée sur les maillages devient
la métrique D2 puisque l'on raisonne avec une distance point-surface.
ANNEXE 2
Optimisation La technique d'optimisation choisie pour résoudre notre problème de minimisation est
une méthode itérative, appelée gradient adaptatif.
1 Gradient adaptatif Notre objectif consiste donc à minimiser la fonctionnelle E décrite précédemment. Comme
dans tous les cas, la stationnarité de E est une condition nécessaire d'optimalité, effective-
ment, pratiquement toutes les méthodes d'optimisation sans contraintes dans IN consistent à rechercher un vecteur X stationnaire (VE(X) = O). Ce problème est équivalent à la résolution du système d'équations non linéaires DE (1) oxE (x) = 0,Vi= l,...,.1
On peut chercher à résoudre directement ce système, ce qui conduit à la méthode de Newton.
Cependant, cette méthode peut ne pas converger, si le point de départ des itérations est trop éloigné de X. D'autre part, elle suppose la fonction deux fois continûment différentiable, et
elle nécessite le calcul des dérivées secondes en chaque point.
C'est pourquoi les méthodes les plus couramment utilisées procèdent différemment: il s'agit de procédures itératives o l'on engendre une suite de vecteurs X , XK1,... convergeant vers un optimum local de E. Ces méthodes de gradient constituent une famille de méthodes qui procèdent de la façon suivante: On part d'un point X et on calcule le gradient VE(X ) en X de la fonction E à minimiser. Comme VE(X ) indique la direction de la plus grande augmentation de E, on se déplace d'une quantité 7o dans la direction opposée au gradient, et on définit le point: xI = X -70 x l VE(X )I (2) La procédure est répétée et engendre les points X , X,..., X",... suivant la relation ú7E(Xk) Y-k+l = Xk -7k x I VE(Xk 1 (3) Dans cette famille, il convient de signaler les méthodes de gradient à pas déterminé dans lesquelles on choisit à priori les valeurs de déplacements -y7. L'inconvénient de cette procédure est que la convergence peut être très lente. Nous avons donc choisi d'utiliser la méthode de gradient à pas adaptatif, qui consiste à diminuer (resp. augmenter) le pas %Yk lorsque l'erreur augmente (resp. diminue), tout en conservant la contrainte de contrôle du pas, soit: Yk E [Ymin,'ynû.] Finalement, comme critère d'arrêt, nous nous sommes fixés que la différence entre deux erreurs successives devait être inférieure à un e donné. Au cours de la minimisation, les positions des sommets du maillage vont évoluer de manière à minimiser le volume entre les deux surfaces, cette évolution nécessite de calculer le gradient à l'itération k (le terme VE(Xk') de l'équation 2 Variation élémentaire de volume Le processus d'optimisation est donc vu comme une évolution du maillage.M de manière à minimiser V(.I, JI). L'évolution élémentaire du maillage est définie par le champ de vecteurs.lf. En réalisant une paramétrisation de la surface par u et v, le vecteur:31 peut s'exprimer sous la forme,lf (u, v). Si on approxime localement la surface par son plan tangent la variation élémentaire de volume est alors le parallépipède généré par l'évolution
de l'élément de surface dudv dans la direction:lf(u, v) (figure 6).
On peut ainsi exprimer la variation élémentaire de volume induite par l'élément d'aire dudv ôvai"(M, 3,3Af(u;v)) = [ 'f ( A 63 '1 ' (v, v) dudv La variation est négative lorsque le vecteur ô.l est orienté vers l'intérieur du volume d'erreur. la figure 7 présente le cas particulier o l'évolution du maillage se fait dans la direction de la normale. Prenons maintenant en considération le fait que (9d1 (u. t' aA et) 19Mu _ a) A a- dudv = ii(uv)do(u,v) 20. u 9v
avec ii(u, v) la normale unitaire en.l(u, v) et da(u, v) =dudv l'élément d'aire.
ou Tt. i1'dudv l'él ement daire.
On exprime la variation de distance entre.M et:MI 3d(Mf,.lf,3M^I) = J| A Vi(u, v)ô M (u 'v)1 du(u,v)
Cette expression n'est pas facilement utilisable à cause de la valeur absolue. Nous intro- duisons maintenant la fonction: /(u,v) = r1(A1f,, i7(u,v)) = 1 si la
normale est orientée vers le volume intérieur et -1 sinon, nous obtenons alors (Uv)SA'(u, v)| =.(u,v)il(u,v)@3f(uv) d'o d(,M,3) = (v)(v)6(uv)d(u) 3 Modèle d'éléments finis triangulaires Afin de calculer le gradient en chaque sommet du maillage à l'itération k de l'algorithme d'optimisation, on paramètre le maillage par un modèle d'éléments finis triangulaires P1: N (u v) = v(ilv) (4) Xi est un sommet du maillage défini dans R3 et A,(u, t') est une fonction de forme adaptée à un modèle d'éléments finis triangulaires. On définit une fonction de forme sur le maillage par le biais de coordonnées barycentriques tel que cela est décrit dans le document "la méthode
des éléments finis, formulation de base et problèmes linéaires", par O.C. Zienkiewicz et R.L.
Taylor (afnor technique, 4ième édition, 1991). Pour cela on numérote les sommets du triangle (figure 8), et on définit un système de coordonnées A1, A2. et A3 liées par les relations x = A\1 xl+,.. x2 + A3 r3
Y = A1 Y +.2 Y2 + 3 Y3
1 = Al + A2 + A3 Nous allons maintenant déterminer les valeurs des fonctions de base: au sommet 1, A = 1, A2 = 0 et A3 = 0. Les lignes de niveau de Al sont des lignes équidistantes parallèles au côté 2 - 3 le long duquel Al = 0. On peut exprimer la coordonnée Al en un point P par un rapport d'aires A,- aire(P23) (5) aire(123) On obtient l = al +bl x +cl y
2A
a2 + b2. x + c2 y h2:=
2- 2A
3as + b3 - x + c3 y h3 = 2 2A Avec
1 1 XI YI
A =aire(123)=.de 1 x2 y2 1 x3 y3 al = X2 'Y3 - Z3 - Y2 bl =Y2 - Y3 Cl = X3 - X2
On calcule les valeurs a2, b2, c2, a3, b3, et C3 par permutation circulaire des indices 1, 2 et 3.
4 Evolution de surface L'évolution du maillage peut ainsi s'écrire N êd(AMM,6X1,, . = - V) x t,iA,(u, v)do(u, v) on en déduit la dérivée partielle de la distance pour un sommet Xi: V = (uv)(uv)i(u,)d(u,) JJ)axiVESUPP(Ai) L'algorithme de gradient pour un sommet Xi s'écrit sous la forme A t t 01$ o '/i représente un pas adaptatif avec yi E ['ymin, o] Au départ le pas est initialisé à -yo, puis il est multiplié par k (avec k < 1) en présence d'une oscillation, c'est à dire lorsque
a1,k+l 8V-
< -- >< O Le comportement de l'algorithme d'optimisation peut- être illustré en 2d (figures 10 et 11), l'évolution du sommet Xi du modèle M est liée à la somme des vecteurs d'orientation du modèle par rapport à la courbe originale 31, pondérés par la fonction de forme qui vaut 1 en Xi et décroît en O le long des segments voisins de Xi. En 3d le principe
est le même avec une fonctio'dle forme définie sur les triangles voisins du sommet Xi.

Claims (15)

REVENDICATIONS
1. Procédé de codage d'un maillage source (M) représentatif d'un objet en trois dimensions, délivrant un maillage simplifié (M') correspondant audit maillage source (M), lesdits maillages étant définis par un ensemble de sommets, d'arêtes et/ou de faces, caractérisé en qu'il met en oeuvre une étape de minimisation d'un volume compris
entre ledit maillage source (M) et ledit maillage simplifié (M').
2. Procédé de codage d'un maillage source selon la revendication 1, caractérisé en ce que, chacun desdits maillages étant défini par la position de chacun de ses sommets, ladite étape de minimisation assure la détermination des positions des sommets (X 1, X2,... Xn) dudit maillage simplifié (M') minimisant le
volume V(M, M') entre ledit maillage source et ledit maillage simplifié.
3. Procédé de codage d'un maillage source selon l'une quelconque des
revendications 1 et 2, caractérisé en ce que ladite étape de minimisation met en
oeuvre un processus itératif optimisant progressivement les positions des sommets
dudit maillage simplifié (M').
4. Procédé de codage d'un maillage source selon la revendication 3, caractérisé en ce que ledit processus itératif est interrompu lorsqu'au moins un des critères d'arrêt suivants est atteint: - un nombre maximum d'itérations; - une différence entre deux vecteurs déplacement successifs des
positions des sommets inférieure à un seuil prédéterminé (Epsilon).
5. Procédé de codage d'un maillage source selon l'une quelconque des
revendications 2 à 4, caractérisé en ce que ladite étape de minimisation met en
oeuvre une méthode de gradient adaptatif.
6. Procédé de codage d'un maillage source selon la revendication 5, caractérisé en ce que ladite méthode de gradient adaptatif repose sur les opérations suivantes: sélection d'un vecteur Xp de R 3n (n > 1) dudit maillage simplifié, et calcul du gradient VE (Xp) en Xp de la fonction à minimiser E = d(M, M'(X1,...,Xn)); détermination de la position Xp de Xp dudit maillage, selon la relation définie à l'itération k+1 par: V E(Xpk) k+ 1 k __ _ _ __ _ _ X p =X p - Yk Xkj xY=x k- I 1iVE(Xxpk)ll
k variant de 0 à n-1 et yk étant le pas de ladite relation.
7. Procédé de codage d'un maillage source selon la revendication 6, caractérisé en ce que ledit pas yk est variable, et en ce qu'il varie en fonction de l'oscillation de deux déplacements successifs des sommets et/ou en fonction des
variations de l'énergie.
8. Procédé de codage d'un maillage source selon la revendication 7, caractérisé en ce que ledit pas yk est maintenu entre deux bornes Ymin et Ymax ' 9. Procédé de codage d'un maillage source selon l'une quelconque des
revendications 2 à 8, caractérisé en ce que, à chaque itération, on détermine une
variation élémentaire dudit volume correspondant à un champ de vecteurs 5b1, et en ce que, la surface étant paramétrée par u et v, de façon qu'un vecteur 51' s'exprime sous la forme M19' (u, v), ladite variation élémentaire est assimilée au parallélépipède généré par l'évolution de l'élément de surface dudv dans la
direction 519 (u, v).
10. Procédé de codage d'un maillage source selon la revendication 9, caractérisé en ce que la variation élémentaire entre M et M' s'écrit: d(M,M', 5/1') =-. f rl(u,v)à(u,v)È1f (u,v)d(Y(u,v) u,v avec: r(u,v)=il(M,M,fi(u,v)) = 1 si la normale unitaire fi(u,v) est
orientée vers le volume intérieur, et -1 sinon.
1 1. Procédé de codage d'un maillage source selon l'une quelconque des
revendications 1 à 10, caractérisé en ce que ledit maillage simplifié est paramétré à
l'aide d'un modèle d'éléments finis.
12. Procédé de codage d'un maillage source selon la revendication 1 1, caractérisé en ce que lesdits éléments finis sont obtenus à l'aide d'un interpolateur affine. 1 3. Procédé de codage d'un maillage source selon l'une quelconque des
revendications 11 et 12, caractérisé en ce que ledit maillage simplifié s'écrit:
N M(u,v)= Z X x;(u,v) i--I avec X,(u,v) une fonction de forme adaptée à un modèle d'éléments finis triangulaires, et Xi sommet dudit maillage, défini dans R3, et en ce qu'on définit une fonction de forme sur le maillage par le biais de
coordonnées barycentriques.
14. Procédé de codage d'un maillage source selon la revendication 13, caractérisé en ce que la variation de la position d'un sommet Xi à la kième itération s'écrit: k+l a di Xap Xun so X1 avec la dérivée partielle de la distance pour un sommet Xi: a âd
d- -I f rl(u,v)h(u,v)X.(u,v)do(u,v).
a Xi u,v e Supp(O) 15. Procédé de codage d'un maillage source selon l'une quelconque des
revendications 1 à 14, caractérisé en ce qu'il met en oeuvre un codage progressif
dudit maillage simplifié, par décimation d'un sommet et optimisation locale ou par décimation d'un ensemble sommets et optimisation globale. 16. Procédé de codage d'un maillage source selon la revendication 15, caractérisé en ce que ledit maillage simplifié est représenté par un maillage de base
et une séquence de raffinements dudit maillage de base.
17. Procédé de codage d'un maillage source selon l'une quelconque des
revendications 15 et 16 et selon la revendication 6, caractérisé en ce qu'il
comprend une étape d'initialisation du veceteur Xp, comprenant une étape de dénombrement des arêtes vives autour de deux sommets à fusionner, après ladite décimation, et en ce que: - si les nombres d'arêtes vives sont les mêmes autour des deux sommets, on place le sommet résultant de la fusion au milieu du segment reliant lesdits sommets; - si les nombres d'arêtes vives sont différents, on place le sommet résultant de la fusion sur le sommet présentant le plus grand
nombre d'arêtes vives.
1 8. Procédé de codage d'un maillage source selon l'une quelconque des
revendications 14 à 17, caractérisé en ce que le calcul du gradient à kitme itération
comprend les étapes suivantes: - discrétisation de l'expression de la dérivée partielle de la distance pour chaque sommet Xi, sous la forme: N M X 'E =!(i =1 J(iJ (ij)d(iJ e$i =1 j. =l avec: - S l'ensemble des triangles voisins du sommet Xi; - NX le nombre de points échantillonnés dans la direction de u; - M le nombre de points échantillonnés dans la direction de v; - orientation des surfaces, par identification de la plus proche intersection avec le maillage source M. 1 9. Procédé de codage d'un maillage source selon l'une quelconque des
revendications 1 à 18, caractérisé en ce que l'orientation relative des surfaces audit
maillage source et dudit maillage simplifié est calculée selon l'équation: 1rl(u,v) =--< fiM,"fiM> < fi M., XijXM > avec: Xj le point échantillonné sur M'; XM le point d'intersection de la droite passant par Xj et de direction fi avec le maillage source M; tim la normale au maillage source M au point Xj;
nM. la normale au maillage source M' au point Xj.
20. Procédé de codage d'un maillage source selon l'une quelconque des
revendications 1 à 19, caractérisé en ce qu'il comprend une étape de limitation de
la dégradation due à une transformation élémentaire, mettant en oeuvre une queue
de priorité sur les transformations élémentaires.
2 1. Procédé de codage d'un maillage source selon la revendication 20, caractérisé en ce que ladite étape de limitation de la dégradation due à une transformation élémentaire, c'est-à-dire une fusion d'arête, définie par deux sommets, comprend les étapes de: - calcul d'un coût pour chaque transformation élémentaire possible; - réalisation de la transformation élémentaire de moindre coût; - recalcul des coûts des transformations élémentaires modifiées par la transformation élémentaire précédente; ajout des nouvelles transformations élémentaires créées et calcul
des coûts correspondants.
22. Procédé de codage d'un maillage source selon la revendication 21, caractérisé en ce que le coût d'une transformation élémentaire (Ti) s'exprime par: C(T1i(XijXj)) = max d2 (VMF(X)) avec: Ti transformation fusionnant deux sommets Xi et Xj dudit maillage simplifié M'; xif le sommet dudit maillage simplifié M' résultant de ladite transformation; F(Xif) les faces dudit maillage simplifié M' avoisinant le sommet xjf après ladite transformation; VM ensemble des sommets dudit maillage source M appartenant aux faces ayant été intersectées lors du calcul de l'orientation des
surfaces pendant ladite minimisation.
23. Application du procédé de codage d'un maillage source selon l'une
quelconque des revendications 1 à 22 à au moins un des domaines appartenant au
groupe comprenant: - la réalité virtuelle; - la simulation scientifique;
- la modélisation.
FR9813090A 1998-10-15 1998-10-15 Procede de codage d'un maillage source par minimisation de volume, et applications correspondantes Expired - Fee Related FR2784770B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR9813090A FR2784770B1 (fr) 1998-10-15 1998-10-15 Procede de codage d'un maillage source par minimisation de volume, et applications correspondantes
PCT/FR1999/002524 WO2000022577A1 (fr) 1998-10-15 1999-10-15 Procede de codage d'un maillage source, avec optimisation de la position d'un sommet resultant d'une fusion d'arete, et applications correspondantes
EP99949060A EP1121665B1 (fr) 1998-10-15 1999-10-15 Procede de codage d'un maillage source, avec optimisation de la position d'un sommet resultant d'une fusion d'arete, et applications correspondantes
DE69906339T DE69906339D1 (de) 1998-10-15 1999-10-15 Verfahren zur quellnetzkodierung mit optimierung der lage einer ecke die sich aus einer kantenzusammenführung ergibt und deren anwendung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9813090A FR2784770B1 (fr) 1998-10-15 1998-10-15 Procede de codage d'un maillage source par minimisation de volume, et applications correspondantes

Publications (2)

Publication Number Publication Date
FR2784770A1 true FR2784770A1 (fr) 2000-04-21
FR2784770B1 FR2784770B1 (fr) 2000-12-22

Family

ID=9531736

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9813090A Expired - Fee Related FR2784770B1 (fr) 1998-10-15 1998-10-15 Procede de codage d'un maillage source par minimisation de volume, et applications correspondantes

Country Status (1)

Country Link
FR (1) FR2784770B1 (fr)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448687A (en) * 1988-09-13 1995-09-05 Computer Design, Inc. Computer-assisted design system for flattening a three-dimensional surface and for wrapping a flat shape to a three-dimensional surface

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448687A (en) * 1988-09-13 1995-09-05 Computer Design, Inc. Computer-assisted design system for flattening a three-dimensional surface and for wrapping a flat shape to a three-dimensional surface

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
GROSSKOPF S ET AL: "Fitting geometrical deformable models to registered range images", 3D STRUCTURE FROM MULTIPLE IMAGES OF LARGE-SCALE ENVIRONMENTS. EUROPEAN WORKSHOP, SMILE'98. PROCEEDINGS, 3D STRUCTURE FROM MULTIPLE IMAGES OF LARGE-SCALE ENVIRONMENTS. EUROPEAN WORKSHOP, SMILE'98. PROCEEDINGS, FREIBURG, GERMANY, 6-7 JUNE 1998, ISBN 3-540-65310-4, 1998, Berlin, Germany, Springer-Verlag, Germany, pages 266 - 274, XP002107907 *
LABELLE L ET AL: "Computation of image representation based on active triangular meshes through geometrical surface evolution", VISUAL COMMUNICATIONS AND IMAGE PROCESSING '97, SAN JOSE, CA, USA, 12-14 FEB. 1997, vol. 3024, pt.2, ISSN 0277-786X, Proceedings of the SPIE - The International Society for Optical Engineering, 1997, SPIE-Int. Soc. Opt. Eng, USA, pages 843 - 854, XP002106817 *
LECHAT P ET AL: "Image approximation by minimization of a geometric distance applied to a 3D finite elements based model", PROCEEDINGS. INTERNATIONAL CONFERENCE ON IMAGE PROCESSING (CAT. NO.97CB36144), PROCEEDINGS OF INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, SANTA BARBARA, CA, USA, 26-29 OCT. 1997, ISBN 0-8186-8183-7, 1997, Los Alamitos, CA, USA, IEEE Comput. Soc, USA, pages 724 - 727 vol.2, XP002106801 *
YAO WANG ET AL: "Use of two-dimensional deformable mesh structures for video coding. II. The analysis problem and a region-based coder employing an active mesh representation", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, DEC. 1996, IEEE, USA, vol. 6, no. 6, ISSN 1051-8215, pages 647 - 659, XP002106799 *

Also Published As

Publication number Publication date
FR2784770B1 (fr) 2000-12-22

Similar Documents

Publication Publication Date Title
Ciampalini et al. Multiresolution decimation based on global error
EP3292541B1 (fr) Procede des simplification de modele de geometrie
FR2961930A1 (fr) Procede de compression / decompression de maillage tridimensionnel
WO2003055141A2 (fr) Procédé de transmission d&#39;objets entre un serveur et un terminal client mettant en oeuvre une gestion de cache
FR2999325A1 (fr) Procede iteratif de determination d&#39;une image en deux dimensions ou trois dimensions a partir de signaux issus de tomographie par rayons x
US11893691B2 (en) Point cloud geometry upsampling
FR2781908A1 (fr) Procede de codage d&#39;un maillage a nombre reduit de facettes, procede de reconstruction et applications correspondants
Xu et al. Feature-preserving simplification framework for 3D point cloud
EP1393573A1 (fr) Procedes et dispositifs de codage et de decodage d&#39;images mettant en oeuvre des maillages emboites, programme, signal et application correspondants
Minto et al. Online access and sharing of reality-based 3D models
EP1101199B1 (fr) Simplification et codage d&#39;un maillage source
WO2002043005A1 (fr) Procede de codage par ondelettes d&#39;un maillage
EP1413140A1 (fr) Procede d&#39;estimation de mouvement entre deux images avec gestion des retournements de mailles et procede de codage correspondant
EP1800263A2 (fr) Procede de decodage local d&#39;un train binaire de coefficients d&#39;ondelettes
Zhang et al. Transmission and visualization of large geographical maps
Chen et al. An orientation inference framework for surface reconstruction from unorganized point clouds
FR2784770A1 (fr) Procede de codage d&#39;un maillage source par minimisation de volume, et applications correspondantes
EP1121665B1 (fr) Procede de codage d&#39;un maillage source, avec optimisation de la position d&#39;un sommet resultant d&#39;une fusion d&#39;arete, et applications correspondantes
EP1141899B1 (fr) Procede de simplification d&#39;un maillage source, tenant compte de la courbure locale et de la dynamique geometrique locale, et applications correspondantes
CN112215959A (zh) 一种利用图片切割的三维模型贴图***
Abdelfattah et al. On Image to 3D Volume Construction for E-Commerce Applications
Fervers et al. Improving Semantic Image Segmentation via Label Fusion in Semantically Textured Meshes
Sun et al. View-dependent progressive transmission and rendering for lunar model based on bicubic subdivision-surface wavelet
Murayama et al. Development of Real Environment Datasets Creation Method for Deep Learning to Improve Quality of Depth Image
Zhou et al. Multiresolution surface reconstruction: edge collapsing+ simplification envelopes

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20080630