Training device, inference device, program, training method, and inference method

The learning device and method address the challenge of classifying machining areas by generating graphs from CAD data and using processing features, effectively handling curved surfaces and improving machining area identification.

WO2026033874A1PCT designated stage Publication Date: 2026-02-12MITSUBISHI ELECTRIC CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/040337
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-08
Filing Date
2024-11-13
Publication Date
2026-02-12

AI Technical Summary

Technical Problem

Conventional techniques for graphing CAD data struggle with curved surfaces, requiring fine meshes and failing to handle important information for classifying machining areas.

Method used

A learning device and method that generates a graph from CAD data, assigns processing features to nodes, and classifies them using a trained learning model, enabling accurate classification into multiple processing regions without relying on fine meshes.

Benefits of technology

Enables accurate classification of graph nodes into processing regions reflecting processing characteristics, improving handling of curved surfaces and enhancing machining area identification.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024040337_12022026_PF_FP_ABST
    Figure JP2024040337_12022026_PF_FP_ABST
Patent Text Reader

Abstract

A CAD model classification device (100) comprises: a CAD data drawing unit (102) that draws an object image indicating the appearance shape of an object with a line; an image graph conversion unit (103) that generates, from the object image, a graph including a plurality of nodes and a plurality of edges; a processing feature extraction unit (104) that respectively applies, to the plurality of nodes, a plurality of processing feature amounts that are features obtained when processing the object; an inference unit (106) that classifies, by inputting a graph including at least some of the plurality of nodes having applied thereto the plurality of processing feature amounts to a learning model as an input graph, two or more nodes included in the input graph into one or a plurality of processing regions in which one processing region is set as a region in which processing is performed in one step; and a training unit (107) that trains the learning model by using the result of the classification and ground truth data.
Need to check novelty before this filing date? Find Prior Art

Description

Learning device, inference device, program, learning method, and inference method

[0001] The present disclosure relates to a learning device, an inference device, a program, a learning method, and an inference method.

[0002] In NC (Numerical Control) machining, machining areas to be NC machined are identified from the external shape of the target object represented by CAD (Computer Aided Design) data, and a path is identified for each machining area.

[0003] Conventionally, a technique for handling graph nodes having mesh or shape information using a boundary representation of the shape of a machining target drawn based on CAD data has been known (see, for example, Non-Patent Document 1). Then, by inputting the graph nodes into, for example, a GCN (Graph Convolutional Network), each node can be classified into a machining area.

[0004] Colligan, Andrew R. , et al. “Hierarchical cadnet: Learning from b-reps for machining feature recognition” Computer-Aided Design 147 (2022): 103226.

[0005] However, conventional techniques for graphing CAD data have the problem that when dealing with curved surfaces, they require the surfaces to be represented using a fine mesh, which means that they are unable to handle information about curved surfaces, which is important for classifying them into machining areas.

[0006] Therefore, one or more aspects of the present disclosure aim to enable classification into multiple processing regions from graph nodes, reflecting processing characteristics.

[0007] A learning device according to one aspect of the present disclosure includes: a drawing unit that draws an object image showing an external shape of an object to be machined using lines, based on design data showing design details of the object; a graph generation unit that generates a graph including the plurality of nodes and the plurality of edges from the object image by treating a plurality of areas surrounded by the lines as a plurality of corresponding nodes, and treating a line separating a first area included in the plurality of areas from a second area adjacent to the first area as an edge between a first node corresponding to the first area and a second node corresponding to the second area; and a processing unit that processes the first area based on the design data and the graph. The method is characterized by comprising: a processing feature extraction unit that assigns multiple processing features to each of the multiple nodes by using processing features that indicate actual characteristics as features of the first node; a classification unit that inputs a graph that includes at least some of the multiple nodes to which the multiple processing features have been assigned as an input graph into a learning model, and classifies two or more nodes included in the input graph into one or more processing areas, with each processing area being an area where processing is performed in one process; and a learning unit that trains the learning model using the results of the classification and correct answer data that indicate the results of correctly classifying the multiple nodes.

[0008] An inference device according to an aspect of the present disclosure includes: a drawing unit that draws an object image showing an external shape of an object to be processed using lines, based on design data indicating design details of the object; a graph generation unit that generates a graph including the plurality of nodes and edges by treating a plurality of areas surrounded by the lines in the object image as a plurality of corresponding nodes, and treating a line separating a first area included in the plurality of areas from a second area adjacent to the first area as an edge between a first node corresponding to the first area and a second node corresponding to the second area; and a graph generation unit that sets processing features that are features indicating characteristics when processing the first area as features of the first node, based on the design data and the graph. and a classification unit that inputs a graph including at least some of the nodes to which the plurality of processing features have been assigned as an input graph into a learning model, and thereby classifies two or more nodes included in the input graph into one or more processing areas, with one processing area being an area where processing is performed in one process.The learning model is characterized in that it is a model that has been trained using the result of inputting a learning graph including a plurality of learning nodes and a plurality of learning edges to which a plurality of processing features have been assigned, which are a plurality of features in the processing of a learning object to be processed, and correct answer data that shows the result of correctly classifying the plurality of learning nodes.

[0009] A program according to a first aspect of the present disclosure includes a computer including: a drawing unit that draws an object image showing an external shape of an object to be machined using lines from design data showing design details of the object; a graph generation unit that generates a graph including the plurality of nodes and the plurality of edges from the object image by treating a plurality of areas surrounded by the lines as a plurality of corresponding nodes, and treating a line separating a first area included in the plurality of areas from a second area adjacent to the first area as an edge between a first node corresponding to the first area and a second node corresponding to the second area; and a program that processes the first area based on the design data and the graph. The present invention is characterized in that the processing device functions as a processing feature extraction unit that assigns multiple processing features to each of the multiple nodes by using processing features that indicate the characteristics when processing a material, as features of the first node; a classification unit that classifies two or more nodes included in the input graph into one or more processing areas, with each processing area being an area where processing is performed in one process, by inputting a graph that includes at least some of the multiple nodes to which the multiple processing features have been assigned as an input graph into a learning model; and a learning unit that learns the learning model using the results of the classification and correct answer data that indicate the results of correctly classifying the multiple nodes.

[0010] A program according to a second aspect of the present disclosure includes a computer including: a drawing unit that draws an object image showing an external shape of an object to be machined using lines from design data showing design details of the object; a graph generation unit that generates a graph including the plurality of nodes and a plurality of edges by treating a plurality of areas surrounded by the lines from the object image as a plurality of corresponding nodes, and treating a line separating a first area included in the plurality of areas from a second area adjacent to the first area as an edge between a first node corresponding to the first area and a second node corresponding to the second area; and a graph generation unit that generates a graph including the plurality of nodes and a plurality of edges by treating a processing feature amount that is a feature amount showing a feature when machining the first area based on the design data and the graph. By inputting a graph including at least some of the nodes to which the plurality of processing features have been assigned as an input graph into a learning model, the learning model functions as a processing feature extraction unit that assigns a plurality of processing features to each of the plurality of nodes, and a classification unit that classifies two or more nodes included in the input graph into one or more processing areas, with each processing area being an area where processing is performed in one process, and the learning model is characterized in that it is a model that has been trained using the result of inputting a learning graph including a plurality of learning nodes and a plurality of learning edges to which a plurality of processing features have been assigned, which are a plurality of features in the processing of a learning object to be processed, and correct answer data that shows the result of correctly classifying the plurality of learning nodes.

[0011] A learning method according to one aspect of the present disclosure includes: drawing an object image showing an external shape of an object to be machined using lines from design data showing design details of the object; treating a plurality of areas surrounded by the lines in the object image as a plurality of corresponding nodes; treating a line separating a first area included in the plurality of areas from a second area adjacent to the first area as an edge between a first node corresponding to the first area and a second node corresponding to the second area; generating a graph including the plurality of nodes and a plurality of edges; and By using a processing feature, which is a feature indicating the characteristics during processing, as a feature of the first node, multiple processing features are assigned to each of the multiple nodes, and a graph including at least some of the multiple nodes to which the multiple processing features have been assigned is input as an input graph to a learning model, whereby two or more nodes included in the input graph are classified into one or multiple processing areas, with one processing area being an area where processing is performed in one process, and the learning model is trained using the results of the classification and correct answer data indicating the results of correctly classifying the multiple nodes.

[0012] An inference method according to one aspect of the present disclosure includes: drawing an object image showing an external shape of an object using lines from design data showing design details of the object to be processed; determining, from the object image, a plurality of areas surrounded by the lines as a plurality of corresponding nodes; determining, as an edge between a first node corresponding to the first area and a second node corresponding to the second area, a line separating a first area included in the plurality of areas from a second area adjacent to the first area; generating a graph including the plurality of nodes and a plurality of edges; and determining, based on the design data and the graph, a processing feature amount that is a feature amount showing a feature when processing the first area as a feature amount of the first node. In this inference method, a plurality of processing features are assigned to each of the plurality of nodes, and a graph including at least some of the plurality of nodes to which the plurality of processing features have been assigned is input as an input graph to a learning model, thereby classifying two or more nodes included in the input graph into one or more processing areas, with one processing area being an area where processing is performed in one process, and the learning model is characterized in that it is a model trained using the result of inputting a learning graph including a plurality of learning nodes and a plurality of learning edges to which a plurality of processing features, which are a plurality of features in the processing of a learning object to be processed, have been assigned, and correct answer data showing the result of correctly classifying the plurality of learning nodes.

[0013] According to one or more aspects of the present disclosure, it is possible to classify graph nodes into a plurality of processing regions that reflect processing characteristics.

[0014] 1 is a block diagram schematically showing the configuration of a CAD model classification device according to a first embodiment. FIG. 1 is a block diagram schematically showing an example of a processing object. FIG. 1 is a block diagram schematically showing an example of a graph. FIG. 1 is a block diagram schematically showing an example of an inference result of inference. FIG. 2 is a block diagram schematically showing the configuration of a PC. FIG. 3 is a flowchart showing the operation of the CAD model classification device according to the first embodiment in a learning phase. FIG. 4 is a flowchart showing the operation of the CAD model classification device according to the first embodiment in an inference phase. FIG. 5 is a block diagram schematically showing the configuration of a CAD model classification device according to a second embodiment. FIG. 6 is a flowchart showing the operation of the CAD model classification device according to the second embodiment in a learning phase. FIG. 7 is a flowchart showing the operation of the CAD model classification device according to the second embodiment in an inference phase. FIG. 8 is a block diagram schematically showing the configuration of a CAD model classification device according to a third embodiment. FIG. 9 is a block diagram schematically showing the configuration of a CAD model classification device according to a fourth embodiment. FIG. 10 is a block diagram schematically showing the operation of the hub node division unit. 1 is a flowchart showing an operation in a learning phase of a CAD model classification device according to embodiment 4. FIG. 2 is a flowchart showing an operation in an inference phase of a CAD model classification device according to embodiment 4. FIG. 3 is a block diagram showing an outline of a configuration of a CAD model classification device according to embodiment 5. FIG. 4 is a schematic diagram showing a divided subgraph. FIG. 5 is a flowchart showing an operation in a learning phase of a CAD model classification device according to embodiment 5. FIG. 6 is a flowchart showing an operation in an inference phase of a CAD model classification device according to embodiment 5.

[0015] 1 is a block diagram showing a schematic configuration of a CAD model classification device 100 according to embodiment 1. The CAD model classification device 100 includes a CAD data storage unit 101, a CAD data rendering unit 102, an image-graph conversion unit 103, a processing feature extraction unit 104, a model storage unit 105, an inference unit 106, and a learning unit 107. The CAD model classification device 100 functions as a learning device that learns a learning model and an inference device that performs inference using the learning model.

[0016] The CAD data storage unit 101 stores CAD data as design data indicating the design content of a processing object to be processed. The CAD data indicates, for example, the dimensions and shape of the processing object as the design content.

[0017] The CAD data drawing unit 102 is a drawing unit that uses CAD data to draw a target image that shows the external shape of the object to be machined using lines. Here, the CAD data drawing unit 102 draws a line drawing of the external shape of the object to be machined when viewed from one direction as the target image. For example, the CAD data drawing unit 102 references the CAD data and uses multiple lines to draw the external shape of the object to be machined from the direction of machining by NC machining, thereby generating a target image that is a line drawing of the object to be machined. The target image generated in this manner is provided to the image graph conversion unit 103.

[0018] Fig. 2 is a schematic diagram showing an example of an object to be processed. As shown in Fig. 2, the object to be processed 120 is processed by cutting a predetermined first shape 122 and a predetermined second shape 123 from a base material 121. Therefore, the object to be processed 120 is made up of a region R01 corresponding to the base material 121, regions R02 to R10 corresponding to the first shape 122, and regions R11 to R15 corresponding to the second shape 123.

[0019] Returning to FIG. 1 , the image graph conversion unit 103 is a graph generation unit that generates a graph from the target image from the CAD data drawing unit 102 by treating areas surrounded by lines as nodes and lines separating the areas as edges. For example, the image graph conversion unit 103 treats multiple areas surrounded by lines from the target image as corresponding nodes, and treats a line separating a first area included in the multiple areas from a second area adjacent to the first area as an edge between a first node corresponding to the first area and a second node corresponding to the second area. In this way, the image graph conversion unit 103 generates a graph including multiple nodes and multiple edges.

[0020] Specifically, a graph 130 as shown in Fig. 3 is generated from a target image showing a processing target 120 as shown in Fig. 2. In the graph 130, nodes N01 to N15 corresponding to the regions R01 to R15 in Fig. 2 are provided. These nodes N01 to N15 are connected by edges.

[0021] The processing feature extraction unit 104 assigns processing features, which are features used when processing the object to be processed, to each node of the graph based on the CAD data stored in the CAD data storage unit 101 and the graph generated by the image graph conversion unit 103.

[0022] For example, the processing feature extraction unit 104 assigns a numerical value relating to processing such as the depth or R shape of the part corresponding to each node divided by the image graph conversion unit 103 as a feature amount for each node.

[0023] Specifically, when assigning a numerical value related to Depth to a node, for example, the processing feature extraction unit 104 performs the following process. The processing feature extraction unit 104 refers to CAD data to calculate information on depth as viewed from the direction in which the tool of the processing machine penetrates, and acquires a Depth Map. The processing feature extraction unit 104 then divides the Depth Map into regions in the same manner according to the regions used when converting the target image into nodes. For each region of the divided Depth Map, the processing feature extraction unit 104 calculates a minimum value, a median value, a maximum value, or the like as a feature and assigns it to the corresponding node.

[0024] Furthermore, when a numerical value relating to the R shape is assigned to a node, for example, the machining feature extraction unit 104 performs the following process. By referring to CAD data, the machining feature extraction unit 104 determines the tool diameter that can be penetrated when the tool penetrates from the direction in which the tool of the processing machine penetrates, and calculates the curvature for each position. Note that, in order to extract features related to tool penetration, the machining feature extraction unit 104 can target only the curvature of the concave shape and set the curvature of other parts to "0". Specifically, the machining feature extraction unit 104 calculates the curvature as follows.

[0025] The processing feature extraction unit 104 refers to the depth map generated as described above, cuts out in 360-degree directions, performs polynomial approximation for each cut out direction, calculates the curvature based on a surface calculation formula (e.g., curvature and radius of curvature) in a two-dimensional function, and assigns the smallest curvature among the above to the corresponding node.

[0026] The machining feature extraction unit 104 may also calculate principal curvatures based on the 3D mesh and Hessian. For example, the machining feature extraction unit 104 first reads a STEP file. Specifically, the machining feature extraction unit 104 reads the STEP file using a Python OCC library or the like in Python's Open CASCADE technology.

[0027] Next, the machining feature extraction unit 104 generates a mesh. Specifically, the machining feature extraction unit 104 generates a mesh by referencing the CAD data. The mesh approximates the surface of the three-dimensional object with a series of triangles. Here, the BRepMes_IncrementalMesh class of Python OCC, for example, can be used to generate the mesh.

[0028] Next, the machining feature extraction unit 104 calculates the curvature of each vertex or each face using the generated mesh. The SymPy library can be used to calculate the curvature. Specifically, the machining feature extraction unit 104 can approximate a local curved surface using vertices neighboring each vertex and calculate the curvature of the curved surface.

[0029] Furthermore, when assigning a numerical value related to a processing attribute to a node, the processing feature extraction unit 104 performs the following processing, for example. For example, in mold processing, the part that will become the product is assigned to CAD data in advance as design data for processing. Therefore, the processing feature extraction unit 104 determines the PL part, which is the part that will become the mating surface between the cavity and core, or the relief part, which is the part that will not come into direct contact when mated. Then, the proportion of the product part, PL part, relief part, etc., that occupies the area corresponding to the node in the target image is assigned to the corresponding node.

[0030] Furthermore, when a numerical value relating to area is assigned to a node, for example, the processing feature extraction unit 104 calculates the area of ​​the region corresponding to the node in the target image, and assigns this area to the node.

[0031] Furthermore, when a numerical value relating to position is assigned to a node, for example, the processing feature extraction unit 104 assigns the center position of the area corresponding to the node in the target image, or the minimum or maximum value in the up, down, left, or right direction, to the corresponding node. Furthermore, the processing feature extraction unit 104 may divide the outer coordinates of the hidden line portion included in the area corresponding to the node in the target image into N (N is a positive integer) and assign each coordinate as a feature amount of the corresponding node.

[0032] Furthermore, when assigning a numerical value related to thickness to a node, for example, the processing feature extraction unit 104 performs the following process. For example, the processing feature extraction unit 104 determines the outer periphery of a region that is cut toward the bottom, such as a pocket or a hole. Then, for each coordinate included in the outer periphery, the processing feature extraction unit 104 calculates the distance between the region and another adjacent region in the outward direction, which is the opposite direction to the region that is cut toward the bottom, as the outer thickness. Furthermore, for each coordinate included in the outer periphery, the processing feature extraction unit calculates the distance to the opposing portion in the inward direction, which is the direction of the region that is cut toward the bottom, as the inner thickness. Specifically, the processing feature extraction unit 104 decreases the depth at regular intervals in the depth direction, and for each coordinate included in the periphery at that depth, calculates the outer thickness and inner thickness in the direction perpendicular to the depth, and assigns them as feature quantities of the node corresponding to the region that is cut toward the bottom.

[0033] The processing feature extraction unit 104 assigns, to the node converted by the image graph conversion unit 103, a feature value used when processing the portion of the processing target. For example, it is assumed that a tensor of a predetermined dimension can be assigned to the node, and a feature value is predetermined for each dimension. The processing feature extraction unit 104 then stores the calculated feature value in the corresponding dimension. The graph to which the feature values ​​have been assigned in this manner is provided to the inference unit 106.

[0034] The model storage unit 105 stores a GCN learning model that classifies the nodes included in a graph from the graph.

[0035] The inference unit 106 functions as a classification unit that classifies two or more nodes included in the input graph into one or more processing areas, each of which is an area where processing is performed in one process, by inputting a graph including at least some of a plurality of nodes to which a plurality of processing feature amounts are assigned as an input graph to the learning model. In the first embodiment, the input graph is a graph provided by the image graph conversion unit 103, and includes all of the nodes generated by the image graph conversion unit 103.

[0036] For example, the inference unit 106 inputs the graph from the image graph conversion unit 103 into a GCN learning model stored in the model storage unit 105, thereby performing feature exchange with adjacent nodes and inferring the classification of each node as a class. Classification by GCN is a well-known technique, and therefore a detailed description thereof will be omitted.

[0037] Fig. 4 is a schematic diagram showing the inference result of the inference performed by the inference unit 106 based on the graph 130 shown in Fig. 3. In the inference result 140 shown in Fig. 4, node N01, nodes N02 to N10, and nodes N11 to N15 are inferred to be in the same class (classification). Then, in the learning phase, the inference unit 106 notifies the learning unit 107 of the inference result indicating the classification of each node.

[0038] The learning unit 107 learns a learning model using the classification results from the inference unit 106 and correct answer data indicating the result of correctly classifying multiple nodes. For example, the learning unit 107 acquires correct answer data indicating the result of correctly classifying nodes of a graph converted from a target image in advance, and learns the GCN learning model stored in the model storage unit 105 so that the difference between the inference result from the inference unit and the result indicated by the correct answer data is small. Note that the target during learning is also referred to as the learning target, the target image during learning is also referred to as the learning target image, and the processed feature during learning is also referred to as the learning processed feature. Furthermore, the graph during learning is also referred to as the learning graph, and the nodes and edges included in the learning graph are also referred to as the learning nodes and learning edges, respectively.

[0039] The CAD model classification device 100 described above can be realized by, for example, a computer such as the PC 10 shown in Fig. 5. The PC 10 includes a storage 11 such as a hard disk drive (HDD) and a solid state drive (SSD), a memory 12, a processor 13 such as a central processing unit (CPU), a communication interface (I / F) 14 such as a network interface card (NIC), an input interface 15 such as a keyboard and a mouse, and a display 16.

[0040] For example, the CAD data storage unit 101 and the model storage unit 105 can be realized by the storage 11 or the memory 12. The CAD data drawing unit 102, the image-graph conversion unit 103, the processing feature extraction unit 104, the inference unit 106, and the learning unit 107 can be realized by the processor 13 executing a program.

[0041] The program may be downloaded to the storage 11 from a recording medium (not shown) via a reader / writer (not shown) or from a network via the communication I / F 14, and then loaded onto the memory 12 and executed by the processor 13. Alternatively, the program may be directly loaded onto the memory 12 from a recording medium via the reader / writer or from a network via the communication I / F 14, and then executed by the processor 13. In other words, the program may be provided by a computer program product such as a recording medium.

[0042] 6 is a flowchart showing the operation in the learning phase of the CAD model classification device 100 according to embodiment 1. First, the CAD data drawing unit 102 uses the CAD data stored in the CAD data storage unit 101 to draw an object image that indicates the external shape of the object to be processed using lines (S10).

[0043] Next, the image graph conversion unit 103 references the target image from the CAD data drawing unit 102, and generates a graph by treating the areas surrounded by lines as nodes and the points between areas separated by lines as edges (S11).

[0044] Next, the processing feature extraction unit 104 refers to the CAD data stored in the CAD data storage unit 101 and the graph generated by the image graph conversion unit 103, and extracts processing features, which are features when processing the processing object, for each node of the graph (S12). Then, the processing feature extraction unit 104 sets the extracted processing features as features of the corresponding node (S13).

[0045] Next, the inference unit 106 infers the classification of each node by inputting the graph provided by the image graph conversion unit 103, in which the processing features are used as node features, into the GCN learning model stored in the model storage unit 105 (S14).

[0046] Next, the learning unit 107 calculates the difference between the classification indicated by the correct answer data, which indicates the result of correctly classifying the nodes of the graph converted from the target image, and the classification inferred by the inference unit 106 (S15).The learning unit 107 then determines whether the learning of the learning model has converged by determining whether the difference in step S15 is less than a predetermined threshold (S16).If the learning of the learning model has converged (Yes in S16), the process ends, and if the learning of the learning model has not converged (No in S16), the process proceeds to step S17.

[0047] In step S17, the learning unit 107 learns the learning model so as to reduce the difference in step S15. For example, the learning unit 107 updates the weight of the learning model. Then, the process returns to step S14.

[0048] 6, convergence is determined based on the difference being less than a threshold value, but the first embodiment is not limited to this example. For example, the learning unit 107 may proceed to step S17 after the process of step S15, and determine convergence based on whether the number of times learning in step S17 has been performed exceeds a predetermined number of times after the process of step S17. In such a case, if convergence is determined, the process ends, and if convergence is not determined, the process returns to step S14.

[0049] 7 is a flowchart showing the operation in the inference phase of the CAD model classification device 100 according to embodiment 1. First, the CAD data drawing unit 102 uses the CAD data stored in the CAD data storage unit 101 to draw an object image that indicates the external shape of the object to be processed using lines (S20).

[0050] Next, the image graph conversion unit 103 references the target image from the CAD data drawing unit 102, and generates a graph by treating the areas surrounded by lines as nodes and the points between areas separated by lines as edges (S21).

[0051] Next, the processing feature extraction unit 104 refers to the CAD data stored in the CAD data storage unit 101 and the graph generated by the image graph conversion unit 103, and extracts processing features, which are features when processing the processing object, for each node of the graph (S22). Then, the processing feature extraction unit 104 sets the extracted processing features as features of the corresponding node (S23).

[0052] Next, the inference unit 106 infers the classification of each node by inputting the graph provided by the image graph conversion unit 103, in which the processing features are used as node features, into the GCN learning model stored in the model storage unit 105 (S24).

[0053] As described above, according to the first embodiment, the processing characteristics such as R-shape can be appropriately graphed without making the mesh finer, and therefore the graphed nodes can be accurately classified.

[0054] In the first embodiment described above, the processing feature extraction unit 104 references the CAD data stored in the CAD data storage unit 101 and the graph generated by the image graph conversion unit 103, and extracts processing feature amounts, which are feature amounts when processing the processing object, for each node of the graph. However, the first embodiment is not limited to this. For example, the processing feature extraction unit 104 may generate a processing feature image indicating the processing features of the processing object from the CAD data, and calculate a feature map by convolving the processing feature image using a known technique such as a CNN (Convolutional Neural Network), in other words, encoding the image, and assign a feature amount to each node from the feature map.

[0055] For example, the machining feature extraction unit 104 may generate, as the machining feature image, a depth map that is a depth image indicating the depth at the time of machining, from the shape of the machining object indicated by the CAD data.

[0056] In addition, the processing feature extraction unit 104 may generate a curved surface image as a processing feature image in which the curved surface image is visualized so that a predetermined color, for example, red, becomes darker as the R of the curved surface becomes smaller than a predetermined level, and another predetermined color, for example, blue, becomes darker as the R of the curved surface becomes larger than a predetermined level.

[0057] In addition, the processing feature extraction unit 104 may generate a boundary image as a processing feature image by visualizing the boundaries of the areas that make up the processing object in the CAD data by drawing them in a predetermined color, for example, black.

[0058] In addition, the processing feature extraction unit 104 may generate a processing feature image by visualizing the processing area image by coloring the area that constitutes the processing object in the CAD data and the parts other than the processing object in different colors.

[0059] The machining feature extraction unit 104 may also generate, as the machining feature image, a surface image visualized by coloring the uneven surfaces and flat surfaces of the area constituting the machining target in the CAD data with different colors.

[0060] In addition, the processing feature extraction unit 104 may generate a thickness image as a processing feature image in which the thickness between adjacent regions in the region that constitutes the processing object in the CAD data is visualized with a predetermined color brightness.

[0061] The processing feature extraction unit 104 is not limited to the above example, and may generate a plurality of processing feature images that indicate the features when processing the processing object. In other words, the processing feature extraction unit 104 may calculate the processing feature amount by convolving the processing feature image, which is an image that visualizes the processing features.

[0062] Then, the processing feature extraction unit 104 may calculate the feature amount of the node based on the correspondence between the feature map extracted by CNN etc. and the node position. For example, the processing feature extraction unit 104 may calculate a feature map by convolving the processing feature image, and calculate the processing feature amount of the target node by adding the pixel values ​​of the feature map according to the proportion of the target node included in each section of the processing feature image corresponding to each pixel value of the feature map.

[0063] Specifically, if the resolution of the processed feature image input to a CNN or the like is 224 pixels x 224 pixels and the resolution of the feature map output from the CNN or the like is 14 pixels x 14 pixels, the processed feature extraction unit 104 divides the processed feature image equally vertically and horizontally into 16 sections so that the vertical and horizontal sections are 14 x 14. As a result, one pixel of the feature map corresponds to one section of the processed feature image.

[0064] If the region R02 shown in Figure 2 spans the regions (7,1), (7,2), (8,1), and (8,2) of the 14 x 14 regions, as shown in Figure 8, the processing feature extraction unit 104 calculates the ratio of the area of ​​region R02 included in each of the regions (7,1), (7,2), (8,1), and (8,2) to the area of ​​each of the regions (7,1), (7,2), (8,1), and (8,2).

[0065] Here, it is assumed that the ratio of the area of ​​region R02 to the area of ​​section (7,1) is "0.1", the ratio of the area of ​​region R02 to the area of ​​section (7,2) is "0.08", the ratio of the area of ​​region R02 to the area of ​​section (8,1) is "0.15", and the ratio of the area of ​​region R02 to the area of ​​section (8,2) is "0.05". Then, the pixel values ​​of the feature map convolved from section (7,1) are F 7.1 , the pixel values ​​of the feature map convolved from the section (7, 2) are F 7.2 , the pixel values ​​of the feature map convolved from the partition (8, 1) are F 8.1 and the pixel values ​​of the feature map convolved from the partition (8, 2) are F 8.2In the above situation, the feature amount assigned to the node N02 converted from the region R02 is F N02 Then, the feature F N02 can be calculated using the following formula (1), taking into account the positional relationship of node N02. N02 = 0.1 × F 7.1 +0.08 x F 7.2 +0.15 x F 8.1 +0.05 x F 8.2     (1)

[0066] The above is merely an example, and the feature calculated from the section that includes the region R02 with the largest area may be assigned to the node N02.

[0067] 2, the node N01 corresponding to the region R01 is a plane that is not processed, and therefore no feature is assigned as a processing feature. As a countermeasure to this, a feature convolved by CNN may be assigned only to the node that is processed.

[0068] 9 is a block diagram showing a schematic configuration of a CAD model classification device 200 according to embodiment 2. The CAD model classification device 200 includes a CAD data storage unit 101, a CAD data rendering unit 102, an image-graph conversion unit 103, a processing feature extraction unit 204, a model storage unit 105, an inference unit 106, a learning unit 107, and a graph node simplification unit 208.

[0069] The CAD data storage unit 101, the CAD data drawing unit 102, the image graph conversion unit 103, the model storage unit 105, the inference unit 106, and the learning unit 107 of the CAD model classification device 200 according to the second embodiment are similar to the CAD data storage unit 101, the CAD data drawing unit 102, the image graph conversion unit 103, the model storage unit 105, the inference unit 106, and the learning unit 107 of the CAD model classification device 100 according to the first embodiment. However, the image graph conversion unit 103 according to the second embodiment provides the generated graph to the graph node simplification unit 208.

[0070] The processing feature extraction unit 204 refers to the CAD data stored in the CAD data storage unit 101 and the graph generated by the image graph conversion unit 103, and extracts processing features, which are features when processing the processing object, for each node of the graph. The processing features extracted here may be the same as those in the first embodiment, but in the second embodiment, at least one attribute of the area, width, and height of the region corresponding to the node is extracted as the processing feature.

[0071] The graph node simplifying unit 208 simplifies the graph by merging multiple nodes included in the graph. Here, the graph node simplifying unit 208 merges two adjacent nodes. Furthermore, the graph node simplifying unit 208 may merge nodes to which a processing feature has been assigned by the processing feature extraction unit 204. For example, if there is a node for which at least one attribute of area, width, and height assigned to the node, extracted as a processing feature by the processing feature extraction unit 204, is equal to or less than a predetermined threshold, the graph node simplifying unit 208 merges the node with one node selected from the nodes adjacent to the node.

[0072] The selected node may be selected according to a predetermined rule from among nodes adjacent to a node whose attribute is equal to or less than a predetermined threshold. For example, the node with the largest cosine similarity of the feature vector may be selected, or the node with the largest corresponding area may be selected, or the node may be selected randomly.

[0073] However, it is desirable not to merge nodes corresponding to regions where the difference in R (radius) of the curved surface is greater than a predetermined threshold, or nodes corresponding to regions where the cosine similarity is less than a predetermined threshold. For example, the graph node simplifying unit 208 may select, as a candidate node for merging (hereinafter, a merge candidate node), a node whose cosine similarity with the merge target node is greater than or equal to a predetermined threshold from among nodes adjacent to a node whose attribute is less than or equal to a predetermined threshold (hereinafter, a merge target node). Furthermore, the graph node simplifying unit 208 may select, as a merge candidate node, a node whose cosine similarity with the merge target node is less than or equal to a predetermined threshold from among nodes adjacent to the merge target node. When multiple merge candidate nodes are selected in this manner, one node may be selected based on a predetermined rule, such as the node with the largest area or randomly.

[0074] The graph simplified by merging nodes in this manner is provided to the inference unit 106, which infers the classification of each node as a class based on the graph. In other words, in the second embodiment, the input graph input to the learning model may be a graph after merging.

[0075] The CAD model classification device 200 described above can also be realized by a computer such as the PC 10 shown in Fig. 5. For example, the graph node simplification unit 208 can also be realized by the processor 13 executing a program.

[0076] Fig. 10 is a flowchart showing the operation in the learning phase of the CAD model classification device 200 according to embodiment 2. Of the processes included in the flowchart shown in Fig. 10, steps that perform the same processes as those included in the flowchart shown in Fig. 6 are denoted by the same reference numerals as those of the steps in the flowchart shown in Fig. 6.

[0077] The processing in steps S10 to S13 in Fig. 10 is the same as the processing in steps S10 to S13 in Fig. 6. However, in Fig. 10, after the processing in step S13, the processing proceeds to step S30.

[0078] In step S30, the graph node simplifying unit 208 determines whether there is a node for which at least one attribute of area, width, and height assigned to the node, extracted as a processing feature by the processing feature extraction unit 204, is equal to or less than a predetermined threshold value. If there is such a node (Yes in S30), the process proceeds to step S31, and if there is not such a node (No in S30), the process proceeds to step S14.

[0079] In step S31, the graph node simplifying unit 208 merges nodes whose attributes are equal to or less than a predetermined threshold into one node selected from the nodes adjacent to the node. The graph simplified in this manner is provided to the inference unit 106.

[0080] The processing in steps S14 to S17 in Fig. 10 is the same as the processing in steps S14 to S17 in Fig. 6. However, in step S14 in Fig. 10, the inference unit 106 may perform inference using a graph provided by the graph node simplifying unit 208.

[0081] Fig. 11 is a flowchart showing the operation in the inference phase of the CAD model classification device 200 according to embodiment 2. Of the processes included in the flowchart shown in Fig. 11, steps that perform the same processes as those included in the flowchart shown in Fig. 7 are denoted by the same reference numerals as those of the steps in the flowchart shown in Fig. 7.

[0082] The processing in steps S20 to S23 in Fig. 11 is the same as the processing in steps S20 to S23 in Fig. 7. However, in Fig. 11, after the processing in step S23, the processing proceeds to step S40.

[0083] In step S40, the graph node simplifying unit 208 determines whether there is a node for which at least one attribute of area, width, and height assigned to the node, extracted as a processing feature by the processing feature extraction unit 204, is equal to or less than a predetermined threshold value. If there is such a node (Yes in S40), the process proceeds to step S41, and if there is not such a node (No in S40), the process proceeds to step S24.

[0084] In step S41, the graph node simplifying unit 208 merges nodes whose attributes are equal to or less than a predetermined threshold into one node selected from the nodes adjacent to the node. The graph simplified in this manner is provided to the inference unit 106.

[0085] The process of step S24 in Fig. 11 is the same as the process of step S24 in Fig. 7. However, in step S24 in Fig. 11, the inference unit 106 may perform inference using a graph provided by the graph node simplifying unit 208.

[0086] As described above, in the second embodiment, it is possible to prevent a decrease in classification accuracy due to the complexity of the graph.

[0087] 12 is a block diagram showing a schematic configuration of a CAD model classification device 300 according to embodiment 3. The CAD model classification device 300 includes a CAD data storage unit 101, a CAD data rendering unit 102, an image-to-graph conversion unit 103, a processing feature extraction unit 104, a model storage unit 105, an inference unit 306, a learning unit 107, and a hub node removal unit 309.

[0088] The CAD data storage unit 101, the CAD data drawing unit 102, the image graph conversion unit 103, the processing feature extraction unit 104, the model storage unit 105, and the learning unit 107 of the CAD model classification device 300 according to embodiment 3 are similar to the CAD data storage unit 101, the CAD data drawing unit 102, the image graph conversion unit 103, the processing feature extraction unit 104, the model storage unit 105, and the learning unit 107 of the CAD model classification device 100 according to embodiment 1. However, the image graph conversion unit 103 in embodiment 3 provides the generated graph to a hub node removal unit 309.

[0089] The hub node removal unit 309 obtains the degree, which is the number of adjacent nodes, for all nodes in the graph from the image graph conversion unit 103. If there is a node whose degree is equal to or greater than a predetermined threshold, the hub node removal unit 309 determines that the node is a hub node and removes the hub node from the graph.

[0090] 13 is a schematic diagram for explaining the processing by hub node removal unit 309. For example, if the graph converted by image graph conversion unit 103 is graph 130 as shown in Fig. 3, hub node removal unit 309 determines node N01 to be a hub node and removes node N01 from graph 130. As a result, graph 130 is divided into a first graph 330A and a second graph 330B as shown in Fig. 13.

[0091] The inference unit 306 inputs the graph from the hub node removal unit 309 into the GCN learning model stored in the model storage unit 105, thereby performing feature exchange with adjacent nodes and inferring the classification of each node as a class. Classification by GCN is a well-known technique, so a detailed description will be omitted. Here, if the graph converted by the image graph conversion unit 103 is divided into multiple graphs by the hub node removal unit 309, the inference unit 306 performs classification by inputting each of the multiple graphs into the GCN learning model. In other words, in the third embodiment, the input graph input to the learning model may be one or multiple graphs after hub node removal.

[0092] The CAD model classification device 300 described above can also be realized by a computer such as the PC 10 shown in Fig. 5. For example, the hub node removal unit 309 can also be realized by the processor 13 executing a program.

[0093] Fig. 14 is a flowchart showing the operation in the learning phase of the CAD model classification device 300 according to embodiment 3. Of the processes included in the flowchart shown in Fig. 14, steps that perform the same processes as those included in the flowchart shown in Fig. 6 are denoted by the same reference numerals as those of the steps in the flowchart shown in Fig. 6.

[0094] The processing in steps S10 to S13 in Fig. 14 is the same as the processing in steps S10 to S13 in Fig. 6. However, in Fig. 14, after the processing in step S13, the processing proceeds to step S50.

[0095] In step S50, the hub node removal unit 309 determines whether or not there is a hub node, which is a node with a degree equal to or greater than a predetermined threshold, among the nodes included in the graph from the image graph conversion unit 103. If there is a hub node (Yes in S50), the process proceeds to step S51, and if there is no hub node (No in S50), the process proceeds to step S52.

[0096] In step S51, the hub node removal unit 309 removes hub nodes from the graph from the image graph conversion unit 103. Then, the process proceeds to step S52.

[0097] In step S52, the inference unit 306 infers the classification of each node by inputting the graph provided by the hub node removal unit 309 into the GCN learning model stored in the model storage unit 105. Here, when multiple graphs are provided by the hub node removal unit 309, the inference unit 306 inputs each of the multiple graphs into the GCN learning model, thereby inferring the classification of each node.

[0098] Next, the learning unit 107 calculates the difference between the classification indicated by the correct answer data, which indicates the result of correctly classifying the nodes of the graph converted from the target image, and the classification inferred by the inference unit 306 (S53).The learning unit 107 then determines whether the learning of the learning model has converged by determining whether the difference in step S15 is less than a predetermined threshold (S54).If the learning of the learning model has converged (Yes in S54), the process ends.If the learning of the learning model has not converged (No in S54), the process proceeds to step S55.

[0099] In step S55, the learning unit 107 learns the learning model so as to reduce the difference in step S53. For example, the learning unit 107 updates the weight of the learning model. Then, the process returns to step S52.

[0100] 14, convergence is determined based on the difference being less than a threshold value, but the third embodiment is not limited to this example. For example, the learning unit 107 may proceed to step S55 after the process of step S53, and after the process of step S55, determine whether convergence has occurred based on whether the number of times learning has been performed in step S55 exceeds a predetermined number. In this case, if convergence is determined, the process ends, and if convergence is not determined, the process returns to step S52.

[0101] Fig. 15 is a flowchart showing the operation in the inference phase of the CAD model classification device 300 according to embodiment 3. Of the processes included in the flowchart shown in Fig. 15, steps that perform the same processes as those included in the flowchart shown in Fig. 7 are denoted by the same reference numerals as those of the steps in the flowchart shown in Fig. 7.

[0102] The processing in steps S20 to S23 in Fig. 15 is the same as the processing in steps S20 to S23 in Fig. 7. However, in Fig. 15, after the processing in step S23, the processing proceeds to step S60.

[0103] In step S60, the hub node removal unit 309 determines whether or not there is a hub node, which is a node with a degree equal to or greater than a predetermined threshold, among the nodes included in the graph from the image graph conversion unit 103. If there is a hub node (Yes in S60), the process proceeds to step S61, and if there is no hub node (No in S60), the process proceeds to step S62.

[0104] In step S61, the hub node removal unit 309 removes hub nodes from the graph from the image graph conversion unit 103. Then, the process proceeds to step S62.

[0105] In step S62, the inference unit 306 infers the classification of each node by inputting the graph provided by the hub node removal unit 309 into the GCN learning model stored in the model storage unit 105. Here, when multiple graphs are provided by the hub node removal unit 309, the inference unit 306 inputs each of the multiple graphs into the GCN learning model, thereby inferring the classification of each node.

[0106] As described above, in the third embodiment, it is possible to prevent a decrease in classification accuracy due to the complexity of the graph.

[0107] In the third embodiment described above, nodes whose degrees are equal to or greater than a predetermined threshold are removed as hub nodes, but the third embodiment is not limited to this example. For example, the hub node removal unit 309 may remove nodes one by one in descending order of degree, searching for a node to remove so that the inference accuracy of the inference unit 306 is maximized.

[0108] 16 is a block diagram showing a schematic configuration of a CAD model classification device 400 according to embodiment 4. The CAD model classification device 400 includes a CAD data storage unit 101, a CAD data rendering unit 102, an image-to-graph conversion unit 103, a processing feature extraction unit 104, a model storage unit 105, an inference unit 106, a learning unit 107, and a hub node division unit 410.

[0109] The CAD data storage unit 101, the CAD data drawing unit 102, the image graph conversion unit 103, the processing feature extraction unit 104, the model storage unit 105, the inference unit 106, and the learning unit 107 of the CAD model classification device 400 according to embodiment 4 are similar to the CAD data storage unit 101, the CAD data drawing unit 102, the image graph conversion unit 103, the processing feature extraction unit 104, the model storage unit 105, the inference unit 106, and the learning unit 107 of the CAD model classification device 100 according to embodiment 1. However, the image graph conversion unit 103 in embodiment 4 provides the generated graph to the hub node division unit 410.

[0110] The hub node splitting unit 410 splits a hub node, which is a node with a degree equal to or greater than a predetermined threshold, into multiple nodes with smaller degrees. For example, the hub node splitting unit 410 obtains the degree, which is the number of adjacent nodes, for all nodes in the graph from the image graph conversion unit 103. If there is a node with a degree equal to or greater than a predetermined threshold, the hub node splitting unit 410 determines that the node is a hub node and splits the hub node in the graph.

[0111] 17 is a schematic diagram for explaining the processing by hub node division unit 410. For example, if the graph converted by image graph conversion unit 103 is graph 130 as shown in FIG. 3, hub node removal unit 309 determines node N01 to be a hub node and removes node N01 from graph 130. As a result, graph 130 is divided into first graph 330A and second graph 330B as shown in FIG.

[0112] The hub node splitting unit 410 then splits node N01 into nodes N01A, N01B, and N01C. The hub node splitting unit 410 then connects node N01A to the first graph 330A shown in Fig. 13 in the same manner as node N01, and connects node N01B to the second graph 330B shown in Fig. 13 in the same manner as node N01. Furthermore, the hub node splitting unit 410 connects node N01C to each of node N01A and node N01B, thereby generating a new graph 430.

[0113] As described above, the hub node splitting unit 410 removes nodes determined to be hub nodes to identify multiple independent graphs that are not connected to each other, connects new nodes similar to the hub nodes to each of the identified multiple graphs, and further connects new nodes similar to the hub nodes to each of the new nodes, thereby generating a new graph.The hub node splitting unit 410 then provides the generated new graph to the inference unit 106.In other words, in the fourth embodiment, the input graph input to the learning model may be the graph after splitting.

[0114] The CAD model classification device 400 described above can also be realized by a computer such as the PC 10 shown in Fig. 5. For example, the hub node division unit 410 can also be realized by the processor 13 executing a program.

[0115] Fig. 18 is a flowchart showing the operation in the learning phase of the CAD model classification device 400 according to embodiment 4. Among the processes included in the flowchart shown in Fig. 18, steps that perform the same processes as those included in the flowchart shown in Fig. 6 are denoted by the same reference numerals as those of the steps in the flowchart shown in Fig. 6.

[0116] The processing in steps S10 to S13 in Fig. 18 is the same as the processing in steps S10 to S13 in Fig. 6. However, in Fig. 18, after the processing in step S13, the processing proceeds to step S70.

[0117] In step S70, hub node division unit 410 determines whether or not there is a hub node, which is a node with a degree equal to or greater than a predetermined threshold, among the nodes included in the graph from image graph conversion unit 103. If there is a hub node (Yes in S70), the process proceeds to step S71, and if there is no hub node (No in S70), the process proceeds to step S14.

[0118] In step S71, hub node division unit 410 divides a hub node in the graph from image graph conversion unit 103 and adds a plurality of nodes to the graph. Then, the process proceeds to step S14.

[0119] The processing in steps S14 to S17 in FIG. 18 is the same as the processing in steps S14 to S17 in FIG.

[0120] Fig. 19 is a flowchart showing the operation in the inference phase of the CAD model classification device 400 according to embodiment 4. Of the processes included in the flowchart shown in Fig. 19, steps that perform the same processes as those included in the flowchart shown in Fig. 7 are denoted by the same reference numerals as those of the steps in the flowchart shown in Fig. 7.

[0121] The processing in steps S20 to S23 in Fig. 19 is the same as the processing in steps S20 to S23 in Fig. 7. However, in Fig. 19, after the processing in step S23, the processing proceeds to step S80.

[0122] In step S80, hub node division unit 410 determines whether or not there is a hub node, which is a node with a degree equal to or greater than a predetermined threshold, among the nodes included in the graph from image graph conversion unit 103. If there is a hub node (Yes in S80), the process proceeds to step S81, and if there is no hub node (No in S80), the process proceeds to step S14.

[0123] In step S81, hub node division unit 410 divides a hub node in the graph from image graph conversion unit 103 and adds a plurality of nodes to the graph. Then, the process proceeds to step S24.

[0124] The process of step S24 in FIG. 19 is the same as the process of step S24 in FIG.

[0125] As described above, in the fourth embodiment as well, it is possible to prevent a decrease in classification accuracy due to the complexity of the graph.

[0126] In the fourth embodiment described above, nodes whose degrees are equal to or greater than a predetermined threshold are divided as hub nodes, but the fourth embodiment is not limited to this example. For example, the hub node dividing unit 410 may divide a node in descending order of degree, searching for a node to divide so that the inference accuracy of the inference unit 106 is maximized.

[0127] 20 is a block diagram showing a schematic configuration of a CAD model classification device 500 according to embodiment 5. The CAD model classification device 500 includes a CAD data storage unit 101, a CAD data rendering unit 102, an image-to-graph conversion unit 103, a processing feature extraction unit 104, a model storage unit 105, an inference unit 506, a learning unit 107, and a subgraph division unit 511.

[0128] The CAD data storage unit 101, the CAD data drawing unit 102, the image graph conversion unit 103, the processing feature extraction unit 104, the model storage unit 105, and the learning unit 107 of the CAD model classification device 500 according to embodiment 5 are similar to the CAD data storage unit 101, the CAD data drawing unit 102, the image graph conversion unit 103, the processing feature extraction unit 104, the model storage unit 105, and the learning unit 107 of the CAD model classification device 100 according to embodiment 1. However, the image graph conversion unit 103 in embodiment 3 provides the generated graph to a subgraph division unit 511.

[0129] The subgraph division unit 511 divides the graph from the image graph conversion unit 103 into a plurality of subgraphs. For dividing the graph, a known method may be used, such as a method using METIS described in the following document 1, a division method based on modularity described in the following document 2, or a method using MCL described in the following document 3. Document 1: Zardoshit Kashe, "Partial Parallelization of Graph Partitioning Algorithm Mtis", 2004, Internet (https: / / courses.csail.mit.edu / 6.895 / fa1103 / projects / papers / kasheff.pdf) Document 2: Ahmed F. Al-Mukhar, Eman S. Al-Shamery, “Greedy Modularity Graph Clustering for Community Detection of Large Co-Authorship Network”, International Journal of Engineering & Technology, 7, 4.19, 2018, 857-863 Reference 3: van Dongen, Stijn, “Graph clustering via a discrete uncoupling process”, Siam Journal on Matrix Analysis and Application 30-1, pp. 121-141, 2008

[0130] Furthermore, the graph may be divided by, for example, selecting a node having a feature that the user wishes to focus on, and dividing the portion that has been traced a number of times specified by the user.

[0131] Fig. 21 is a schematic diagram showing divided subgraphs. For example, if the graph converted by the image graph converter 103 is the graph 130 shown in Fig. 3, the subgraph divider 511 divides it into a first subgraph 530A and a second subgraph 530B as shown in Fig. 21.

[0132] The inference unit 506 inputs the multiple subgraphs provided by the subgraph division unit 511 into the GCN learning model stored in the model storage unit 105, thereby performing feature exchange with adjacent nodes and inferring the classification of each node as a class. Classification by GCN is a well-known technique, and therefore a detailed description thereof will be omitted. In other words, in the fifth embodiment, the input model input to the learning model is a multiple subgraph.

[0133] The CAD model classification device 500 described above can also be realized by a computer such as the PC 10 shown in Fig. 5. For example, the subgraph division unit 511 can also be realized by the processor 13 executing a program.

[0134] Fig. 22 is a flowchart showing the operation in the learning phase of the CAD model classification device 500 according to embodiment 5. Among the processes included in the flowchart shown in Fig. 22, steps that perform the same processes as those included in the flowchart shown in Fig. 6 are denoted by the same reference numerals as those of the steps in the flowchart shown in Fig. 6.

[0135] The processing in steps S10 to S13 in Fig. 22 is the same as the processing in steps S10 to S13 in Fig. 6. However, in Fig. 14, after the processing in step S13, the processing proceeds to step S90.

[0136] In step S90, the subgraph division unit 511 divides the graph from the image graph conversion unit 103 into a plurality of subgraphs.

[0137] Next, the inference unit 506 infers the classification of each node by inputting the multiple subgraphs provided by the subgraph division unit 511 into the GCN learning model stored in the model storage unit 105 (S91).

[0138] Next, the learning unit 107 calculates the difference between the classification indicated by the correct answer data, which indicates the result of correctly classifying the nodes of the graph converted from the target image, and the classification inferred by the inference unit 506 (S92).The learning unit 107 then determines whether the learning of the learning model has converged by determining whether the difference in step S92 is less than a predetermined threshold (S93).If the learning of the learning model has converged (Yes in S93), the process ends.If the learning of the learning model has not converged (No in S93), the process proceeds to step S94.

[0139] In step S94, the learning unit 107 learns the learning model so as to reduce the difference in step S92. For example, the learning unit 107 updates the weight of the learning model. Then, the process returns to step S91.

[0140] 22, convergence is determined based on the difference being less than a threshold value, but the fifth embodiment is not limited to this example. For example, the learning unit 107 may proceed to step S94 after the process of step S92, and after the process of step S94, determine whether convergence has occurred based on whether the number of times learning in step S94 has been performed exceeds a predetermined number. In this case, if convergence is determined, the process ends, and if convergence is not determined, the process returns to step S91.

[0141] Fig. 23 is a flowchart showing the operation in the inference phase of the CAD model classification device 500 according to embodiment 5. Among the processes included in the flowchart shown in Fig. 23, steps that perform the same processes as those included in the flowchart shown in Fig. 7 are denoted by the same reference numerals as those of the steps in the flowchart shown in Fig. 7.

[0142] The processing in steps S20 to S23 in Fig. 23 is the same as the processing in steps S20 to S23 in Fig. 7. However, in Fig. 23, after the processing in step S23, the processing proceeds to step S100.

[0143] In step S100, the subgraph division unit 511 divides the graph from the image graph conversion unit 103 into a plurality of subgraphs.

[0144] Next, the inference unit 506 infers the classification of each node by inputting the multiple subgraphs provided by the subgraph division unit 511 into the GCN learning model stored in the model storage unit 105 (S101).

[0145] As described above, in the fifth embodiment as well, it is possible to prevent a decrease in classification accuracy due to the complexity of the graph.

[0146] 100, 200, 300, 400, 500 CAD model classification device, 101 CAD data storage unit, 102 CAD data drawing unit, 103 image graph conversion unit, 104, 204 processing feature extraction unit, 105 model storage unit, 106, 306, 506 inference unit, 107 learning unit, 208 graph node simplification unit, 309 hub node removal unit, 410 hub node division unit, 511 subgraph division unit.

Claims

a drawing unit that draws an object image showing an external shape of an object to be processed using lines based on design data that indicates design details of the object; a graph generation unit that generates a graph including the plurality of nodes and the plurality of edges by treating the plurality of regions surrounded by the lines from the target image as corresponding plurality of nodes, and treating a line that separates a first region included in the plurality of regions from a second region adjacent to the first region as an edge between a first node corresponding to the first region and a second node corresponding to the second region; a processing feature extraction unit that assigns a plurality of processing feature amounts to each of the plurality of nodes by setting a processing feature amount, which is a feature amount indicating a feature when processing the first region, as a feature amount of the first node based on the design data and the graph; a classification unit that inputs a graph including at least a part of the plurality of nodes to which the plurality of processing feature amounts are assigned as an input graph into a learning model, and classifies two or more nodes included in the input graph into one or more processing regions, with one processing region being an region where processing is performed in one process; a learning unit that learns the learning model using the classification result and correct answer data that indicates the result of correctly classifying the plurality of nodes. A learning device characterized by:   The input graph includes all of the plurality of nodes to which the plurality of processing features are assigned.

2. The learning device according to claim 1, wherein:   a graph node simplification unit that merges two adjacent nodes included in the plurality of nodes; The input graph is the graph after the merging is performed.

2. The learning device according to claim 1, wherein:   The graph node simplification unit performs the merging when at least one attribute of area, width, and height of one of the two nodes is equal to or less than a predetermined threshold.

4. The learning device according to claim 3, wherein:   a hub node removal unit that removes hub nodes that are nodes whose degree as the number of adjacent nodes is equal to or greater than a predetermined threshold; The input graph is one or more graphs after the removal is performed.

2. The learning device according to claim 1, wherein:   a hub node division unit that divides a hub node, which is a node whose degree as the number of adjacent nodes is equal to or greater than a predetermined threshold, into a plurality of nodes so that the degrees decrease; The input graph is the graph after the division is performed.

2. The learning device according to claim 1, wherein:   a subgraph division unit that divides a graph including the plurality of nodes to which the plurality of processing feature amounts are assigned into a plurality of subgraphs; The input graph is the plurality of subgraphs.

2. The learning device according to claim 1, wherein:   The processing feature extraction unit calculates the processing feature amount by convolving a processing feature image, which is an image that visualizes the processing features. The learning device according to any one of claims 1 to 7, characterized in that   The processing feature extraction unit calculates a feature map by convolving the processing feature image, and calculates the processing feature amount of the target node by adding pixel values ​​of the feature map in accordance with a ratio of a target node being included in each section of the processing feature image corresponding to each pixel value of the feature map.

9. The learning device according to claim 8,   a drawing unit that draws an object image showing an external shape of an object to be processed using lines based on design data that indicates design details of the object; a graph generation unit that generates a graph including the plurality of nodes and the plurality of edges by treating the plurality of regions surrounded by the lines from the target image as corresponding plurality of nodes, and treating a line that separates a first region included in the plurality of regions from a second region adjacent to the first region as an edge between a first node corresponding to the first region and a second node corresponding to the second region; a processing feature extraction unit that assigns a plurality of processing feature amounts to each of the plurality of nodes by setting a processing feature amount, which is a feature amount indicating a feature when processing the first region, as a feature amount of the first node based on the design data and the graph; a classification unit that inputs a graph including at least a part of the plurality of nodes to which the plurality of processing feature amounts are assigned as an input graph into a learning model, and classifies two or more nodes included in the input graph into one or more processing regions, each of which is a region where processing is performed in one process, The learning model is a model trained using the result of inputting a learning graph including a plurality of learning nodes and a plurality of learning edges to which a plurality of processing feature quantities, which are a plurality of feature quantities in the processing of a learning object to be processed, are assigned, and correct answer data indicating the result of correctly classifying the plurality of learning nodes. An inference device characterized by:   The input graph includes all of the plurality of nodes to which the plurality of processing features are assigned.

11. The inference device according to claim 10,   a graph node simplification unit that merges two adjacent nodes included in the plurality of nodes; The input graph is the graph after the merging is performed.

11. The inference device according to claim 10,   The graph node simplification unit performs the merging when at least one attribute of area, width, and height of one of the two nodes is equal to or less than a predetermined threshold.

13. The inference device according to claim 12.   a hub node removal unit that removes hub nodes that are nodes whose degree as the number of adjacent nodes is equal to or greater than a predetermined threshold; The input graph is one or more graphs after the removal is performed.

11. The inference device according to claim 10,   a hub node division unit that divides a hub node, which is a node whose degree as the number of adjacent nodes is equal to or greater than a predetermined threshold, into a plurality of nodes so that the degrees decrease; The input graph is the graph after the division is performed.

11. The inference device according to claim 10,   a subgraph division unit that divides a graph including the plurality of nodes to which the plurality of processing feature amounts are assigned into a plurality of subgraphs; The input graph is the plurality of subgraphs.

11. The inference device according to claim 10,   The processing feature extraction unit calculates the processing feature amount by convolving a processing feature image, which is an image that visualizes the processing features.

17. The inference device according to claim 10, wherein:   The processing feature extraction unit calculates a feature map by convolving the processing feature image, and calculates the processing feature amount of the target node by adding pixel values ​​of the feature map in accordance with a ratio of a target node being included in each section of the processing feature image corresponding to each pixel value of the feature map.

18. The inference device according to claim 17,   Computer, a drawing unit that draws an object image showing an external shape of an object to be processed using lines based on design data showing design details of the object; a graph generation unit that generates a graph including the plurality of nodes and the plurality of edges from the target image by regarding the plurality of regions surrounded by the lines as corresponding plurality of nodes, and regarding a line that separates a first region included in the plurality of regions from a second region adjacent to the first region as an edge between a first node corresponding to the first region and a second node corresponding to the second region; a machining feature extraction unit that assigns a plurality of machining feature amounts to each of the plurality of nodes by setting a machining feature amount, which is a feature amount indicating a feature when machining the first region, as a feature amount of the first node based on the design data and the graph; a classification unit that inputs a graph including at least a part of the plurality of nodes to which the plurality of processing feature amounts are assigned as an input graph into a learning model, and classifies two or more nodes included in the input graph into one or more processing regions, with each region being a processing region that is processed in one process; and a learning unit that learns the learning model using the classification result and correct answer data that indicates the result of correctly classifying the plurality of nodes; A program characterized by.   Computer, a drawing unit that draws an object image showing an external shape of an object to be processed using lines based on design data showing design details of the object; a graph generation unit that generates a graph including the plurality of nodes and the plurality of edges from the target image by regarding the plurality of regions surrounded by the lines as corresponding plurality of nodes, and regarding a line that separates a first region included in the plurality of regions from a second region adjacent to the first region as an edge between a first node corresponding to the first region and a second node corresponding to the second region; a processing feature extraction unit that assigns a plurality of processing feature amounts to each of the plurality of nodes by setting a processing feature amount that indicates a feature when processing the first region as a feature amount of the first node based on the design data and the graph; and a graph including at least a part of the plurality of nodes to which the plurality of processing feature amounts are assigned is input as an input graph to a learning model, thereby causing the learning model to function as a classification unit that classifies two or more nodes included in the input graph into one or more processing regions, with each region being a processing region where processing is performed in one process; The learning model is a model trained using the result of inputting a learning graph including a plurality of learning nodes and a plurality of learning edges to which a plurality of processing feature quantities, which are a plurality of feature quantities in the processing of a learning object to be processed, are assigned, and correct answer data indicating the result of correctly classifying the plurality of learning nodes. A program characterized by.   Drawing an object image showing an external shape of the object using lines from design data showing the design content of the object to be processed; generating a graph including the plurality of nodes and the plurality of edges by treating the plurality of regions surrounded by the lines from the target image as a plurality of corresponding nodes, and treating a line separating a first region included in the plurality of regions from a second region adjacent to the first region as an edge between a first node corresponding to the first region and a second node corresponding to the second region; assigning a plurality of processing features to each of the plurality of nodes by setting a processing feature, which is a feature indicating a characteristic when processing the first region, as a feature of the first node based on the design data and the graph; a graph including at least a part of the plurality of nodes to which the plurality of processing feature amounts are assigned is input as an input graph to a learning model, and two or more nodes included in the input graph are classified into one or more processing regions, with one processing region being an region where processing is performed in one process; training the learning model using the classification results and correct answer data that indicates the results of correctly classifying the plurality of nodes; A learning method characterized by:   Drawing an object image showing an external shape of the object using lines from design data showing the design content of the object to be processed; generating a graph including the plurality of nodes and the plurality of edges by treating the plurality of regions surrounded by the lines from the target image as a plurality of corresponding nodes, and treating a line separating a first region included in the plurality of regions from a second region adjacent to the first region as an edge between a first node corresponding to the first region and a second node corresponding to the second region; assigning a plurality of processing features to each of the plurality of nodes by setting a processing feature, which is a feature indicating a characteristic when processing the first region, as a feature of the first node based on the design data and the graph; An inference method for classifying two or more nodes included in the input graph into one or more machining regions, with one region being a machining region where machining is performed in one process, by inputting a graph including at least a part of the plurality of nodes to which the plurality of machining feature amounts are assigned as an input graph into a learning model, The learning model is a model trained using the result of inputting a learning graph including a plurality of learning nodes and a plurality of learning edges to which a plurality of processing feature quantities, which are a plurality of feature quantities in the processing of a learning object to be processed, are assigned, and correct answer data indicating the result of correctly classifying the plurality of learning nodes. An inference method characterized by:

Citation Information

Patent Citations

  • Defective location output method and defective location output device

    WO2024034010A1

  • Design assistance device, design assistance program, and design assistance method

    WO2024095636A1