Apparatus and method for generating object shape data

The integration of physical quantity calculation with generative modeling ensures that generated shapes meet specified physical quantity ranges, addressing the limitations of conventional models and enhancing design capabilities for mechanical devices.

JP2026070097APending Publication Date: 2026-04-27TOYOTA JIDOSHA KK
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
TOYOTA JIDOSHA KK
Filing Date
2024-10-15
Publication Date
2026-04-27

AI Technical Summary

Technical Problem

Conventional generative models do not account for physical laws when generating new object shapes, leading to a lack of control over the physical quantities exhibited by the generated shapes.

Method used

An apparatus and method that integrates a physical quantity calculation means with generative modeling to ensure that the generated shapes adhere to predetermined physical quantity ranges by minimizing discrepancies between learning and output coordinate values and maintaining physical quantities within specified limits using machine learning algorithms like VAE and GAN.

Benefits of technology

Enables the generation of shapes that exhibit desired physical quantities within predetermined ranges, particularly useful in designing mechanical devices and their parts.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026070097000001_ABST
    Figure 2026070097000001_ABST
Patent Text Reader

Abstract

Using shape generation modeling technology, shapes are generated that exhibit physical quantities within a predetermined range. [Solution] The object shape generation device 1 includes a first calculation means 10 that outputs numerical values ​​based on the coordinate values ​​of object points representing each part of the shape of an object, a second calculation means 20 that outputs the coordinate values ​​of object points representing each part of the shape of an object when a numerical value is input, and a physical quantity calculation means 50 that has been learned to output the physical quantity of a point that satisfies the physical laws to be satisfied when the coordinate values ​​of a point in the space in which the object is placed are input. The first and second calculation means are learned so that the difference between the coordinate values ​​of the learning object points representing the shape of the learning object and the coordinate values ​​of the object points output by the second calculation means is as small as possible, and the physical quantity exhibited by the object points output by the second calculation means is within a predetermined range. The learned second calculation means outputs the coordinate values ​​of an object point that exhibits a physical quantity within a predetermined range according to the input numerical value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an apparatus and method for generating data (shape data) representing the shape of an object, and more particularly, to an apparatus and method for outputting shape data of an object when an arbitrary numerical value is input. Hereinafter, when it is said to generate a shape, it means to generate data representing the shape. The shape data is represented by coordinate values in space.

Background Art

[0002] Attempts have been variously proposed to generate new shapes of objects such as machine tools and their parts using generative model techniques (generative AI techniques) such as VAE (Variational Autoencoder) and GAN (Generative Adversarial Network). For example, in Patent Document 1, a generative model is configured to input learning shape data and a learning performance value corresponding to the learning shape data by machine learning, and output the learning shape data and the learning performance value, and various inputs including an arbitrary target value (target performance value) of the performance value are given to the generative model to generate a shape presenting the target performance value. According to such a technique, it is said that it is possible to shorten the design time of new shapes of objects such as machine tools and their parts.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] Incidentally, when generating the shape of a new article using a generative model, there are cases where it is desirable to generate a shape that exhibits a desired or predetermined physical quantity. However, in the generative model technologies described above, the learning of the generative model is usually performed so that the shape generated from the model matches the learning shape, without considering the physical laws related to the shape. Therefore, conventional generative models are not configured to generate a shape that exhibits a desired or predetermined physical quantity as a new shape. In this regard, the inventors of the present invention have found that if the learning of the generative model is performed so that the physical quantity exhibited by the shape output from the generative model falls within a predetermined range of values, the generative model can generate a shape that exhibits a physical quantity within a predetermined range of values. This finding is utilized in the present invention.

[0005] Thus, the main objective of the present invention is to enable the generation of shapes that exhibit desired or predetermined ranges of physical quantities when generating novel object shapes using generative modeling technology. [Means for solving the problem]

[0006] According to one aspect of the present invention, the above problem is solved by an apparatus for generating shape data of an object, A physical quantity calculation means, which has been trained to output the physical quantity of a point in space where an object is placed, when the coordinate values ​​of that point are input, satisfy the physical laws that must be satisfied. A first calculation means, upon inputting the coordinate values ​​of object points representing the positions of each part of the object's shape, outputs numerical values ​​based on those object point coordinate values, A second calculation means outputs the coordinate values ​​of object points representing each part of the object's shape when numerical values ​​are input. Includes, The first and second calculation means are configured such that the discrepancy between the learning object point coordinate values, which are the coordinate values ​​of object points representing the positions of each part of the shape of the learning object, and the object point coordinate values ​​output by the second calculation means is minimized, and that the physical quantities of each object point output by the physical quantity calculation means, which receives the coordinate values ​​of each object point output by the second calculation means, fall within a predetermined range. This is achieved by a device in which the physical quantities exhibited by the object point of each coordinate value output according to the input numerical value of the second calculation means that has been learned fall within the predetermined range of values.

[0007] In the above configuration, "object" may be any object, such as machinery or its parts. "Shape data" is data representing each part of the surface and interior of the shape, and in this invention, it is the coordinate values ​​of object points (points assigned to each part) that represent the position of each part of the shape of the object. If the object is a three-dimensional object, the shape data may be the coordinate values ​​(x, y, z) of object points on the three-dimensional axes appropriately set in the shape of the object. The coordinate values ​​of each object point in the object constitute point cloud data. The "physical quantity calculation means" may be any type of calculator configured to take the coordinate values ​​of any point in the space in which the object is placed as input and output a physical quantity that satisfies the physical laws that should be satisfied at that input point. The "physical quantity" at a point in space may be any physical quantity at each point, for example, force, stress, strain, temperature, electromagnetic field, electric current, magnetic flux density, flow velocity, etc. Specifically, the physical quantity calculation means may be configured by a neural network. In one embodiment of the physical quantity calculation means, the physical quantity for each point in space is output for each point's coordinate value, and the calculator is trained so that the output physical quantity satisfies an equation representing an arbitrary physical law (hereinafter referred to as the "physical equation"). The physical equation may be a differential equation using the physical quantity and position at each point as variables, and in that case, boundary conditions related to the physical quantity may be included. Specifically, the physical equation may be, for example, the equation of mechanical motion, the equation of equilibrium, the (mechanical) constitutive equation, the heat conduction equation, the diffusion equation, Maxwell's equations, etc. Alternatively, in another embodiment of the physical quantity calculation means, the calculator is trained so that, at each point in space, a physical quantity that satisfies the physical law to be satisfied, calculated by numerical analysis, is output.

[0008] Furthermore, in the above configuration, the "first calculation means" is a means configured to output a numerical value corresponding to the shape of an object based on the coordinate values ​​of object points assigned to the shape of an arbitrary object, as described above, and the "second calculation means" is a means configured to output coordinate values ​​of object points representing the positions of each part of the shape of an object, corresponding to an arbitrarily input numerical value. In one embodiment, the first and second calculation means are composed of neural networks. In one embodiment, in the first calculation means, one of the x, y, and z coordinate values ​​of an object point may be input to one neuron in the input layer. In that case, if the number of points of the object is, for example, 3000, the number of neurons (number of dimensions) in the input layer will be 3000 × 3 (it is determined which coordinate value of which point on the object is input to each neuron). Depending on the machine learning algorithm used, the first computational means may also receive physical quantities of each object point as input. In this case, one physical quantity of one object point is input to one neuron (it is predetermined which point's physical quantity is input to each neuron). The number of dimensions in the output layer of the first computational means varies depending on the machine learning algorithm used. In the second computational means, one of the x, y, and z coordinate values ​​of an object point is output to one neuron in the output layer. Therefore, if the number of object points is, for example, 3000, the number of neurons (dimensions) in the output layer will be 3000 × 3 (it is predetermined which coordinate value or physical quantity of which point in the object is output to each neuron). The number of dimensions in the input layer of the second computational means varies depending on the machine learning algorithm used.

[0009] These first and second calculation means are configured such that the discrepancy between the learning object point coordinate values, which are the coordinate values ​​of object points representing the positions of each part of the shape of the learning object, and the object point coordinate values ​​output by the second calculation means is minimized, and the physical quantities of each object point output by the respective input physical quantity calculation means for the object point coordinate values ​​output by the second calculation means are learned to fall within a predetermined range. Here, "shape of the learning object" may be the shape of any object, and "learning object point coordinate values" may be the coordinate values ​​of object points assigned to each part of the shape of the learning object by any method to represent or depict that shape. The "predetermined range" for the physical quantities may be the range of target values ​​within which the physical quantities of each object point are to fall, and may be set as appropriate.

[0010] In the specific learning processes of the first and second computing means, as is well known in the field of machine learning, this can be achieved by updating (optimizing) the parameters used in the calculations of the first and second computing means so that the sum of an evaluation function (mean squared error (MSE), KL divergence, etc., which are appropriately selected depending on the machine learning algorithm used) calculated to represent the difference between the learning data, which is the coordinate values ​​of the learning object points, and the output data of the computing unit to be learned, which is the coordinate values ​​of the object points output by the second computing means, and a value representing the degree of deviation of the physical quantity output from a predetermined range after inputting the coordinate values ​​of the object points output by the second computing means into the physical quantity calculation means, is minimized.

[0011] In the above configuration, essentially, the device that generates shape data for any object undergoes optimization of the computation means by machine learning, so that the generated shape approaches the training shape, and at the same time, the physical quantities exhibited in the generated shape fall within a predetermined range of values ​​that are appropriately set. Then, when an arbitrary number is input to the second computation means that has been trained, shape data for an object exhibiting physical quantities that fall within the predetermined range of values ​​can be generated according to that number.

[0012] In the apparatus of the present invention described above, the learning of the first and second calculation means can be performed using any machine learning algorithm, as long as it is a method that can adjust the parameters for the calculations of the first and second calculation means so that the shape generated by the second calculation means approaches the shape to be learned, and at the same time, the physical quantity (calculated by the physical quantity calculation means) of each point of the shape output by the second calculation means falls within a predetermined range of values. Examples of machine learning algorithms that can be used include VAE (Variational Autoencoder) and GAN (Generative Adversarial Network).

[0013] In the apparatus of the present invention, when a VAE is used as the machine learning algorithm, the first and second calculation means are an encoder and a decoder in a variational autoencoder, respectively. The second calculation means, which receives the learning numerical values ​​output by the first calculation means based on the learning object point coordinate values ​​according to the algorithm of the variational autoencoder, may be configured to learn to output the coordinate values ​​of an object point such that the deviation from the learning object point coordinate values ​​is as small as possible, and the physical quantity output by the physical quantity calculation means that receives those coordinate values ​​is within a predetermined range. In this case, during learning, the parameters used in the calculations of the first and second calculation means are optimized so that the above evaluation function (KL divergence and MSE) and the amount of deviation of the physical quantity output by the second calculation means from the predetermined range are minimized as learning loss functions.

[0014] Furthermore, in the apparatus of the present invention, when a GAN is used as the machine learning algorithm, the first and second computation means are a discriminator and a generator in a generative adversarial network, respectively, and according to the algorithm of the generative adversarial network, the first computation means is configured to learn based on a loss function obtained from the numerical value output by the first computation means so that when the evaluation function value, which decreases as the difference between the coordinate values ​​of the object points input to it and the coordinate values ​​of the learning object points decreases and the deviation of the coordinate values ​​of the object points input to it from a predetermined range of physical quantities output by the input physical quantity computation means falls below a predetermined value, it can output a numerical value indicating that the evaluation function value exceeds the predetermined value, and the second computation means is configured to learn based on a loss function obtained from the numerical value output by the first computation means so that the coordinate values ​​of the object points it outputs become as close as possible to the coordinate values ​​of the learning object points and the physical quantities exhibited by the object points of the coordinate values ​​it outputs fall within a predetermined range. In this case, during learning, the component of the evaluation function value that decreases as the difference between the coordinate values ​​of the input object point and the learning object point coordinate values ​​decreases may be the MSE of the input object point coordinate values ​​and the learning object point coordinate values, and the component that decreases as the deviation of the input object point coordinate values ​​from a predetermined range of the physical quantity output by the input physical quantity calculation means decreases may be the sum of the magnitudes of the differences between the upper or lower limit when the physical quantity output by the physical quantity calculation means is outside the predetermined range, and may be 0 when the physical quantity is within the predetermined range.

[0015] Furthermore, if a Conditional VAE (cVAE) or Conditional GAN ​​(cGAN) is used as the machine learning algorithm for training the first and second computational means, when generating shapes with the trained second computational means, it becomes possible to set an arbitrary upper or lower limit for the predetermined range of values ​​that satisfy the physical quantities. Specifically, in this case, the first and second computational means are configured to receive arbitrary values ​​as setting values ​​that determine the predetermined range, and the training process is executed in the same manner as described above. Then, when either a numerical value or a setting value that determines the predetermined range is input to the trained second computational means, the physical quantities exhibited by the object points of each coordinate value output by the second computational means according to the input numerical value will be within the predetermined range determined by the input setting value.

[0016] The apparatus of the present invention described above is provided as capable of generating shape data of an object that exhibits physical quantities within a predetermined range. Thus, according to another aspect of the present invention, the above problem is solved by a method for generating shape data of an object using a computer, A physical quantity calculation means preparation process involves preparing a physical quantity calculation means that has been trained to output a physical quantity of a point that satisfies the physical laws that must be satisfied, when the coordinate values ​​of a point in the space where an object is placed are input, A learning process comprising a first arithmetic unit that, upon input of coordinate values ​​of object points representing the positions of each part of the shape of an object, outputs numerical values ​​based on those coordinate values ​​of object points, and a second arithmetic unit that, upon input of numerical values, outputs coordinate values ​​of object points representing the positions of each part of the shape of an object, wherein the learning process involves repeatedly updating the parameters used in the calculation of numerical values ​​in the first arithmetic unit and the calculation of object point coordinate values ​​in the second arithmetic unit, respectively, so that the discrepancy between the learning object point coordinate values, which are the coordinate values ​​of object points representing the positions of each part of the shape of the learning object, and the coordinate values ​​of object points output by the second arithmetic unit becomes as small as possible, and the physical quantities of each of the object points obtained by inputting each of the object points output by the second arithmetic unit into the physical quantity calculation means become values ​​within a predetermined range. An object shape generation process that uses the trained second arithmetic unit to calculate estimated object point coordinate values, which are coordinate values ​​of object points representing each part of the object's shape, based on arbitrary numerical values, and in which the physical quantities exhibited by the object points representing each part are within the predetermined range of values. This is achieved by a method that includes [a specific method].

[0017] In the method of the present invention described above, the first and second arithmetic units may be trained according to any machine learning algorithm such as VAE or GAN.

[0018] When the first and second arithmetic units are trained according to the VAE algorithm, the training process of the first and second arithmetic units involves the first arithmetic unit calculating the features of the training object based on the training object point coordinate values, which are the coordinate values ​​of object points representing the positions of each part of the shape of the training object (in the case of cVAE, a set value is input or added to the features), and the second arithmetic unit calculating the estimated object point coordinate values, which are the coordinate values ​​of object points representing each part of the shape of the estimated object, based on the features of the training object (in the case of cVAE, a set value is input or added to the features). (In the case, setting values ​​are also input) The process involves inputting the estimated object point coordinate values ​​of each object point into the physical quantity calculation means to calculate the physical quantity of each object point, and repeatedly performing the process of minimizing the evaluation function calculated based on the estimated physical quantity, which is the physical quantity estimated for each of those object points, the learning object point coordinate values, and the estimated object point coordinate values, while updating the parameters used for calculating the feature quantities of the learning object in the first calculator and the estimated object point coordinate values ​​in the second calculator, respectively, so as to minimize the deviation from a predetermined range for the physical quantity of each object point.

[0019] Furthermore, when the first and second arithmetic units are trained according to the GAN algorithm, during the training process of the first and second arithmetic units, When the first arithmetic unit is given the learning object point coordinate values, which are the coordinate values of object points representing the positions of the respective parts of the shape of the learning object, at its input layer, and the learning physical quantity, which is the physical quantity calculated by the physical quantity calculation means from the learning object point coordinate values of the respective parts (in the case of cGAN, a set value is also input), and when the sum of the deviation amounts from a predetermined value range of the learning physical quantity is less than a predetermined threshold value set as appropriate, it outputs a first identification value indicating this. When the first arithmetic unit is given the learning object point coordinate values, which are the coordinate values of object points representing the positions of the respective parts of the shape of the learning object, at its input layer, and the learning physical quantity, which is the physical quantity calculated by the physical quantity calculation means from the learning object point coordinate values of the respective parts (in the case of cGAN, a set value is also input), and when the sum of the deviation amounts from a predetermined value range of the learning physical quantity is greater than a predetermined threshold value set as appropriate, or when the first arithmetic unit is given the estimated object point coordinate values, which are the coordinate values of object points representing the respective parts of the shape of the object output by the second arithmetic unit (in the case of cGAN, a set value is also input) to which random noise is input, at its input layer, and the estimated physical quantity, which is the physical quantity calculated by the physical quantity calculation means from the estimated object point coordinate values of the respective parts (in the case of cGAN, a set value is also input), the process of updating the parameters used in the calculation of the first and second identification values of the first arithmetic unit so as to output a second identification value indicating this. When the first arithmetic unit is given the estimated object point coordinate values, which are the coordinate values of object points representing the respective parts of the shape of the object output by the second arithmetic unit (in the case of cGAN, a set value is also input) to which random noise is input, at its input layer, and the estimated physical quantity, which is the physical quantity calculated by the physical quantity calculation means from the estimated object point coordinate values of the respective parts, the process of updating the parameters used in the calculation of the estimated object point coordinate values of the second arithmetic unit so as to output a first identification value. is repeatedly executed.

Advantages of the Invention

[0020] Thus, according to the configuration of the present invention described above, when generating a new object shape by generative model technology, it becomes possible to generate a shape that exhibits a physical quantity within a predetermined value range. The technology of the present invention is expected to be advantageously used particularly in exploring a new shape that exhibits desired physical characteristics when designing or considering a new shape of a mechanical device or its parts.

[0021] Other objects and advantages of the present invention will become apparent from the following description of the preferred embodiments of the present invention.

Brief Description of the Drawings

[0022] [Figure 1] FIG. 1 is a diagram schematically showing a computer in which the present embodiment is realized. [Figure 2] FIGS. 2(A) and (B) are diagrams for explaining the configuration of the physical quantity calculator. (A) is a case where the physical quantity calculator is prepared so that the output value satisfies a physical equation according to a given physical law, and (B) is a case where the physical quantity calculator is prepared so as to output a result value of numerical analysis executed according to a given physical law. [Figure 3] FIG. 3 is a diagram for explaining the configuration of a generator calculator for object shape data according to the present embodiment according to the VAE algorithm. [Figure 4] FIG. 4 is a diagram for explaining the configuration of a generator calculator for object shape data according to the present embodiment according to the Conditional VAE algorithm. [Figure 5] FIG. 5 is a diagram for explaining the configuration of a generator calculator for object shape data according to the present embodiment according to the GAN algorithm. [Figure 6] FIG. 6 is a diagram for explaining the configuration of a generator calculator for object shape data according to the present embodiment according to the Conditional GAN algorithm. [Figure 7]Figure 7(A) is a diagram showing the shape data of a training object used in an experimental example of generating shape data of an object according to this embodiment, represented in point cloud data format. Figure 7(B) is a diagram showing the coordinate space used to explain the boundary conditions in the physical laws set for the experimental example of generating shape data of an object according to this embodiment. Figure 7(C) is a diagram showing the output values ​​obtained by inputting the shape data of the training object into the physical quantity calculator, represented in point cloud data format. Figure 7(D) is a diagram showing the physical quantities (temperature) at each part of the shape of the object generated in the experimental example of generating shape data of an object according to this embodiment. In the figures, Z1 and Z2 are latent variables input into the decoder. [Figure 8] Figures 8(A) and 8(B) show the shape of an object generated in point cloud data format in an experimental example of generating object shape data according to the conditional VAE algorithm of this embodiment. (A) is the case when the upper limit of the predetermined value range is 1.0, and (B) is the case when the upper limit of the predetermined value range is 0.8. [Figure 9] Figures 9(A) and (B) show the shape of an object generated in point cloud data format in an experimental example of generating object shape data according to the conditional VAE algorithm of this embodiment. (A) is the case when the upper limit of the predetermined value range is 0.5, and (B) is the case when the upper limit of the predetermined value range is 0.2. [Explanation of symbols]

[0023] 1...Computer main unit, 2...Computer terminal, 3...Monitor, 4...Keyboard, mouse (input device), 10...First arithmetic unit, 20...Second arithmetic unit, 50...Physical quantity arithmetic unit [Best Mode for Carrying Out the Invention]

[0024] Computer device configuration The apparatus for generating shape data of an object exhibiting a predetermined range of physical quantities according to this embodiment may be realized by operation according to a program in a computer device 1 of a type commonly used in this field, as illustrated in Figure 1. The computer device 1 is equipped with a CPU, a storage device, and an input / output device (I / O) interconnected by a bidirectional common bus in a typical configuration. The storage device includes a memory PM that stores each program used to perform the calculations in this embodiment, and a work memory WM and data memory DM(5) used during the calculation. Instructions to the computer device 1 and the display and output of calculation results and other information by the user are made through a computer terminal device 2 connected to the computer device 1. The computer terminal device 2 is equipped with a monitor 3 and input devices 4 such as a keyboard and mouse in a typical configuration. When the program is started, the user can give various instructions and inputs to the computer device 1 using the input devices 4 according to the display on the monitor 3 in accordance with the program's procedure, and can also visually confirm the calculation status and calculation results from the computer device 1 on the monitor 3. The shape data of objects used for training to generate the shape data of objects, and the shape data of the generated objects, may be stored in the data memory DM(5).

[0025] Configuration of the arithmetic unit (1) Overview The generation of object shape data exhibiting physical quantities within a predetermined range by the device of this embodiment is achieved using a arithmetic unit (shape generation arithmetic unit) that has been trained to generate object shapes according to a machine learning algorithm such as VAE or cVAE, GAN or cGAN. Generally speaking, in training a typical shape generation arithmetic unit according to a machine learning algorithm, the parameters used in the calculations of the shape generation arithmetic unit are optimized to generate object shape data for training by minimizing evaluation functions such as MSE and KL divergence, which represent the difference between the coordinate values ​​of object points representing each part of the shape of the object to be trained and the coordinate values ​​of object points representing each part of the shape of the object generated by the shape generation arithmetic unit, thereby generating shape data of the object to be trained. In contrast, in this embodiment, first, as described later, a physical quantity arithmetic unit is prepared that outputs the physical quantity of an arbitrary point in space when given the coordinate values ​​of that point. Then, the coordinate values ​​of each object point of the shape of the object output by the shape generation calculator are input to the physical quantity calculator, and the shape generation calculator is trained so that the physical quantities at each object point output from there fall within a predetermined range. As a result, when the shape generation calculator generates shape data for a new object, the physical quantities exhibited by each object point in the generated shape data will fall within a predetermined range. In other words, the shape generation calculator outputs shape data for an object in which the physical quantities exhibited by each object point fall within a predetermined range.

[0026] The following describes the configuration and learning process of several types of shape generation calculators.

[0027] (2) Preparation of a physical quantity calculator In training the shape generation calculator of this embodiment, a physical quantity calculator is used in all cases to output the physical quantity exhibited by any point in space. As already mentioned, the physical quantity calculator may be a calculator having a neural network configuration, and is configured such that when the coordinate values ​​(x, y, z) of any point in space are input to the input layer according to a machine learning algorithm, any physical quantity is output to the output layer. Examples of physical quantities may be force, stress, strain, temperature, electromagnetic field, electric current, magnetic flux density, flow velocity, etc.

[0028] In one embodiment, as schematically depicted in Figure 2(A), the physical quantity calculator 50 may be a calculator known as PINNs (Physics-informed Neural Networks). In this case, the calculator is trained so that the output value of the calculator 30 satisfies a physical equation representing an arbitrary physical law. The physical equation may be a differential equation using physical quantities and position at each point as variables, and in this case, boundary conditions related to the physical quantities may be included. Specifically, the physical equation may be, for example, the equation of mechanical motion, the equation of equilibrium, the (mechanical) constitutive equation, the heat conduction equation, the diffusion equation, Maxwell's equations, etc. Furthermore, the magnitude of the (left-hand side) when the physical equation is transformed into the form (left-hand side) = 0 is used as the loss function LF. In the learning process of the arithmetic unit 50, the forward propagation Fp of the arithmetic unit 50 calculates the physical quantity T at the coordinate values ​​(x,y,z) input to the input layer, and the parameters within the arithmetic unit are optimized by the backpropagation Bp so that the loss function LF calculated using the physical quantity T is minimized. In this regard, the equation adopted as the physical equation is typically: [operator](Δ) × [physical quantity](T) = [condition term](C B It is written in the form of ) and the [condition term] may include boundary conditions related to physical quantities. Therefore, the loss function related to the physical equations used for learning is typically the magnitude of the left side when the physical equation for each object point is expressed in the form (left side)=0, i.e., |[Operator]×[Physical quantity]-[Conditional term]| (|ΔT-C B |) It may be expressed in this format.

[0029] In another embodiment, as schematically depicted in Figure 2(B), the physical quantity calculator 50 may be a calculator that calculates physical quantities at each point obtained by numerical analysis. The numerical analysis is performed so that the physical quantities calculated for each point satisfy the physical laws that they should satisfy. The loss function LF is the output T of the physical quantity calculator 50 and the result value T of the numerical analysis. CAE The magnitude of the difference | TTCAE The symbol | is used.

[0030] In the learning process of the arithmetic unit 50, the forward propagation Fp of the arithmetic unit 50 calculates a physical quantity T at the coordinate values ​​(x, y, z) input to the input layer, and the parameters within the arithmetic unit are optimized by the backpropagation Bp calculation so that the loss function LF calculated using this physical quantity T is minimized.

[0031] (3) Configuration and operation of the shape generation calculator according to VAE When using a VAE as a machine learning algorithm for shape generation, as shown in Figure 3, during the training phase of the shape generation arithmetic unit, an encoder (first arithmetic unit) 10 and a decoder (second arithmetic unit) 20 are prepared, just as in the case of a normal VAE. Furthermore, a physical quantity arithmetic unit 50 is configured to receive the output of the decoder 20 and output the physical quantity T'i of each point. Here, the encoder 10 is input with shape data of an object for training, as in the usual configuration, and latent variables z1, z2, ... which are shape feature quantities CV are calculated from its output (the number of latent variables can be arbitrary). Here, in the input layer of the encoder 10, a number of neurons equal to the number of object points multiplied by the number of dimensions of the shape are prepared, and one neuron corresponds to one coordinate value of one object point, and it is determined which coordinate value of which point on the object is input to each neuron. Therefore, for example, if the number of object points is 3000, the number of neurons in the input layer will be 3000 × 3. On the other hand, in the decoder 20, latent variables are input to the input layer, and the coordinate values ​​x', y', z' of each object point are output to the output layer. Therefore, the output layer of the decoder 20 is prepared with a number of neurons equal to the number of object points multiplied by the number of dimensions of the shape. In the output layer, one neuron corresponds to one coordinate value of one object point, and it is predetermined which coordinate value of which point on the object is output to each neuron. Then, the coordinate values ​​x', y', z' of each object point are input to the physical quantity calculator 50, and as described above, the physical quantity calculator 50 outputs the physical quantity T' for each object point. Note that the physical quantity calculator 50 connected to the output layer of the decoder 20 may be of one or more types, and may be capable of obtaining multiple physical quantities for each point.

[0032] In the learning process of the shape generation calculator, shape data Ls of an object for learning is prepared, and as a forward propagation process Fp, latent variables (z1, z2) are calculated from the output obtained by inputting the shape data (x1, y1, z1, ... xn, yn, zn) of the object for learning into the encoder 10, and these latent variables are input into the decoder 20 to calculate the coordinate values ​​(x'1, y'1, z'1, ... x'n, y'n, z'n) of each object point in the shape of the generated object, and these coordinate values ​​are sequentially input into the physical quantity calculator 50 to calculate the physical quantities T'1, T'2, ... T'n of each point. Furthermore, as a backpropagation process Bp, the process of updating the internal parameters of the encoder 10 and decoder 20 is repeatedly executed to minimize the reconstruction error (MSE) calculated from the coordinate values ​​of each object point calculated by the decoder 20 in the forward propagation process Fp and the coordinate values ​​of the corresponding object points of the training object, and the regularization error (KL divergence: KLD) calculated from the output of the encoder 10 in the forward propagation process Fp, while simultaneously minimizing the loss function calculated using the physical quantities of each object point calculated by the physical quantity calculator 50 in the forward propagation process Fp. This training process may be performed in a normal manner using shape data Ls of any number of training objects until the loss function is reduced to a level that can be arbitrarily set.

[0033] In the above, the loss function calculated using the physical quantities of each object point calculated by the physical quantity calculator 50 is specifically a function set to increase as the deviation of the physical quantities of each object point from a predetermined range increases. Specifically, when a predetermined range [Ttmin, Ttmax] is set, the loss function LF may be one of the following: LF=(1 / N)Σ[max(Ttmin-T'i,0)+max(T'i- Ttmax,0)] …(1a) LF=(1 / N)Σ[γ·max(Ttmin-T'i,0)+ γ·max(T'i- Ttmax,0)] …(1b) Here, N is the number of object points, and γ is a coefficient set as appropriate. When learning is performed to minimize the reconstruction error and regularization error simultaneously with this loss function LF, the shape of the object will be determined such that the physical quantities of each object point fall within the range [Ttmin, Ttmax].

[0034] Thus, as described above, after training the shape generation calculator, in the stage of generating the shape of an object, when arbitrary latent variables z1, z2… are input to the decoder 20 shown in PRD in Figure 3, the output layer of the decoder 20 outputs the coordinate values ​​(x'1, y'1, z'1,…x'n, y'n, z'n) of each point of the new object Es as shape data. Here, the decoder 20 is trained so that the physical quantities exhibited by the output object points fall within the range [Ttmin, Ttmax], so the newly generated object will have physical quantities at each part falling within the range [Ttmin, Ttmax] (see the calculation experiment example described later).

[0035] In the above configuration, the reconstruction error may be expressed using the Sliced ​​Wasserstein distance, Chamfer distance, or Earth Mover's distance instead of the MSE.

[0036] (4) Configuration and operation of the shape generation calculator according to cVAE The shape generation calculator according to this embodiment may be configured according to cVAE instead of VAE. In this case, the upper and lower limits of the range [Ttmin, Ttmax] can be appropriately changed after learning. Specifically, when cVAE is used as the machine learning algorithm for the shape generation calculator, the basic configuration is the same as in Figure 3, but as shown in Figure 4, a control value Tc is added to the mean μ and standard deviation σ that give the latent variables (z1, z2) output by the encoder 10, and a neuron is added to the input layer of the decoder 20 to which the control value Tc is input. In the learning stage, either the upper or lower limit of the range [Ttmin, Ttmax] is set as the control value Tc, and various control values ​​Tc are set in common in the encoder 10, decoder 20 and the loss function LF for the physical quantity, and the forward propagation Fp and backpropagation Bp as described above are executed. Thus, once the learning process is complete, when the decoder 20 generates the shape, if one of the control values ​​Tc used in the learning process is provided as the input value for the control value Tc, a shape will be generated in which the physical quantity T falls within a range defined by the control value Tc as either the upper or lower limit. (See the calculation experiment example described later.)

[0037] (5) Configuration and operation of a shape generation calculator according to GAN When using a GAN as a machine learning algorithm for shape generation, as shown in Figure 5, during the training phase of the shape generation arithmetic unit, a generator (second arithmetic unit) 20 and a discriminator (first arithmetic unit) 10 are prepared, similar to a normal GAN. Furthermore, a physical quantity arithmetic unit 50 is configured to output physical quantities Ti and T'i for each point from each of the coordinate values ​​of the training object and each of the output values ​​of the generator 20. Here, as in the normal configuration, when random noise rn is input to the generator 20, the coordinate values ​​x', y', z' of each object point representing the position of each part of the object's shape are output. Therefore, the output layer of the generator 20 is prepared with a number of neurons equal to the number of object points. For example, if the number of object points is 3000, the number of neurons in the output layer will be 3000 × 3. In the output layer, one neuron corresponds to one coordinate value of one object point, and it is predetermined which coordinate value of which point on the object is output to each neuron. The coordinate values ​​of each object point output by the generator 20 are then input to the physical quantity calculator 50, and the physical quantity T' for each object point is calculated. The physical quantity calculator 50 connected to the output layer of the generator 20 may be of one or more types, and may be capable of obtaining multiple physical quantities for each point.

[0038] In the classifier 10, the input layer is prepared with neurons corresponding to the coordinate values ​​of each object point output by the generator 20, and neurons corresponding to the physical quantities of each object point. That is, the input layer of the classifier 10 has a number of neurons equal to the number of object points multiplied by the number of dimensions of the shape, plus the number of dimensions of the physical quantities. The input layer of the classifier 10 is configured to receive data consisting of the coordinate values ​​of each object point representing the position of each part of the shape of the object to be trained, and the physical quantities exhibited by each object point, as well as data consisting of the coordinate values ​​of each object point representing the position of each part of the shape of the object output by the generator 20, and the physical quantities exhibited by each object point, in a timely manner (in the input layer, one neuron corresponds to one coordinate value or physical quantity of one object point, and it is determined which coordinate value or physical quantity of which point on the object is input to each neuron). The physical quantities exhibited by each object point of the object to be trained may be calculated by inputting the coordinate values ​​of each object point into the physical quantity calculator 50, as already mentioned. Furthermore, the output layer of the classifier 10 is also equipped with a single neuron that outputs a discrimination signal (numerical value) that identifies whether the shape data and physical quantities input to the input layer belong to the training object, similar to the usual configuration.

[0039] In training the shape generation calculator, first, shape data (x1, y1, z1, ... xn, yn, zn) of the object Ls to be trained is prepared, and the physical quantities (T1, ... Tn) exhibited by each point of the object to be trained are prepared using the physical quantity calculator. Then, as training the shape generation calculator, similar to the algorithm of a normal GAN, (a) As the first training process of the classifier, the classifier 10 is subjected to a forward propagation process FpDt which inputs shape data and physical quantities of the object to be studied into the input layer and outputs a classification signal Y in the output layer, and a backpropagation process BpDt which updates the parameters in the classifier 10 so that the output classification signal Y matches the correct label J. (b) As a second training process for the classifier, the classifier 10 is input to the input layer of the classifier 10, and the shape data (x'1, y'1, z'1, ... x'n, y'n, z'n) and physical quantities (T'1, ... T'n) output by the generator 20 are input, and a forward propagation process FpDf is performed which outputs a classification signal Y at the output layer, and a backpropagation process BpDf is performed which updates the parameters in the classifier 10 so that the output classification signal Y matches the correct label J. (c) As part of the generator training process, the shape data (x'1, y'1, z'1, ... x'n, y'n, z'n) output by the generator 20 and the physical quantities (T'1, ... T'n) calculated by the physical quantity calculator 50 are input to the input layer of the classifier 10. A forward propagation process FpG is performed, which outputs a classification signal Y at the output layer. A backpropagation process BpG is performed, which updates the parameters in the generator 20 so that the output classification signal Y matches the correct label J. These processes are executed sequentially and repeatedly.

[0040] In the training configuration of the shape generation arithmetic unit described above, the correct label J of the discrimination signal Y output by the classifier 10 is set to true (T) when the data of the training object is input, and to false (F) when the data of the generated object of the generator is input, in the case of a typical GAN. On the other hand, in this embodiment, the sum of the MSE calculated from the shape data (x1, y1, z1, ... xn, yn, zn) of the training object Ls and the shape data input to the classifier 10 [shape data of the training object Ls (x1, y1, z1, ... xn, yn, zn) or shape data output by the generator 20 (x'1, y'1, z'1, ... x'n, y'n, z'n)] and the calculated evaluation function EF calculated using the physical quantities input to the classifier 10 [physical quantities of each object point of the training object (T1, ... Tn) or physical quantities of each object point output by the generator 20 (T'1, ... T'n)] is calculated. When this sum [MSE + EF] is below a threshold Th which may be set as appropriate, the correct label J is set to true (T). When this sum exceeds a threshold Th which may be set as appropriate, the correct label J is set to false (F). The threshold Th can be a sufficiently small value.

[0041] Here, the evaluation function EF calculated using the physical quantities of each object point may be the same as the loss function LF in the case of the VAE described in relation to Figure 3. This ensures that the physical quantities exhibited by each part of the generated shape fall within a predetermined range. The loss function used during training of each arithmetic unit may be set in the usual manner using the correct label J set as described above and the output Y of the classifier 10, and the backpropagation process may also be performed in the usual manner. Such learning processing may be performed in the usual manner using any number of training object shape data Ls until the loss function becomes small enough to be set arbitrarily.

[0042] Thus, as described above, after training the shape generation arithmetic unit, in the stage of generating the shape of an object, random noise (random numbers) is input to the trained generator 20 enclosed in the PRD in Figure 5. The output layer of the generator 20 outputs the coordinate values ​​(x'1, y'1, z'1, ... x'n, y'n, z'n) of each point of the new object as shape data for the new object. Here, the generator 20 is trained so that the physical quantities exhibited by the output object points fall within the range [Ttmin, Ttmax], so the newly generated object will have physical quantities at each part falling within the range [Ttmin, Ttmax].

[0043] (6) Configuration and operation of a shape generation calculator according to cGAN The shape generation calculator according to this embodiment may be configured according to cGAN instead of GAN. In this case, the upper and lower limits of the value range [Ttmin, Ttmax] can be appropriately changed after learning. Specifically, when cGAN is used as the machine learning algorithm for the shape generation calculator, the basic configuration is the same as in Figure 5, but as shown in Figure 6, an input of a control value Tc is added to the input layer of the classifier 10, and a neuron that receives the control value Tc is also added to the input layer of the generator 20. During the learning phase, either the upper or lower limit of the value range [Ttmin, Ttmax] is set as the control value Tc, and the control value Tc is set in common in the classifier 10, the generator 20, and the evaluation function EF for the physical quantity, and the forward propagation Fp and backpropagation Bp described above are executed. Thus, once the learning process is complete, when the generator 20 generates a shape, if one of the control values ​​Tc used in the learning process is provided as the input value for the control value Tc, a shape will be generated in which the physical quantity T falls within a range defined by the control value Tc as either the upper or lower limit.

[0044] Calculation experiment example The effectiveness of this embodiment was confirmed by the following computational experiment example. It should be understood that the following experiment example is illustrative of the effectiveness of this embodiment and does not limit the scope of the present invention.

[0045] (A) Example using VAE In the experiment, a machine learning algorithm using a VAE (Variable Image Exponential Model) was used to train a computer using shape data of various three-dimensional objects (chairs) as training data, as shown in Figure 7(A). The number of object points was set to 3000, and the latent variables were set to two dimensions (z1, z2). The physical quantity at each object point was temperature T', and the physical equation to be satisfied was the following thermal diffusion equation.

number

number

[0046] In the results, first, Figure 7(C) shows the temperature values ​​calculated by the physical quantity calculator when the shape data of the training object was input to the trained physical quantity calculator, represented in the form of point cloud data. As can be seen from this figure, it can be understood that the closer an object point is to a point heat source, the higher the temperature value exhibited by that point, confirming that the physical quantity calculator was able to calculate the physical quantity for each point.

[0047] Figure 7(D) shows a plot of the coordinate values ​​(x,y,z) of each object point output from the decoder, while varying the latent variables (z1, z2) input to the trained decoder. In the experiment, the upper limit of the predetermined range for the physical quantities was set to a certain extent lower than the highest temperature at the object point of the training object shape shown in Figure 7(C). As a result, as shown in the figure, the shape generated by the decoder was further away from the point heat source than the shape of the training object. From this result, it was confirmed that the shape generation calculator using VAE according to this embodiment can generate the shape of an object such that the physical quantities exhibited at each object point fall within the predetermined range.

[0048] (B) When using cVAE The same experiment as described above was performed using cVAE as the machine learning algorithm. The control value Tc was set as the upper limit of a predetermined range, and the encoder and decoder were trained with several control values ​​Tc set. Figures 8 and 9 show plots of the coordinate values ​​(x, y, z) of each object point output from the decoder, with the control value Tc set to 1.0, 0.8, 0.5, and 0.2 in the trained decoder, while changing the input latent variables (z1, z2). Referring to these figures, it can be observed that the more the control value Tc, i.e., the upper limit of the predetermined range, is reduced, the further the generated shape moves away from the point heat source. From these results, it was confirmed that with the shape generation calculator using cVAE according to this embodiment, the range of values ​​in which the physical quantities exhibited by each object point of the generated shape fall can be changed by appropriately changing the control value during the generation of the object shape.

[0049] Thus, according to the configuration of this embodiment, when generating the shape of an object, it becomes possible to ensure that the physical quantities exhibited by each object point of the generated object are within an appropriately set range. The configuration of this embodiment is advantageous in the design of various machinery, equipment, or their parts, as it enables the generation of object shapes that exhibit desired physical quantities.

[0050] While the above description is made in relation to embodiments of the present invention, many modifications and changes are readily possible for those skilled in the art, and it will be clear that the present invention is not limited to the embodiments illustrated above, but can be applied to various devices without departing from the concept of the present invention.

Claims

1. A device for generating shape data of an object, A physical quantity calculation means, which has been trained to output the physical quantity of a point in space where an object is placed, when the coordinate values ​​of that point are input, satisfy the physical laws that must be satisfied. A first calculation means, upon inputting the coordinate values ​​of object points representing the positions of each part of the object's shape, outputs numerical values ​​based on those object point coordinate values, A second calculation means outputs the coordinate values ​​of object points representing each part of the object's shape when numerical values ​​are input. Includes, The first and second calculation means are configured such that the discrepancy between the learning object point coordinate values, which are the coordinate values ​​of object points representing the positions of each part of the shape of the learning object, and the object point coordinate values ​​output by the second calculation means is minimized, and that the physical quantities of each object point output by the physical quantity calculation means, which receives the coordinate values ​​of each object point output by the second calculation means, fall within a predetermined range. A device in which the physical quantities exhibited by each coordinate value of an object point, output by the learned second calculation means according to the input numerical value, fall within the predetermined range of values.

2. The apparatus according to claim 1, wherein the first and second calculation means are an encoder and a decoder in a variational autoencoder, respectively, and the second calculation means, which is input to a learning numerical value output by the first calculation means based on the learning object point coordinate values, is configured to learn to output the coordinate values ​​of an object point such that the deviation from the learning object point coordinate values ​​is as small as possible and the physical quantity output by the physical quantity calculation means that receives the coordinate values ​​is within the predetermined range.

3. The apparatus according to claim 1, wherein the first and second calculation means are a classifier and a generator in a generative adversarial network, respectively, and the first calculation means is configured to learn based on a loss function obtained from the numerical value output by the first calculation means so that, according to the algorithm of the generative adversarial network, the evaluation function value decreases as the difference between the coordinate values ​​of the object point input thereto and the learning object point coordinate values ​​decreases as the deviation of the input object point coordinate values ​​from a predetermined range of physical quantities output by the physical quantity calculation means is smaller, and when the evaluation function value exceeds the predetermined value, it can output a numerical value indicating that, and the evaluation function value exceeds the predetermined value, and the second calculation means is configured to learn based on a loss function obtained from the numerical value output by the first calculation means so that the coordinate values ​​of the object point it outputs become as close as possible to the learning object point coordinate values ​​and the physical quantities exhibited by the object point of the output coordinate values ​​are within the predetermined range.

4. An apparatus according to any one of claims 1 to 3, wherein the first and second calculation means are configured to receive arbitrary values ​​as setting values ​​for determining a predetermined range, and when either of the setting values ​​for determining the predetermined range is input to the learned second calculation means along with the numerical value, the second calculation means ensures that the physical quantities exhibited by the object point of each coordinate value output by the second calculation means fall within the predetermined range determined by the input setting value.

5. A method for generating object shape data using a computer, A physical quantity calculation means preparation process involves preparing a physical quantity calculation means that has been trained to output a physical quantity of a point that satisfies the physical laws that must be satisfied, when the coordinate values ​​of a point in the space where an object is placed are input, A learning process comprising a first arithmetic unit that, upon input of coordinate values ​​of object points representing the positions of each part of the shape of an object, outputs numerical values ​​based on those coordinate values ​​of object points, and a second arithmetic unit that, upon input of numerical values, outputs coordinate values ​​of object points representing the positions of each part of the shape of an object, wherein the learning process involves repeatedly updating the parameters used in the calculation of numerical values ​​in the first arithmetic unit and the calculation of object point coordinate values ​​in the second arithmetic unit, respectively, so that the discrepancy between the learning object point coordinate values, which are the coordinate values ​​of object points representing the positions of each part of the shape of the learning object, and the coordinate values ​​of object points output by the second arithmetic unit becomes as small as possible, and the physical quantities of each of the object points obtained by inputting each of the object points output by the second arithmetic unit into the physical quantity calculation means become values ​​within a predetermined range. An object shape generation process that uses the trained second arithmetic unit to calculate estimated object point coordinate values, which are coordinate values ​​of object points representing each part of the object's shape, based on arbitrary numerical values, and in which the physical quantities exhibited by the object points representing each part are within the predetermined range of values. A method that includes this.

Citation Information

Patent Citations

  • Shape generation device and shape generation method

    JP2020173701A