Reconstruction d'un modèle géométrique à partir d'un maillage 3D issu d'un scanner surfacique

par Silvère Gauthier

Projet de thèse en Informatique

Sous la direction de William Puech et de Gérard Subsol.

Thèses en préparation à Montpellier , dans le cadre de I2S - Information, Structures, Systèmes , en partenariat avec LIRMM - Laboratoire d'Informatique, de Robotique et de Micro-électronique de Montpellier (laboratoire) et de Département Informatique (equipe de recherche) depuis le 02-11-2015 .


  • Résumé

    Contexte de la collaboration Ce projet s'inscrit dans le cadre d'une collaboration entre la société C4W et le laboratoire LIRMM, UMR 5506 du CNRS et de l'Université de Montpellier. La société C4W assure la maitrise d'œuvre de cette collaboration. Le laboratoire LIRMM est plus particulièrement chargé de l'accompagnement des travaux de recherche pour ce projet par son expertise. Société fondée en 1998, C4W fournit des composants logiciels pour le développement d'applications géométriques 3D et réalise pour certains de ses clients des solutions logicielles « clé en main». Les clients C4W sont présents dans des domaines aussi divers que la simulation (par exemple ESI-group), la charpente, le prototypage rapide (Ceradrop, Phenix systems...), la métrologie (Aberlink UK), le médical et le dentaire (Resmed, Harmony...). La société C4W a été parmi les premières à combiner l'utilisation simultanée de modélisations géométriques (B-Rep exacte) et de modélisations basées sur des maillages polyédriques (triangulaire ou quadrangulaire). Depuis de nombreuses années, C4W travaille à l'élaboration de nouveaux outils logiciels innovants pour un traitement optimal des entités géométriques et polyédriques. Ce projet constitue une nouvelle étape dans la résolution de la problématique de la rétro-conception, complétant ainsi le travail déjà réalisé par C4W et le LIRMM dans le cadre de la thèse effectuée par Roseline Bénière (2009-2012) puis les analyses et développements effectués par C4W après 2012. Les résultats sont synthétisés dans l'article : [R. Bénière, G. Subsol, G. Gesquière, F. Le Breton, W. Puech. "A Comprehensive Process of Reverse Engineering from 3D Meshes to CAD Models".Computer Aided Design, Vol. 45, No 11, p. 1382-1393, November 2013]. _____________________________________________________________________________ Position du problème Cette collaboration scientifique a pour objectif d'améliorer et développer de nouveaux composants logiciels intégrables dans l'offre 3D Shop de la société C4W. Le problème général consiste à reconstruire un modèle géométrique composé de primitives paramétriques à partir d'un fichier polyédrique bruité, provenant d'un système de numérisation surfacique. Les composants qui devront être traités au cours de cette collaboration sont de quatre types : • Transformer les fichiers polyédriques (sous forme de maillages qui sont, en général, composés de triangles) en fichiers géométriques (sous forme de modélisation B-Rep – Boundary Representation – c.à.d. d'une combinaison structurée de primitives surfaciques comme par exemple une sphère, un cylindre, un plan, voire des NURBS etc.) de taille raisonnable pour la visualisation, le contrôle et la fabrication, • Tendre vers un processus de transformation automatique, en particulier à travers le réglage automatisé des paramètres. • S'assurer de la précision de la reconstruction, en particulier au niveau des intersections des primitives et de la définition des congés de raccordement, • S'intéresser aux cas où les données peuvent être particulièrement bruitées, voire manquantes. _____________________________________________________________________________ Transformation d'un fichier polyédrique en un fichier géométrique Dans l'application développée lors de la thèse de Roseline Bénière, nous avons supposé que nous avions un fichier polyédrique (c.à.d. sous forme de triangles) qui représente parfaitement l'objet à reconstruire. Ce modèle provient typiquement d'un processus de Conception Assistée par Ordinateur et quelquefois même d'un fichier géométrique initial. En effet, dans certains cas, le fichier géométrique a été transformé en fichier polyédrique, par exemple, pour faciliter l'échange de données avec d'autres programmes et on a, entre temps, perdu le fichier polyédrique correspondant ou on est incapable de le relire. Pour cette nouvelle étape, l'objectif est d'élargir le champ d'application à des fichiers polyédriques qui sont générés à partir de moyens d'acquisition de type scanner 3D surfacique (stéréoscopique, à lumière modulée ou structurée, etc.). Ces appareils vont permettre de convertir une pièce 3D manufacturée en un ensemble de points puis de polyèdres par traitement logiciel. Les fichiers issus de cette technologie, à la différence des fichiers provenant de la CAO, contiennent un nombre plus grand de polyèdres et ne décrivent que de manière imprécise la pièce du fait des zones d'ombre et de la qualité du procédé d'acquisition (bruit numérique). Nous proposons dans un premier temps, de chercher à détecter les zones saillantes qui soulignent les bords des primitives. Ce processus de pré-segmentation est absolument nécessaire dans le cas de données bruitées afin de définir les zones sur lesquelles seront ajustées les primitives. Nous pourrons nous inspirer des nombreuses méthodes de segmentation précise du maillage (par exemple [L. Di Angelo and P. Di Stefano. Geometric segmentation of 3D scanned surfaces. Computer-Aided Design, 62 :44-56, 2015)]) mais il faudra insister tout particulièrement sur la robustesse vis-à-vis du bruit et des défauts de la numérisation surfaciquees paramètres caractéristiques pourront se mettre sous la forme d'équations issues de la géométrie différentielle c.à.d. qu'elles font appel à la définition locale d'une surface qui se définit par la normale et les courbures/directions principales. Ces caractéristiques vont permettre de raffiner les zones homogènes et saillantes et il va devenir possible de segmenter le maillage initial en plusieurs sous-maillages. Par exemple, les sous-maillages plans contigus vont être fusionnés, les sous-maillages qui ont un centre de courbure commun vont être agglomérés pour former une sphère.L'ensemble de ces sous-maillages et de leur connectivité définira la topologie de la modélisation B- Rep. La séparation des zone homogènes par les zones saillantes rendra complexe la construction du graphe de voisinage mais on pourra intégrer des connaissances a priori sur la structuration des objets manufacturés ou sur le processus de fabrication (moulage ou usinage) (voir par exemple [C.Y. Ip, W.C. Regli. A 3D Object Classifier for Discriminating manufacturing Processes. Computers & Graphics, 30, 903-916, 2006]). _____________________________________________________________________________ Améliorer la précision de la reconstruction Il devient alors possible d'ajuster un modèle paramétrique de la primitive recherchée sur chacun des sous-maillages identifiés afin de trouver le type, la position et les paramètres des primitives et d'obtenir ainsi la géométrie de la modélisation B-Rep. Cependant les paramètres peuvent être faussés par le bruit et les défauts de la numérisation surfacique. On s'intéressera tout particulièrement à la modélisation de l'intersection des primitives et à la définition des congés de raccordement. Dans la plupart des solutions actuelles, la délimitation de l'intersection entre deux primitives reste très approximative alors qu'il s'agit de caractéristiques très importantes pour la Conception et la Fabrication. Une idée innovante consisterait à calculer précisément l'intersection entre deux primitives et à l'ajuster au mieux (en fonction des paramètres définissant les deux primitives et plus généralement de statistiques calculés sur toutes les primitives extraites du maillage) sur l'intersection auparavant détectée sur le modèle polyédrique à partir des paramètres caractéristiques. De plus, nous pourrions envisager de donner de l'information sur ces intersections : tangente, perpendiculaire, congés ... et dans un second temps les primitives seraient réajuste en tenant compte de ces caractéristiques (voir les travaux de [C.H. Gao, F.C. Langbein, A.D. Marshall et R.R. Martin : Local topological beautification of reverse engineered models. Computer- Aided Design, 36(13):1337–1355, 2004] ou [Y. Li et coll. GlobFit : Consistently Fitting Primitives by Discovering Global Relations. SIGGRAPH 2011]). On pourra aussi s'aider de l'estimation statistique du bruit de mesure (voir par exemple [F. Pommerleau et coll. Noise characterization of depth sensors for surface inspections. 2nd International Conference Applied Robotics for the Power Industry (CARPI), 2012]) pour limiter la variabilité des paramètres. Ces deux points constitueront le cœur du sujet de thèse d'autant plus qu'il faudra les adapter aux contraintes décrites dans le paragraphe suivant. _____________________________________________________________________________ Adaptation à l'application, à la complexité du fichier et à l'exigence de l'automatisation Le problème posé ici ne se réduit pas à la juxtaposition de quelques méthodes existantes. En effet, nous souhaitons traiter des objets génériques du domaine manufacturé (donc de forme plutôt polyédrique) dans un premier temps mais aussi généraliser la méthode à d'autres objets comme des structures anatomiques (où les formes peuvent être plus « douces »). Ceci implique d'une part non seulement de travailler avec de nombreuses formes polyédriques (plans, cylindres, sphères mais aussi ellipsoïdes, surfaces de révolution, surfaces réglées, voire NURBS...) mais aussi des portions de ces primitives. Il nous faudra donc développer de nouvelles caractérisations de primitives et savoir lever des ambiguïtés (est-ce une portion d'ellipsoïde ou de sphère, est-ce une véritable portion ou est-ce que l'algorithme a détecté une autre portion compatible à côté ?).A ceci s'ajoute la complexité informatique des fichiers à traiter qui peuvent se monter à plusieurs millions de triangles. Dans ce cas, il faut définir des algorithmes très rapides. On ne peut pas par exemple imaginer faire de l'optimisation multi-critères des paramètres d'un grand nombre de primitives s'il y a des dizaines de milliers de sous-maillages. Il faut également s'assurer que ces derniers donnent un résultat parfaitement fiable. Pour cela, il pourrait être plus raisonnable d'envisager une méthode semi-automatique où l'ordinateur aiderait l'utilisateur à délimiter des frontières et à « localiser » des sous-maillages cohérents et lui proposerait un choix limité de primitives. L'utilisateur qui serait un expert de l'application utiliserait alors ses connaissances a priori sur l'objet pour guider le placement et l'ajustement de la primitive dans le modèle, l'ordinateur gérant l'optimisation finale. Dans cette optique, on ne peut pas imaginer que l'utilisateur perde la main plus de quelques secondes pour laisser l'ordinateur calculer. Ceci n'empêche cependant pas un prétraitement complexe qui peut être très long. L'application va elle-même définir des contraintes. Dans le cadre de la simple visualisation, on souhaite surtout que les primitives les plus importantes (en termes de taille ou de fonctionnalité) soient repérées. Dans ce cas, on peut imaginer une procédure très interactive. La reconstruction en un fichier géométrique permettra d'envisager une visualisation multi-échelles en fonction des performances de la carte graphique et/ou du débit de transmission. Pour le contrôle, il est fondamental que les primitives fonctionnelles soient reconnues sans ambiguïté et que leurs paramètres soient calculés précisément (comme par exemple le rayon d'un pas de vis). Enfin, si on envisage une application de fabrication, il est indispensable que la combinaison et l'intersection des différentes primitives représentent le maillage polyédrique avec une grande fidélité. Par exemple, les chanfreins ne sont pas forcément très intéressants pour la visualisation ou le contrôle fonctionnel mais ils sont fondamentaux dans le processus de fabrication. _____________________________________________________________________________ Modalités d'organisation du suivi de la thèse La durée prévue de la thèse est de 3 ans. Après une phase initiale dans la société C4W, les travaux de recherche de la thèse seront menés au LIRMM sous la direction de M. Puech Directeur de thèse et chez C4W sous la direction de Mme Roseline Bénière. Durant ces trois années, le doctorant aura également pour mission d'organiser une réunion trimestrielle qui aura lieu alternativement dans la société et au laboratoire avec les responsables scientifiques des deux parties. Les 6 derniers mois seront consacrés à la rédaction du manuscrit. En pratique le temps de présence du doctorant sera partagé entre le LIRMM et l'entreprise à part égale

  • Titre traduit

    Reconstruction of geometric model based on 3D mesh from a surface scanner


  • Résumé

    Context of collaboration This project is part of a collaboration between the company C4W and the LIRMM laboratory, UMR 5506 of CNRS and the University of Montpellier. The company C4W provides mastery of work of this collaboration. LIRMM laboratory is specifically responsible for the support of research for this project by its expertise. Founded in 1998, C4W provides software components for the development of 3D geometric applications and realizes for some of its customers "turnkey" software solutions. The C4W clients operate in fields as diverse as simulation (eg ESI-group), framing, rapid prototyping (Ceradrop, Phenix systems ...), metrology (Aberlink UK), medical and dental ( resmed, Harmony ...). The company C4W was among the first to combine the simultaneous use of geometric modeling (exact boundary representation) and modeling based on polyhedral meshes (triangular or rectangular). For many years, C4W is developing innovative new software tools for optimal treatment of polyhedral and geometric entities. This project is another step in solving the problem of reverse engineering, completing the work already done by C4W and LIRMM as part of the thesis carried out by Roseline Beniere (2009-2012) then analyzes and developments carried out by C4W after 2012. The results are summarized in the article: [R. Beniere, Subsol G., G. Gesquière, F. Le Breton, W. Puech. "A Comprehensive Process of Reverse Engineering from 3D CAD Models to Meshes" .Computer Aided Design, Vol. 45, No. 11, p. 1382-1393, November 2013]. _____________________________________________________________________________ Position of the problem This scientific collaboration aims to improve and develop new software components which will be integrated in the 3D Shop supply of C4W society. The general problem is to reconstruct a geometric pattern composed of parametric primitives from a noisy polyhedral file from a surface scanning system. Components which will be treated during this collaboration are of four types: • Transform polyhedral files (as meshes are generally composed of triangles) into geometric files (in the form of modeling boundary representation, i.e. a structured surface as a combination of primitive for example a sphere, a cylinder, a plane, or NURBS etc.) with a reasonable size for visualization, control and production, • Move towards an automatic transformation process, particularly through the automated parameter setting, • Ensure the accuracy of the reconstruction, especially at intersections of primitives and definition of link fillets, • Taking an interest in cases where data can be particularly noisy or missing. _____________________________________________________________________________ Transformation from a polyhedral file to a geometric file In the application developed during the thesis of Roseline Beniere, we assumed that we had a polyhedral file (ie in the form of triangles) that perfectly represents the object to be reconstructed. This model typically comes from a process of Computer Aided Design and sometimes from an initial geometry file. Indeed, in some cases, the geometric file was transformed into polyhedral file, for example, to facilitate data exchange with other programs and has meanwhile lost the file corresponding polyhedral or one is unable to read it again. For this new stage, the objective is to expand the scope to polyhedral files that are generated from means for acquiring 3D surface scanner-type (stereo, modulated or structured light, etc.). These devices will allow to convert a 3D piece manufactured in a set of points and polyhedra by software processing. The files produced by this technology, unlike files from CAD, contain a greater number of polyhedra and describe only imprecisely the piece because of gray areas and quality of the acquiring process (digital noise). We offer initially, to try to identify the salient areas that highlight the edges of primitives. This pre-segmentation process is absolutely necessary in the case of noisy data in order to define the areas over which the primitives will be adjusted. We can inspire of many methods of precise segmentation of the mesh (eg [. L. and P. Di Angelo Di Stefano Geometric segmentation of 3D scanned surfaces Computer-Aided Design. 62: 44-56, 2015)]) but we will insist especially on robustness against noise and faults from scanning. These characteristic parameters can be put in equations from differential geometry ie they appeal to the local definition of a surface that is defined by the normal and curvatures / main directions. These characteristics will allow to refine the homogeneous and protruding areas and it will become possible to segment the initial mesh into sub-meshes. For example, planar and continguous sub-meshes will be merged, sub-meshes that have a common center of curvature will be agglomerated to form a sphere. These sub-meshes and their connectivity define the topology B-Rep. The separation of the homogeneous zone protruding zones make complex construction of the neighborhood graph but we can incorporate prior knowledge on structuring articles manufactured in the manufacturing process (molding or machining) (see [CY Ip, WC Regli. A 3D Object Classifier for Discriminating Manufacturing Processes. Computers & Graphics, 30, 903-916, 2006]). _____________________________________________________________________________ Improve the accuracy of the reconstruction Then it becomes possible to adjust a parametric model of the primitive sought on each of the identified sub-meshes to find the type, position and parameters of the primitive and thus obtain the geometry of the boundary representation modeling. However, the parameters may be distorted by the noise and defects of the surface scanning. We will pay particular attention to the modeling of the intersection of primitives and definition of fillets. In most current solutions, the delimitation of the intersection of two primitives remains very rough so that it is very important characteristics for the Design and Manufacture. One innovative idea would be to precisely compute the intersection of two primitive and adjust at best (depending on the parameters defining the two primitives and generally based on statistics computed on all the primitives extracted from the mesh) on the intersection previously detected on the polyhedral model from the characteristic parameters. Moreover, we could consider giving information on these intersections: tangent, perpendicular, fillet ... and in a second time, primitives would be readjusted in the light of these features (see the work of [CH Gao, FC Langbein AD Marshall and RR Martin. Local topological beautification of reverse engineered models Computer- Aided Design, 36 (13): 1337-1355, 2004] or [Y. Li et al GlobFit.. Consistently Fitting Primitives by Discovering Global Relations SIGGRAPH 2011]). The statistical estimation of the measurement noise will also help us (see [Pommerleau F. et al. Noise characterization of depth sensors for area inspections. 2nd International Conference Applied Robotics for the Power Industry (CARPI), 2012]) to limit the variability of the parameters. These two points will form the heart of much of the thesis subject more it will adapt to the constraints described in the following paragraph. _____________________________________________________________________________ Adaptation to the application in the complexity of the file and the requirement of automation The problem here is not limited to the juxtaposition of several existing methods. Indeed, we would treat the manufactured generic objects domain (thus form rather blocky) initially but also generalize the method to other objects such as anatomical structures (where forms can be "softer"). This implies on the one hand not only to work with many polyhedral shapes (planes, cylinders, spheres but ellipsoids, surfaces of revolution, ruled surfaces, NURBS or ...) but also portions of these primitives. We will have to develop new characterization of primitives and remove ambiguities know (is that a portion of ellipsoid or sphere, is it a true portion or the algorithm has detected another portion supports next ?). Is added to this the complexity of computer files to process which can amount to several million triangles. In this case, we must define very fast algorithms. We can not imagine doing example of the multi-criteria optimization of the parameters of a large number of primitives where tens of thousands of sub-meshes. We must also ensure that they provide a highly reliable result. For this, it might be reasonable to consider a semi-automatic method where the computer would help the user to delimit boundaries and to "localize" consistent sub-meshes and propose him a limited choice of primitives. The user who is an expert in the application would then use a priori knowledge on the subject to guide the placement and adjustment of the primitive in the model, the computer managing the final optimization. In this light, one can not imagine that the user loses the hand more than a few seconds to let the computer calculate. This does not preclude a complex pretreatment which can be very long. The application will itself define constraints. Under the simple visualization, we especially hope that the most important primitives (in terms of size or functionality) are identified. In this case, we can imagine a very interactive process. Reconstruction in a geometric file will consider a multi-scale display based on the graphics card performance and / or transmission rate. For the control, it is vital that the functional primitives are recognized unambiguous and their parameters are calculated precisely (eg the radius of a screw). Finally, if one is planning a production application, it is essential that the combination and the intersection of different primitives represent the polyhedral meshing with great fidelity. For example, the chamfers may not be very interesting for the visualization or the functional control but they are essential in the manufacturing process. _____________________________________________________________________________ Organizational arrangements for monitoring the thesis The expected duration of the thesis is 3 years. After an initial phase in the C4W society, the thesis research will be conducted at LIRMM under the direction of Mr. Puech, thesis Director, and in C4W under the direction of Mrs. Roseline Beniere. During these three years, the student will also be responsible to hold a quarterly meeting to be held alternately in society and in the laboratory with scientific leaders of both parties. The last 6 months will be devoted to the drafting of the manuscript. In practice, the time spent by the doctoral student will be equally shared between the company and the LIRMM.