WO2023175798A1 - モデル訓練装置、モデル訓練方法、及び記録媒体 - Google Patents
モデル訓練装置、モデル訓練方法、及び記録媒体 Download PDFInfo
- Publication number
- WO2023175798A1 WO2023175798A1 PCT/JP2022/012046 JP2022012046W WO2023175798A1 WO 2023175798 A1 WO2023175798 A1 WO 2023175798A1 JP 2022012046 W JP2022012046 W JP 2022012046W WO 2023175798 A1 WO2023175798 A1 WO 2023175798A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- patch
- model
- model training
- training device
- dimensional data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Definitions
- the present invention relates to a model training device, a model training method, and a recording medium.
- Non-Patent Document 1 describes that a plurality of spherical patches, which are subsets, are generated from three-dimensional data so as to cover the entire three-dimensional data, and these plural spherical patches are used as training data. ing.
- Non-Patent Document 1 cannot learn all the spherical patches that can be generated. Therefore, the performance when inferring using the generated model becomes more dependent on patch division during inference.
- Non-Patent Document 2 describes that in each epoch during training, three-dimensional data is read out, spherical patches are randomly generated, and the generated patches are input to a point cloud learning device. Also in Non-Patent Document 2, a spherical patch is generated to cover the entire three-dimensional data.
- Non-Patent Document 2 it was necessary to read three-dimensional data indicating the shape of the object at each epoch during training. For this reason, the load on the training device has increased.
- an example of an object of the present invention is to provide a model training device, a model training method, and a recording medium that reduce the load when training a model that evaluates three-dimensional data indicating the shape of an object. It is in.
- three-dimensional data indicating the shape of an object is used to generate at least one first patch that is a subset of the three-dimensional data, and the first patch is stored in a storage means.
- a first patch generating means for generating a first patch
- a second patch generating means for reading one of the first patches from the storage means and generating at least one second patch that is a subset of the first patch
- training means for training a model for evaluating a three-dimensional shape using the second patch as training data
- Equipped with A model training device is provided in which the second patch generation means and the training means repeat processing until a criterion is satisfied.
- the computer Using three-dimensional data indicating the shape of the object, generating at least one first patch that is a subset of the three-dimensional data, and storing the first patch in a storage means; reading one of the first patches from the storage means and generating at least one second patch that is a subset of the first patch; training a model for evaluating a three-dimensional shape using the second patch as training data; A model training method is provided in which generating the second patch and training the model is repeated until a criterion is met.
- a computer a first patch generation function that uses three-dimensional data indicating the shape of the object to generate at least one first patch that is a subset of the three-dimensional data, and stores the first patch in a storage means; a second patch generation function that reads one of the first patches from the storage means and generates at least one second patch that is a subset of the first patch; a training function for training a model for evaluating a three-dimensional shape using the second patch as training data;
- We have recorded a program to have A computer-readable recording medium is provided in which the second patch generation function and the training function repeat the process until a criterion is met.
- a model training device a model training method, and a recording medium that reduce the load when training a model that evaluates three-dimensional data indicating the shape of an object.
- FIG. 1 is a diagram showing an overview of a model training device according to an embodiment.
- 1 is a diagram illustrating the configuration of a model training device together with the usage environment of the model training device.
- FIG. 3 is a diagram for explaining processing performed by a first patch generation unit of the model training device.
- FIG. 3 is a diagram for explaining processing performed by a second patch generation unit of the model training device.
- FIG. 3 is a diagram for explaining an example of a problem that may arise when using the first patch generation section.
- FIG. 7 is a diagram for explaining an example of a problem that may arise when using the second patch generation section.
- (A) and (B) are diagrams for explaining a method for solving the problem shown in FIG. 6, and
- (C) is a diagram for explaining a method for solving the problem shown in FIG.
- FIG. 2 is a diagram illustrating an example of a hardware configuration of a model training device. It is a figure which shows the 1st example of the process performed by the 1st patch generation part of a model training apparatus. It is a figure which shows the 2nd example of the process performed by the 1st patch generation part of a model training apparatus. It is a figure which shows an example of the process performed by the 2nd patch generation part and training part of a model training device.
- FIG. 1 is a diagram showing an overview of a model training device 10 according to an embodiment.
- the model training device 10 includes a first patch generation section 110, a second patch generation section 120, and a training section 130.
- the first patch generation unit 110 generates at least one first patch that is a subset of the three-dimensional data using three-dimensional data indicating the shape of the object, and stores the first patch in the first storage unit 20. to be memorized.
- the second patch generation unit 120 reads any first patch from the first storage unit 20 and generates at least one second patch that is a subset of the first patch.
- the training unit 130 uses the second patch as training data to train a model for evaluating a three-dimensional shape. Then, the second patch generation unit 120 and the training unit 130 repeat the process until the criteria are met.
- the second patch is used for training.
- the second patch is a subset of the first patch. That is, in each epoch, the data read from the first storage unit 20 is not three-dimensional data but a first patch that is a subset of three-dimensional data. Therefore, the load when training the model is reduced.
- model training device 10 A detailed example of the model training device 10 will be described below.
- FIG. 2 is a diagram showing the configuration of the model training device 10 along with the environment in which the model training device 10 is used.
- FIG. 3 is a diagram for explaining the processing performed by the first patch generation unit 110 of the model training device 10.
- FIG. 4 is a diagram for explaining the processing performed by the second patch generation unit 120 of the model training device 10.
- the model training device 10 is used together with the first storage section 20, the second storage section 30, and the evaluation device 40.
- the first storage unit 20 stores the first patch.
- the model training device 10 When the model training device 10 generates a plurality of first patches, the first storage unit 20 stores the plurality of first patches.
- the first storage unit 20 also stores the model trained by the model training device 10.
- the second storage unit 30 stores at least one piece of three-dimensional data used by the model training device 10. As described above, the three-dimensional data indicates the shape of the object.
- the target object is, for example, a structure such as a bridge or a building, or a part of a structure such as a bridge pier or a bridge girder, but is not limited thereto.
- the second storage unit 30 may store three-dimensional data of each of a plurality of objects.
- the three-dimensional data is, for example, point cloud data generated using LiDAR.
- the three-dimensional data is a set of points having coordinate data that can be converted into XYZ coordinates.
- the coordinate data used here may directly indicate XYZ coordinates, or may be polar coordinate data (a set of elevation angle, horizontal angle, and distance) with the sensor position as the origin.
- the target object is a large-scale structure such as a bridge or a building
- the number of points included in the point cloud data may exceed 10 million.
- the three-dimensional data may be data other than point cloud data.
- the three-dimensional data may be mesh data that expresses three-dimensional information as a set of vertices, edges, and faces.
- the three-dimensional data may have labels set for each of a plurality of parts within the object.
- a label is set for each of the plurality of points that make up the point cloud data.
- An example of a label used here is whether the part is abnormal or not.
- the unit of data to which a label is attached and the content of the label are not limited to the above example.
- the evaluation device 40 uses the model trained by the model training device 10 to process three-dimensional data of the object to be evaluated.
- the model training device 10 includes the first patch generation section 110, the second patch generation section 120, and the training section 130.
- the first patch generation unit 110 performs processing before training the model.
- the second patch generation unit 120 and the training unit 130 perform processing for each epoch.
- the first patch generation unit 110 reads three-dimensional data from the second storage unit 30 and generates at least one first patch using the read three-dimensional data.
- the first patch is a subset of three-dimensional data and indicates the shape of a part of the object. It is preferable that the first patch generation unit 110 generates a plurality of first patches from one three-dimensional data. Further, when the second storage unit 30 stores a plurality of three-dimensional data, the first patch generation unit 110 generates at least one first patch, preferably a plurality of first patches, from each of the plurality of three-dimensional data. generate.
- the amount of data of the first patch is, for example, 1/100 or less of the three-dimensional data used to generate the first patch, but is not limited thereto. Further, when the three-dimensional data is point cloud data, the number of points included in the first patch is, for example, 100,000 or less, but is not limited to this.
- the first patch generation unit 110 causes all parts of the three-dimensional data to be included in at least one first patch.
- at least a portion of the three-dimensional data may be included in the plurality of first patches.
- the first patch generation unit 110 stores the generated first patch in the first storage unit 20.
- the first patch generation unit 110 associates the first patch with the three-dimensional data used when generating the first patch, and 1 storage unit 20 is preferable.
- the first patch generation unit 110 may generate the first patch using labels included in the three-dimensional data. For example, there may be a large difference in the number of data having the label between labels. In this case, it is preferable that the first patch generation unit 110 generates the first patch so that the content of the training data is not biased due to this difference.
- the first number which is the number of parts that have the first label
- the second number which is the number of parts that have the second label. If the number of first patches including the first label is the first number of patches, and the number of first patches including the second label is the second number of patches, the first patch generation unit 110 generates the second patch number. The ratio of the first number of patches to the number of patches is made higher than the ratio of the first number to the second number. In this way, the number of training data having the first label increases compared to the case where nothing is done.
- the first patch generation unit 110 preferentially generates a first patch that includes data having a label indicating an abnormality. In other words, the first patch generation unit 110 generates a first patch corresponding to a minority label (for example, the above-mentioned first label) from a first patch corresponding to a majority label (for example, the above-mentioned second label). Also, try to leave it with a high probability.
- a minority label for example, the above-mentioned first label
- a majority label for example, the above-mentioned second label
- the operation of the first patch generation unit 110 in semantic segmentation where the three-dimensional data is point cloud data and the number of labels is two will be described. It is assumed that label 0 or label 1 is assigned to each point of three-dimensional data, and that label 0 is in the majority than label 1. In this case, the first patch generation unit 110 operates to leave the first patch that includes the point with label 1 with a higher probability than the first patch that does not include label 1. The first patch generation unit 110 may leave only the first patch including label 1.
- the second patch generation unit 120 reads the first patch from the first storage unit 20 and generates at least one second patch using the read first patch.
- the second patch is a subset of the first patch, and shows the shape of a further part of the part of the object shown by the first patch.
- the second patch generation method performed by the second patch generation unit 120 may be any method as long as it can generate a patch as training data. Examples of methods used here include the following (1) to (3).
- the second patch generation unit 120 superimposes a predetermined shape on the first patch, and generates a second patch using the result of the superposition.
- the predetermined shape is, for example, a convex figure such as a sphere, a rectangular parallelepiped, a cylinder, and an ellipsoid, or a union or difference set of a plurality of convex figures.
- the second patch generation unit 120 sets, for example, a common portion between the first patch and this predetermined shape as a second patch.
- the portion of the first patch that overlaps with the predetermined shape and the orientation of the predetermined shape may be randomly selected.
- the second patch generation unit 120 generates the second patch by selecting a reference point in the first patch and selecting another part from the reference point according to a predetermined rule. For example, if the three-dimensional data is point cloud data, the first patch and second patch will also be point cloud data. In this case, the second patch generation unit 120 first selects a point to be a reference point from a plurality of points included in the first patch. This selection may be made randomly. Then, the second patch generation unit 120 selects a predetermined number of points from this reference point according to a predetermined rule. The second patch generation unit 120 then creates a second patch using these points and the reference point.
- a predetermined rule For example, if the three-dimensional data is point cloud data, the first patch and second patch will also be point cloud data. In this case, the second patch generation unit 120 first selects a point to be a reference point from a plurality of points included in the first patch. This selection may be made randomly. Then, the second patch generation unit 120 selects a predetermined number of points from
- the second patch generation unit 120 can use, for example, the following two methods (2-1) and (2-2) when selecting points other than the reference point.
- the second patch generation unit 120 selects a point that is close in distance to the reference point.
- the second patch generation unit 120 may select a predetermined number of points in order of proximity to the reference point. This technique is, for example, K-nearest neighbor search.
- the second patch generation unit 120 selects a point that is close in distance and characteristics to the reference point.
- the second patch generation unit 120 may randomly select the reference point. Then, the second patch generation unit 120 selects points whose similarity to the reference point of shape information such as normals and PCA feature values satisfies the criteria, and selects a predetermined number of points from among these points in order of proximity to the reference point. may be selected.
- This technique is, for example, a region expansion method.
- the second patch generation unit 120 generates a second patch by dividing the first patch into a plurality of subsets that are similar to each other in at least one of distance and shape.
- the second patch generation unit 120 generates the second patch from the first patch using a segmentation technique, such as the RANSAC method or the cut pursuit method.
- the RANSAC method is a technique for extracting flat parts from three-dimensional data.
- the cut pursuit method is a technology that divides three-dimensional data into multiple subsets that are similar in distance and shape. For example, see the following URL ⁇ https://github.com/loicland/cut-pursuit> for details. Examples are disclosed. Then, a subset that becomes the second patch is randomly selected.
- the training unit 130 trains the model using the second patch generated by the second patch generation unit 120, as shown in FIG.
- the model used here is a model for recognizing the state of a three-dimensional shape. Recognition tasks used in this model include, but are not limited to, at least one of class classification, semantic segmentation, and autoencoder. Further, the recognition model is, for example, PointNet++, but is not limited thereto. Note that a detailed example of PointNet++ is disclosed, for example, at the following URL ⁇ https://arxiv.org/abs/1706.02413>.
- the explanatory variable is the above-mentioned second patch
- the objective variable is set using, for example, a label included in the second patch that is the explanatory variable. For example, if a label indicates whether something is abnormal or not, that label becomes an explanatory variable. If the three-dimensional data, the first patch, and the second patch are point cloud data, an example of an explanatory variable is whether the second patch includes a point labeled as abnormal.
- the second patch generation unit 120 and training unit 130 repeat the process until the criteria are met.
- the criteria used here are, for example, that the number of iterations (the number of epochs) reaches a predetermined value, that the value of the loss function of the model after training satisfies a predetermined condition, or that the accuracy of the model after training reaches a predetermined value.
- the following conditions must be met. However, other criteria may be used.
- the model trained by the training unit 130 detects an abnormal location in the object, for example, a structure. become a model for
- the training unit 130 stores the trained model in the first storage unit 20.
- the model training device 10 transmits the model stored in the first storage unit 20 to the evaluation device 40 as necessary.
- the evaluation device 40 evaluates the object using this model.
- FIG. 5 is a diagram for explaining an example of a problem that may arise when using the first patch generation unit 110. If the conditions used to generate the first patch are not set appropriately, there is a possibility that part of the three-dimensional data will be an area that is not included in any of the first patches, as shown in Figure 5. It's coming.
- FIG. 6 is a diagram for explaining an example of a problem that may arise when using the second patch generation section 120. If the conditions used to generate the second patch are not set appropriately, the second patch may have a data structure that cannot occur if the patch is directly generated from three-dimensional data, as shown in Figure 6. There is. In the example shown in FIG. 6, data should exist in the lower right area of the second patch because a part of the object originally exists. However, in the example shown in this figure, this area is outside the first patch, so it ends up being an area that does not contain data.
- 7(A) and 7(B) are diagrams for explaining conditions for solving the problem shown in FIG. 6.
- all parts of the second patch must be included in the first patch. The conditions necessary for this will be explained below.
- the first patch generation unit 110 randomly generates a first patch from three-dimensional data
- the second patch generation unit 120 randomly generates a second patch from the first patch.
- the first patch generation section 110 and the second patch generation section 120 use parameters that control randomness. For example, if the first patch and the second patch are both spheres, this parameter is the center position of the sphere. Then, as shown in FIG. 7(A), if the radius of the second patch is r and the radius of the first patch is r + ⁇ r, then the center of the second patch is a sphere with radius ⁇ r from the center of the first patch. If it is located inside, all parts of the second patch will be included in the first patch.
- the second patch generation unit 120 says, ⁇ When selecting a second patch from the m-th first patch, the second patch is selected under the condition that the second patch is included in the first patch. It is necessary to select a parameter from the range of parameters Param (Pm) to be obtained.
- Param (Pm) is "a sphere with a radius ⁇ r from the center of the first patch”.
- Param (Pm) is a condition that the second patch generated from the m-th first patch can also be directly generated from three-dimensional data, as explained using FIG. 7(C). In cases where the conditions are met, the range that the parameter can take may be indicated.
- FIG. 7(C) is a diagram for explaining conditions for solving the problem shown in FIG. 5.
- the first patch generation unit 110 needs to ensure that any part of the three-dimensional data is included in at least one first patch.
- the first patch generation unit 110 needs to generate a plurality of first patches at intervals d so as to cover the entire three-dimensional data.
- d is less than or equal to (2/ ⁇ 3) ⁇ r.
- FIG. 7(B) when the center of the second patch is located within a sphere with radius ⁇ r from the center of the first patch, the second patch that can be generated is three-dimensional. There is no difference between patches generated directly from data, including randomness and coverage.
- Param (Pm) indicates the range that the parameter can take when the condition that the second patch generated from the m-th first patch can also be directly generated from three-dimensional data is satisfied.
- the first patch generation unit 110 Param(P1) ⁇ Param(P2) ⁇ ... ⁇ Param(PN) ⁇ PX'...(1) N first patches are generated so as to satisfy the following.
- PX' is included in the union.
- the above equation (1) indicates that "the entire patch generated from X based on PX' is covered by the union of all the patches generated from X based on each Param".
- Q(p, P) be the second patch generated by the second patch generation unit 120 based on an arbitrary first patch P and an arbitrary parameter p.
- Param(P) be a set of parameters p for which Q(p, P) and Q(p, X) are the same.
- the second patch generation unit 120 generates the second patch based on the parameter p included in Param(P)
- a unique second patch as shown in FIG. 6 is not generated.
- the first patch generation unit 110 generates at least N first patches P1, P2, . . . , PN. At this time, the first patch generation unit 110 generates these N first patches according to the above formula (1), that is, Param(P1) ⁇ Param(P2) ⁇ ... ⁇ Param(PN) ⁇ PX' Generate it so that it holds true.
- the second patch generation unit 120 selects at least one parameter p included in Param(P) based on the first patch P, and generates at least one second patch Q(p,P).
- the second patch generated can cover "the second patch that includes even a part of X'". This is because from the definition of Param(P), the second patch Q(p, P) is always the same as Q(p, This is because it can be done.
- FIG. 8 is a diagram showing an example of the hardware configuration of the model training device 10.
- Model training device 10 has a bus 1010, a processor 1020, a memory 1030, a storage device 1040, an input/output interface 1050, and a network interface 1060.
- the bus 1010 is a data transmission path through which the processor 1020, memory 1030, storage device 1040, input/output interface 1050, and network interface 1060 exchange data with each other.
- the method of connecting the processors 1020 and the like to each other is not limited to bus connection.
- the processor 1020 is a processor implemented by a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or the like.
- the memory 1030 is a main storage device implemented by RAM (Random Access Memory) or the like.
- the storage device 1040 is an auxiliary storage device realized by a removable medium such as an HDD (Hard Disk Drive), an SSD (Solid State Drive), a memory card, or a ROM (Read Only Memory), and has a recording medium. There is.
- the recording medium of the storage device 1040 stores program modules that implement each function of the model training device 10 (for example, the first patch generation section 110, the second patch generation section 120, and the training section 130).
- the processor 1020 reads each of these program modules onto the memory 1030 and executes them, each function corresponding to the program module is realized.
- the storage device 1040 may function as at least one of the first storage unit 20 and the second storage unit 30.
- the input/output interface 1050 is an interface for connecting the model training device 10 and various input/output devices.
- the model training device 10 communicates with the first storage unit 20 and the second storage unit 30 via the input/output interface 1050.
- the network interface 1060 is an interface for connecting the model training device 10 to a network.
- This network is, for example, a LAN (Local Area Network) or a WAN (Wide Area Network).
- the method by which the network interface 1060 connects to the network may be a wireless connection or a wired connection.
- Model training device 10 may communicate with evaluation device 40 via network interface 1060.
- FIG. 9 is a diagram showing a first example of processing performed by the first patch generation unit 110 of the model training device 10.
- the first patch generation unit 110 generates the first patch in advance before the second patch generation unit 120 and the training unit 130 perform processing.
- the first patch generation unit 110 reads three-dimensional data to be processed from the second storage unit 30 (step S10). Next, the first patch generation unit 110 generates a first patch from the read three-dimensional data (step S20), and stores the generated first patch in the first storage unit 20 (step S30). The first patch generation unit 110 repeats step S20 and step S30 until the number of first patches stored in the first storage unit 20 satisfies the criteria (step S40).
- the first patch generation unit 110 performs the processing shown in FIG. 9 for each of the plurality of three-dimensional data.
- FIG. 10 is a diagram illustrating a second example of processing performed by the first patch generation unit 110 of the model training device 10.
- the first patch generation unit 110 is the same as the example shown in FIG. 9, except that the first patch generation unit 110 generates the first patch using the label included in the three-dimensional data (step S22).
- a specific example of how to use the label is as described using FIG. 2.
- FIG. 11 is a diagram illustrating an example of processing performed by the second patch generation unit 120 and training unit 130 of the model training device 10.
- the second patch generation unit 120 reads the first patch from the first storage unit 20.
- the first storage unit 20 stores a plurality of first patches
- the second patch generation unit 120 selects one first patch from the plurality of first patches, and converts the selected first patch into read out.
- the second patch generation unit 120 randomly selects the first patch (step S110).
- the second patch generation unit 120 generates at least one second patch using the read first patch (step S120).
- the training unit 130 trains the model using the second patch generated by the second patch generation unit 120, and stores the trained model in the first storage unit 20 (step S130).
- the second patch generation unit 120 and the training unit 130 repeat the processes shown in steps S110 to S130 until the criteria are met (step S140).
- the model training device 10 includes the first patch generation section 110.
- the first patch generation unit 110 generates a first patch that is a subset of three-dimensional data, and stores it in the first storage unit 20.
- the second patch generation unit 120 uses the first patch stored in the first storage unit 20 to generate a second patch that becomes training data. Since the first patch is a subset of two-dimensional data, the load on the model training device 10 is reduced compared to the case where patches serving as training data are directly generated from three-dimensional data. Therefore, the load on the model training device 10 when training a model for evaluating three-dimensional data representing the shape of an object is reduced.
- first patch generating means for generating at least one first patch that is a subset of the three-dimensional data using three-dimensional data indicating the shape of the object, and storing the first patch in a storage means; a second patch generating means for reading one of the first patches from the storage means and generating at least one second patch that is a subset of the first patch; training means for training a model for evaluating a three-dimensional shape using the second patch as training data; Equipped with The second patch generation means and the training means repeat processing until a criterion is satisfied. 2.
- the first patch generation means generates the N first patches using a parameter for controlling patch randomness
- the second patch generation means generates the second patch using the parameters, Assuming that the three-dimensional data or a subset of the three-dimensional data is X', The set of parameters satisfying the condition that the second patch can be used as training data and includes at least a part of the X' is defined as PX', For the m-th first patch, when the condition that the second patch generated from the first patch can be directly generated from the three-dimensional data is satisfied, the range that the parameter can take is set as Param.
- the second patch generation means selects the parameter from the Param (Pm). 4.
- the second patch generation means selects a parameter of the second patch from Param(Pm)′, which is a subset of Param(Pm).
- the three-dimensional data has labels set for each of a plurality of parts within the object
- the first patch generation means is a model training device that generates a plurality of first patches using the labels. 6.
- a first number the number of the parts having a first said label, is less than a second number, the number of the parts having a second said label;
- the first patch generation means makes a ratio of the first number of patches to the second number of patches higher than a ratio of the first number to the second number. 7.
- the second patch generation means is a model training device that superimposes a predetermined shape on the first patch and generates the second patch using the result of the superposition.
- the second patch generation means generates the second patch by selecting a reference point in the first patch and selecting another part from the first patch from the reference point according to a predetermined rule. A model training device.
- the second patch generating means generates the second patch by dividing the first patch into a plurality of subsets that are similar to each other in at least one of distance and shape. 10.
- the training data includes information indicating whether or not the second patch includes an abnormal location that occurs in the object
- the model is a model training device, wherein the model is a model for detecting an abnormal location in a target object.
- the computer is Using three-dimensional data indicating the shape of the object, generating at least one first patch that is a subset of the three-dimensional data, and storing the first patch in a storage means; reading one of the first patches from the storage means and generating at least one second patch that is a subset of the first patch; training a model for evaluating a three-dimensional shape using the second patch as training data; A model training method, wherein generating the second patch and training the model are repeated until a criterion is satisfied. 12.
- the model training method wherein the computer selects the parameter from the Param (Pm). 14.
- the computer selects a parameter of the second patch from Param(Pm)' that is a subset of Param(Pm),
- the three-dimensional data has labels set for each of a plurality of parts within the object, The model training method, wherein the computer generates the plurality of first patches using the labels. 16.
- a first number, the number of the parts having a first said label is less than a second number, the number of the parts having a second said label;
- the computer makes a ratio of the first number of patches to the second number of patches higher than a ratio of the first number to the second number.
- the computer generates the second patch by selecting a reference point in the first patch and selecting another part from the first patch according to a predetermined rule from the reference point.
- Method. 19 In the model training method according to any one of items 11 to 16 above, The model training method, wherein the computer generates the second patch by dividing the first patch into a plurality of subsets that are similar to each other in at least one of distance and shape. 20.
- the training data includes information indicating whether or not the second patch includes an abnormal location that occurs in the object,
- the model is a model training method, wherein the model is a model for detecting an abnormal location in a target object. 31.
- a first patch generation function that uses three-dimensional data indicating the shape of the object to generate at least one first patch that is a subset of the three-dimensional data, and stores the first patch in a storage means; a second patch generation function that reads one of the first patches from the storage means and generates at least one second patch that is a subset of the first patch; a training function for training a model for evaluating a three-dimensional shape using the second patch as training data;
- the first patch generation function generates N first patches using a parameter for controlling patch randomness
- the second patch generation function generates the second patch using the parameters, Assuming that the three-dimensional data or a subset of the three-dimensional data is X', The set of parameters satisfying the condition that the second patch can be used as training data and includes at least a part of the X' is defined as PX', For the m-th first patch, when the condition that the second patch generated from the first patch can be directly generated from the three-dimensional data is satisfied, the range that the parameter can take is set as Param.
- the second patch generation function selects the parameter from the Param (Pm). 34.
- the three-dimensional data has labels set for each of a plurality of parts within the object,
- the first patch generation function generates a plurality of first patches using the label.
- a first number the number of the parts having a first said label, is less than a second number, the number of the parts having a second said label;
- the first patch generation function makes a ratio of the first number of patches to the second number of patches higher than a ratio of the first number to the second number.
- the second patch generation function superimposes a predetermined shape on the first patch, and generates the second patch using the result of the superposition. 38.
- the second patch generation function generates the second patch by selecting a reference point in the first patch and selecting another part from the first patch from the reference point according to a predetermined rule.
- the second patch generation function generates the second patch by dividing the first patch into a plurality of subsets that are similar to each other in at least one of distance and shape. 40.
- the training data includes information indicating whether or not the second patch includes an abnormal location that occurs in the object
- the model is a recording medium that is a model for detecting an abnormal location of an object. 41.
- Model training device 110 First patch generation section 120 Second patch generation section 130 Training section 20 First storage section 30 Second storage section 40 Evaluation device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Processing Or Creating Images (AREA)
Abstract
モデル訓練装置(10)は、第1パッチ生成部(110)、第2パッチ生成部(120)、及び訓練部(130)を備えている。第1パッチ生成部(110)は、対象物の形状を示す3次元データを用いて、当該3次元データの部分集合である第1パッチを少なくとも一つ生成し、当該第1パッチを第1記憶部(20)に記憶させる。第2パッチ生成部(120)は、第1記憶部(20)からいずれかの第1パッチを読み出し、当該第1パッチの部分集合である第2パッチを少なくとも一つ生成する。訓練部(130)は、第2パッチを訓練データとして、3次元形状を評価するためのモデルを訓練する。そして、第2パッチ生成部(120)及び訓練部(130)は、基準が満たされるまで処理を繰り返す。
Description
本発明は、モデル訓練装置、モデル訓練方法、及び記録媒体に関する。
対象物の形状を示す3次元データを用いて、対象物の異常を検出することが検討されている。近年は、機械学習により訓練されたモデルを用いてこの異常を検出することが検討されている。
例えば非特許文献1には、3次元データから、部分集合である球体パッチを、当該3次元データの全体をカバーするように複数生成し、これら複数の球体パッチを訓練データとして用いることが記載されている。
上記した非特許文献1に記載の技術では、生成され得る球体パッチの全てを学習できるわけではない。このため、生成されたモデルを用いて推論するときの性能が、推論時のパッチ分割に依存しやすくなる。
これに対して非特許文献2には、訓練時の各エポックにおいて、3次元データを読み出し、球体状パッチをランダムに生成して、点群学習器に入力することが記載されている。非特許文献2においても、球体状パッチは、3次元データの全体をカバーするように生成される。
"Transforms," in the API document of TorchPoints3D、[2022年3月4日検索]<URL:https://torch-points3d.readthedocs.io/en/latest/src/api/transforms.html>
Thomas, et al., "KPConv: Flexible and deformable convolution for point clouds," 2019、[2022年2月28日検索]<URL:https://arxiv.org/pdf/1904.08889.pdf>
上述した非特許文献2においては、訓練時の各エポックにおいて、対象物の形状を示す3次元データを読み出す必要があった。このため、訓練を行う装置の負荷が大きくなっていた。
本発明の目的の一例は、上述した課題を鑑み、対象物の形状を示す3次元データを評価するモデルを訓練する際の負荷が小さいモデル訓練装置、モデル訓練方法、及び記録媒体を提供することにある。
本発明の一態様によれば、対象物の形状を示す3次元データを用いて、当該3次元データの部分集合である第1パッチを少なくとも一つ生成し、当該第1パッチを記憶手段に記憶させる第1パッチ生成手段と、
前記記憶手段からいずれかの前記第1パッチを読み出し、当該第1パッチの部分集合である第2パッチを少なくとも一つ生成する第2パッチ生成手段と、
前記第2パッチを訓練データとして、3次元形状を評価するためのモデルを訓練する訓練手段と、
を備え、
前記第2パッチ生成手段及び前記訓練手段は、基準が満たされるまで処理を繰り返す、モデル訓練装置が提供される。
前記記憶手段からいずれかの前記第1パッチを読み出し、当該第1パッチの部分集合である第2パッチを少なくとも一つ生成する第2パッチ生成手段と、
前記第2パッチを訓練データとして、3次元形状を評価するためのモデルを訓練する訓練手段と、
を備え、
前記第2パッチ生成手段及び前記訓練手段は、基準が満たされるまで処理を繰り返す、モデル訓練装置が提供される。
本発明の一態様によれば、コンピュータが、
対象物の形状を示す3次元データを用いて、当該3次元データの部分集合である第1パッチを少なくとも一つ生成し、当該第1パッチを記憶手段に記憶させ、
前記記憶手段からいずれかの前記第1パッチを読み出し、当該第1パッチの部分集合である第2パッチを少なくとも一つ生成し、
前記第2パッチを訓練データとして、3次元形状を評価するためのモデルを訓練し、
前記第2パッチの生成及び前記モデルの訓練を、基準が満たされるまで繰り返す、モデル訓練方法が提供される。
対象物の形状を示す3次元データを用いて、当該3次元データの部分集合である第1パッチを少なくとも一つ生成し、当該第1パッチを記憶手段に記憶させ、
前記記憶手段からいずれかの前記第1パッチを読み出し、当該第1パッチの部分集合である第2パッチを少なくとも一つ生成し、
前記第2パッチを訓練データとして、3次元形状を評価するためのモデルを訓練し、
前記第2パッチの生成及び前記モデルの訓練を、基準が満たされるまで繰り返す、モデル訓練方法が提供される。
本発明の一態様によれば、コンピュータに、
対象物の形状を示す3次元データを用いて、当該3次元データの部分集合である第1パッチを少なくとも一つ生成し、当該第1パッチを記憶手段に記憶させる第1パッチ生成機能と、
前記記憶手段からいずれかの前記第1パッチを読み出し、当該第1パッチの部分集合である第2パッチを少なくとも一つ生成する第2パッチ生成機能と、
前記第2パッチを訓練データとして、3次元形状を評価するためのモデルを訓練する訓練機能と、
を持たせるプログラムを記録しており、
前記第2パッチ生成機能及び前記訓練機能は、基準が満たされるまで処理を繰り返す、コンピュータで読み取り可能な記録媒体が提供される。
対象物の形状を示す3次元データを用いて、当該3次元データの部分集合である第1パッチを少なくとも一つ生成し、当該第1パッチを記憶手段に記憶させる第1パッチ生成機能と、
前記記憶手段からいずれかの前記第1パッチを読み出し、当該第1パッチの部分集合である第2パッチを少なくとも一つ生成する第2パッチ生成機能と、
前記第2パッチを訓練データとして、3次元形状を評価するためのモデルを訓練する訓練機能と、
を持たせるプログラムを記録しており、
前記第2パッチ生成機能及び前記訓練機能は、基準が満たされるまで処理を繰り返す、コンピュータで読み取り可能な記録媒体が提供される。
本発明の一態様によれば、対象物の形状を示す3次元データを評価するモデルを訓練する際の負荷が小さいモデル訓練装置、モデル訓練方法、及び記録媒体を提供できる。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
図1は、実施形態に係るモデル訓練装置10の概要を示す図である。モデル訓練装置10は、第1パッチ生成部110、第2パッチ生成部120、及び訓練部130を備えている。
第1パッチ生成部110は、対象物の形状を示す3次元データを用いて、当該3次元データの部分集合である第1パッチを少なくとも一つ生成し、当該第1パッチを第1記憶部20に記憶させる。第2パッチ生成部120は、第1記憶部20からいずれかの第1パッチを読み出し、当該第1パッチの部分集合である第2パッチを少なくとも一つ生成する。訓練部130は、第2パッチを訓練データとして、3次元形状を評価するためのモデルを訓練する。そして、第2パッチ生成部120及び訓練部130は、基準が満たされるまで処理を繰り返す。
モデル訓練装置10において、訓練には第2パッチが用いられる。第2パッチは、第1パッチの部分集合である。すなわち、各エポックにおいて、第1記憶部20から読み出されるデータは、3次元データではなく、3次元データの部分集合である第1パッチである。従って、モデルを訓練する際の負荷は小さくなる。
以下、モデル訓練装置10の詳細例について説明する。
図2は、モデル訓練装置10の構成を、モデル訓練装置10の使用環境と共に示す図である。図3は、モデル訓練装置10の第1パッチ生成部110が行う処理を説明するための図である。図4は、モデル訓練装置10の第2パッチ生成部120が行う処理を説明するための図である。
図2に示す例において、モデル訓練装置10は、第1記憶部20、第2記憶部30、及び評価装置40と共に使用される。
第1記憶部20は、第1パッチを記憶している。モデル訓練装置10が複数の第1パッチを生成した場合、第1記憶部20は、これら複数の第1パッチを記憶している。また第1記憶部20は、モデル訓練装置10が訓練したモデルも記憶している。
第2記憶部30は、モデル訓練装置10が使用する3次元データを少なくとも一つ記憶している。上記したように、3次元データは対象物の形状を示している。対象物は、例えば橋梁や建物などの構造物、または橋脚や橋桁などの構造物の一部分であるが、これに限定されない。第2記憶部30は、複数の対象物それぞれの3次元データを記憶していてもよい。
3次元データは、例えばLiDARを用いて生成された点群データである。この場合、3次元データは、XYZ座標に変換可能な座標データを持つ点の集合である。ここで用いられる座標データは、XYZ座標を直接示していてもよいし、センサ位置を原点とする極座標データ(仰角、水平角、及び距離の組)でもよい。対象物が橋梁や建物などの大規模な構造物である場合、点群データに含まれる点の数は1000万を超えることもある。
なお、3次元データは点群データ以外のデータでもよい。例えば3次元データは、頂点、辺、及び面の集合として三次元情報を表現するメッシュデータでもよい。
また3次元データは、対象物内の複数の部分別に設定されたラベルを有していてもよい。例えば3次元データが点群データの場合、点群データを構成する複数の点毎にラベルが設定されている。ここで用いられるラベルの一例は、その部分が異常であるか否かである。ただし、ラベルが付与されるデータの単位及びラベルの内容は、上記した例に限定されない。
評価装置40は、モデル訓練装置10が訓練したモデルを用いて、評価対象となる対象物の3次元データを処理する。
そして、モデル訓練装置10は、上記したように、第1パッチ生成部110、第2パッチ生成部120、及び訓練部130を有している。これらのうち第1パッチ生成部110は、モデルの訓練を行う前に処理を行う。これに対して第2パッチ生成部120及び訓練部130は、エポック毎に処理を行う。
第1パッチ生成部110は、図3に示すように、第2記憶部30から3次元データを読み出し、読み出した3次元データを用いて少なくとも一つの第1パッチを生成する。第1パッチは、3次元データの部分集合であり、対象物の一部の形状を示している。第1パッチ生成部110は、一つの3次元データから複数の第1パッチを生成するのが好ましい。また第2記憶部30が複数の3次元データを記憶している場合、第1パッチ生成部110は、複数の3次元データのそれぞれから、少なくとも一つの第1パッチ、好ましくは複数の第1パッチを生成する。
第1パッチのデータ量は、例えば当該第1パッチを生成する際に用いられた3次元データの1/100以下であるが、これに限定されない。また、3次元データが点群データである場合、第1パッチに含まれる点の数は、例えば10万以下であるが、これに限定されない。
第1パッチ生成部110は、3次元データのすべての部分が、少なくとも一つの第1パッチに含まれるようにするのが好ましい。ここで、3次元データの少なくとも一部は、複数の第1パッチに含まれていてもよい。
そして第1パッチ生成部110は、生成した第1パッチを第1記憶部20に記憶させる。ここで第1パッチ生成部110は、複数の3次元データのそれぞれから第1パッチを生成した場合、第1パッチを、当該第1パッチを生成する際に用いた3次元データに紐づけて第1記憶部20に記憶させるのが好ましい。
第1パッチ生成部110は、3次元データに含まれるラベルを用いて第1パッチを生成してもよい。例えば、ラベル間で、当該ラベルを有するデータ数に大きな差が生じることがある。この場合、第1パッチ生成部110は、この差に起因して訓練データの内容に偏りが生じないように、第1パッチを生成するのが好ましい。
例えば、3次元データが複数の部分を含んでおり、これら複数の部分別にラベルが付与されている場合を考える。第1のラベルを有している部分の数である第1数は、第2のラベルを有している部分の数である第2数よりも少ない、とする。第1のラベルを含む第1パッチの数を第1のパッチ数、第2のラベルを含む第1パッチの数を第2のパッチ数とした場合、第1パッチ生成部110は、第2のパッチ数に対する第1のパッチ数の比を、第2数に対する第1数の比よりも高くする。このようにすると、第1のラベルを有する訓練データの数は、何もしない場合と比較して多くなる。
一例として、ラベルが、当該部分が異常を含んでいるか否かを示している場合を考える。この場合、異常であるデータは、異常ではないデータよりも少ない場合が多い。この場合、異常であることを示すラベルは、上記した第1のラベルに相当し、異常でないことを示すラベルは、上記した第2のラベルに相当する。第1パッチ生成部110は、異常であることを示すラベルを有するデータを含む第1パッチを優先的に生成する。換言すると、第1パッチ生成部110は、少数派ラベル(例えば上記した第1のラベル)に対応する第1パッチを、多数派ラベル(例えば上記した第2のラベル)に対応する第1パッチよりも、高い確率で残すようにする。
一例として、3次元データが点群データであり、かつ、ラベル数2のセマンティックセグメンテーションにおける、第1パッチ生成部110の動作を説明する。3次元データの各点にラベル0またはラベル1が割り当てられており、ラベル0はラベル1よりも多数派であるとする。この場合,第1パッチ生成部110は、ラベル1の点を含む第1パッチを、ラベル1を含まない第1パッチよりも、高い確率で残すように動作する。第1パッチ生成部110は、ラベル1を含む第1パッチのみを残してもよい。
図2に戻る。第2パッチ生成部120は、図4に示すように、第1記憶部20から第1パッチを読み出し、読み出した第1パッチを用いて少なくとも一つの第2パッチを生成する。第2パッチは、図1を用いて説明したように、第1パッチの部分集合であり、対象物のうち第1パッチが示す部分の、さらに一部の形状を示している。
第2パッチ生成部120が行う第2パッチの生成方法は、訓練データとしてのパッチを生成することができる方法であれば、どのような方法でもよい。ここで用いられる方法の例としては、以下の(1)~(3)が挙げられる。
(1)第2パッチ生成部120は、予め定められた形状を第1パッチに重ね合わせ、当該重ね合わせた結果を用いて第2パッチを生成する。
予め定められた形状は、例えば球体、直方体、円柱、及び楕円体などの凸図形、もしくは複数の凸図形の和集合又は差集合である。そして第2パッチ生成部120は、例えば第1パッチと、この予め定められた形状との共通部分を、第2パッチとする。ここで、第1パッチのうち予め定められた形状と重なる部分や予め定められた形状の向きは、ランダムに選択され得る。
予め定められた形状は、例えば球体、直方体、円柱、及び楕円体などの凸図形、もしくは複数の凸図形の和集合又は差集合である。そして第2パッチ生成部120は、例えば第1パッチと、この予め定められた形状との共通部分を、第2パッチとする。ここで、第1パッチのうち予め定められた形状と重なる部分や予め定められた形状の向きは、ランダムに選択され得る。
(2)第2パッチ生成部120は、第1パッチの中で、基準点を選択するとともに当該基準点から所定の規則で他の部分を選択することにより、第2パッチを生成する。
例えば3次元データが点群データの場合、第1パッチ及び第2パッチも点群データになる。この場合、第2パッチ生成部120は、最初に、第1パッチに含まれている複数の点から、基準点となる点を選択する。この選択は、ランダムに行われてもよい。そして第2パッチ生成部120は、この基準点から所定の規則で所定の数の点を選択する。そして第2パッチ生成部120は、これらの点及び基準点を、第2パッチにする。
例えば3次元データが点群データの場合、第1パッチ及び第2パッチも点群データになる。この場合、第2パッチ生成部120は、最初に、第1パッチに含まれている複数の点から、基準点となる点を選択する。この選択は、ランダムに行われてもよい。そして第2パッチ生成部120は、この基準点から所定の規則で所定の数の点を選択する。そして第2パッチ生成部120は、これらの点及び基準点を、第2パッチにする。
ここで、第2パッチ生成部120は、基準点以外の点を選択するときに、例えば以下の(2-1)及び(2-2)の2つの方法を用いることができる。
(2-1)第2パッチ生成部120は、基準点から距離的に近い点を選ぶ。ここで第2パッチ生成部120は、基準点から近い順に、所定の個数の点を選択してもよい。この技術は、例えばK近傍探索である。
(2-2)第2パッチ生成部120は、基準点から距離的及び特徴的に近い点を選ぶ。ここで第2パッチ生成部120は、基準点をランダムに選択してもよい。そして第2パッチ生成部120は、法線やPCA特徴量などの形状情報の基準点に対する類似度が基準を満たす点を選択し、これらの点のうち基準点から近い順に、所定の個数の点を選択してもよい。この技術は、例えば領域拡張法である。
(3)第2パッチ生成部120は、第1パッチを、距離的および形状的の少なくとも一方において互いに類似した複数の部分集合に分割することにより、第2パッチを生成する。
第2パッチ生成部120は、セグメンテーション技術、例えばRANSAC法、又はCut pursuit法を用いて、第1パッチから第2パッチを生成する。RANSAC法は、三次元データから平面部分を抽出する技術である。またCut pursuit法は、三次元データを距離的および形状的に類似した複数の部分集合に分割する技術であり、例えば次のURL<https://github.com/loicland/cut-pursuit>に詳細例が開示されている。そして、第2パッチとなる部分集合は、ランダムに選択される。
第2パッチ生成部120は、セグメンテーション技術、例えばRANSAC法、又はCut pursuit法を用いて、第1パッチから第2パッチを生成する。RANSAC法は、三次元データから平面部分を抽出する技術である。またCut pursuit法は、三次元データを距離的および形状的に類似した複数の部分集合に分割する技術であり、例えば次のURL<https://github.com/loicland/cut-pursuit>に詳細例が開示されている。そして、第2パッチとなる部分集合は、ランダムに選択される。
訓練部130は、図4に示すように、第2パッチ生成部120が生成した第2パッチを用いてモデルを訓練する。ここで用いられるモデルは、3次元形状の状態を認識するためのモデルである。このモデルで用いられる認識タスクは、例えばクラス分類、セマンティックセグメンテーション、及びオートエンコーダの少なくとも一つであるが、これらに限定されない。また認識モデルは、例えばPointNet++であるが、これに限定されない。なお、PointNet++の詳細例は、例えば次のURL<https://arxiv.org/abs/1706.02413>に開示されている。
訓練部130が用いる訓練データにおいて、説明変数は上記した第2パッチであり、目的変数は、例えば説明変数となる第2パッチに含まれるラベルを用いて設定される。例えばラベルが、異常であるか否かを示している場合、そのラベルが説明変数になる。3次元データ、第1パッチ、及び第2パッチが点群データの場合、説明変数の一例は、第2パッチが異常というラベルを付与された点を含んでいるか否かである。
第2パッチ生成部120及び訓練部130は、基準が満たされるまで、処理を繰り返す。ここで用いられる基準は、例えば、繰り返し回数(エポック回数)が所定の値に達すること、訓練後のモデルの損失関数による値が所定の条件を満たすこと、又は、訓練後のモデルの精度が所定の条件を満たすこと、である。ただし、これ以外の基準が用いられてもよい。
なお、訓練データの目的変数が、説明変数である第2パッチが異常を含んでいるか否かである場合、訓練部130が訓練したモデルは、対象物、例えば構造物が有する異常個所を検出するためのモデルになる。
そして訓練部130は、訓練後のモデルを第1記憶部20に記憶させる。モデル訓練装置10は、第1記憶部20に記憶されたモデルを、必要に応じて評価装置40に送信する。評価装置40は、このモデルを用いて対象物の評価を行う。
次に、図5~図7を用いて、第1パッチ生成部110及び第2パッチ生成部120の動作の詳細例について説明する。
図5は、第1パッチ生成部110を用いることにより生じうる課題の一例を説明するための図である。第1パッチの生成する際に用いられる条件を適切に設定しない場合、図5に示すように、3次元データの一部が、いずれの第1パッチにも含まれない領域となる可能性が出てくる。
図6は、第2パッチ生成部120を用いることにより生じうる課題の一例を説明するための図である。第2パッチの生成する際に用いられる条件を適切に設定しない場合、第2パッチは、図6に示すように、3次元データからパッチを直接生成した場合には生じ得ないデータ構成を有することがある。図6に示す例において、第2パッチの右下側の領域には、本来は対象物の一部が存在しているため、データが存在しているはずである。しかし、本図に示す例において、この領域は第1パッチから外れているため、データが含まれない領域となってしまう。
図7(A)及び図7(B)は、図6に示した課題を解決するための条件を説明するための図である。図6に示した課題を解決するためには、第2パッチのすべての部分が第1パッチに含まれている必要がある。以下に、このために必要な条件を説明する。
第1パッチ生成部110は3次元データからランダムに第1パッチを生成し、第2パッチ生成部120は、第1パッチからランダムに第2パッチを生成する。この際、第1パッチ生成部110及び第2パッチ生成部120は、ランダム性を制御するパラメータを用いる。例えば第1パッチ及び第2パッチがいずれも球である場合、このパラメータは、球の中心位置である。そして、図7(A)に示すように、第2パッチの半径をrとして、第1パッチの半径をr+Δrとした場合、第2パッチの中心が、第1パッチの中心から半径Δrの球の中に位置している場合、第2パッチのすべての部分が第1パッチに含まれることになる。
これを一般化すると、第2パッチ生成部120は、「m番目の第1パッチから第2パッチを選択する場合、第2パッチが第1パッチに内包されるという条件下で第2パッチがとり得るパラメータの範囲Param(Pm)から、パラメータを選択する」必要がある。ここで、Param(Pm)の一例は、「第1パッチの中心から半径Δrの球」である。なお、Param(Pm)は、図7(C)を用いて説明するように、m番目の第1パッチから生成された第2パッチが3次元データからも直接生成することができる、という条件を満たす場合において、パラメータが取り得る範囲を示していてもよい。
図7(C)は、図5に示した課題を解決するための条件を説明するための図である。第1パッチ生成部110は、本図に示すように、3次元データのいずれの部分も、少なくとも一つの第1パッチに含まれるようにする必要がある。このためには、第1パッチ生成部110は、3次元データ全体をカバーするように間隔dで複数の第1パッチを生成する必要がある。この場合、dは、(2/√3)Δr以下である。そして、図7(B)に示したように、第2パッチの中心が、第1パッチの中心から半径Δrの球の中に位置するようにした場合、生成され得る第2パッチは、3次元データから直接生成されたパッチと、ランダム性やカバー性を含めてそん色がなくなる。
これを一般化すると、以下のようになる。
・3次元データ又は当該3次元データの部分集合をX´とする。
・第2パッチが、訓練データとして利用可能かつX´の少なくとも一部を含む、という条件を満たすパラメータの集合をPX´とする。このPX´は、「Xからパッチを生成する際に、生成されたパッチが訓練データとして利用可能かつX'の少なくとも一部を含む」ようなパラメータの集合である。
・m番目の第1パッチについて、第2パッチがとり得るパラメータの範囲は上記したParam(Pm)である。Param(Pm)は、m番目の第1パッチから生成された第2パッチが3次元データからも直接生成することができる、という条件を満たす場合において、パラメータが取り得る範囲を示している。
この場合において、第1パッチ生成部110は、
Param(P1)∪Param(P2)∪...∪Param(PN)⊇PX´・・・(1)
を満たすように、N個の第1パッチを生成する。言い換えると、m=1~Nの間でParam(Pm)の和集合を算出した時に、PX´は当該和集合に含まれる。上記(1)式は、「PX'に基づいてXから生成されるパッチ全体が、各Paramに基づいてXから生成されるパッチ全体の和集合によってカバーされる」ことを示す。
・3次元データ又は当該3次元データの部分集合をX´とする。
・第2パッチが、訓練データとして利用可能かつX´の少なくとも一部を含む、という条件を満たすパラメータの集合をPX´とする。このPX´は、「Xからパッチを生成する際に、生成されたパッチが訓練データとして利用可能かつX'の少なくとも一部を含む」ようなパラメータの集合である。
・m番目の第1パッチについて、第2パッチがとり得るパラメータの範囲は上記したParam(Pm)である。Param(Pm)は、m番目の第1パッチから生成された第2パッチが3次元データからも直接生成することができる、という条件を満たす場合において、パラメータが取り得る範囲を示している。
この場合において、第1パッチ生成部110は、
Param(P1)∪Param(P2)∪...∪Param(PN)⊇PX´・・・(1)
を満たすように、N個の第1パッチを生成する。言い換えると、m=1~Nの間でParam(Pm)の和集合を算出した時に、PX´は当該和集合に含まれる。上記(1)式は、「PX'に基づいてXから生成されるパッチ全体が、各Paramに基づいてXから生成されるパッチ全体の和集合によってカバーされる」ことを示す。
なお、図7(B)に示した例において、Param(Pm)からパラメータすなわち球の中心を選ぶ際に、Param(Pm)となる球に内接する立方体から当該パラメータを選ぶようにするのが好ましい。このようにすると、隣り合うParam(Pm)間での重なりは無くなるため、パラメータの選ばれやすさを3次元データ全体で均一にすることができる。
これを一般化すると、次のようになる。第2パッチ生成部120は、m番目の第1パッチから第2パッチを生成する際、Param(Pm)の部分集合であるParam(Pm)´から第2パッチのパラメータを選択するとした場合、
Param(P1)´∩Param(P2)´∩・・・Param(PN)´=空集合
を満たすのが好ましい。言い換えると、m=1~Nの間でParam(Pm)´の積集合を算出した時に、この積集合は空集合になる。このようにすると、第2パッチ生成部120は、第2パッチのパラメータを、PX´から均一に選び出すことが可能になる。
Param(P1)´∩Param(P2)´∩・・・Param(PN)´=空集合
を満たすのが好ましい。言い換えると、m=1~Nの間でParam(Pm)´の積集合を算出した時に、この積集合は空集合になる。このようにすると、第2パッチ生成部120は、第2パッチのパラメータを、PX´から均一に選び出すことが可能になる。
図7の各図を用いて説明した内容を論理的に説明すると、以下のようになる。
任意の第1パッチPおよび任意のパラメータpに基づいて第2パッチ生成部120が生成する第2パッチをQ(p,P)とする。
任意の第1パッチPに対して、Q(p,P)とQ(p,X)が同一であるパラメータpの集合をParam(P)とする。換言すれば、第2パッチ生成部120がParam(P)に含まれるパラメータpに基づいて第2パッチを生成する限りにおいて、図6に示したような特異な第2パッチは生成されない。
Q(p,X)が、訓練データとして利用可能かつX´を一部でも含む、という条件を満たすパラメータpの集合をPX´と書き表す。換言すれば、パラメータpがPX´に含まれることと、Q(p,X)が「X´を一部でも含む第2パッチ」であること、とは同値である。
第1パッチ生成部110は、少なくともN個の第1パッチP1,P2,...,PNを生成する。この時、第1パッチ生成部110はこれらN個の第1パッチを、上記式(1)すなわち
Param(P1)∪Param(P2)∪...∪Param(PN)⊇PX´
が成り立つように生成する。
Param(P1)∪Param(P2)∪...∪Param(PN)⊇PX´
が成り立つように生成する。
さらに、第2パッチ生成部120は第1パッチPに基づいて、Param(P)に含まれる少なくとも1つのパラメータpを選択し、少なくとも1つの第2パッチQ(p,P)を生成する。
この時、生成される第2パッチは「X´を一部でも含む第2パッチ」を網羅しうる。なぜならば、Param(P)の定義から第2パッチQ(p,P)はQ(p,X)と常に同一であり、さらに上記式(1)から、選択されるパラメータpはPX´を網羅しうるからである。
図8は、モデル訓練装置10のハードウェア構成例を示す図である。モデル訓練装置10は、バス1010、プロセッサ1020、メモリ1030、ストレージデバイス1040、入出力インタフェース1050、及びネットワークインタフェース1060を有する。
バス1010は、プロセッサ1020、メモリ1030、ストレージデバイス1040、入出力インタフェース1050、及びネットワークインタフェース1060が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1020などを互いに接続する方法は、バス接続に限定されない。
プロセッサ1020は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などで実現されるプロセッサである。
メモリ1030は、RAM(Random Access Memory)などで実現される主記憶装置である。
ストレージデバイス1040は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、メモリカードなどのリムーバブルメディア、又はROM(Read Only Memory)などで実現される補助記憶装置であり、記録媒体を有している。ストレージデバイス1040の記録媒体はモデル訓練装置10の各機能(例えば第1パッチ生成部110、第2パッチ生成部120、及び訓練部130)を実現するプログラムモジュールを記憶している。プロセッサ1020がこれら各プログラムモジュールをメモリ1030上に読み込んで実行することで、そのプログラムモジュールに対応する各機能が実現される。また、ストレージデバイス1040は第1記憶部20及び第2記憶部30の少なくとも一方として機能してもよい。
入出力インタフェース1050は、モデル訓練装置10と各種入出力機器とを接続するためのインタフェースである。例えばモデル訓練装置10は、入出力インタフェース1050を介して第1記憶部20及び第2記憶部30と通信する。
ネットワークインタフェース1060は、モデル訓練装置10をネットワークに接続するためのインタフェースである。このネットワークは、例えばLAN(Local Area Network)やWAN(Wide Area Network)である。ネットワークインタフェース1060がネットワークに接続する方法は、無線接続であってもよいし、有線接続であってもよい。モデル訓練装置10は、ネットワークインタフェース1060を介して評価装置40と通信してもよい。
図9は、モデル訓練装置10の第1パッチ生成部110が行う処理の第1例を示す図である。第1パッチ生成部110は、第2パッチ生成部120及び訓練部130が処理を行う前に、予め第1パッチを生成しておく。
具体的には、第1パッチ生成部110は、第2記憶部30から、処理対象となる3次元データを読み出す(ステップS10)。次いで、第1パッチ生成部110は、読み出した3次元データから第1パッチを生成し(ステップS20)、生成した第1パッチを第1記憶部20に記憶させる(ステップS30)。第1パッチ生成部110は、第1記憶部20が記憶している第1パッチの数が基準を満たすまで、ステップS20及びステップS30を繰り返す(ステップS40)。
なお、第2記憶部30が複数の3次元データを記憶している場合、第1パッチ生成部110は、複数の3次元データのそれぞれに対して図9に示した処理を行う。
図10は、モデル訓練装置10の第1パッチ生成部110が行う処理の第2例を示す図である。本図に示す例において、第1パッチ生成部110は、3次元データに含まれるラベルを用いて第1パッチを生成する点(ステップS22)を除いて、図9に示した例と同様である。ラベルの使い方の具体例は、図2を用いて説明した通りである。
図11は、モデル訓練装置10の第2パッチ生成部120及び訓練部130が行う処理の一例を示す図である。まず第2パッチ生成部120は、第1記憶部20から第1パッチを読み出す。ここで第1記憶部20が複数の第1パッチを記憶している場合、第2パッチ生成部120は、これら複数の第1パッチから一つの第1パッチを選択し、選択した第1パッチを読み出す。この際、第2パッチ生成部120は、ランダムに第1パッチを選択する(ステップS110)。
次いで第2パッチ生成部120は、読み出した第1パッチを用いて、少なくとも一つの第2パッチを生成する(ステップS120)。次いで訓練部130は、第2パッチ生成部120が生成した第2パッチを用いてモデルを訓練し、訓練後のモデルを第1記憶部20に記憶させる(ステップS130)。
第2パッチ生成部120及び訓練部130は、基準を満たすまで、ステップS110~ステップS130に示した処理を繰り返す(ステップS140)。
以上、本実施形態によれば、モデル訓練装置10は、第1パッチ生成部110を備えている。第1パッチ生成部110は、3次元データの部分集合である第1パッチを生成し、第1記憶部20に記憶させる。そして第2パッチ生成部120は、第1記憶部20に記憶されている第1パッチを用いて、訓練データとなる第2パッチを生成する。第1パッチは2次元データの部分集合であるため、訓練データとなるパッチを3次元データから直接生成する場合と比較して、モデル訓練装置10の負荷は小さくなる。従って、対象物の形状を示す3次元データを評価するモデルを訓練する際のモデル訓練装置10の負荷は小さくなる。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
また、上述の説明で用いた複数のフローチャートでは、複数の工程(処理)が順番に記載されているが、各実施形態で実行される工程の実行順序は、その記載の順番に制限されない。各実施形態では、図示される工程の順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態は、内容が相反しない範囲で組み合わせることができる。
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下に限られない。
1.対象物の形状を示す3次元データを用いて、当該3次元データの部分集合である第1パッチを少なくとも一つ生成し、当該第1パッチを記憶手段に記憶させる第1パッチ生成手段と、
前記記憶手段からいずれかの前記第1パッチを読み出し、当該第1パッチの部分集合である第2パッチを少なくとも一つ生成する第2パッチ生成手段と、
前記第2パッチを訓練データとして、3次元形状を評価するためのモデルを訓練する訓練手段と、
を備え、
前記第2パッチ生成手段及び前記訓練手段は、基準が満たされるまで処理を繰り返す、モデル訓練装置。
2.上記1に記載のモデル訓練装置において、
前記第1パッチ生成手段は、パッチのランダム性を制御するためのパラメータを用いて、N個の前記第1パッチを生成し、
前記第2パッチ生成手段は、前記パラメータを用いて前記第2パッチを生成し、
前記3次元データ又は当該3次元データの部分集合をX´として、
前記第2パッチが、訓練データとして利用可能かつ前記X´の少なくとも一部を含む、という条件を満たす前記パラメータの集合をPX´として、
m番目の前記第1パッチについて、当該第1パッチから生成された前記第2パッチが前記3次元データからも直接生成することができる、という条件を満たす場合において、前記パラメータが取り得る範囲をParam(Pm)とした場合、
前記第1パッチ生成手段は、m=1~Nの間で前記Param(Pm)の和集合を算出した時に、前記PX´が当該和集合に含まれるようにする、モデル訓練装置。
3.上記2に記載のモデル訓練装置において、
前記第2パッチ生成手段は、前記Param(Pm)から、前記パラメータを選択する、モデル訓練装置。
4.上記2又は3に記載のモデル訓練装置において、
前記第2パッチ生成手段は、m番目の前記第1パッチから前記第2パッチを生成する際、前記Param(Pm)の部分集合であるParam(Pm)´から前記第2パッチのパラメータを選択し、
m=1~Nの間で前記Param(Pm)´の積集合を算出した時に、当該積集合は空集合になる、モデル訓練装置。
5.上記1~4のいずれか一項に記載のモデル訓練装置において、
前記3次元データは、前記対象物内の複数の部分別に設定されたラベルを有しており、
前記第1パッチ生成手段は、前記ラベルを用いて複数の前記第1パッチを生成する、モデル訓練装置。
6.上記5に記載のモデル訓練装置において、
第1の前記ラベルを有している前記部分の数である第1数は、第2の前記ラベルを有している前記部分の数である第2数よりも少なく、
前記第1のラベルを含む前記第1パッチの数を第1のパッチ数、前記第2のラベルを含む前記第1パッチの数を第2のパッチ数とした場合、
前記第1パッチ生成手段は、前記第2のパッチ数に対する前記第1のパッチ数の比を、前記第2数に対する前記第1数の比よりも高くする、モデル訓練装置。
7.上記1~6のいずれか一項に記載のモデル訓練装置において、
前記第2パッチ生成手段は、予め定められた形状を前記第1パッチに重ね合わせ、当該重ね合わせた結果を用いて前記第2パッチを生成する、モデル訓練装置。
8.上記1~6のいずれか一項に記載のモデル訓練装置において、
前記第2パッチ生成手段は、前記第1パッチの中で、基準点を選択するとともに当該基準点から所定の規則で前記第1パッチから他の部分を選択することにより、前記第2パッチを生成する、モデル訓練装置。
9.上記1~6のいずれか一項に記載のモデル訓練装置において、
前記第2パッチ生成手段は、前記第1パッチを、距離的および形状的の少なくとも一方において互いに類似した複数の部分集合に分割することにより、前記第2パッチを生成する、モデル訓練装置。
10.上記1~9のいずれか一項に記載のモデル訓練装置において、
前記訓練データは、前記第2パッチが前記対象物に生じた異常個所を含んでいるか否かを示す情報を含んでおり、
前記モデルは、対象物が有する異常個所を検出するためのモデルである、モデル訓練装置。
11.コンピュータが、
対象物の形状を示す3次元データを用いて、当該3次元データの部分集合である第1パッチを少なくとも一つ生成し、当該第1パッチを記憶手段に記憶させ、
前記記憶手段からいずれかの前記第1パッチを読み出し、当該第1パッチの部分集合である第2パッチを少なくとも一つ生成し、
前記第2パッチを訓練データとして、3次元形状を評価するためのモデルを訓練し、
前記第2パッチの生成及び前記モデルの訓練を、基準が満たされるまで繰り返す、モデル訓練方法。
12.上記11に記載のモデル訓練方法において、
前記コンピュータは、パッチのランダム性を制御するためのパラメータを用いて、N個の前記第1パッチを生成し、
前記パラメータを用いて前記第2パッチを生成し、
前記3次元データ又は当該3次元データの部分集合をX´として、
前記第2パッチが、訓練データとして利用可能かつ前記X´の少なくとも一部を含む、という条件を満たす前記パラメータの集合をPX´として、
m番目の前記第1パッチについて、当該第1パッチから生成された前記第2パッチが前記3次元データからも直接生成することができる、という条件を満たす場合において、前記パラメータが取り得る範囲をParam(Pm)とした場合、
前記コンピュータは、m=1~Nの間で前記Param(Pm)の和集合を算出した時に、前記PX´が当該和集合に含まれるようにする、モデル訓練方法。
13.上記12に記載のモデル訓練方法において、
前記コンピュータは、前記Param(Pm)から、前記パラメータを選択する、モデル訓練方法。
14.上記12又は13に記載のモデル訓練方法において、
前記コンピュータは、m番目の前記第1パッチから前記第2パッチを生成する際、前記Param(Pm)の部分集合であるParam(Pm)´から前記第2パッチのパラメータを選択し、
m=1~Nの間で前記Param(Pm)´の積集合を算出した時に、当該積集合は空集合になる、モデル訓練方法。
15.上記11~14のいずれか一項に記載のモデル訓練方法において、
前記3次元データは、前記対象物内の複数の部分別に設定されたラベルを有しており、
前記コンピュータは、前記ラベルを用いて複数の前記第1パッチを生成する、モデル訓練方法。
16.上記15に記載のモデル訓練方法において、
第1の前記ラベルを有している前記部分の数である第1数は、第2の前記ラベルを有している前記部分の数である第2数よりも少なく、
前記第1のラベルを含む前記第1パッチの数を第1のパッチ数、前記第2のラベルを含む前記第1パッチの数を第2のパッチ数とした場合、
前記コンピュータは、前記第2のパッチ数に対する前記第1のパッチ数の比を、前記第2数に対する前記第1数の比よりも高くする、モデル訓練方法。
17.上記11~16のいずれか一項に記載のモデル訓練方法において、
前記コンピュータは、予め定められた形状を前記第1パッチに重ね合わせ、当該重ね合わせた結果を用いて前記第2パッチを生成する、モデル訓練方法。
18.上記11~16のいずれか一項に記載のモデル訓練方法において、
前記コンピュータは、前記第1パッチの中で、基準点を選択するとともに当該基準点から所定の規則で前記第1パッチから他の部分を選択することにより、前記第2パッチを生成する、モデル訓練方法。
19.上記11~16のいずれか一項に記載のモデル訓練方法において、
前記コンピュータは、前記第1パッチを、距離的および形状的の少なくとも一方において互いに類似した複数の部分集合に分割することにより、前記第2パッチを生成する、モデル訓練方法。
20.上記11~19のいずれか一項に記載のモデル訓練方法において、
前記訓練データは、前記第2パッチが前記対象物に生じた異常個所を含んでいるか否かを示す情報を含んでおり、
前記モデルは、対象物が有する異常個所を検出するためのモデルである、モデル訓練方法。
31.コンピュータに、
対象物の形状を示す3次元データを用いて、当該3次元データの部分集合である第1パッチを少なくとも一つ生成し、当該第1パッチを記憶手段に記憶させる第1パッチ生成機能と、
前記記憶手段からいずれかの前記第1パッチを読み出し、当該第1パッチの部分集合である第2パッチを少なくとも一つ生成する第2パッチ生成機能と、
前記第2パッチを訓練データとして、3次元形状を評価するためのモデルを訓練する訓練機能と、
を持たせるプログラムを記録しており、
前記第2パッチ生成機能及び前記訓練機能は、基準が満たされるまで処理を繰り返す、コンピュータで読み取り可能な記録媒体。
32.上記31に記載の記録媒体において、
前記第1パッチ生成機能は、パッチのランダム性を制御するためのパラメータを用いて、N個の前記第1パッチを生成し、
前記第2パッチ生成機能は、前記パラメータを用いて前記第2パッチを生成し、
前記3次元データ又は当該3次元データの部分集合をX´として、
前記第2パッチが、訓練データとして利用可能かつ前記X´の少なくとも一部を含む、という条件を満たす前記パラメータの集合をPX´として、
m番目の前記第1パッチについて、当該第1パッチから生成された前記第2パッチが前記3次元データからも直接生成することができる、という条件を満たす場合において、前記パラメータが取り得る範囲をParam(Pm)とした場合、
前記第1パッチ生成機能は、m=1~Nの間で前記Param(Pm)の和集合を算出した時に、前記PX´が当該和集合に含まれるようにする、記録媒体。
33.上記32に記載の記録媒体において、
前記第2パッチ生成機能は、前記Param(Pm)から、前記パラメータを選択する、記録媒体。
34.上記32又は33に記載の記録媒体において、
前記第2パッチ生成機能は、m番目の前記第1パッチから前記第2パッチを生成する際、前記Param(Pm)の部分集合であるParam(Pm)´から前記第2パッチのパラメータを選択し、
m=1~Nの間で前記Param(Pm)´の積集合を算出した時に、当該積集合は空集合になる、記録媒体。
35.上記31~34のいずれか一項に記載の記録媒体において、
前記3次元データは、前記対象物内の複数の部分別に設定されたラベルを有しており、
前記第1パッチ生成機能は、前記ラベルを用いて複数の前記第1パッチを生成する、記録媒体。
36.上記35に記載の記録媒体において、
第1の前記ラベルを有している前記部分の数である第1数は、第2の前記ラベルを有している前記部分の数である第2数よりも少なく、
前記第1のラベルを含む前記第1パッチの数を第1のパッチ数、前記第2のラベルを含む前記第1パッチの数を第2のパッチ数とした場合、
前記第1パッチ生成機能は、前記第2のパッチ数に対する前記第1のパッチ数の比を、前記第2数に対する前記第1数の比よりも高くする、記録媒体。
37.上記31~36のいずれか一項に記載の記録媒体において、
前記第2パッチ生成機能は、予め定められた形状を前記第1パッチに重ね合わせ、当該重ね合わせた結果を用いて前記第2パッチを生成する、記録媒体。
38.上記31~36のいずれか一項に記載の記録媒体において、
前記第2パッチ生成機能は、前記第1パッチの中で、基準点を選択するとともに当該基準点から所定の規則で前記第1パッチから他の部分を選択することにより、前記第2パッチを生成する、記録媒体。
39.上記31~36のいずれか一項に記載の記録媒体において、
前記第2パッチ生成機能は、前記第1パッチを、距離的および形状的の少なくとも一方において互いに類似した複数の部分集合に分割することにより、前記第2パッチを生成する、記録媒体。
40.上記31~39のいずれか一項に記載の記録媒体において、
前記訓練データは、前記第2パッチが前記対象物に生じた異常個所を含んでいるか否かを示す情報を含んでおり、
前記モデルは、対象物が有する異常個所を検出するためのモデルである、記録媒体。
41.上記31~40のいずれか一項に記載のプログラム。
1.対象物の形状を示す3次元データを用いて、当該3次元データの部分集合である第1パッチを少なくとも一つ生成し、当該第1パッチを記憶手段に記憶させる第1パッチ生成手段と、
前記記憶手段からいずれかの前記第1パッチを読み出し、当該第1パッチの部分集合である第2パッチを少なくとも一つ生成する第2パッチ生成手段と、
前記第2パッチを訓練データとして、3次元形状を評価するためのモデルを訓練する訓練手段と、
を備え、
前記第2パッチ生成手段及び前記訓練手段は、基準が満たされるまで処理を繰り返す、モデル訓練装置。
2.上記1に記載のモデル訓練装置において、
前記第1パッチ生成手段は、パッチのランダム性を制御するためのパラメータを用いて、N個の前記第1パッチを生成し、
前記第2パッチ生成手段は、前記パラメータを用いて前記第2パッチを生成し、
前記3次元データ又は当該3次元データの部分集合をX´として、
前記第2パッチが、訓練データとして利用可能かつ前記X´の少なくとも一部を含む、という条件を満たす前記パラメータの集合をPX´として、
m番目の前記第1パッチについて、当該第1パッチから生成された前記第2パッチが前記3次元データからも直接生成することができる、という条件を満たす場合において、前記パラメータが取り得る範囲をParam(Pm)とした場合、
前記第1パッチ生成手段は、m=1~Nの間で前記Param(Pm)の和集合を算出した時に、前記PX´が当該和集合に含まれるようにする、モデル訓練装置。
3.上記2に記載のモデル訓練装置において、
前記第2パッチ生成手段は、前記Param(Pm)から、前記パラメータを選択する、モデル訓練装置。
4.上記2又は3に記載のモデル訓練装置において、
前記第2パッチ生成手段は、m番目の前記第1パッチから前記第2パッチを生成する際、前記Param(Pm)の部分集合であるParam(Pm)´から前記第2パッチのパラメータを選択し、
m=1~Nの間で前記Param(Pm)´の積集合を算出した時に、当該積集合は空集合になる、モデル訓練装置。
5.上記1~4のいずれか一項に記載のモデル訓練装置において、
前記3次元データは、前記対象物内の複数の部分別に設定されたラベルを有しており、
前記第1パッチ生成手段は、前記ラベルを用いて複数の前記第1パッチを生成する、モデル訓練装置。
6.上記5に記載のモデル訓練装置において、
第1の前記ラベルを有している前記部分の数である第1数は、第2の前記ラベルを有している前記部分の数である第2数よりも少なく、
前記第1のラベルを含む前記第1パッチの数を第1のパッチ数、前記第2のラベルを含む前記第1パッチの数を第2のパッチ数とした場合、
前記第1パッチ生成手段は、前記第2のパッチ数に対する前記第1のパッチ数の比を、前記第2数に対する前記第1数の比よりも高くする、モデル訓練装置。
7.上記1~6のいずれか一項に記載のモデル訓練装置において、
前記第2パッチ生成手段は、予め定められた形状を前記第1パッチに重ね合わせ、当該重ね合わせた結果を用いて前記第2パッチを生成する、モデル訓練装置。
8.上記1~6のいずれか一項に記載のモデル訓練装置において、
前記第2パッチ生成手段は、前記第1パッチの中で、基準点を選択するとともに当該基準点から所定の規則で前記第1パッチから他の部分を選択することにより、前記第2パッチを生成する、モデル訓練装置。
9.上記1~6のいずれか一項に記載のモデル訓練装置において、
前記第2パッチ生成手段は、前記第1パッチを、距離的および形状的の少なくとも一方において互いに類似した複数の部分集合に分割することにより、前記第2パッチを生成する、モデル訓練装置。
10.上記1~9のいずれか一項に記載のモデル訓練装置において、
前記訓練データは、前記第2パッチが前記対象物に生じた異常個所を含んでいるか否かを示す情報を含んでおり、
前記モデルは、対象物が有する異常個所を検出するためのモデルである、モデル訓練装置。
11.コンピュータが、
対象物の形状を示す3次元データを用いて、当該3次元データの部分集合である第1パッチを少なくとも一つ生成し、当該第1パッチを記憶手段に記憶させ、
前記記憶手段からいずれかの前記第1パッチを読み出し、当該第1パッチの部分集合である第2パッチを少なくとも一つ生成し、
前記第2パッチを訓練データとして、3次元形状を評価するためのモデルを訓練し、
前記第2パッチの生成及び前記モデルの訓練を、基準が満たされるまで繰り返す、モデル訓練方法。
12.上記11に記載のモデル訓練方法において、
前記コンピュータは、パッチのランダム性を制御するためのパラメータを用いて、N個の前記第1パッチを生成し、
前記パラメータを用いて前記第2パッチを生成し、
前記3次元データ又は当該3次元データの部分集合をX´として、
前記第2パッチが、訓練データとして利用可能かつ前記X´の少なくとも一部を含む、という条件を満たす前記パラメータの集合をPX´として、
m番目の前記第1パッチについて、当該第1パッチから生成された前記第2パッチが前記3次元データからも直接生成することができる、という条件を満たす場合において、前記パラメータが取り得る範囲をParam(Pm)とした場合、
前記コンピュータは、m=1~Nの間で前記Param(Pm)の和集合を算出した時に、前記PX´が当該和集合に含まれるようにする、モデル訓練方法。
13.上記12に記載のモデル訓練方法において、
前記コンピュータは、前記Param(Pm)から、前記パラメータを選択する、モデル訓練方法。
14.上記12又は13に記載のモデル訓練方法において、
前記コンピュータは、m番目の前記第1パッチから前記第2パッチを生成する際、前記Param(Pm)の部分集合であるParam(Pm)´から前記第2パッチのパラメータを選択し、
m=1~Nの間で前記Param(Pm)´の積集合を算出した時に、当該積集合は空集合になる、モデル訓練方法。
15.上記11~14のいずれか一項に記載のモデル訓練方法において、
前記3次元データは、前記対象物内の複数の部分別に設定されたラベルを有しており、
前記コンピュータは、前記ラベルを用いて複数の前記第1パッチを生成する、モデル訓練方法。
16.上記15に記載のモデル訓練方法において、
第1の前記ラベルを有している前記部分の数である第1数は、第2の前記ラベルを有している前記部分の数である第2数よりも少なく、
前記第1のラベルを含む前記第1パッチの数を第1のパッチ数、前記第2のラベルを含む前記第1パッチの数を第2のパッチ数とした場合、
前記コンピュータは、前記第2のパッチ数に対する前記第1のパッチ数の比を、前記第2数に対する前記第1数の比よりも高くする、モデル訓練方法。
17.上記11~16のいずれか一項に記載のモデル訓練方法において、
前記コンピュータは、予め定められた形状を前記第1パッチに重ね合わせ、当該重ね合わせた結果を用いて前記第2パッチを生成する、モデル訓練方法。
18.上記11~16のいずれか一項に記載のモデル訓練方法において、
前記コンピュータは、前記第1パッチの中で、基準点を選択するとともに当該基準点から所定の規則で前記第1パッチから他の部分を選択することにより、前記第2パッチを生成する、モデル訓練方法。
19.上記11~16のいずれか一項に記載のモデル訓練方法において、
前記コンピュータは、前記第1パッチを、距離的および形状的の少なくとも一方において互いに類似した複数の部分集合に分割することにより、前記第2パッチを生成する、モデル訓練方法。
20.上記11~19のいずれか一項に記載のモデル訓練方法において、
前記訓練データは、前記第2パッチが前記対象物に生じた異常個所を含んでいるか否かを示す情報を含んでおり、
前記モデルは、対象物が有する異常個所を検出するためのモデルである、モデル訓練方法。
31.コンピュータに、
対象物の形状を示す3次元データを用いて、当該3次元データの部分集合である第1パッチを少なくとも一つ生成し、当該第1パッチを記憶手段に記憶させる第1パッチ生成機能と、
前記記憶手段からいずれかの前記第1パッチを読み出し、当該第1パッチの部分集合である第2パッチを少なくとも一つ生成する第2パッチ生成機能と、
前記第2パッチを訓練データとして、3次元形状を評価するためのモデルを訓練する訓練機能と、
を持たせるプログラムを記録しており、
前記第2パッチ生成機能及び前記訓練機能は、基準が満たされるまで処理を繰り返す、コンピュータで読み取り可能な記録媒体。
32.上記31に記載の記録媒体において、
前記第1パッチ生成機能は、パッチのランダム性を制御するためのパラメータを用いて、N個の前記第1パッチを生成し、
前記第2パッチ生成機能は、前記パラメータを用いて前記第2パッチを生成し、
前記3次元データ又は当該3次元データの部分集合をX´として、
前記第2パッチが、訓練データとして利用可能かつ前記X´の少なくとも一部を含む、という条件を満たす前記パラメータの集合をPX´として、
m番目の前記第1パッチについて、当該第1パッチから生成された前記第2パッチが前記3次元データからも直接生成することができる、という条件を満たす場合において、前記パラメータが取り得る範囲をParam(Pm)とした場合、
前記第1パッチ生成機能は、m=1~Nの間で前記Param(Pm)の和集合を算出した時に、前記PX´が当該和集合に含まれるようにする、記録媒体。
33.上記32に記載の記録媒体において、
前記第2パッチ生成機能は、前記Param(Pm)から、前記パラメータを選択する、記録媒体。
34.上記32又は33に記載の記録媒体において、
前記第2パッチ生成機能は、m番目の前記第1パッチから前記第2パッチを生成する際、前記Param(Pm)の部分集合であるParam(Pm)´から前記第2パッチのパラメータを選択し、
m=1~Nの間で前記Param(Pm)´の積集合を算出した時に、当該積集合は空集合になる、記録媒体。
35.上記31~34のいずれか一項に記載の記録媒体において、
前記3次元データは、前記対象物内の複数の部分別に設定されたラベルを有しており、
前記第1パッチ生成機能は、前記ラベルを用いて複数の前記第1パッチを生成する、記録媒体。
36.上記35に記載の記録媒体において、
第1の前記ラベルを有している前記部分の数である第1数は、第2の前記ラベルを有している前記部分の数である第2数よりも少なく、
前記第1のラベルを含む前記第1パッチの数を第1のパッチ数、前記第2のラベルを含む前記第1パッチの数を第2のパッチ数とした場合、
前記第1パッチ生成機能は、前記第2のパッチ数に対する前記第1のパッチ数の比を、前記第2数に対する前記第1数の比よりも高くする、記録媒体。
37.上記31~36のいずれか一項に記載の記録媒体において、
前記第2パッチ生成機能は、予め定められた形状を前記第1パッチに重ね合わせ、当該重ね合わせた結果を用いて前記第2パッチを生成する、記録媒体。
38.上記31~36のいずれか一項に記載の記録媒体において、
前記第2パッチ生成機能は、前記第1パッチの中で、基準点を選択するとともに当該基準点から所定の規則で前記第1パッチから他の部分を選択することにより、前記第2パッチを生成する、記録媒体。
39.上記31~36のいずれか一項に記載の記録媒体において、
前記第2パッチ生成機能は、前記第1パッチを、距離的および形状的の少なくとも一方において互いに類似した複数の部分集合に分割することにより、前記第2パッチを生成する、記録媒体。
40.上記31~39のいずれか一項に記載の記録媒体において、
前記訓練データは、前記第2パッチが前記対象物に生じた異常個所を含んでいるか否かを示す情報を含んでおり、
前記モデルは、対象物が有する異常個所を検出するためのモデルである、記録媒体。
41.上記31~40のいずれか一項に記載のプログラム。
10 モデル訓練装置
110 第1パッチ生成部
120 第2パッチ生成部
130 訓練部
20 第1記憶部
30 第2記憶部
40 評価装置
110 第1パッチ生成部
120 第2パッチ生成部
130 訓練部
20 第1記憶部
30 第2記憶部
40 評価装置
Claims (12)
- 対象物の形状を示す3次元データを用いて、当該3次元データの部分集合である第1パッチを少なくとも一つ生成し、当該第1パッチを記憶手段に記憶させる第1パッチ生成手段と、
前記記憶手段からいずれかの前記第1パッチを読み出し、当該第1パッチの部分集合である第2パッチを少なくとも一つ生成する第2パッチ生成手段と、
前記第2パッチを訓練データとして、3次元形状を評価するためのモデルを訓練する訓練手段と、
を備え、
前記第2パッチ生成手段及び前記訓練手段は、基準が満たされるまで処理を繰り返す、モデル訓練装置。 - 請求項1に記載のモデル訓練装置において、
前記第1パッチ生成手段は、パッチのランダム性を制御するためのパラメータを用いて、N個の前記第1パッチを生成し、
前記第2パッチ生成手段は、前記パラメータを用いて前記第2パッチを生成し、
前記3次元データ又は当該3次元データの部分集合をX´として、
前記第2パッチが、訓練データとして利用可能かつ前記X´の少なくとも一部を含む、という条件を満たす前記パラメータの集合をPX´として、
m番目の前記第1パッチについて、当該第1パッチから生成された前記第2パッチが前記3次元データからも直接生成することができる、という条件を満たす場合において、前記パラメータが取り得る範囲をParam(Pm)とした場合、
前記第1パッチ生成手段は、m=1~Nの間で前記Param(Pm)の和集合を算出した時に、前記PX´が当該和集合に含まれるようにする、モデル訓練装置。 - 請求項2に記載のモデル訓練装置において、
前記第2パッチ生成手段は、前記Param(Pm)から、前記パラメータを選択する、モデル訓練装置。 - 請求項2又は3に記載のモデル訓練装置において、
前記第2パッチ生成手段は、m番目の前記第1パッチから前記第2パッチを生成する際、前記Param(Pm)の部分集合であるParam(Pm)´から前記第2パッチのパラメータを選択し、
m=1~Nの間で前記Param(Pm)´の積集合を算出した時に、当該積集合は空集合になる、モデル訓練装置。 - 請求項1~4のいずれか一項に記載のモデル訓練装置において、
前記3次元データは、前記対象物内の複数の部分別に設定されたラベルを有しており、
前記第1パッチ生成手段は、前記ラベルを用いて複数の前記第1パッチを生成する、モデル訓練装置。 - 請求項5に記載のモデル訓練装置において、
第1の前記ラベルを有している前記部分の数である第1数は、第2の前記ラベルを有している前記部分の数である第2数よりも少なく、
前記第1のラベルを含む前記第1パッチの数を第1のパッチ数、前記第2のラベルを含む前記第1パッチの数を第2のパッチ数とした場合、
前記第1パッチ生成手段は、前記第2のパッチ数に対する前記第1のパッチ数の比を、前記第2数に対する前記第1数の比よりも高くする、モデル訓練装置。 - 請求項1~6のいずれか一項に記載のモデル訓練装置において、
前記第2パッチ生成手段は、予め定められた形状を前記第1パッチに重ね合わせ、当該重ね合わせた結果を用いて前記第2パッチを生成する、モデル訓練装置。 - 請求項1~6のいずれか一項に記載のモデル訓練装置において、
前記第2パッチ生成手段は、前記第1パッチの中で、基準点を選択するとともに当該基準点から所定の規則で前記第1パッチから他の部分を選択することにより、前記第2パッチを生成する、モデル訓練装置。 - 請求項1~6のいずれか一項に記載のモデル訓練装置において、
前記第2パッチ生成手段は、前記第1パッチを、距離的および形状的の少なくとも一方において互いに類似した複数の部分集合に分割することにより、前記第2パッチを生成する、モデル訓練装置。 - 請求項1~9のいずれか一項に記載のモデル訓練装置において、
前記訓練データは、前記第2パッチが前記対象物に生じた異常個所を含んでいるか否かを示す情報を含んでおり、
前記モデルは、対象物が有する異常個所を検出するためのモデルである、モデル訓練装置。 - コンピュータが、
対象物の形状を示す3次元データを用いて、当該3次元データの部分集合である第1パッチを少なくとも一つ生成し、当該第1パッチを記憶手段に記憶させ、
前記記憶手段からいずれかの前記第1パッチを読み出し、当該第1パッチの部分集合である第2パッチを少なくとも一つ生成し、
前記第2パッチを訓練データとして、3次元形状を評価するためのモデルを訓練し、
前記第2パッチの生成及び前記モデルの訓練を、基準が満たされるまで繰り返す、モデル訓練方法。 - コンピュータに、
対象物の形状を示す3次元データを用いて、当該3次元データの部分集合である第1パッチを少なくとも一つ生成し、当該第1パッチを記憶手段に記憶させる第1パッチ生成機能と、
前記記憶手段からいずれかの前記第1パッチを読み出し、当該第1パッチの部分集合である第2パッチを少なくとも一つ生成する第2パッチ生成機能と、
前記第2パッチを訓練データとして、3次元形状を評価するためのモデルを訓練する訓練機能と、
を持たせるプログラムを記録しており、
前記第2パッチ生成機能及び前記訓練機能は、基準が満たされるまで処理を繰り返す、コンピュータで読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/012046 WO2023175798A1 (ja) | 2022-03-16 | 2022-03-16 | モデル訓練装置、モデル訓練方法、及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/012046 WO2023175798A1 (ja) | 2022-03-16 | 2022-03-16 | モデル訓練装置、モデル訓練方法、及び記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023175798A1 true WO2023175798A1 (ja) | 2023-09-21 |
Family
ID=88022560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/012046 WO2023175798A1 (ja) | 2022-03-16 | 2022-03-16 | モデル訓練装置、モデル訓練方法、及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2023175798A1 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180089530A1 (en) * | 2015-05-11 | 2018-03-29 | Siemens Healthcare Gmbh | Method and system for landmark detection in medical images using deep neural networks |
-
2022
- 2022-03-16 WO PCT/JP2022/012046 patent/WO2023175798A1/ja unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180089530A1 (en) * | 2015-05-11 | 2018-03-29 | Siemens Healthcare Gmbh | Method and system for landmark detection in medical images using deep neural networks |
Non-Patent Citations (1)
Title |
---|
DENG HAOWEN; BIRDAL TOLGA; ILIC SLOBODAN: "PPFNet: Global Context Aware Local Features for Robust 3D Point Matching", 2018 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, IEEE, 18 June 2018 (2018-06-18), pages 195 - 205, XP033475979, DOI: 10.1109/CVPR.2018.00028 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11163299B2 (en) | Control device, control method, and program recording medium | |
US11941719B2 (en) | Learning robotic tasks using one or more neural networks | |
JP6678778B2 (ja) | 画像内の物体を検出する方法及び物体検出システム | |
US11562167B2 (en) | Method of training neural network classification model using selected data | |
CN111989195B (zh) | 在一个或更多个处理器上存储离散化环境的机器人的运动规划及其改进的操作 | |
WO2019014625A1 (en) | OBJECT DETECTION USING NEURONAL NETWORK SYSTEMS | |
Gergel et al. | Globalizer: A novel supercomputer software system for solving time-consuming global optimization problems | |
US11111785B2 (en) | Method and device for acquiring three-dimensional coordinates of ore based on mining process | |
KR102531645B1 (ko) | 모델의 성능 테스트를 위한 컴퓨터 프로그램 | |
Khan et al. | Open source machine learning frameworks for industrial internet of things | |
Chhikara et al. | Data dimensionality reduction techniques for Industry 4.0: Research results, challenges, and future research directions | |
Soni et al. | Digital twin: intersection of mind and machine | |
CN111897660A (zh) | 模型部署方法、模型部署装置及终端设备 | |
Fan et al. | RPR-Net: A point cloud-based rotation-aware large scale place recognition network | |
EP4092587A1 (en) | Scheduling jobs of a manufacturing or logistics process | |
WO2023175798A1 (ja) | モデル訓練装置、モデル訓練方法、及び記録媒体 | |
US8078826B2 (en) | Effective memory clustering to minimize page fault and optimize memory utilization | |
Saha et al. | Federated learning–based global road damage detection | |
US20220375205A1 (en) | Aggregating Nested Vision Transformers | |
US20220067532A1 (en) | Method to Train Model | |
CN113627646A (zh) | 一种基于神经网络的路径规划方法、装置、设备及介质 | |
WO2021262139A1 (en) | Distributed machine learning models | |
US20230259665A1 (en) | Occupancy mapping based on geometric entities with hierarchical relationships | |
CN116935233B (zh) | 用于激光雷达的目标检测方法和装置 | |
KR102467429B1 (ko) | 항만 장비 유지 보수를 위한 가상 훈련 시스템 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22932075 Country of ref document: EP Kind code of ref document: A1 |