FR3084951A1 - Procede et systeme de tranformation de cartes normales en cartes de hauteurs - Google Patents

Procede et systeme de tranformation de cartes normales en cartes de hauteurs Download PDF

Info

Publication number
FR3084951A1
FR3084951A1 FR1870920A FR1870920A FR3084951A1 FR 3084951 A1 FR3084951 A1 FR 3084951A1 FR 1870920 A FR1870920 A FR 1870920A FR 1870920 A FR1870920 A FR 1870920A FR 3084951 A1 FR3084951 A1 FR 3084951A1
Authority
FR
France
Prior art keywords
maps
height
normal
map
transforming
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
FR1870920A
Other languages
English (en)
Other versions
FR3084951B1 (fr
Inventor
Jean-Francois El Hajjar
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.)
Allegorithmic SAS
Original Assignee
Allegorithmic SAS
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 Allegorithmic SAS filed Critical Allegorithmic SAS
Priority to FR1870920A priority Critical patent/FR3084951B1/fr
Priority to US16/529,618 priority patent/US11217035B2/en
Publication of FR3084951A1 publication Critical patent/FR3084951A1/fr
Priority to US17/206,355 priority patent/US11450078B2/en
Application granted granted Critical
Publication of FR3084951B1 publication Critical patent/FR3084951B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Architecture (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Abstract

Procédé et Système de transformation de cartes de normales en cartes de hauteurs pour système de traitement d'images, comprenant un module (5) de transformation de cartes de normales en cartes de hauteur, apte à traiter les données de cartes de normales (4) pour les transformer en données de cartes de hauteurs (6), en prenant en compte les irrégularités présentes dans les basses fréquences des cartes de normales.

Description

Description
Titre de l’invention : Procédé et système de transformation de cartes normales en cartes de hauteurs
Domaine technique [0001] La présente invention concerne un procédé de transformation de cartes de normales en cartes de hauteurs pour système de traitement d’images.
Technique antérieure [0002] En informatique graphique, les cartes de normales constituent un moyen simple, élégant et performant d’augmenter un maillage de détails géométriques macroscopiques. En effet, en retrouvant les informations de normales à la surface de par un accès texture (i.e. la carte de normales) pour toute portion du maillage rendu, on arrive ainsi à simuler des interactions entre la lumière et la matière à une échelle plus fine comparativement à ce que la tessellation du maillage permettrait en général.
[0003] De façon analogue, une carte de hauteur permet d’augmenter un maillage de détails géométriques toujours de nature macroscopique, cette fois-ci en faisant correspondre pour toute portion de surface échantillonnée un facteur d’élévation relatif à la normale du support géométrique. Ainsi, il est possible de simuler des interactions entre la lumière et la matière en se basant sur la géométrie-même et non sur des informations de variation de la géométrie (i.e. sa dérivée d’ordre 1) tel qu’avec les cartes de normales ; ce qui permet par exemple d’obtenir des rendus plus réalistes (notamment de par la possibilité de rendre les ombres) au détriment des performances étant donné que l’on augmente la tessellation du maillage en se basant sur les informations contenues dans la texture décrivant la carte de hauteurs.
[0004] D’un point de vue conceptuel, une carte de normales et une carte de hauteurs encodent la même information de type géométrique, soit une description d’une surface tridimensionnelle à travers une carte de représentation bidimensionnelle, mais avec une modélisation différente de l’information de cette dernière. Tandis qu’une carte de normales encodera l’information à travers une dérivation d’ordre 1 de la surface (i.e. à travers des informations de pentes de la géométrie pour lesquelles on sait calculer de façon déterministe les vecteurs normaux à la surface), une carte de hauteurs quant à elle encodera cette même information à l’ordre 0 (i.e. à travers des informations de géométrie même, soit la hauteur).
[0005] Ainsi, d’un point de vue mathématique, il existe une relation intrinsèque entre une carte de normales et son équivalence en carte de hauteurs, dans le sens où l’on pourrait idéalement pour toute carte de normales dériver une carte de hauteurs, et vice versa. Cependant en pratique et d’un point de vue numérique, tandis qu’il est aisé d’obtenir une carte de normales à partir d’une carte de hauteurs (par exemple par une différenciation à l’ordre 1 des informations de hauteurs), obtenir une carte de hauteurs à partir d’une carte de normales s’avère bien plus complexe étant donné qu’il s’agit d’un problème d’intégration et non de différenciation. Dans le domaine de l’analyse vectorielle, il est démontré qu’un champs vectoriel (i.e. une carte de normales) est intégrable si et seulement si ce dernier est dit irrotationnel. Cependant, dans notre cas, cette hypothèse forte n’est quasiment jamais satisfaite (car dans le contexte d’un outil d’édition pour artistes, soit une boîte noire, nous ne maîtrisons pas le contenu des données obtenues en entrée), d’où l’obligation d’employer des méthodes numériques complexes afin d’obtenir une carte de hauteurs à partir d’une carte de normales. Il est aussi à noter que dans le cas de l’extraction d’une carte de hauteurs à partir d’une carte de normales, il est prouvé à travers le domaine de l’algèbre linéaire qu’à une carte de normales peuvent correspondre plusieurs cartes de hauteurs valides, contrairement à l’obtention d’une carte de normales à partir d’une carte de hauteurs qui lui est un procédé déterministe, ce qui complexifie d’autant plus la tâche.
[0006] Se pose alors la question de l’intérêt de calculer une carte de hauteurs à partir d’une carte de normales si cette dernière est disponible, étant donné que ces deux types de cartes encodent la même information mais sous une forme différente, et étant donné la complexité de mise en oeuvre de l’obtention d’une carte de hauteurs à partir d’une carte de normales. On pourra notamment citer comme raisons (liste non exhaustive) : [0007] · le jeu de textures décrivant un matériau en possession de l’artiste est incomplet dans le sens où une carte de normales est présente, mais pas son homologue qu’est la carte de hauteurs.
-le jeu de textures décrivant un matériau en possession de l’artiste est complet mais la carte de hauteur est de qualité non satisfaisante, phénomène relativement courant.
[0008] · la carte de hauteurs présente ne modélise pas la même information géométrique que celle contenue dans la carte de normales. Effectivement, bien que théoriquement une carte de normales encode la même information géométrique qu’une carte de hauteurs, en pratique cela est rarement le cas. On pourra notamment citer comme raison principale la différence entre les dispositifs de capture dédiés, qui en général sont la Photométrie Stéréo pour l’obtention des cartes de normales (procédé de capture favorisant les hautes fréquences géométriques) et le Scan tridimensionnel pour les cartes de hauteurs (procédé de capture favorisant les basses fréquences géométriques). Ainsi, en admettant qu’un artiste soit en possession de deux types de cartes en question, chacune ayant été capturée par son procédé matériel dédié, il existera en général une différence significative entre une carte de hauteurs issue du Scan tridimensionnel et celle obtenue à partir de la carte de normales elle même issue de la Photométrie Stéréo, différence dans laquelle l’artiste trouvera un intérêt à l’utilisation (par exemple avoir une carte de hauteurs qui modélise plus fidèlement les hautes fréquences des détails géométriques).
[0009] En termes d’utilité en informatique graphique, une carte de hauteurs présente des intérêts auquel son homologue qu’est la carte de normales ne peut prétendre, motivant ainsi d’autant plus le besoin pour des méthodes capables d’extraire une carte de hauteurs à partir d’une carte de normales. On pourra notamment citer en termes d’applications :
[0010] · utilisation de techniques de rendu 3D plus réalistes tel que le «displacement mapping » au lieu de « normal mapping ».
[0011] · édition artistique d’une carte de normale à travers sa carte hauteur (la conversion dans le sens carte de hauteurs vers carte de normales étant simple et aisée) en raison de l’existence d’outils 3D plus appropriés, mais aussi en raison de l’aspect plus intuitif qu’est le processus d’édition pour l’artiste (effectivement, il est plus naturel pour le cerveau humain d’interpréter des informations géométriques de hauteur que des informations de pente, d’autant plus que ces dernières sont en général affichées au sein d’un logiciel de création artistique de manière non intuitive, en général un code couleur pour un vecteur tridimensionnel, tandis qu’une information de hauteur se modélise et se comprend aisément pour l’humain à travers l’affichage d’un niveau de gris).
[0012] -génération procédurale d’un maillage tridimensionnel à partir d’une carte de hauteurs, ce qui est difficilement réalisable à partir d’une carte de normales sans conversion préalable de cette dernière en carte de hauteurs.
[0013] Il existe donc un besoin pour obtenir des cartes de hauteurs à partir de cartes de normales, tout en respectant les deux principales contraintes usuelles dans un contexte d’outil de création artistique : qualité des cartes de hauteurs (a contrario, résultats inutilisables) et obtention des résultats dans des délais raisonnables (l’outil peut alors répondre au critère de l’interactivité, critère majeur dans le cadre d’un logiciel de création artistique).
[0014] Pour pallier ces différents inconvénients, l’invention prévoit différents moyens techniques.
Résumé de l’invention [0015] Tout d’abord, un premier objectif de l’invention consiste à prévoir un procédé permettant d’obtenir des cartes de hauteurs à partir de cartes de normales.
[0016] Un autre objectif de l’invention consiste à prévoir un procédé permettant d’obtenir les données de cartes de hauteur de façon sensiblement instantanée.
[0017] Un autre objectif de l’invention consiste à prévoir un procédé permettant d’éliminer ou d’atténuer les zones d’oscillation des cartes de normales.
[0018] Pour ce faire, l’invention prévoit un procédé de transformation de cartes de normales en cartes de hauteurs pour système de traitement d’images, comprenant les étapes consistant à :
[0019] - recevoir au moins une carte de normales 3D comportant des données de valeurs de normale pour chaque pixel;
[0020] - transformer la carte de normales 3D en une carte de gradients 2D : g ;
[0021] - déterminer une matrice 2D d’un laplacien 1D pour une bande virtuelle : A_B ;
[0022] - déterminer un champs de gradients 1D à partir d’un champs de gradients 2D g pour ia bande virtuelle : g_B ;
[0023] - appliquer un opérateur de divergence 1D aux champs de gradients 1D g_B pour la bande virtuelle : b_B ;
[0024] - résoudre un système d'équations linéaires symétriques défini positif A_B z_B = b_B avec deux conditions aux bords de type Dirichlet de même valeur à gauche et à droite: z_B ; [0025] - appliquer un opérateur de divergence 2D au champs de gradients 2D g : b [0026] - résoudre un système de Poisson 2D avec comme terme de droite b et des conditions aux bords de type Dirichlet égales à z_b : z ;
[0027] -générer une carte de hauteurs comportant des données de valeurs de hauteur pour chaque pixel, à partir de la conversion de z au format voulu.
[0028] Selon un mode de réalisation avantageux, la carte de hauteur obtenue est utilisée pour définir au moins une partie des données de paramètres d’un matériau. On peut ainsi obtenir une ou plusieurs des textures qui décrivent usuellement un matériau.
[0029] Selon un autre mode de réalisation avantageux, la carte de hauteur obtenue est utilisée pour créer un rendu 3D. On peut ainsi obtenir un rendu réaliste, permettant en outre de rendre les ombres.
[0030] Selon un autre exemple avantageux, la carte de hauteur obtenue est utilisée pour créer ou éditer une ou plusieurs images.
[0031] L’invention prévoit également un système de transformation de cartes de normales en cartes de hauteurs pour système de traitement d’images, comprenant un module de transformation de cartes de normales en cartes de hauteurs, apte à traiter des données de cartes de normales comportant des données de valeurs de normale pour chaque pixel, pour ies transformer en données de cartes de hauteurs, comportant des données de valeurs de hauteur pour chaque pixel, en prenant en compte des irrégularités présentes dans des basses fréquences des cartes normales.
[0032] Dans un exemple avantageux, ie système comprend également un module de rendu basé displacement mapping.
[0033] Dans un autre exemple, le système comprend un module de transformation en mailiage géométrique.
[0034] Dans un autre exemple, le système comprend également un module de transformation en cartes de normales.
[0035] Dans encore un autre exemple, ie système comprend également un module de traitement de textures définissant ies paramètres d’un matériau.
[0036] Dans un autre exemple, le système comprend également un module d'édition ar5 tistique de cartes de hauteurs.
Brève description des dessins [0037] Tous les détails de réalisation sont donnés dans la description qui suit, complétée par les figures 1 à 8, présentées uniquement à des fins d’exemples non limitatifs, et dans lesquelles :
Fig.l [0038] [fig.l] est une représentation schématique d’un exemple d’outil ou système de transformation de cartes de normales en cartes de hauteur ;
Fig.2 [0039] [fig.2] est un organigramme fonctionnel illustrant les principales étapes d’un exemple de procédé de transformation de cartes de normales en cartes de hauteur ;
Fig.3 [0040] [fig.3] est un exemple de carte de normales ;
Fig.4 [0041] [fig.4] est un exemple de carte de hauteurs ;
Fig.5 [0042] [fig.5] est un exemple de résultat obtenu pour le calcul d’une carte de hauteurs à partir d’une carte de normales (représentant un cuir de crocodile) à travers la résolution d’une équation de Poisson et des conditions aux bords de Neumann ;
Fig.6 [0043] [fig.6] est un exemple de résultat obtenu pour le calcul d’une carte de hauteurs à partir d’une carte de normales (représentant un cuir de crocodile) à travers la résolution d’une équation de Poisson et des conditions aux bords de Dirichlet approchant théoriquement des conditions de Neumann ;
Fig.7 [0044] [fig.7] est un exemple de rendu d’une scène tridimensionnelle où des pavés sont rendus sans la prise en compte de la carte de hauteurs ;
Fig.8 [0045] [fig.8] est un exemple de rendu d’une scène tridimensionnelle où des pavés sont rendus avec la prise en compte de la carte de hauteurs usant de la technique de « displacement mapping ».
Description des modes de réalisation [0046] L’obtention d’une carte de hauteurs à partir d’une carte de normales est un sujet d’intérêt pour la communauté de la Photométrie Stéréo, et plus généralement pour celle de la Vision par Ordinateur, cela depuis le début des années 1980.
[0047] Deux approches sont possibles : celle utilisant une intégration locale et incrémentale de la carte de normales, et celle obtenant une carte de hauteurs à travers la résolution d’une équation de Poisson. Etant donné que la première pré-requiert que la carte de normales décrive un champs de vectoriel intégrable et donc irrotationnel (qui pour rappel, est rarement le cas dans notre contexte) alors que la seconde permet l’intégration d’une carte de normales quelconque tout en présentant des atouts d’importance cruciale que sont la robustesse et la performance, la seconde approche a été retenue.
[0048] En mathématiques, lorsque l’on modélise un problème sous une forme d’équations différentielles, il est nécessaire d’imposer aux variables des conditions aux bords sur la frontière du domaine d’intégration afin de rendre ces dernières intégrables. On distingue notamment les conditions aux bords de type Dirichlet qui imposent des valeurs aux variables et celles de type Neumann qui imposent des valeurs aux dérivées des variables. Dans le cadre de la résolution d’une équation de Poisson avec des conditions aux bords de Neumann, il est démontré tant en théorie qu’en pratique numérique que le résultat est soumis à un phénomène d’oscillation sur les bords. Or, dans le cas d’une extraction de cartes de hauteurs à partir de cartes de normales, les conditions aux bords modélisant notre problème sont de type Neumann (à contrario, l’artiste se devrait de spécifier manuellement les valeurs de la hauteur le long de la bordure de la carte, soit des conditions aux bords de Dirichlet, scénario non réaliste qui serait d’autant plus enclin à l’erreur tout en prenant un temps considérable). Tandis que des conditions aux bords de Neumann impliqueraient un résultat dont la qualité ne permettrait pas son utilisation dans le cadre de l’informatique graphique, des conditions aux bords de Dirichlet quant à elles garantiraient l’obtention interactive de résultats de qualité, et donc exploitable par l’artiste.
[0049] L’invention que l’on propose consiste en l’imposition virtuelle de conditions aux bords de Neumann sous la forme de conditions aux bords de Dirichlet dans le cadre de la résolution numérique (méthodes des différences finies) d’une équation de Poisson, permettant ainsi de correctement modéliser le système équationnel qui décrit l’obtention d’une carte de hauteurs à partir d’une carte de normales, tout en permettant de répondre au critère qualitatif du résultat ainsi qu’à celui de la performance quant à leur obtention.
[0050] PRINCIPE MIS EN ŒUVRE :
[0051] Intégration d’une carte de normales quelconque en une carte de hauteurs :
[0052] [Equ 1] [0053] .In \ fi I rtTi
SoitechainpsA gradients I F 1 -issu/d’un champs de normales I n» tel que® = — — et® —
W WW f
[0054] [0055] [0056] [0057] [0058] [0059]
On peut alors considérer que le champ de hauteur est le résultat issu de la minimisation d’une fonctionnelle au sens des moindres carrés :
[Equ 2]
- JJ ({z1: - p)2 - (zy - y)2)d.:i:dy
L’équation d’Euler Lagrange correspondante est alors : [Equ 3] où V et V2 sont respectivement les opérateurs différentiels en deux dimensions du gradient T . d d . 4 , . o â2 d2 v =1â7ÿMd,,lî,plac,fv = ^ + ^[0060] Étant donné que le champs de gradients constitue une donnée du problème (i.e. est issu de la carte de normales), le terme de droite de cette équation est calculable et constitue un vecteur constant dont la taille est égale au nombre de pixels à calculer dans la carte de hauteur. On reconnaît ainsi une équation aux dérivées partielles du second ordre dite de Poisson, équation classique dans le domaine de l’analyse vectorielle. En complétant la définition du problème de par des conditions aux bords de type pure Neumann, on cherche à déterminer numériquement le champ de hauteur de par la résolution du système z(x, y) de par la résolution du système linéaire suivant :
[0061] [Equ 4] [0062]
Figure FR3084951A1_D0001
Figure FR3084951A1_D0002
Figure FR3084951A1_D0003
sur Ω sur [0063] D’un point de vue de l’algèbre linéaire, la matrice décrivant ce système d’équations linéaires est dit singulier car n’étant pas inversible. Cela est du aux conditions de Neumann qui contraignent la dérivée de la solution relativement à la normale du bord du domaine, et donc qui n’imposent pas l’unicité de la solution (effectivement, si zO est une solution du système d’équation, alors z0+ este est une solution aussi). Afin de [0064] [0065] garantir l’unicité de la solution, il est usuel de rajouter une condition contraignant à [Equ 5] déterminer la solution dont la moyenne est
Plus important encore, afin de garantir l'existence même d’une solution, il est en général nécessaire de satisfaire la condition de compatibilité de l’intégration JJ V - = J V · · 7?, sachant que l’opérateur du laplacien V2 se comporte bien sur l’espace des fonctions dont la moyenne est nulle (en d’autres termes, lorsque / f V f j — ί V p] - r/ =0).
[0066] Dans le cadre de l’intégration d’une carte de normales en tant que carte de hauteurs, non seulement l’existence d’une solution ne peut être systématiquement garantie à travers la condition de compatibilité (le champ de gradients étant une contrainte forte du problème, soit on ne peut garantir que la moyenne de sa divergence sur le domaine entier ainsi que sur sa bordure soit nulle) ; et la condition pour la garantie de Γunicité de la solution (i.e. garantie de la convergence) prévient l’usage de méthodes de résolution rapide étant donné que le système d’équation devient surdéterminé.
[0067] Ainsi en pratique, une carte de hauteurs issue de la résolution d’une équation de Poisson avec des conditions aux bords de type Neumann présentera en général deux caractéristiques non désirables dans le cadre d’un logiciel de création artistique :
[0068] · performance non interactive sur des cartes de normales de taille usuelle, (par exemple on considère de nos jours qu’une texture de 4096 par 4096 éléments est standard dans le milieu du jeu vidéo, soit d’un point de vue de la carte de hauteurs, cela représente 16777216 valeurs de hauteurs à calculer).
[0069] · phénomène d’oscillations sur les bords de la carte de hauteurs liées aux instabilités numériques du processus de calcul, rendant ainsi le résultat rarement utilisable tel quel dans le cadre de l’informatique graphique.
[0070] Afin de pallier à ce problème de correction des résultats ainsi qu’à celui des performances (rédhibitoire dans le cadre d’un logiciel pour artistes 3D), on se propose de reformuler l’imposition des conditions aux bords de type Neumann sous son équivalence en terme de conditions aux bords de type Dirichlet, ces dernières garantissant tant l’existence et l’unicité de la solution sans pour autant surdéterminer le système d’équations :
[0071] [Equ 6] [0072]
Figure FR3084951A1_D0004
Figure FR3084951A1_D0005
sur Ω sur 5Ω [0073] On se propose de considérer la bande virtuelle vb décrivant le contour extérieur de la [0074] [0075] [0076] [0077] [0078] [0079] [0080] [0081] [0082] [0083] [0084] [0085] [0086] [0087] carte de normales (et donc de la carte de hauteurs étant donné que ces dernières sont de dimensions identiques).
Soit w la largeur discrétisée de la carte de normales initiales, h respectivement sa hauteur.
Alors vb est composé de 2w+2h+4 pixels.
Imposer des conditions aux bords de Dirichlet quant à notre problème initial revient à déterminer les valeurs des hauteurs z au sein de cette bande vb.
Pour ce faire, on modélise le problème de déterminer les valeurs des hauteurs au sein de vb selon le même modèle équationnel initial, mais en une dimension cette fois ci et en imposant des conditions aux bords de Dirichlet tel que la bande (i.e. boucle) soit fermée (i.e. la constante pour le bord gauche doit être la même que pour le bord droit). En considérant que cette constante au bord est nulle, et que vb est une courbe unidimensionnelle paramétrée selon la longueur d’arc normalisée t:
[Equ 7] on a alors:
[Equ 8] t e]o, i[ f ~ 0 et t — 1
I V2Z(î) = V1 = 0 où V2 est cette fois l’opérateur laplacien en une dimension V2 = —, mais l’opérateur de divergence at
7_d\ demeure en deux dimensions V = [ J.
Afin de calculer le terme de droite de notre système d’équation, l’opérateur de divergence étant en deux dimensions, il est nécessaire de dilater notre bande dans les deux directions d’une unité de discrétisation. Pour la partie incluse dans le domaine initial W, les valeurs de gradients [Equ 9]
Figure FR3084951A1_D0006
Cependant, pour la bande vb et l’extrusion d’une unité de discrétisation en dehors du domaine, ces valeurs nous sont inconnues. En nous rappelant que relativement au problème originel en deux dimensions que l’on souhaitait imposer des conditions aux bords de type Neumann pure sur la hauteur, on peut ramener l’opérateur de l’opérateur de la divergence à une dimension également :
[Equ 10] [0088] dz . . fp\ _> n f P - 0 sur la bordure en x < 0 et x > w d n \qj I q = 0 sur la bordure en y < 0 et y > h [0089] En gardant uniquement la valeur non nulle du gradient issu de la carte de normales en fonction de la relation de connexité entre les bords de la carte de normales avec la bande, tout en en adaptant le signe de cette dernière en fonction de l’ordre de parcours sur la bande, on définit ainsi un champs de gradient unidimensionnel g dont la divergence produira le terme de droite de l’équation de Poisson dédiée à l’intégration des hauteurs au sein de la bande.
[0090] [Equ 11] [0091]
Soit la bande virtuelle paramétrée de façon discrète par une coordonnée entière i F [0,2w - 2Λ 2] et soit la carte de normales paramétrée de façon discrète par un couple de coordonnées entières (x, y) Ç [0, u! - 1], [0. h - 1], le champs de gradients unidimensionnel au sein de la bande est alors explicitement défini comme étant :
[0092] [Equ 12] [0093] f g(i e [O.w - 1]) g{i € [w 4- 1, w 4- h]) g(w + h + 1)
G [w -p h d- 2,2w 4~ h 4~ 1]) ÿ(2w + Λ. + 2) g(i E [2w + h + 3,2w 4- ‘2h 4-2]) = p(z,0) = q(w-1,0) = q(w — 1, i — (w 4- 1)) = —p(w — 1, h — 1) = -p((2w 4- h 4- 1) — i, h - 1) = —q(0,h — 1) ~ ~~(2w + 2h + 2) — z) [0094] En usant des opérateurs de différences usuels pour le laplacien et celui de la divergence tout en considérant des conditions de Dirichlet au bord nulles à gauche et à droite de la bande, les hauteurs de de la bordure sont alors déterminées par la résolution du système d’équations linéaires suivant :
[0095] [Equ 13]
[0096] '2 -1 0 0 0 ·· 0 '
1 2 -1 0 0 ·· 0
0 -1 2 -1 0 ·.. 0
0 · 0 —1 2 -1 0
o ... 0 0 -1 2 -i
0 0 0 0 -1 2
-1 -1 0 0 0 ·· 0
1 0 1 0 0 0
Q -1 0 1 0 P . > 0
1
- 9B
0 0 —1 0 1 0
0 .... 0 0 -1 1
0 . 0 0 0 1 1
[0097] Étant donné que l’on a pris soin de multiplier par - là gauche et à droite du système d’équations linéaires, ce dernier est symétrique défini positif, ce qui nous permet de l’inverser de façon efficiente et robuste, tel que -par exemple- l’application d’une factorisation de Cholesky.
[0098] Une fois notre bande de hauteurs intégrée, ces dernières nous permettent de résoudre notre système de Poisson en deux dimensions initial en appliquant cette fois-ci des conditions aux bords de Dirichlet (i.e. zB ), pour lequel il existe des solveurs stables et hautement performants (à titre d’exemple, nous avons utilisé celui de la «Intel Math Kernel Library»).
DEFINITIONS:
[0099] Par « paramètres d’un matériau », on entend les données permettant de créer un matériau virtuel pour utilisation interactive dans un système d’imagerie numérique. Les paramètres comprennent par exemple -avec les termes en langue anglaise entre parenthèses- ; Albedo (Albedo), Métal (Metal), Rugosité (Roughness), Normales (Normal), Occlusion Ambiante (Ambiant Occlusion), et de façon de plus en plus répandue en raison de la qualité des jeux des textures et des capacités machines augmentantes, Hauteur (Height).
[0100] OUTIL OU SYSTEME DE TRANSFORMATION : La figure 1 illustre un exemple d’outil ou système de transformation de cartes de normales en cartes de hauteurs pour système de traitement d’images.
[0101] Les données 4 de cartes de normales sont reçues par un module 5 de transformation en carte de hauteurs. Les opérations effectuées pour transformer les cartes de normales en cartes de hauteurs sont décrites en relation avec la figure 2. Les données 6 de cartes de hauteurs peuvent être utilisées pour différentes applications. Les modules 7 à 11 illustrent des exemples d’applications possibles. Par exemple, pour produire un rendu 3D 15, des données de facteur d’échelle 12 sont utilisées avec le module 7 de rendu.
[0102] Dans un autre exemple, pour produire un maillage géométrique 16, des données de facteur d’échelle 12 sont utilisées avec le module 8 de transformation en maillage géométrique.
[0103] Dans un autre exemple, pour produire des cartes de normales 17, des données de facteur d’échelle de grille 13 sont utilisées avec le module 9 de transformation en cartes de normales.
[0104] On peut également utiliser des textures 14 de matériaux afin de générer des textures de matériaux comportant plus de paramètres, souvent de haute précision, à l’aide d’un module 10 de modification de textures.
[0105] Dans un autre exemple, on utilise un module 11 d’édition artistique de carte de hauteurs pour modifier les cartes préalablement obtenues avec des contenus au choix des artistes.
[0106] La mise en œuvre des différents modules du système de transformation de cartes de normales en cartes de hauteurs pour système de traitement d’images préalablement décrit est avantageusement réalisée au moyen d’instructions 2 de processeur ou commandes, permettant aux modules d’effectuer la ou les opérations spécifiquement prévues pour le module concerné. Les instructions 2 de processeur peuvent être sous la forme d’un ou plusieurs logiciels ou modules de logiciels mis en œuvre par un ou plusieurs microprocesseurs 1, en relation avec un bus de une ou plusieurs mémoires RAM 3. Le ou les modules et/ou le ou les logiciels sont avantageusement prévus dans un produit programme d’ordinateur comprenant un support d’enregistrement ou medium d’enregistrement utilisable par un ordinateur et comportant un code programmé lisible par un ordinateur intégré dans ledit support ou medium, permettant à un logiciel applicatif son exécution sur un ordinateur ou autre dispositif comportant un ou plusieurs microprocesseurs tel qu’une tablette.
[0107] Selon diverses variantes de réalisation, le microprocesseur 1, tout comme la mémoire de travail avec les instructions 2 peuvent être centralisés pour tous les modules ou encore être agencés de façon externe, avec connexion aux différents modules, ou encore être répartis localement de façon à ce qu’un ou plusieurs modules disposent chacun d’un microprocesseur et/ou d’une mémoire de travail.
PROCEDE D’APPLICATION DE COULEURS :
[0108] La figure 2 illustre un exemple de mise en œuvre du procédé de transformation de cartes de normales en cartes de hauteurs pour système de traitement d’images.
[0109] Après réception d’une carte de normales 3D à l’étape 20, la carte est transformée en carte de gradients 2D : g à l’étape 21. On prévoit ensuite, à l’étape 21, la détermination de la matrice 2D du laplacien 1D pour la bande virtuelle A-B.
[0110] L’étape 23 concerne la détermination du champs de gradients 1D à partir du champs de gradients 2D g pour la bande virtuelle : g_B. On applique ensuite, à l’étape 24, l'opérateur de divergence 1D au champs de gradients 1D g_B pour la bande virtuelle : b_B.
[0111] L’étape suivante (25), prévoit la résolution du système d'équations linéaires symétrique défini positif A_B z_B = b_B avec les deux condition aux bords de type Dirichlet de même valeur à gauche et à droite (par exemple de par une factorisation de Cholesky) : z_B.
[0112] On applique ensuite l'opérateur de la divergence 2D au champs de gradients 2D g : b (étape 26).
[0113] L’étape 27 concerne la résolution du système de Poisson 2D avec comme terme de droite b et des conditions aux bords de type Dirichlet égales à z_b : z.
[0114] Après conversion de z au format souhaité, on obtient alors (étape 28), une carte de hauteurs.
[0115] L’étape 29 prévoit des options d’utilisation de la carte de hauteurs obtenue en fonction des besoins. On peut par exemple utiliser une carte de hauteurs obtenue pour décrire un matériau. La carte permet de bénéficier d’une grande précision pour parfaire un matériau. Dans un autre exemple, on transforme à nouveau la carte en carte de normales, en conservant alors les hauts niveaux de qualité et de précision. Dans d’autres exemples, on utilise une carte de hauteurs pour un module de rendu ou pour un module d'édition artistique, ou pour une autre application.
[0116] Les figures 3 à 8 illustrent différents exemples de cartes et d’images. La figure 3 est un exemple de carte de normales où pour tout pixel de la carte est affiché le vecteur tridimensionnel normal à la surface. La figure 4 est une illustration de carte de hauteurs où pour chaque pixel de la carte est affiché la hauteur décrivant la surface.
[0117] La figure 5 est un exemple de résultat obtenu pour le calcul d’une carte de hauteurs à partir d’une carte de normales (représentant un cuir de crocodile) à travers la résolution d’une équation de Poisson et des conditions aux bords de Neumann. On remarque les oscillations de la solution sur le bord, rendant ainsi le résultat inexploitable en informatique graphique.
[0118] La figure 6 est un exemple de résultat obtenu pour le calcul d’une carte de [0119] hauteurs à partir d’une carte de normales (représentant un cuir de crocodile) à travers la résolution d’une équation de Poisson et des conditions aux bords de Dirichlet approchant théoriquement des conditions de Neumann. On remarque les oscillations de la solution sur le bord qui sont grandement atténuées, rendant ainsi le résultat exploitable en informatique graphique.
[0120] La figure 7 est un exemple de rendu d’une scène tridimensionnelle où des pavés sont rendus sans la prise en compte de la carte de hauteurs. On remarque l’aspect planaire de la surface.
[0121] La figure 8 est un exemple de rendu d’une scène tridimensionnelle où des pavés sont rendus avec la prise en compte de la carte de hauteurs usant de la technique répandue de « displacement mapping ». On remarque l’aspect volumétrique de la surface, contribuant ainsi grandement au réalisme de l’image.

Claims (10)

  1. REVENDICATIONS
    1. Procédé de transformation de cartes de normales en cartes de hauteurs pour système de traitement d’images, comprenant ies étapes consistant à :
    - recevoir (20) au moins une carte de normales 3D comportant des données de valeurs de normale pour chaque pixel;
    - transformer (21) la carte de normales 3D en une carte de gradients 2D : g ;
    - déterminer (22) une matrice 2D d’un laplacien 1D pour une bande virtuelle : A_B ;
    - déterminer (23) un champs de gradients 1D à partir d’un champs de gradients 2D g pour ia bande virtuelle : g_B ;
    - appliquer (24) un opérateur de divergence 1D aux champs de gradients 1D g_B pour la bande virtuelle : b_B ;
    - résoudre (25) un système d’équations linéaires symétriques défini positif A_B z_B = b_B avec deux conditions aux bords de type Dirichlet de même valeur à gauche et à droite: z_B ;
    - appliquer (26) un opérateur de divergence 2D au champs de gradients 2D g : b
    - résoudre (27) un système de Poisson 2D avec comme terme de droite b et des conditions aux bords de type Dirichlet égaies à z_b : z ;
    -générer (28) une carte de hauteurs comportant des données de valeurs de hauteur pour chaque pixel, à partir de la conversion de z au format voulu.
  2. 2. Procédé de transformation de cartes de normales en cartes de hauteurs pour système de traitement d’images selon la revendication 1, dans lequel la carte de hauteur obtenue est utilisée pour définir au moins une partie des données de paramètres d’un matériau.
  3. 3. Procédé de transformation de cartes de normales en cartes de hauteurs pour système de traitement d’images selon la revendication 1, dans lequel la carte de hauteur obtenue est utilisée pour créer un rendu 3D.
  4. 4. Procédé de transformation de cartes de normales en cartes de hauteurs pour système de traitement d’images seion la revendication 1, dans lequel la carte de hauteurs obtenue est utilisée pour créer ou éditer une ou plusieurs images.
  5. 5. Système de transformation de cartes de normales en cartes de hauteurs pour système de traitement d’images, comprenant un module (5) de transformation de cartes de normales en cartes de hauteurs, apte à traiter des données de cartes de normales (4) comportant des données de valeurs de normale pour chaque pixel, pour les transformer en données de cartes de hauteurs (6), comportant des données de valeurs de hauteur pour chaque pixel, en prenant en compte des irrégularités présentes dans des basses fréquences des cartes de normales.
  6. 6. Système de transformation de cartes de normales en cartes de hauteurs pour système de traitement d’images selon la revendication 5, comprenant également un module (7) de rendu basé displacement mapping, conçu pour produire, à partir de données de cartes de hauteurs, un rendu 3D.
  7. 7. Système de transformation de cartes de normales en cartes de hauteurs pour système de traitement d'images selon la revendication 5, comprenant également un module (8) de transformation en maillage géométrique, conçu pour produire, à partir de données de cartes de hauteurs, un maillage géométrique.
  8. 8. Système de transformation de cartes de normales en cartes de hauteurs pour système de traitement d’images selon la revendication 5, comprenant également un module (9) de transformation en cartes de normales, conçu pour produire, à partir de données de cartes de hauteurs, des cartes de normales.
  9. 9. Système de transformation de cartes de normales en cartes de hauteurs pour système de traitement d’images selon la revendication 5, comprenant également un module (10) de traitement de textures définissant les paramètres d'un matériau, conçu pour produire, à partir de données de cartes de hauteurs, des textures de matériaux.
  10. 10. Système de transformation de cartes de normales en cartes de hauteurs pour système de traitement d’images selon la revendication 5, comprenant également un module d’édition artistique de cartes de hauteurs, conçu pour modifier des cartes de hauteurs préalablement obtenues.
FR1870920A 2018-08-10 2018-08-10 Procede et systeme de tranformation de cartes normales en cartes de hauteurs Active FR3084951B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR1870920A FR3084951B1 (fr) 2018-08-10 2018-08-10 Procede et systeme de tranformation de cartes normales en cartes de hauteurs
US16/529,618 US11217035B2 (en) 2018-08-10 2019-08-01 Generating height maps from normal maps based on boundary conditions of virtual boundaries
US17/206,355 US11450078B2 (en) 2018-08-10 2021-03-19 Generating height maps from normal maps based on virtual boundaries

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1870920 2018-08-10
FR1870920A FR3084951B1 (fr) 2018-08-10 2018-08-10 Procede et systeme de tranformation de cartes normales en cartes de hauteurs

Publications (2)

Publication Number Publication Date
FR3084951A1 true FR3084951A1 (fr) 2020-02-14
FR3084951B1 FR3084951B1 (fr) 2021-06-04

Family

ID=65201585

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1870920A Active FR3084951B1 (fr) 2018-08-10 2018-08-10 Procede et systeme de tranformation de cartes normales en cartes de hauteurs

Country Status (2)

Country Link
US (2) US11217035B2 (fr)
FR (1) FR3084951B1 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3084951B1 (fr) * 2018-08-10 2021-06-04 Allegorithmic Procede et systeme de tranformation de cartes normales en cartes de hauteurs
US11791053B2 (en) * 2019-07-11 2023-10-17 Silicospine Inc. Method and system for simulating intervertebral disc pathophysiology
US11514647B1 (en) * 2020-01-30 2022-11-29 Resonai Ltd. Rotation and translation invariant representation of an object
CN112802178A (zh) * 2021-01-15 2021-05-14 浙江华云信息科技有限公司 一种基于泊松曲面重建算法修复三维模型缺失信息的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060244757A1 (en) * 2004-07-26 2006-11-02 The Board Of Trustees Of The University Of Illinois Methods and systems for image modification
US20160042530A1 (en) * 2014-08-08 2016-02-11 Imagination Technologies Limited Local irradiance estimation for use in rendering an image

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5923329A (en) * 1996-06-24 1999-07-13 National Research Council Of Canada Method of grid generation about or within a 3 dimensional object
US6850244B2 (en) * 2001-01-11 2005-02-01 Micron Techology, Inc. Apparatus and method for gradient mapping in a graphics processing system
US7408550B2 (en) * 2006-07-24 2008-08-05 Bunnell Michael T System and methods for real-time rendering of deformable geometry with global illumination
US8786595B2 (en) * 2008-06-10 2014-07-22 Pinpoint 3D Systems and methods for estimating a parameter for a 3D model
US8803887B2 (en) * 2009-05-04 2014-08-12 Disney Enterprises, Inc. Computer graphic system and method for simulating hair
GB0914603D0 (en) * 2009-08-20 2009-09-30 Univ East Anglia Image reconstruction method
US9972128B2 (en) * 2012-07-20 2018-05-15 The University Of British Columbia Methods and systems for generating polycubes and all-hexahedral meshes of an object
TWI562590B (en) * 2014-01-03 2016-12-11 Htc Corp Apparatus and method for creating 3d scene
US9245358B2 (en) * 2014-05-30 2016-01-26 Apple Inc. Systems and methods for generating refined, high fidelity normal maps for 2D and 3D textures
US9892506B2 (en) * 2015-05-28 2018-02-13 The Florida International University Board Of Trustees Systems and methods for shape analysis using landmark-driven quasiconformal mapping
JP6792335B2 (ja) * 2016-01-19 2020-11-25 キヤノン株式会社 画像処理装置およびその方法
US10304244B2 (en) * 2016-07-08 2019-05-28 Microsoft Technology Licensing, Llc Motion capture and character synthesis
FR3084951B1 (fr) * 2018-08-10 2021-06-04 Allegorithmic Procede et systeme de tranformation de cartes normales en cartes de hauteurs
CA3180345A1 (fr) * 2020-05-25 2021-12-02 Technologies Shapeshift 3D Inc. Procede et dispositif pour contraindre la deformation de forme d'objets 3d

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060244757A1 (en) * 2004-07-26 2006-11-02 The Board Of Trustees Of The University Of Illinois Methods and systems for image modification
US20160042530A1 (en) * 2014-08-08 2016-02-11 Imagination Technologies Limited Local irradiance estimation for use in rendering an image

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
AGRAWAL AMIT ET AL: "What Is the Range of Surface Reconstructions from a Gradient Field?", 7 May 2006, PROC. INT.CONF. ADV. BIOMETRICS (ICB); [LECTURE NOTES IN COMPUTER SCIENCE; LECT.NOTES COMPUTER], SPRINGER, BERLIN, HEIDELBERG, PAGE(S) 578 - 591, ISBN: 978-3-642-17318-9, XP047429693 *
SARACCHINI RAFAEL F ET AL: "Multi-scale Integration of Slope Data on an Irregular Mesh", 20 November 2011, PROC. INT.CONF. ADV. BIOMETRICS (ICB); [LECTURE NOTES IN COMPUTER SCIENCE; LECT.NOTES COMPUTER], SPRINGER, BERLIN, HEIDELBERG, PAGE(S) 109 - 120, ISBN: 978-3-642-17318-9, XP047469892 *
YUANYUAN DING ET AL: "Dynamic fluid surface acquisition using a camera array", COMPUTER VISION (ICCV), 2011 IEEE INTERNATIONAL CONFERENCE ON, IEEE, 6 November 2011 (2011-11-06), pages 2478 - 2485, XP032093922, ISBN: 978-1-4577-1101-5, DOI: 10.1109/ICCV.2011.6126533 *
ZHANG YU-WEI ET AL: "Modeling Chinese calligraphy reliefs from one image", COMPUTERS AND GRAPHICS, ELSEVIER, GB, vol. 70, 21 July 2017 (2017-07-21), pages 300 - 306, XP085332628, ISSN: 0097-8493, DOI: 10.1016/J.CAG.2017.07.022 *

Also Published As

Publication number Publication date
US11450078B2 (en) 2022-09-20
US11217035B2 (en) 2022-01-04
US20210209864A1 (en) 2021-07-08
FR3084951B1 (fr) 2021-06-04
US20200051340A1 (en) 2020-02-13

Similar Documents

Publication Publication Date Title
US20190259202A1 (en) Method to reconstruct a surface from partially oriented 3-d points
FR3084951A1 (fr) Procede et systeme de tranformation de cartes normales en cartes de hauteurs
Fuhrmann et al. Mve-a multi-view reconstruction environment.
Tavani et al. Building a virtual outcrop, extracting geological information from it, and sharing the results in Google Earth via OpenPlot and Photoscan: An example from the Khaviz Anticline (Iran)
He et al. Image completion approaches using the statistics of similar patches
CN107077744B (zh) 使用边缘的三维模型生成的方法和系统
Kim et al. 3d scene reconstruction from multiple spherical stereo pairs
US20170046589A1 (en) Pre-segment point cloud data to run real-time shape extraction faster
EP3292541B1 (fr) Procede des simplification de modele de geometrie
JP4880091B2 (ja) 3dテクスチャの超解像のための画像生成装置及び方法
Xiao et al. Efficient mean‐shift clustering using gaussian kd‐tree
Horn et al. Artificial intelligence, 3D documentation, and rock art—approaching and reflecting on the automation of identification and classification of rock art images
Drouyer et al. Sparse stereo disparity map densification using hierarchical image segmentation
Ruchay et al. Accuracy analysis of 3D object shape recovery using depth filtering algorithms
WO2010029268A1 (fr) Procede et dispositif de realisation d&#39;un modele par elements finis
Minto et al. Online access and sharing of reality-based 3D models
Yao et al. 3D patch-based multi-view stereo for high-resolution imagery
Jaiswal et al. Time-efficient spliced image analysis using higher-order statistics
Iakushkin et al. 3D reconstruction of landscape models and archaeological objects based on photo and video materials
Shalma et al. A review on 3D image reconstruction on specific and generic objects
US20210390772A1 (en) System and method to reconstruct a surface from partially oriented 3-d points
di Filippo et al. A methodological proposal for the comparison of 3D photogrammetric models
Zhu et al. Textured mesh surface reconstruction of large buildings with multi-view stereo
Yılmaz et al. Illumination-guided inverse rendering benchmark: Learning real objects with few cameras
Li et al. State-of-the-art line drawing techniques

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20200214

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6