# US 11,443,192 B2 · Machine-learning for 3D modeled object inference

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,443,192 B2
- Document ID: US11443192B2
- Status: Granted
- Kind: B2
- Application number: 16/727,035
- Filed: 2019-12-26
- Published: 2020-08-06
- Granted: 2022-09-13
- Earliest claimed: 2018-12-29
- Assignees: Dassault Systemes
- Applicants: Dassault Systemes
- Inventors: Eloi Mehr
- Web page: https://patentgrep.com/patent/US11443192B2

## CPC

- G06N 3/084: Backpropagation, e.g. using gradient descent
- G06F 30/17: Mechanical parametric or variational design
- G06F 30/18: Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling (circuit design at the physical level G06F30/39; network planning tools for wireless communication networks H04W16/18)
- G06N 3/0455: Auto-encoder networks; Encoder-decoder networks
- G06N 3/0475: Generative networks
- G06N 3/0499: Feedforward networks
- G06N 3/09: Supervised learning
- G06N 20/00: Machine learning
- G06T 7/55: from multiple images
- G06T 17/20: Finite element generation, e.g. wire-frame surface description, {tesselation}
- G06V 10/82: using neural networks
- G06V 20/653: {by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces}
- G06T 2207/20081: Training; Learning
- G06T 2207/20084: Artificial neural networks [ANN]
- G06T 2210/56: Particle system, point based geometry or rendering
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

The disclosure notably relates to a computer-implemented method of machine-learning. The method includes obtaining a dataset including 3D modeled objects which each represent a respective mechanical part. The dataset has one or more sub-datasets. Each sub-dataset forms at least a part of the dataset. The method further includes, for each respective sub-dataset, determining a base template and learning a neural network configured for inference of deformations of the base template each into a respective 3D modeled object. The base template is a 3D modeled object which represents a centroid of the 3D modeled objects of the sub-dataset. The learning includes a training based on the sub-dataset. This constitutes an improved method of machine-learning with a dataset including 3D modeled objects which each represent a respective mechanical part.

## Claims

### Claim 1

A computer-implemented method of machine-learning, the method comprising:
obtaining a dataset including 3D modeled objects which each represent a respective mechanical part, the dataset having one or more sub-datasets, each sub-dataset comprising 3D modeled objects of the dataset and forming at least a part of the dataset; and
for each respective sub-dataset:
determining a base template, the base template being a 3D modeled object which represents a centroid of the 3D modeled objects of the sub-dataset and which represents a 3D mean geometrical shape of the 3D shapes of the 3D modeled objects of the sub-dataset according to a distance between 3D shapes, and
learning a neural network configured for inference of deformations of the base template each into a respective 3D modeled object, the learning including a training based on the sub-dataset.

### Claim 2 (depends on 1)

The method of claim 1, wherein the determining of the base template includes computing a minimum, within candidate base templates, of a loss which, for each 3D modeled object of the sub-dataset, penalizes a disparity between the 3D modeled object of the sub-dataset and a candidate base template.

### Claim 3 (depends on 2)

The method of claim 2, wherein the disparity between the 3D modeled object of the sub-dataset and a candidate base template is a function of a distance between the 3D modeled object and the candidate base template.

### Claim 4 (depends on 3)

The method of claim 3, wherein the distance is a distance between a first point cloud representing the 3D modeled object and a second point cloud representing the candidate base template.

### Claim 5 (depends on 4)

The method of claim 4, wherein the loss is of the type:
L1(Sj)=Σi=1pjD1(Sj,xi,j), where:
D1(Sj,xi,j) is the function of the distance between Sj and xi,j;
Sj is a second point cloud,
pj is the number of 3D modeled objects in the respective sub-dataset, and
x1,j, x2,j, . . . , xpj,j are first point clouds.

### Claim 6 (depends on 2)

The method of claim 2, wherein the computing includes:
obtaining a base 3D modeled object; and
iterating the following, starting with the base 3D modeled object:
assessing an effect of a previous candidate base template on the loss, and
deforming the previous candidate base template into a new candidate base template.

### Claim 7 (depends on 6)

The method of claim 6, wherein the base 3D modeled object represents a sphere, and/or the loss penalizes, for each 3D modeled object of the sub-dataset, an Earth Mover's distance loss between a first point cloud representing the 3D modeled object of the sub-dataset and a second point cloud representing the new candidate base template.

### Claim 8 (depends on 6)

The method of claim 6, wherein the base 3D modeled object is a point cloud and the iterating results in an optimized point cloud, and optionally the determining of the base template further includes:
inferring normals on points of the optimized point cloud, and
performing a surface reconstruction of the optimized point cloud based on the inferred normals.

### Claim 9 (depends on 1)

The method of claim 1, wherein the neural network is an autoencoder which includes a decoder configured for the inference of the deformations.

### Claim 10

A computer-implemented method of applying a neural network learnable according to a method of machine-learning, the method of machine-learning comprising:
obtaining a dataset including 3D modeled objects which each represent a respective mechanical part, the dataset having one or more sub-datasets, each sub-dataset comprising 3D modeled objects of the dataset and forming at least a part of the dataset; and
for each respective sub-dataset:
determining a base template, the base template being a 3D modeled object which represents a centroid of the 3D modeled objects of the sub-dataset and which represents a 3D mean geometrical shape of the 3D shapes of the 3D modeled objects of the sub-dataset according to a distance between 3D shapes, and
learning a neural network configured for inference of deformations of the base template each into a respective 3D modeled object, the learning including a training based on the sub-dataset.

### Claim 11 (depends on 10)

The method of claim 10, wherein the determining of the base template includes computing a minimum, within candidate base templates, of a loss which, for each 3D modeled object of the sub-dataset, penalizes a disparity between the 3D modeled object of the sub-dataset and a candidate base template.

### Claim 12 (depends on 11)

The method of claim 11, wherein the disparity between the 3D modeled object of the sub-dataset and a candidate base template is a function of a distance between the 3D modeled object and the candidate base template.

### Claim 13 (depends on 12)

The method of claim 12, wherein the distance is a distance between a first point cloud representing the 3D modeled object and a second point cloud representing the candidate base template.

### Claim 14 (depends on 10)

The method of claim 10, wherein the neural network is an autoencoder which includes a decoder configured for the inference of the deformations, and the method comprises:
obtaining a first 3D modeled object and a second 3D modeled object;
applying the autoencoder to the first 3D modeled object and to the second 3D modeled object; and
determining a shape matching between the first 3D modeled object and the second 3D modeled object, based on the result of the applying of the autoencoder.

### Claim 15

A device comprising:
a processor; and
a non-transitory data storage medium having recorded thereon a computer program comprising instructions for machine-learning that when executed by the processor causes the processor to
obtain a dataset including 3D modeled objects which each represent a respective mechanical part, the dataset having one or more sub-datasets, each sub-dataset comprising 3D modeled objects of the dataset and forming at least a part of the dataset, and
for each respective sub-dataset:
determine a base template, the base template being a 3D modeled object which represents a centroid of the 3D modeled objects of the sub-dataset and which represents a 3D mean geometrical shape of the 3D shapes of the 3D modeled objects of the sub-dataset according to a distance between 3D shapes, and
learn a neural network configured for inference of deformations of the base template each into a respective 3D modeled object, the learning including a training based on the sub-dataset.

### Claim 16 (depends on 15)

The device of claim 15, wherein the processor is configured to determine the base template by being configured to compute a minimum, within candidate base templates, of a loss which, for each 3D modeled object of the sub-dataset, penalizes a disparity between the 3D modeled object of the sub-dataset and a candidate base template.

### Claim 17 (depends on 16)

The device of claim 16, wherein the disparity between the 3D modeled object of the sub-dataset and a candidate base template is a function of a distance between the 3D modeled object and the candidate base template.

### Claim 18 (depends on 17)

The device of claim 17, wherein the distance is a distance between a first point cloud representing the 3D modeled object and a second point cloud representing the candidate base template.

### Claim 19 (depends on 15)

The device of claim 15, wherein the neural network is an autoencoder which includes a decoder configured for the inference of the deformations, and the processor is further configured to
obtain a first 3D modeled object and a second 3D modeled object,
apply the autoencoder to the first 3D modeled object and to the second 3D modeled object, and
determine a shape matching between the first 3D modeled object and the second 3D modeled object, based on the result of the applying of the autoencoder.

### Claim 20 (depends on 1)

A non-transitory computer readable medium having stored thereon a program that when executed by a computer causes the computer to implement the method according to claim 1.
