CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. § 119 or 365 to European Application No. 18306884.0, filed Dec. 29, 2018. The entire contents of the above application(s) are incorporated herein by reference.

FIELD OF THE DISCLOSURE

The disclosure relates to the field of computer programs and systems, and more specifically to solutions related to learning a neural network configured for inference, from a discrete geometrical representation of a 3D shape, of an editable feature tree representing the 3D shape.

BACKGROUND

A number of systems and programs are offered on the market for the design, the engineering and the manufacturing of objects. CAD is an acronym for Computer-Aided Design, e.g. it relates to software solutions for designing an object. CAE is an acronym for Computer-Aided Engineering, e.g. it relates to software solutions for simulating the physical behavior of a future product. CAM is an acronym for Computer-Aided Manufacturing, e.g. it relates to software solutions for defining manufacturing processes and operations. In such computer-aided design systems, the graphical user interface plays an important role as regards the efficiency of the technique. These techniques may be embedded within Product Lifecycle Management (PLM) systems. PLM refers to a business strategy that helps companies to share product data, apply common processes, and leverage corporate knowledge for the development of products from conception to the end of their life, across the concept of extended enterprise. The PLM solutions provided by Dassault Systèmes (under the trademarks CATIA, ENOVIA and DELMIA) provide an Engineering Hub, which organizes product engineering knowledge, a Manufacturing Hub, which manages manufacturing engineering knowledge, and an Enterprise Hub which enables enterprise integrations and connections into both the Engineering and Manufacturing Hubs. All together the system delivers an open object model linking products, processes, resources to enable dynamic, knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production and service.

In this context, researchers have been looking for solutions to infer a plausible editable feature tree representing a 3D shape from a discrete representation of the 3D shape. In particular, finding a plausible CSG tree corresponding to a raw input mesh has been drawing attention. This problematic falls within the more generic topic called “digitization”.

The following references notably relate to digitization:[1] Bénière & al: Topology Reconstruction for B-Rep Modeling from 3D Mesh in Reverse Engineering Applications, 2012.[2] Flavien Boussuge & al: Extraction of generative processes from B-Rep shapes and application to idealization transformations, 2014.[3] S. Gauthier & al: Digitized 3d mesh segmentation based on curvature analysis, 2017.[4] D. Cohen-Steiner & al: Restricted Delaunay Triangulation and Normal Cycle, 2003.[5] B. Levy & al: Lp Centroidal Voronoi Tesselation and its application, 2010.[6] F. Boussuge: Idealization of CAD assemblies for FE structural analyses, chapter 4: Extraction of generative processes from B-Rep shapes to structure components up to assemblies, PhD Thesis, Université de Grenoble, 2014.[7] J. J. Shah, D. Anderson, Y. Se Kim, S. Joshi: A Discourse on Geometric Feature Recognition From CAD Models, Journal of Computing and Information Science in Engineering, 2001.[8] Y. Zhang, X. Luo, Y. Zhao, An Approach to the Automatic Recognition of Boolean Decomposition Loops for Swept Volume Decomposition, 25th International Meshing Roundtable, 2016.[9] Jonathan Richard Shewchuk, Robust Adaptive Floating-Point Geometric Predicates, 1996.[10] G. Sharma, R. Goyal, D. Liu, E. Kalogerakis, S. Maji. CSGNet: Neural Shape Parser for Constructive Solid Geometry. The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018.

Paper [1] relates to extracting sufficient information from meshes to build back exact boundary representation (B-Rep) models using mean curvature. By analyzing the curvature on the triangles of a mesh with respect to the overall mesh curvature distribution, sub-meshes are built which are potential candidates to being faces of a B-Rep representation. When the sub-meshes do not touch their neighbors, the proposed approach expands them until some of the limits between adjacent faces can be recovered. The proposed approach expands the sub-meshes by aggregating triangles based on a notion of distance to the already built sub-mesh. With complex and tortuous geometries, the proposed process is not guaranteed to recover valid limits. In the case of a complex mesh geometry the method might thus fail to build a B-Rep. Furthermore, this approach focuses only on reconstructing an exact B-Rep, not an editable feature tree. In the context of building an editable feature tree from a raw mesh, a B-Rep representation is not necessarily an intermediate stage and it might compromise the approach. Going through an intermediate B-Rep representation would fragilize the whole process, in the case of complex geometry. If the B-Rep construction fails, no feature at all would be retrieved.

Paper [2] relates to “process tree” reconstruction starting from B-Rep representations. To build the process tree, the proposed approach analyzes the B-Rep's faces and the intersections between faces to build sketches that can later be extruded. The resulting process tree is limited to solid addition, i.e. no subtraction operations are generated. Since the exact B-Rep is available, the algorithm proceeds iteratively, i.e. feature solids are identified and removed by Boolean operations from the current B-Rep until the whole solid is processed. The proposed approach thus presents the risk of propagating errors.

Paper [8] proposes a method to determine non-planar loops of connected intersection curves/edges that result from successive Boolean operations between swept solids. In order to close the loops, the paper notes that additional virtual intersection curves/edges may have to be created. However, the paper does not detail how to create them. Also, the paper does not go beyond loop detection and, in particular, it does not show how to determine Boolean operations order from loop detection.

Paper [10] proposes a completely different approach for inferring a feature tree representation from a 3D shape, based on a neural network model. The learning is based on a discrete set of candidate leaf solids of the feature tree representation. In addition, the approach requires the input shape to be discretized into a regular voxel grid with limited resolution. The paper does not mention how to obtain a labeled dataset for supervised learning. The proposed approach lacks accuracy.

Within this context, there is still a need for improved solutions for digitization.

SUMMARY

It is therefore provided a computer-implemented (learning) method for learning a neural network configured for inference, from a discrete geometrical representation of a 3D shape, of an editable feature tree representing the 3D shape. The editable feature tree comprises a tree arrangement of geometrical operations applied to leaf geometrical shapes. The method comprises providing a dataset including discrete geometrical representations each of a respective 3D shape, and providing a candidate set of leaf geometrical shapes. The method also comprises learning the neural network based on the dataset and on the candidate set. The candidate set comprises at least one continuous subset of leaf geometrical shapes.

The method may comprise one or more of the following:the candidate set comprises a set product between a discrete set of primitive shape types, and for each primitive shape type, a respective discrete set of one or more parameter domains each of a respective continuous parameter, each parameter domain having respective parameters values of the respective continuous parameter, and each primitive shape type forms, with a respective parameter value for each of the respective discrete set of one or more parameter domains, a respective element of the candidate set;for each of one or more primitive shape types, the one or more respective continuous parameters comprise one or more dimensional parameters and/or one or more positioning parameters;the discrete set of primitive shape types comprises a cuboid type, a sphere type, one or more cylinder types, and/or one or more prism types;the neural network comprises recurrent neural network (RNN) cells, each RNN cell outputting at a respective time step (t), respective first data for inference of a respective primitive shape type and respective second data for inference of a respective parameter value for each of the respective discrete set of one or more parameter domains;the respective first data comprise a respective discrete distribution of probabilities each attributed to a respective one of the discrete set of primitive shape types, and/or the respective second data comprise a respective parameter value for each of the respective discrete set of one or more parameter domains;the dataset further includes, for each of one or more discrete geometrical representations, a respective editable feature tree comprising a tree arrangement of geometrical operations applied to leaf geometrical shapes and representing the 3D shape respective to the discrete geometrical representation, each geometrical shape being formed by a respective primitive shape type with a respective parameter value for each of the respective discrete set of one or more parameter domains, the learning of the neural network comprising a supervised training which includes minimizing a loss L1which penalizes, for the time step respective to each leaf geometrical shape of each discrete geometrical representation: a lowness of the probability of the respective first data attributed to the respective primitive shape type of the leaf geometrical shape, and/or a disparity between the one or more respective parameter values of the leaf geometrical shape and the one or more respective parameter values of the respective second data;the loss L1penalizes: the lowness with a term of the type—

∑n=1N⁢1T^n⁢∑t=1T^n⁢log⁡[],and/or the disparity with a term of the type

∑n=1N⁢1T^n⁢∑t=1⁢incr⁡[d⁡(,)],where: n designates said discrete geometrical representation, t designates said time step,designates said respective primitive shape type,designates the probability of the respective first data attributed to,designates said one or more respective parameter values of said leaf geometrical shape,designates said one or more respective parameter values of the respective second data, d(⋅, ⋅) is a distance function, and incr[⋅] is an increasing and/or positive function;the respective first data comprise a respective discrete distribution of probabilities (p) each attributed to a respective one of the discrete set of primitive shape types (l), the learning of the neural network comprising an unsupervised training which includes minimizing a loss L2, the minimizing including exploring candidate respective discrete distributions of probabilities, the loss L2penalizing, for a discrete geometrical representation and for a candidate respective discrete distribution of probabilities, a disparity with a discrete geometrical representation derived from a respective editable feature tree, the respective editable feature tree being inferable based on the explored candidate respective discrete distribution of probabilities, the minimizing including a backpropagation of a gradient of the loss L2relative at least to a variable representing the candidate respective discrete distributions of the respective first data, the gradient being obtained with a reinforcement algorithm;the gradient is of the type

∂L2∂py=L2-βpy⁢1t≤Tn⁢1y=atn,where: n designates said discrete geometrical representation, Tndesignates a depth of said respective editable feature tree, t designates a respective time step, y designates a primitive shape type, pydesignates said variable representing the candidate respective discrete distributions of the respective first data at t, atndesignates a primitive shape type of said respective editable feature tree inferable at t, and β is a baseline value; and/oreach RNN cell takes as input a result of a current predicted sequence, the learning of the neural network comprising a supervised training which includes minimizing a loss that involves inferred parameter values.

It is further provided a data structure representing a neural network learnable according to the (learning) method.

It is further provided a computer-implemented method of use of the data structure, the (use) method comprising: providing a discrete geometrical representation of a 3D shape, applying the neural network to the discrete geometrical representation of a 3D shape, and inferring an editable feature tree representing the 3D shape based on a result of the applying, and optionally refining the inferred editable feature tree.

It is further provided a computer program comprising instruction for performing the learning method, and/or the use methods.

It is further provided a device comprising a data storage medium having recorded thereon the data structure and/or the program. The device may form or serve as a non-transitory computer-readable medium, for example on a SaaS (Software as a service) or other server, or a cloud based platform, or the like. The device may alternatively comprise a processor coupled to the data storage medium. The device may thus form a computer system in whole or in part (e.g. the device is a subsystem of the overall system). The system may further comprise a graphical user interface coupled to the processor.

