FR2992762A1 - METHOD FOR GENERATING A MESH OF AT LEAST ONE OBJECT IN THREE DIMENSIONS - Google Patents

METHOD FOR GENERATING A MESH OF AT LEAST ONE OBJECT IN THREE DIMENSIONS Download PDF

Info

Publication number
FR2992762A1
FR2992762A1 FR1256211A FR1256211A FR2992762A1 FR 2992762 A1 FR2992762 A1 FR 2992762A1 FR 1256211 A FR1256211 A FR 1256211A FR 1256211 A FR1256211 A FR 1256211A FR 2992762 A1 FR2992762 A1 FR 2992762A1
Authority
FR
France
Prior art keywords
mesh
type
potential function
vertices
space
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
FR1256211A
Other languages
French (fr)
Other versions
FR2992762B1 (en
Inventor
Abilio Machado
Marc Germain
Olivier Gourmel
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.)
AKKA Ingenierie Produit SAS
Original Assignee
Real Fusio France 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 Real Fusio France SAS filed Critical Real Fusio France SAS
Priority to FR1256211A priority Critical patent/FR2992762B1/en
Priority to PCT/FR2013/051385 priority patent/WO2014001684A1/en
Publication of FR2992762A1 publication Critical patent/FR2992762A1/en
Application granted granted Critical
Publication of FR2992762B1 publication Critical patent/FR2992762B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

La présente invention a pour objet un procédé de génération d'un maillage de polygones (P) d'au moins un objet à trois dimensions à partir d'un nuage de points (CP) comportant les étapes suivantes : - génération d'un maillage intermédiaire (Mi) en utilisant une première surface implicite (S1) définie à partir d'une première fonction potentielle (F1) sur la base du nuage de point (CP) ; - réalisation d'une projection du maillage intermédiaire (Mi) sur une seconde surface implicite (S2) définie à partir d'une seconde fonction potentielle (F2) en vue d'obtenir un maillage final (Mf), la première fonction potentielle (F1) étant définie en un point donné de l'espace (x) comme la distance à un premier type de primitive géométrique (Prim1) approximant localement une surface du nuage de point (CP) en minimisant un premier critère d'erreur (Err1), la seconde fonction potentielle (F2) étant définie en un point donné de l'espace (x) comme la distance à une second type de primitive géométrique (Prim2) approximant localement une surface du nuage de point (CP) en minimisant un second critère d'erreur (Err2), et le premier type de primitive géométrique (Prim1) présentant un contour fermé, et le second type de primitive géométrique (Prim2) présentant un contour ouvert.The present invention relates to a method of generating a polygon mesh (P) of at least one three-dimensional object from a point cloud (CP) comprising the following steps: - generation of a mesh intermediate (Mi) using a first implicit surface (S1) defined from a first potential function (F1) on the basis of the point cloud (CP); - performing a projection of the intermediate mesh (Mi) on a second implicit surface (S2) defined from a second potential function (F2) in order to obtain a final mesh (Mf), the first potential function (F1) ) being defined at a given point in space (x) as the distance to a first type of geometric primitive (Prim1) locally approximating a surface of the point cloud (CP) by minimizing a first error criterion (Err1), the second potential function (F2) being defined at a given point of the space (x) as the distance to a second type of geometric primitive (Prim2) locally approximating a surface of the point cloud (CP) by minimizing a second criterion of error (Err2), and the first type of geometric primitive (Prim1) having a closed contour, and the second type of geometric primitive (Prim2) having an open contour.

Description

La présente invention concerne le domaine des techniques de construction de surface et plus particulièrement d'un procédé de génération d'un maillage de polygones d'au moins un objet à trois dimensions à partir d'un nuage de points.The present invention relates to the field of surface construction techniques and more particularly to a method of generating a polygon mesh of at least one three-dimensional object from a scatter plot.

Il est connu d'utiliser plusieurs procédés pour générer un maillage à partir d'un nuage de points. Parmi ces procédés, on distingue une première classe de procédés dits « explicites », et une deuxième classe de procédés dits « implicites ». Les procédés dits explicites qui permettent de réaliser un maillage 10 de polygones dont les sommets sont des points du nuage de point présentent plusieurs inconvénients. En particulier, ces procédés ne peuvent pas être appliqués à des nuages de points n'ayant pas une densité uniforme. Par ailleurs, ces procédés ne permettent pas s'affranchir du bruit de mesure ni d'exclure des points 15 aberrants du nuage de points. Les procédés dits implicites réalisent un maillage de polygones à partir d'une surface implicite définie sur la base d'une équation mathématique faisant intervenir un poids pour chaque point du nuage de point. En particulier, les procédés implicites peuvent utiliser une fonction potentielle définie en un 20 point donné de l'espace comme la distance à une primitive géométrique approximant localement une surface du nuage de point. La surface à mailler est alors composée de l'ensemble des points pour lesquels la fonction potentielle est égale à une valeur donnée, par exemple à une valeur nulle. Ces procédés sont moins dépendants du bruit de mesure et des 25 points aberrants du nuage de points. Ils permettent également un bon rendu d'objets présentant un nuage de points avec une densité non uniforme. La plupart des techniques utilisant des formulations implicites présentent le défaut de reconstruire des surfaces lisses qui ne peuvent présenter d'arêtes vives. Certaines formulations de primitives implicites, telles 30 que celles utilisées dans le cadre des techniques de reconstruction du type « moindre carrés pondérés itératifs (moving least squares)», permettent de reconstituer les angles vifs de la surface, mais peuvent corrompre la topologie de l'objet à la suite d'une mauvaise reconstruction locale de la surface, en particulier lorsque cette surface est fine et/ou présente un trou. 35 La présente invention a pour but de résoudre tout ou partie des inconvénients mentionnés ci-dessus.It is known to use several methods for generating a mesh from a point cloud. Among these methods, there is a first class of so-called "explicit" processes, and a second class of so-called "implicit" processes. The so-called explicit methods that make it possible to make a mesh 10 of polygons whose vertices are points of the point cloud have several drawbacks. In particular, these methods can not be applied to point clouds that do not have a uniform density. Furthermore, these methods do not make it possible to overcome measurement noise or to exclude aberrant points from the scatterplot. The so-called implicit methods produce a polygon mesh from an implicit surface defined on the basis of a mathematical equation involving a weight for each point of the point cloud. In particular, the implicit methods may use a potential function defined at a given point in space as the distance to a geometric primitive locally approximating a surface of the point cloud. The surface to be meshed is then composed of the set of points for which the potential function is equal to a given value, for example to a zero value. These methods are less dependent on measurement noise and outliers of the scatterplot. They also allow a good rendering of objects having a cloud of points with a non-uniform density. Most techniques using implicit formulations have the defect of reconstructing smooth surfaces that can not have sharp edges. Certain implicit primitive formulations, such as those used in the "least least weighted" ("moving least squares") reconstruction method, can reconstruct the sharp angles of the surface, but may corrupt the topology of the surface. object as a result of poor local reconstruction of the surface, especially when this surface is thin and / or has a hole. The present invention aims to solve all or some of the disadvantages mentioned above.

A cet effet la présente invention a pour objet un procédé de génération d'un maillage de polygones d'au moins un objet à trois dimensions à partir d'un nuage de points comportant les étapes suivantes : - génération d'un maillage intermédiaire en utilisant une première 5 surface implicite définie à partir d'une première fonction potentielle sur la base du nuage de point ; - réalisation d'une projection du maillage intermédiaire sur une seconde surface implicite définie à partir d'une seconde fonction potentielle en vue d'obtenir un maillage final, 10 la première fonction potentielle étant définie en un point donné de l'espace comme la distance à un premier type de primitive géométrique (Priml ) approximant localement une surface du nuage de point en minimisant un premier critère d'erreur, la seconde fonction potentielle étant définie en un point donné de 15 l'espace comme la distance à une second type de primitive géométrique approximant localement une surface du nuage de point en minimisant un second critère d'erreur, et le premier type de primitive géométrique présentant un contour fermé, et 20 le second type de primitive géométrique présentant un contour ouvert. Grâce aux dispositions selon l'invention, il est possible de garantir le respect par le maillage généré d'une topologie correcte de la surface de l'objet tout en permettant une reproduction fidèle des angles vifs. En effet, la 25 génération du maillage intermédiaire utilisant une première surface implicite basée sur l'utilisation d'une primitive au contour fermé permet de retrouver de façon robuste la topologie de l'objet. La projection de ce maillage sur une seconde surface implicite basée sur l'utilisation d'une primitive au contour ouvert permet de préciser dans le maillage le contour des angles vifs. 30 Selon une mise en oeuvre du procédé, le premier type de primitive géométrique utilisé est une sphère. Selon une mise en oeuvre du procédé, le second type de primitive utilisé est un plan. Selon une mise en oeuvre du procédé, la projection du maillage 35 intermédiaire comprenant une pluralité de polygone comprenant un ensemble de sommets sur la seconde surface implicite est réalisée en : - projetant le centroïde ou barycentre de chaque polygone sur la seconde surface implicite ; puis en - déterminant la position des sommets formant le polygone du maillage final en minimisant la déviation des normales des polygones du 5 maillage final auxquels participe un sommet par rapport au gradient du champ de la seconde fonction potentielle associé à la seconde surface implicite. Selon une mise en oeuvre du procédé, la projection du centroïde d'un polygone du maillage intermédiaire est réalisée de façon itérative en déterminant à chaque étape de l'itération le gradient d'un champ de la seconde 10 fonction potentielle au point considéré. Selon une mise en oeuvre du procédé, dans lequel la génération du maillage intermédiaire est obtenue : - en réalisant une partition de l'espace en une pluralité d'éléments de volumes définis par une pluralité de sommets et des arêtes reliant ces 15 sommets ; - en évaluant, pour chaque élément de volume, la valeur de la fonction potentielle définissant la première surface implicite aux sommets; - en déterminant la présence d'une intersection entre ladite arête et la surface implicite en fonction de la valeur du potentiel aux deux sommets 20 définissant une arête, - en déterminant la position de ladite intersection sur l'arête; et - en définissant un sommet du maillage intermédiaire en un point correspondant à cette intersection. Selon une mise en oeuvre du procédé, la connexité des polygones 25 est déterminée par des configurations prédéterminées en fonction de la valeur de la première fonction potentielle aux sommets de l'élément du volume. Selon une mise en oeuvre du procédé, la partition de l'espace est réalisée avec plusieurs niveaux de résolution définissant la taille des éléments de volume dans une portion de l'espace de la scène déterminée, la résolution 30 dans une portion de l'espace de la scène déterminée étant définie en fonction de la variance du gradient du champ potentiel sur ladite portion de l'espace. Selon une mise en oeuvre du procédé, la première et/ou la seconde fonction potentielle prend en compte un calcul itératif de la distance au premier type de primitive géométrique respectivement au second type de primitive 35 géométrique approximant localement une surface du nuage de point en minimisant le premier critère d'erreur et/ou respectivement le second critère d'erreur. La présente invention a également pour objet un produit programme d'ordinateur destiné à mettre en oeuvre un procéde de génération 5 tel que décrit précédemment. La présente invention a également pour objet un support de données comprenant les instructions dudit produit programme d'ordinateur. La présente invention a également pour objet un tel produit programme d'ordinateur installé sur des moyens d'acquisitions d'une scène en 10 trois dimensions. De toute façon, l'invention sera bien comprise à l'aide de la description qui suit, en référence au dessin schématique annexé représentant, à titre d'exemple non limitatif, les étapes d'un procédé selon l'invention. La figure 1 illustre la première étape d'un procédé de génération de 15 maillage selon l'invention. La figure 2 illustre la deuxième étape d'un procédé de génération de maillage selon l'invention. La figure 3 illustre les sous-étapes de la première étape d'un procédé de génération de maillage selon l'invention 20 La figure 4 illustre une sous-étape particulière de la première étape du procédé selon l'invention. La figure 5 illustre les sous-étapes de la deuxième étape d'un procédé de génération de maillage selon l'invention. La figure 6 illustre une sous-étape particulière de la deuxième 25 étape du procédé selon l'invention. Comme illustré aux figures 1 et 2, un procédé de génération d'un maillage de polygones P d'au moins un objet à trois dimensions à partir d'un nuage de points CP selon l'invention comporte une première étape de génération d'un maillage intermédiaire Mi et une deuxième étape de réalisation 30 d'une projection du maillage intermédiaire Mi en vue d'obtenir un maillage final Mf. Comme illustré à la figure 3, le maillage intermédiaire Mi est généré en utilisant une première surface implicite S1 définie à partir d'une première fonction potentielle F1 sur la base du nuage de point CP. 35 La première fonction potentielle F1 est définie en un point donné de l'espace x comme la distance à un premier type de primitive géométrique Priml approximant localement une surface du nuage de point CP en minimisant un premier critère d'erreur Errl. Selon une variante, la première fonction potentielle F1 peut prendre en compte un calcul itératif de la distance au premier type de primitive 5 géométrique Priml. Comme illustré sur la figure 3, ce premier type de primitive géométrique présente un contour fermé et peut être en particulier une sphère. Cette première étape permet de définir un maillage intermédiaire Mi qui respecte la topologie de la surface de l'objet. 10 La génération du maillage intermédiaire Mi est obtenue selon plusieurs sous-étapes développées ci-dessous en référence à la figure 3. Cette génération de maillage peut utiliser notamment une technique dite de « Marching Cubes » telle que décrite par W. E. Lorensen et H. E. Clive « Marching cubes : A high resolution 3D surface construction 15 algorithm » SIGGRAPH'87 : Proceedings of the 14th annual conference on Computer graphics and interactive techniques, vol 21, n°14, pp 163-169, 1987. La première de ces sous-étapes consiste à réaliser une partition de l'espace en une pluralité d'éléments de volumes PVE définis par une pluralité de sommets PV et des arêtes PE reliant ces sommets. Ces éléments de 20 volumes peuvent être notamment des cubes ou des tétrahèdres. Il est à noter que la partition de l'espace peut être réalisée avec plusieurs niveaux de résolution définissant la taille des éléments de volume PVE dans une portion de l'espace de la scène déterminée, la résolution dans une portion de l'espace de la scène déterminée pouvant être définie en 25 fonction de la variance du gradient du champ potentiel sur ladite portion de l'espace. Une telle partition de l'espace avec une gestion du niveau de résolution de partition est décrite par exemple par J. Manson et S. Schaeffer « Isosurfaces Over Simplicial Partitions of Multiresolution Grids », Computer Graphics forum, vol 29, n°12, pp.377-385, 2010. 30 Dans une deuxième sous-étape, on évalue pour chaque élément de volume PVE, la valeur de la fonction potentielle F1 définissant la première surface implicite S1 aux sommets PV. On identifie ainsi des éléments de volume PVE traversés par la surface implicite S1. 35 En effet, la valeur du potentiel étant théoriquement nulle en des points de l'espace traversés par la surface implicite Si, et sous réserve que la résolution de la partition de l'espace soit suffisante, si les valeurs du potentiel calculé aux sommets PV d'un même élément de volume PVE présentent un signe identique, c'est-à-dire que tous les sommets PV présentent un potentiel positif ou négatif, alors la surface implicite S1 ne traverse pas cet élément de volume PVE. Dans le cas contraire, c'est-à-dire pour un élément de volume PVE dont au moins deux sommets PV présentent des valeurs de potentiel de signes opposés, une intersection entre l'élément de volume PVE et la surface implicite S1 existe.To this end, the subject of the present invention is a method of generating a polygon mesh of at least one three-dimensional object from a point cloud comprising the following steps: generating an intermediate mesh using a first implicit surface defined from a first potential function based on the point cloud; performing a projection of the intermediate mesh on a second implicit surface defined from a second potential function in order to obtain a final mesh, the first potential function being defined at a given point in space as the distance a first type of geometric primitive (Prim1) locally approximating a surface of the point cloud by minimizing a first error criterion, the second potential function being defined at a given point in the space as the distance to a second type of geometric primitive locally approximating a surface of the point cloud by minimizing a second error criterion, and the first type of geometric primitive having a closed contour, and the second type of geometric primitive having an open contour. Thanks to the provisions of the invention, it is possible to ensure compliance by the generated mesh of a correct topology of the surface of the object while allowing a faithful reproduction of sharp angles. Indeed, the generation of the intermediate mesh using a first implicit surface based on the use of a closed-contour primitive makes it possible to find the topology of the object robustly. The projection of this mesh on a second implicit surface based on the use of an open contour primitive makes it possible to specify in the mesh the contour of the sharp angles. According to one implementation of the method, the first type of geometric primitive used is a sphere. According to one implementation of the method, the second type of primitive used is a plane. According to one implementation of the method, the projection of the intermediate mesh comprising a plurality of polygons comprising a set of vertices on the second implicit surface is carried out by: projecting the centroid or centroid of each polygon onto the second implicit surface; and then - determining the position of the vertices forming the polygon of the final mesh by minimizing the deviation of the normals of the polygons of the final mesh in which one vertex takes part with respect to the gradient of the field of the second potential function associated with the second implicit surface. According to one implementation of the method, the projection of the centroid of a polygon of the intermediate mesh is performed iteratively by determining at each step of the iteration the gradient of a field of the second potential function at the point considered. According to one implementation of the method, in which the generation of the intermediate mesh is obtained: by making a partition of the space into a plurality of volume elements defined by a plurality of vertices and edges connecting these 15 vertices; by evaluating, for each volume element, the value of the potential function defining the first implicit surface at the vertices; determining the presence of an intersection between said edge and the implicit surface as a function of the value of the potential at the two apices defining an edge, by determining the position of said intersection on the edge; and - by defining a vertex of the intermediate mesh at a point corresponding to this intersection. According to one implementation of the method, the connectivity of the polygons 25 is determined by predetermined configurations as a function of the value of the first potential function at the vertices of the volume element. According to one implementation of the method, the partition of the space is made with several levels of resolution defining the size of the volume elements in a portion of the space of the determined scene, the resolution 30 in a portion of the space of the determined scene being defined as a function of the variance of the gradient of the potential field on said portion of the space. According to one implementation of the method, the first and / or the second potential function takes into account an iterative computation of the distance to the first type of geometric primitive or the second type of geometric primitive locally approximating a surface of the point cloud while minimizing the first error criterion and / or respectively the second error criterion. The present invention also relates to a computer program product intended to implement a generation process 5 as described above. The present invention also relates to a data carrier comprising the instructions of said computer program product. The present invention also relates to such a computer program product installed on three-dimensional scene acquisition means. In any case, the invention will be better understood from the description which follows, with reference to the appended schematic drawing showing, by way of non-limiting example, the steps of a method according to the invention. Figure 1 illustrates the first step of a mesh generation method according to the invention. FIG. 2 illustrates the second step of a mesh generation method according to the invention. Figure 3 illustrates the substeps of the first step of a mesh generation method according to the invention. Figure 4 illustrates a particular substep of the first step of the method according to the invention. FIG. 5 illustrates the substeps of the second step of a mesh generation method according to the invention. Figure 6 illustrates a particular substep of the second step of the process according to the invention. As illustrated in FIGS. 1 and 2, a method for generating a polygon mesh P of at least one three-dimensional object from a point cloud CP according to the invention comprises a first step of generating a intermediate mesh Mi and a second step 30 of a projection of the intermediate mesh Mi to obtain a final mesh Mf. As illustrated in FIG. 3, the intermediate mesh Mi is generated by using a first implicit surface S1 defined from a first potential function F1 based on the point cloud CP. The first potential function F1 is defined at a given point of the space x as the distance to a first type of primitive geometric primitive Priml locally approximating a surface of the point cloud CP by minimizing a first error criterion Errl. According to one variant, the first potential function F1 can take into account an iterative computation of the distance to the first type of Primitive Geometric Primitive. As illustrated in FIG. 3, this first type of geometric primitive has a closed contour and can be in particular a sphere. This first step makes it possible to define an intermediate mesh Mi which respects the topology of the surface of the object. The generation of the intermediate mesh Mi is obtained according to several substeps developed below with reference to FIG. 3. This generation of mesh can use in particular a so-called "Marching Cubes" technique as described by WE Lorensen and HE Clive. Marching cubes: A high resolution 3D surface construction 15 algorithm »SIGGRAPH'87: Proceedings of the 14th annual conference on computer graphics and interactive techniques, Vol 21, No. 14, pp 163-169, 1987. The first of these substeps comprises partitioning the space into a plurality of PVE volume elements defined by a plurality of PV vertices and PE edges connecting these vertices. These elements of 20 volumes can be in particular cubes or tetrahedra. It should be noted that the partition of the space can be made with several levels of resolution defining the size of the PVE volume elements in a portion of the space of the determined scene, the resolution in a portion of the space of the determined scene that can be defined as a function of the variance of the potential field gradient over said portion of space. Such a partition of space with partition resolution level management is described for example by J. Manson and S. Schaeffer "Isosurfaces Over Simplicial Partitions of Multiresolution Grids", Computer Graphics Forum, Vol 29, No. 12, pp. .377-385, 2010. In a second substep, the value of the potential function F1 defining the first implicit surface S1 at the vertices PV is evaluated for each element of volume PVE. PVE volume elements traversed by the implicit surface S1 are thus identified. Indeed, the value of the potential being theoretically zero at points in the space traversed by the implicit surface Si, and provided that the resolution of the partition of the space is sufficient, if the values of the potential calculated at the vertices PV of the same element of volume PVE present an identical sign, that is to say that all the vertices PV have a positive or negative potential, then the implicit surface S1 does not cross this element of volume PVE. In the opposite case, that is to say for a PVE volume element of which at least two PV vertices have opposite sign potential values, an intersection between the PVE volume element and the implicit surface S1 exists.

Dans ce cas, les arêtes PE de l'élément de volume PVE qui sont traversée par la surface implicite S1 en un point d'intersection I sont identifiées. La présence de cette intersection I est repérée par la différence de signe de la valeur du potentiel aux deux sommets PV de l'élément de volume PVE définissant l'arête considérée.In this case, the edges PE of the volume element PVE which are traversed by the implicit surface S1 at an intersection point I are identified. The presence of this intersection I is indicated by the sign difference of the value of the potential at the two peaks PV of the volume element PVE defining the considered edge.

Dans une troisième sous-étape, on détermine la position de ladite intersection I sur l'arête PE, par exemple en utilisant un procédé par dichotomie et on définit un sommet du maillage intermédiaire Vi en un point correspondant à cette intersection I. Dans une quatrième sous-étape, des polygones Pi du maillage 20 intermédiaire Mi peuvent être définis dans un élément de volume PV entre les points Vi. La connexité de ces polygones Pi est déterminée par des configurations prédéterminées en fonction de la valeur de la première fonction potentielle Fl, et notamment par le signe de cette valeur aux sommets PV de 25 l'élément du volume PVE comme cela est illustré sur la figure 4. Une fois la première étape de constitution du maillage intermédiaire réalisée, une seconde étape de projection du maillage intermédiaire Mi comprenant une pluralité de polygone Pi définis entre des sommets Vi est effectuée sur une seconde surface implicite S2 définie à partir d'une seconde 30 fonction potentielle F2, comme cela est illustré sur la figure 5. La seconde fonction potentielle F2 est définie en un point donné de l'espace x comme la distance à une second type de primitive géométrique Prim2 approximant localement une surface du nuage de point CP en minimisant un second critère d'erreur Err2. Ce second type de primitive 35 géométrique présente un contour ouvert, et peut être en particulier un plan.In a third substep, the position of said intersection I is determined on the PE edge, for example using a dichotomy method and a vertex of the intermediate mesh Vi is defined at a point corresponding to this intersection I. In a fourth sub-step, polygons Pi of the intermediate mesh Mi may be defined in a PV volume element between the points Vi. The connectivity of these polygons Pi is determined by predetermined configurations as a function of the value of the first potential function F1, and in particular by the sign of this value at the vertices PV of the element of the volume PVE as illustrated in FIG. 4. Once the first step of constitution of the intermediate mesh has been performed, a second step of projecting the intermediate mesh Mi comprising a plurality of polygon Pi defined between vertices Vi is performed on a second implicit surface S2 defined from a second 30 potential function F2, as illustrated in FIG. 5. The second potential function F2 is defined at a given point of the space x as the distance to a second type of primitive geometric primitive Prim2 locally approximating a surface of the point cloud CP by minimizing a second Err2 error criterion. This second type of geometric primitive has an open contour, and may in particular be a plane.

La projection du maillage peut notamment être réalisée en utilisant une méthode décrite par Y. Ohtake et A. G. Belyaev « Dual/Primal mesh optimization for polygonized implicit surfaces » SMA '02 Proceedings of the seventh ACM symposium on Solid modeling and applications, pp. 171-178, 2002. Pour chacun des polygones Pi du maillage intermédiaire Mi, les sous-étapes suivantes sont réalisées. La première de ces sous-étapes consiste à projeter le centroïde Ci ou barycentre d'un polygone Pi du maillage intermédiaire Mi sur la seconde 10 surface implicite S2. Pour cela, comme illustré la figure 5, on projette le centroïde Ci d'un polygone Pi du maillage intermédiaire Mi sur le second type de primitive géométrique Prim2 constitué par un plan approchant localement la seconde surface implicite S2. 15 La direction de la projection du centroïde Ci est déterminée à l'aide du gradient du potentiel de la seconde fonction potentielle F2. De même, la distance entre le centroïde Ci et un point AO situé sur le plan Prim2 est également déterminé par la valeur du potentiel de la seconde fonction potentielle F2 au point Ci. 20 Une fois le point AO localisé, on calcul la valeur du potentiel au point AO à l'aide de la seconde fonction potentielle F2. Si cette valeur de potentiel calculé au point AO est inférieure ou égale à un critère d'erreur Err3 prédéterminé alors on considère que le point AO correspond au centroïde Cf du maillage final Mf. 25 Si cette valeur de potentiel calculée au point AO est supérieure au troisième critère d'erreur Err3, une nouvelle projection du point AO est réalisée en un point Al disposé sur une seconde primitive plan Prim2' et approchant davantage la seconde surface implicite S2. La direction de la projection est déterminée à l'aide du gradient du 30 potentiel de la seconde fonction potentielle F2 au point A0. La distance entre le point AO et le point Al situé sur le plan Prim2' est déterminé par la valeur du potentiel de la seconde fonction potentielle F2 au point AO. Si la valeur de potentiel calculée au point Al est inférieure ou égale 35 à un critère d'erreur Err3 prédéterminé alors on considère que le point Al correspond au centroïde Cf du maillage final Mf.The projection of the mesh can in particular be carried out using a method described by Y. Ohtake and A. G. Belyaev "Dual / Primal mesh optimization for polygonized implicit surfaces" SMA '02 Proceedings of the seventh ACM symposium on Solid modeling and applications, pp. 171-178, 2002. For each of the polygons Pi of the intermediate mesh Mi, the following sub-steps are performed. The first of these substeps is to project the centroid Ci or centroid of a polygon Pi of the intermediate mesh Mi on the second implicit surface S2. For this, as illustrated in FIG. 5, the centroid Ci of a polygon Pi of the intermediate mesh Mi is projected on the second type of geometric primitive Prim2 constituted by a plane locally approaching the second implicit surface S2. The direction of the projection of the centroid Ci is determined using the potential gradient of the second potential function F2. Similarly, the distance between the centroid Ci and a point AO on the plane Prim2 is also determined by the value of the potential of the second potential function F2 at the point Ci. Once the point AO is located, the value of the potential is calculated. at point AO using the second potential function F2. If this potential value calculated at the point A0 is less than or equal to a predetermined error criterion Err3, then we consider that the point A0 corresponds to the centroid Cf of the final mesh Mf. If this potential value calculated at the point A 0 is greater than the third error criterion Err 3, a new projection of the point A 0 is carried out at a point A1 disposed on a second plane primitive Prim 2 'and closer to the second implicit surface S 2. The direction of the projection is determined using the potential gradient of the second potential function F2 at point A0. The distance between the point AO and the point Al situated on the plane Prim2 'is determined by the value of the potential of the second potential function F2 at the point A0. If the potential value calculated at the point Al is less than or equal to a predetermined error criterion Err3, then we consider that the point Al corresponds to the centroid Cf of the final mesh Mf.

Dans le cas contraire une nouvelle projection est réalisée jusqu'à respecter le critère Err3. Ainsi, la projection du centroïde Ci d'un polygone Pi du maillage intermédiaire Mi est réalisée de façon itérative en déterminant à chaque étape de l'itération, la valeur de la seconde fonction potentielle F2 et valeur du gradient au point considéré, jusqu'à ce que la valeur du potentiel calculée en ce point soit inférieure ou égale au second critère d'erreur Err2. Une fois la position des centroïdes Cf du maillage final Mf déterminée, le procédé comprend une deuxième sous-étape qui consiste à 10 déterminer la position des sommets Vf formant les polygones Pf du maillage final Mf comme cela est illustré sur la figure 5. Pour cela, la projection des sommets Vi du polygone Pi entourant un centroïde Ci du maillage intermédiaire Mi est réalisée en utilisant par exemple les données de projections (distance et direction) calculées pour les 15 centroïdes Ci du maillage intermédiaire Mi. On obtient ainsi des sommets projetés Vi' d'un polygone projeté Pi' dont le centroïde Cf est confondu avec le centroïde Cf du polygone P du maillage final Mf. L'orientation du polygone projeté Pi' est ensuite ajustée en : 20 - calculant le gradient V du champ de la seconde fonction potentielle F2 au centroïde Cf du maillage finale Mf, - en déterminant la normale N au polygone projeté Pi', puis - en calculant une nouvelle position des sommets projetés Vi' de manière à minimiser la déviation ou écart angulaire de la normale N au 25 polygone projeté Pi' avec le gradient V. La position des sommets Vf du maillage final Mf. est ainsi obtenue. La présente invention a également pour objet un produit programme d'ordinateur mettant en oeuvre toutes les étapes de ce procédé de génération d'un maillage d'au moins un objet en trois dimensions ainsi qu'un 30 support de données utilisé par ce produit programme d'ordinateur et comportant toutes les données issus des différents calculs nécessaires à la mise en oeuvre de ce procédé. Bien que l'invention ait été décrite en liaison avec des exemples particuliers de réalisation, il est bien évident qu'elle n'y est nullement limitée et 35 qu'elle comprend tous les équivalents techniques des moyens ou étapes décrits ainsi que leurs combinaisons.In the opposite case a new projection is carried out until the criterion Err3 is respected. Thus, the projection of the centroid Ci of a polygon Pi of the intermediate mesh Mi is performed iteratively by determining at each step of the iteration, the value of the second potential function F2 and the value of the gradient at the point considered, up to the value of the potential calculated at this point is less than or equal to the second error criterion Err2. Once the position of the centroids Cf of the final mesh Mf has been determined, the method comprises a second substep of determining the position of the vertices Vf forming the polygons Pf of the final mesh Mf as shown in FIG. the projection of the vertices Vi of the polygon Pi surrounding a centroid Ci of the intermediate mesh Mi is carried out using, for example, the projection data (distance and direction) calculated for the centroids Ci of the intermediate mesh Mi. Thus, projected vertices Vi are obtained. 'of a projected polygon Pi' whose centroid Cf coincides with the centroid Cf of the polygon P of the final mesh Mf. The orientation of the projected polygon Pi 'is then adjusted by: calculating the gradient V of the field of the second potential function F2 at the centroid Cf of the final mesh Mf, by determining the normal N to the projected polygon Pi', and then calculating a new position of the projected vertices Vi 'so as to minimize the deflection or angular deviation of the normal N to the projected polygon Pi' with the gradient V. The position of the vertices Vf of the final mesh Mf. is thus obtained. The present invention also relates to a computer program product implementing all the steps of this method of generating a mesh of at least one object in three dimensions and a data carrier used by this program product. computer and including all the data from the various calculations necessary for the implementation of this method. Although the invention has been described in connection with particular embodiments, it is obvious that it is by no means limited thereto and includes all the technical equivalents of the described means or steps as well as their combinations.

Claims (12)

REVENDICATIONS1. Procédé de génération d'un maillage de polygones (P) d'au moins un objet à trois dimensions à partir d'un nuage de points (CP) comportant les étapes suivantes : - génération d'un maillage intermédiaire (Mi) en utilisant une première surface implicite (S1) définie à partir d'une première fonction potentielle (F1) sur la base du nuage de point (CP) ; - réalisation d'une projection du maillage intermédiaire (Mi) sur une seconde surface implicite (S2) définie à partir d'une seconde fonction 10 potentielle (F2) en vue d'obtenir un maillage final (Mf), la première fonction potentielle (F1) étant définie en un point donné de l'espace (x) comme la distance à un premier type de primitive géométrique (Prim1) approximant localement une surface du nuage de point (CP) en minimisant un premier critère d'erreur (Err1), 15 la seconde fonction potentielle (F2) étant définie en un point donné de l'espace (x) comme la distance à une second type de primitive géométrique (Prim2) approximant localement une surface du nuage de point (CP) en minimisant un second critère d'erreur (Err2), et le premier type de primitive géométrique (Prim1) présentant un 20 contour fermé, et le second type de primitive géométrique (Prim2) présentant un contour ouvert.REVENDICATIONS1. A method of generating a polygon mesh (P) of at least one three-dimensional object from a point cloud (CP) comprising the steps of: - generating an intermediate mesh (Mi) using a first implicit surface (S1) defined from a first potential function (F1) on the basis of the point cloud (CP); performing a projection of the intermediate mesh (Mi) on a second implicit surface (S2) defined from a second potential function (F2) in order to obtain a final mesh (Mf), the first potential function ( F1) being defined at a given point in space (x) as the distance to a first type of geometric primitive (Prim1) locally approximating a surface of the point cloud (CP) by minimizing a first error criterion (Err1) , The second potential function (F2) being defined at a given point in the space (x) as the distance to a second type of geometric primitive (Prim2) locally approximating a surface of the point cloud (CP) by minimizing a second error criterion (Err2), and the first type of geometric primitive (Prim1) having a closed contour, and the second type of geometric primitive (Prim2) having an open contour. 2. Procédé selon la revendication 1, dans lequel le premier type de 25 primitive géométrique (Prim1) utilisé est une sphère.The method of claim 1, wherein the first type of geometric primitive (Prim1) used is a sphere. 3. Procédé selon l'une des revendications 1 et 2, dans lequel le second type de primitive (Prim2) utilisé est un plan. 303. Method according to one of claims 1 and 2, wherein the second type of primitive (Prim2) used is a plane. 30 4. Procédé selon l'une des revendications précédentes, dans lequel la projection du maillage intermédiaire (Mi) comprenant une pluralité de polygone (Pi) comprenant un ensemble de sommets (Vi) sur la seconde surface implicite (S2) est réalisée en : - projetant le centroïde (Ci) ou barycentre de chaque polygone (Pi) 35 sur la seconde surface implicite (S2) ; puis en- déterminant la position des sommets (Vf) formant le polygone (Pf) du maillage final en minimisant la déviation des normales des polygones (Pf) du maillage final auxquels participe un sommet (Vf) par rapport au gradient du champ de la seconde fonction potentielle (F2) associé à la seconde surface implicite (S2).4. Method according to one of the preceding claims, wherein the projection of the intermediate mesh (Mi) comprising a plurality of polygon (Pi) comprising a set of vertices (Vi) on the second implicit surface (S2) is made in: - projecting the centroid (Ci) or centroid of each polygon (Pi) 35 onto the second implicit surface (S2); and then determining the position of the vertices (Vf) forming the polygon (Pf) of the final mesh by minimizing the deviation of the normals of the polygons (Pf) of the final mesh in which a vertex (Vf) participates with respect to the gradient of the field of the second potential function (F2) associated with the second implicit surface (S2). 5. Procédé selon la revendication 4, dans lequel la projection du centroïde (Ci) d'un polygone (Pi) du maillage intermédiaire (Mi) est réalisée de façon itérative en déterminant à chaque étape de l'itération le gradient d'un 10 champ de la seconde fonction potentielle (F2) au point considéré.5. Method according to claim 4, wherein the projection of the centroid (Ci) of a polygon (Pi) of the intermediate mesh (Mi) is performed iteratively by determining at each step of the iteration the gradient of a 10 field of the second potential function (F2) at the considered point. 6. Procédé selon l'une des revendications précédentes, dans lequel la génération du maillage intermédiaire (Mi) est obtenue : - en réalisant une partition de l'espace en une pluralité d'éléments 15 de volumes (PVE) définis par une pluralité de sommets (PV) et des arêtes (PE) reliant ces sommets ; - en évaluant, pour chaque élément de volume (PVE), la valeur de la fonction potentielle (F1) définissant la première surface implicite (S1) aux sommets (PV) ; 20 - en déterminant la présence d'une intersection (I) entre ladite arête (PE) et la surface implicite (S1) en fonction de la valeur du potentiel aux deux sommets définissant une arête (PE), - en déterminant la position de ladite intersection sur l'arête (PE) ; et 25 - en définissant un sommet du maillage intermédiaire (Vi) en un point correspondant à cette intersection.6. Method according to one of the preceding claims, wherein the generation of the intermediate mesh (Mi) is obtained: by making a partition of the space into a plurality of volume elements (PVE) defined by a plurality of vertices (PV) and edges (PE) connecting these vertices; by evaluating, for each volume element (PVE), the value of the potential function (F1) defining the first implicit surface (S1) at the vertices (PV); By determining the presence of an intersection (I) between said edge (PE) and the implicit surface (S1) as a function of the value of the potential at the two vertices defining an edge (PE), - by determining the position of said intersection on the ridge (PE); and 25 - defining a vertex of the intermediate mesh (Vi) at a point corresponding to this intersection. 7. Procédé selon la revendication 6, dans lequel la connexité des polygones est déterminée par des configurations prédéterminées en fonction 30 de la valeur de la première fonction potentielle (F1) aux sommets (PV) de l'élément du volume (PVE).The method of claim 6, wherein the connectivity of the polygons is determined by predetermined patterns as a function of the value of the first potential function (F1) at the vertices (PV) of the volume element (PVE). 8. Procédé selon l'une des revendications 6 ou 7, dans lequel la partition de l'espace est réalisée avec plusieurs niveaux de résolution 35 définissant la taille des éléments de volume (PVE) dans une portion de l'espace de la scène déterminée, la résolution dans une portion de l'espace dela scène déterminée étant définie en fonction de la variance du gradient du champ potentiel sur ladite portion de l'espace.8. Method according to one of claims 6 or 7, wherein the partition of the space is made with several levels of resolution 35 defining the size of the volume elements (PVE) in a portion of the space of the scene determined , the resolution in a portion of the space of the determined scene being defined as a function of the variance of the gradient of the potential field on said portion of the space. 9. Procédé selon l'une des revendications précédentes, dans lequel la première et/ou la seconde fonction potentielle (F1, F2) prend en compte un calcul itératif de la distance au premier type de primitive géométrique (Prim1) respectivement au second type de primitive géométrique (Prim2) approximant localement une surface du nuage de point (CP) en minimisant le premier critère d'erreur (Err1) et/ou respectivement le second critère d'erreur (Err2).9. Method according to one of the preceding claims, wherein the first and / or the second potential function (F1, F2) takes into account an iterative calculation of the distance to the first type of geometric primitive (Prim1) respectively to the second type of geometric primitive (Prim2) locally approximating a surface of the point cloud (CP) by minimizing the first error criterion (Err1) and / or respectively the second error criterion (Err2). 10. Produit programme d'ordinateur destiné à mettre en oeuvre un procéde de génération selon l'une des revendications 1 à 9.Computer program product for implementing a generation process according to one of claims 1 to 9. 11. Produit programme d'ordinateur selon la revendication 10, 15 installé sur des moyens d'acquisitions d'une scène en trois dimensions.Computer program product according to claim 10, which is installed on means for acquiring a three-dimensional scene. 12. Support de données comprenant les instructions dudit produit programme d'ordinateur selon l'une des revendications 10 ou 11.12. Data carrier comprising the instructions of said computer program product according to one of claims 10 or 11.
FR1256211A 2012-06-29 2012-06-29 METHOD FOR GENERATING A MESH OF AT LEAST ONE OBJECT IN THREE DIMENSIONS Active FR2992762B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1256211A FR2992762B1 (en) 2012-06-29 2012-06-29 METHOD FOR GENERATING A MESH OF AT LEAST ONE OBJECT IN THREE DIMENSIONS
PCT/FR2013/051385 WO2014001684A1 (en) 2012-06-29 2013-06-13 Method for generating a mesh of at least one three-dimensional object

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1256211A FR2992762B1 (en) 2012-06-29 2012-06-29 METHOD FOR GENERATING A MESH OF AT LEAST ONE OBJECT IN THREE DIMENSIONS

Publications (2)

Publication Number Publication Date
FR2992762A1 true FR2992762A1 (en) 2014-01-03
FR2992762B1 FR2992762B1 (en) 2014-07-11

Family

ID=46889248

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1256211A Active FR2992762B1 (en) 2012-06-29 2012-06-29 METHOD FOR GENERATING A MESH OF AT LEAST ONE OBJECT IN THREE DIMENSIONS

Country Status (2)

Country Link
FR (1) FR2992762B1 (en)
WO (1) WO2014001684A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3435029A1 (en) * 2017-07-28 2019-01-30 The Boeing Company Resolution adaptive mesh for performing 3-d metrology of an object
US10354444B2 (en) 2017-07-28 2019-07-16 The Boeing Company Resolution adaptive mesh that is generated using an intermediate implicit representation of a point cloud
US10732284B2 (en) 2017-07-28 2020-08-04 The Boeing Company Live metrology of an object during manufacturing or other operations
US11592820B2 (en) 2019-09-13 2023-02-28 The Boeing Company Obstacle detection and vehicle navigation using resolution-adaptive fusion of point clouds

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114491824B (en) * 2022-04-06 2022-06-17 中汽研(天津)汽车工程研究院有限公司 Method, device and storage medium for automatic division of finite element mesh

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
PAUL BOURKE: "Implicit surfaces Also known as "Metaballs", "Blobbies", "Soft objects"", June 1997 (1997-06-01), XP055060122, Retrieved from the Internet <URL:http://paulbourke.net/geometry/implicitsurf/> [retrieved on 20130417] *
WILL CHANG: "Surface Reconstruction from Points", TECHNICAL REPORT FOR THE RESEARCH EXAM UCSD CSE TECHNICAL REPORT CS2008-0922, FEBRUARY 2007., February 2007 (2007-02-01), XP055060121, Retrieved from the Internet <URL:http://cseweb.ucsd.edu/~wychang/papers/fa06wychang.pdf> [retrieved on 20130417] *
YUTAKA OHTAKE ET AL: "Dual/Primal Mesh Optimization for Polygonized Implicit Surfaces", 7TH ACM SIMPOSIUM ON SOLID MODELING AND APPLICATION, 17 June 2002 (2002-06-17), Saarbrücken, Germany, pages 171 - 178, XP055056975, Retrieved from the Internet <URL:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.18.9893&rep=rep1&type=pdf> [retrieved on 20130318] *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3435029A1 (en) * 2017-07-28 2019-01-30 The Boeing Company Resolution adaptive mesh for performing 3-d metrology of an object
CN109307478A (en) * 2017-07-28 2019-02-05 波音公司 The resolution ratio adaptive mesh that 3-D for executing object is measured
US10354444B2 (en) 2017-07-28 2019-07-16 The Boeing Company Resolution adaptive mesh that is generated using an intermediate implicit representation of a point cloud
US10438408B2 (en) 2017-07-28 2019-10-08 The Boeing Company Resolution adaptive mesh for performing 3-D metrology of an object
US10732284B2 (en) 2017-07-28 2020-08-04 The Boeing Company Live metrology of an object during manufacturing or other operations
US11592820B2 (en) 2019-09-13 2023-02-28 The Boeing Company Obstacle detection and vehicle navigation using resolution-adaptive fusion of point clouds

Also Published As

Publication number Publication date
WO2014001684A1 (en) 2014-01-03
FR2992762B1 (en) 2014-07-11

Similar Documents

Publication Publication Date Title
FR2992762A1 (en) METHOD FOR GENERATING A MESH OF AT LEAST ONE OBJECT IN THREE DIMENSIONS
EP1584951B1 (en) Method, apparatus and computer programm for stochastically simulating paleo-channels or geological paleo structures
EP3292541B1 (en) Method of simplifying a geometry model
CA3065892A1 (en) Method for acquiring and modelling an incident wind field by means of a lidar sensor
Belhadj Terrain modeling: a constrained fractal model
WO2022208024A1 (en) Method for generating a hexahedral mesh
FR3088971A1 (en) method of acquisition and modeling by an LIDAR sensor of an incident wind field
EP4352693A1 (en) Method for reconstructing a 3d model of a building roof by analyzing images acquired by remote sensing
CN109581849B (en) Coaxial holographic reconstruction method and system
LU100751B1 (en) Method for calculating 2D mixed seismic propagation time
WO2017089714A1 (en) Method of non-destructive checking of a component for aeronautics
WO2000008603A1 (en) Simplifying and coding a source meshing
CN117597704A (en) Non-line-of-sight imaging through neural transient fields
Martinez et al. Automated segmentation of porous thermal spray material CT scans with predictive uncertainty estimation
CN112686993A (en) Three-dimensional reconstruction method, apparatus and computer storage medium for three-dimensional object
Abdelfattah et al. On Image to 3D Volume Construction for E-Commerce Applications
FR2992763A1 (en) METHOD AND SYSTEM FOR SIMPLIFYING A MESH OF A THREE-DIMENSIONAL SCENE
EP2904587A2 (en) Method for processing data defining an element in a space e of dimensions d, and associated computer program
WO2000022577A1 (en) Source mesh coding method optimising vertex position resulting from edge fusion, and corresponding applications
EP3903282B1 (en) Method for segmenting an image
Zheng et al. Digital surface model generation from high‐resolution satellite stereos based on hybrid feature fusion network
Landström et al. Image reconstruction by prioritized incremental normalized convolution
FR3029316A1 (en) METHOD FOR MAKING A CARTOGRAPHY OF SIGNALS
Zheng et al. High-fidelity reconstruction of large-area damaged turbulent fields with a physically constrained generative adversarial network
FR2991091A1 (en) THREE DIMENSIONAL RECONSTRUCTION SYSTEM AND METHOD AND COMPUTER STORAGE MEDIUM FOR SAID SYSTEM AND METHOD

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

CA Change of address

Effective date: 20170912

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 9

TP Transmission of property

Owner name: AKKA INGENIERIE PRODUIT, FR

Effective date: 20201228

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 13