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

JPWO2026033874A1Active Publication Date: 2026-02-12MITSUBISHI ELECTRIC CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
MITSUBISHI ELECTRIC CORP
Filing Date
2024-11-13
Publication Date
2026-02-12

AI Technical Summary

Technical Problem

Conventional techniques for graphing CAD data require fine meshes to represent curved surfaces, limiting their ability to handle important information about curved surfaces necessary for classifying processing areas in NC machining.

Method used

A learning device and method that generates a graph from CAD data by treating areas surrounded by lines as nodes and lines between areas as edges, assigns processing features to each node, and uses a learning model to classify nodes into processing areas, reflecting processing characteristics without requiring fine meshes.

Benefits of technology

Enables accurate classification of graph nodes into multiple processing regions, reflecting processing characteristics, without the need for fine meshes, thereby improving the handling of curved surfaces in NC machining.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

The CAD model classification device (100) includes a CAD data drawing unit (102) that draws a target image showing the external shape of the target with lines, an image graph conversion unit (103) that generates a graph including a plurality of nodes and a plurality of edges from the target image, a processing feature extraction unit (104) that assigns a plurality of processing features that are characteristics when processing the target to each of a plurality of nodes, an inference unit (106) that inputs a graph including at least some of the plurality of nodes to which the plurality of 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 one processing area being an area where processing is performed in one process, and a learning unit (107) that uses the classification result and correct answer data to train the learning model.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

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

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

[0003] BACKGROUND ART Conventionally, there is known a technique for handling mesh or graph nodes having shape information using a boundary representation of the shape of a processing object that is drawn based on CAD data (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 processing area. [Prior art documents] [Non-patent literature]

[0004] [Non-Patent Document 1] Colligan, Andrew R., et al. “Hierarchical cadnet: Learning from b-reps for machining feature recognition” Computer-Aided Design 147 (2022): 103226. Summary of the Invention [Problem to be solved by the invention]

[0005] However, conventional techniques for graphing CAD data required the use of fine meshes to represent curved surfaces, which meant that they were unable to handle information about curved surfaces, which is important for classifying the processing 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. [Means for solving the problem]

[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 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 the plurality of edges by 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 based on the design data and the graph. a processing feature extraction unit that assigns a plurality of processing feature amounts to each of the plurality of nodes by setting processing feature amounts, which are feature amounts indicating characteristics when processing, as feature amounts of the first node; a classification unit that inputs a graph including at least some of the plurality of nodes to which the plurality of processing feature amounts are assigned, as an input graph to a learning model, and 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; and a learning unit that learns the learning model using a result of the classification and correct answer data that indicates a result of correctly classifying the plurality of nodes. 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. It is characterized by:

[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 machined using lines, based on design data showing design contents of the object; a graph generation unit that generates a graph including the plurality of nodes and a plurality of edges from the object image by treating a plurality of areas surrounded by the lines as 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; a processing feature extraction unit that assigns a plurality of processing features to each of the plurality of nodes based on the design data and the graph, by using a processing feature that is a feature indicating a characteristic when machining the first area as a feature of the first node; and a classification unit that inputs the graph including at least a portion of the plurality of nodes to which the plurality of processing features have been assigned as an input graph to 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 to be machined in one step. the processing feature extraction unit calculates the processing feature amount by convolving a processing feature image, which is an image that visualizes the processing feature; 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, are assigned, and correct answer data showing 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 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 the graph including the plurality of nodes and the plurality of edges based on the design data and the graph. The system functions as a processing feature extraction unit that assigns a plurality of processing feature amounts to each of the plurality of nodes by using processing feature amounts, which are feature amounts that indicate characteristics when processing an area, as feature amounts of the first node; a classification unit that inputs a graph including at least some of the plurality of nodes to which the plurality of processing feature amounts have been assigned, as an input graph to a learning model, and classifies two or more nodes included in the input graph into one or more processing areas, with one processing area being an area that is processed in one process; and a learning unit that learns the learning model using a result of the classification and correct answer data that indicates a result of correctly classifying the plurality of nodes. 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. It is characterized by:

[0010] A program according to a second aspect of the present disclosure causes a computer to function as: 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 contents 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 corresponding nodes, respectively, 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; a processing feature extraction unit that assigns a plurality of processing features to each of the plurality of nodes based on the design data and the graph, by using a processing feature that is a feature indicating a characteristic when machining the first area as a feature of the first node; and a classification unit that inputs a graph including at least a portion of the plurality of nodes to which the plurality of processing features have been assigned as an input graph to 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 to be machined in one step, the processing feature extraction unit calculates the processing feature amount by convolving a processing feature image, which is an image that visualizes the processing feature; 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, are assigned, and correct answer data showing 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 using lines from design data showing design contents of the object to be machined; defining a plurality of areas surrounded by the lines in the object image as a plurality of corresponding nodes; defining 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, thereby generating a graph including the plurality of nodes and a plurality of edges; defining a processing feature that indicates a characteristic when machining the first area as a feature of the first node based on the design data and the graph, thereby assigning a plurality of processing features to each of the plurality of nodes; inputting the graph including at least some of the plurality of nodes to which the plurality of processing features have been assigned as an input graph to a learning model; classifying two or more nodes included in the input graph into one or more machining areas, with each processing area being a region to be machined in one process; and using the classification result and correct answer data showing the result of correctly classifying the plurality of nodes to train the learning model. A learning method in which the processing feature amount is calculated by convolving a processing feature image that is an image that visualizes the features in the processing. It is characterized by:

[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 contents of the object to be processed; 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, thereby generating a graph including the plurality of nodes and a plurality of edges; setting, based on the design data and the graph, a processing feature that is a feature indicating a characteristic when processing the first area as a feature of the first node, thereby assigning a plurality of processing features to each of the plurality of nodes; and inputting, into a learning model as an input graph, a graph including at least some of the plurality of nodes to which the plurality of processing features have been assigned, the processing feature amount is calculated by convolving a processing feature image, which is an image that visualizes the processing feature, 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, are assigned, and correct answer data showing the result of correctly classifying the plurality of learning nodes. [Effects of the Invention]

[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. [Brief explanation of the drawings]

[0014] [Figure 1] 1 is a block diagram schematically illustrating a configuration of a CAD model classification device according to a first embodiment. [Figure 2] FIG. 1 is a schematic diagram illustrating an example of an object to be processed. [Figure 3] FIG. 10 is a schematic diagram illustrating an example of a graph. [Figure 4]FIG. 10 is a schematic diagram illustrating an example of an inference result of inference. [Figure 5] FIG. 1 is a block diagram illustrating a schematic configuration of a PC. [Figure 6] 4 is a flowchart showing an operation in a learning phase of the CAD model classification device according to the first embodiment. [Figure 7] 4 is a flowchart showing an operation in an inference phase of the CAD model classification device according to the first embodiment. [Figure 8] FIG. 10 is a schematic diagram for explaining an example of assigning feature amounts indicated in a feature map to nodes. [Figure 9] FIG. 10 is a block diagram schematically illustrating the configuration of a CAD model classification device according to a second embodiment. [Figure 10] 10 is a flowchart showing an operation in a learning phase of the CAD model classification device according to the second embodiment. [Figure 11] 10 is a flowchart showing an operation in an inference phase of the CAD model classification device according to the second embodiment. [Figure 12] FIG. 11 is a block diagram schematically illustrating the configuration of a CAD model classification device according to a third embodiment. [Figure 13] FIG. 10 is a schematic diagram for explaining the processing in the hub node removal unit. [Figure 14] 11 is a flowchart showing an operation in a learning phase of the CAD model classification device according to the third embodiment. [Figure 15] 11 is a flowchart showing an operation in an inference phase of the CAD model classification device according to the third embodiment. [Figure 16] FIG. 10 is a block diagram schematically illustrating the configuration of a CAD model classification device according to a fourth embodiment. [Figure 17] FIG. 10 is a schematic diagram for explaining processing in a hub node dividing unit. [Figure 18] 10 is a flowchart showing an operation in a learning phase of the CAD model classification device according to the fourth embodiment. [Figure 19] 10 is a flowchart showing an operation in an inference phase of the CAD model classification device according to the fourth embodiment. [Figure 20] FIG. 10 is a block diagram schematically illustrating the configuration of a CAD model classification device according to a fifth embodiment. [Figure 21] FIG. 1 is a schematic diagram illustrating a partitioned subgraph. [Figure 22] 13 is a flowchart showing an operation in a learning phase of the CAD model classification device according to the fifth embodiment. [Figure 23] 13 is a flowchart showing an operation in an inference phase of the CAD model classification device according to the fifth embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0015] Embodiment 1 FIG. 1 is a block diagram schematically illustrating a configuration of a CAD model classification device 100 according to the first embodiment. The CAD model classification device 100 includes a CAD data storage unit 101, a CAD data drawing 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 target that is a target for processing. The CAD data indicates, for example, the dimensions and shape of the processing target 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 processing target with lines. Here, the CAD data drawing unit 102 draws a line drawing of the external shape of the processing target when viewed from one direction as the target image. For example, the CAD data drawing unit 102 refers to the CAD data and uses a plurality of lines to draw the appearance of the object to be machined from the direction of machining by NC machining, thereby generating an object image which is a line drawing of the object to be machined. The object image generated in this way 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 processing object 120 is processed by cutting a predetermined first shape 122 and a predetermined second shape 123 from a base material 121. Therefore, the object 120 to be processed 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 Figure 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 areas as edges. For example, the image graph conversion unit 103 regards the multiple areas surrounded by the lines in the target image as multiple corresponding nodes, and regards the line separating a first area included in the multiple areas from a second area adjacent to the first area as an edge between the first node corresponding to the first area and the 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 an object image showing a processing object 120 as shown in FIG. Graph 130 has nodes N01 to N15 that correspond to regions R01 to R15 in Fig. 2. 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 processing object, 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 depth or R shape of a portion corresponding to each node divided by the image graph conversion unit 103 as a feature amount of each node.

[0023] Specifically, when a numerical value related to depth is assigned to a node, for example, the processing feature extraction unit 104 performs the following processing. The processing feature extraction unit 104 calculates depth information viewed from the penetration direction of the tool of the processing machine by referring to the CAD data, and acquires a depth map. Then, the processing feature extraction unit 104 divides the depth map into regions in the same way according to the regions 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 amount and provides it to the corresponding node.

[0024] Furthermore, when a numerical value relating to the R shape is given to a node, for example, the processing feature extraction unit 104 performs the following process. The machining feature extraction unit 104 refers to the CAD data to determine 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 a 360-degree direction, performs polynomial approximation for each cut out direction, calculates the curvature based on the formula for surface calculation in a two-dimensional function (e.g., curvature and radius of curvature), and assigns the smallest curvature among the above to the corresponding node.

[0026] The processing feature extraction unit 104 may also calculate the principal curvatures based on the three-dimensional mesh and the Hessian. For example, the processing feature extraction unit 104 first reads the STEP file. Specifically, the processing feature extraction unit 104 reads the STEP file using the PythonOCC library in the Python Open CASCADE technology.

[0027] Next, the processing feature extraction unit 104 generates a mesh. Specifically, the processing feature extraction unit 104 generates a mesh by referring to CAD data. The mesh approximates the surface of a three-dimensional object with a series of triangles. Here, the BRepMes_IncrementalMesh class of PythonOCC or the like 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 neighboring vertices of each vertex and calculate the curvature of the curved surface.

[0029] Furthermore, when a numerical value relating to a processing attribute is assigned to a node, the processing feature extraction unit 104 performs the following processing, for example. For example, in mold machining, the part that will become the product is provided in advance as design data in CAD data for machining. Therefore, the machining feature extraction unit 104 finds the PL part, which is the part that forms the mating surface between the cavity and core, or the relief part, which is the part that does 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 provided 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 ​​a region corresponding to the node in the target image, and assigns the area to the node.

[0031] Also, when assigning a numerical value related to position 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 directions, to the corresponding node. Furthermore, the processing feature extraction unit 104 may divide the perimeter coordinates of the hidden line portion included in the region corresponding to the node in the target image into N parts (N is a positive integer), and assign each of the coordinates as the feature amount of the corresponding node.

[0032] Furthermore, when a numerical value relating to thickness is given 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 region adjacent in the outward direction, which is the opposite direction to the region that is cut toward the bottom, as the outer thickness. For each coordinate included in the outer periphery, the processing feature extraction unit 104 also calculates the distance to the opposing part 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 features 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 amount for processing the part to be processed. For example, it is assumed that a tensor of a predetermined dimension can be assigned to the node, and a feature amount is predetermined for each dimension. Then, the processing feature extraction unit 104 stores the calculated feature amount in the corresponding dimension. The graph to which the feature quantities have been added 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 inputs a graph containing at least some of multiple nodes to which multiple processing features have been assigned as an input graph into the learning model, and classifies two or more nodes contained in the input graph into one or more processing areas, with one processing area being an area where processing is performed in one process. In the first embodiment, the input graph is a graph given by the image graph conversion unit 103, and includes all 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 exchanging features 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 results of the inference performed by the inference unit 106 based on the graph 130 shown in FIG. In the inference result 140 shown in FIG. 4, the node N01, the nodes N02 to N10, and the 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 the learning model using the classification results from the inference unit 106 and correct answer data that indicates the results of correctly classifying a plurality of nodes. For example, the learning unit 107 acquires in advance correct answer data that indicates the result of correctly classifying the nodes of the graph converted from the target image, 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 becomes small. The target during learning is also called a learning target, the target image during learning is also called a learning target image, and the processed feature during learning is also called a learned processed feature. The graph during learning is also called a learning graph, and the nodes and edges included in the learning graph are also called learning nodes and learning edges, respectively.

[0039] The CAD model classification device 100 described above can be realized by a computer such as the PC 10 shown in FIG. The PC 10 includes storage 11 such as an HDD (Hard Disk Drive) and an SSD (Solid State Drive), memory 12, a processor 13 such as a CPU (Central Processing Unit), a communication I / F (Interface) 14 such as a NIC (Network Interface Card), an input I / F 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 executed by the processor 13. In other words, the program may be provided by a computer program product such as a recording medium.

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

[0043] Next, the image graph conversion unit 103 refers to 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 feature as the feature 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 processed 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 indicating 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). Then, the learning unit 107 determines whether the difference in step S15 is less than a predetermined threshold value, thereby determining whether the learning of the learning model has converged (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, 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 this case, if convergence is determined, the process ends, and if convergence is not determined, the process returns to step S14.

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

[0050] Next, the image graph conversion unit 103 refers to 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 feature amount as the feature amount 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 processed 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 above-described embodiment 1, 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, but embodiment 1 is not limited to this form. For example, the processing feature extraction unit 104 may generate a processing feature image showing the processing features of the processing object from CAD data, and then 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 it, and assign a feature amount to each node from the feature map.

[0055] For example, the processing feature extraction unit 104 may generate, as the processing feature image, a depth map, which is a depth image indicating the depth at the time of processing, from the shape of the processing object indicated by 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 is visualized in a predetermined color, for example, red, which becomes darker as the R of the curved surface becomes smaller than a predetermined level, and in a different predetermined color, for example, blue, which becomes darker as the R of the curved surface becomes larger than a predetermined level.

[0057] Furthermore, the processing feature extraction unit 104 may generate, as the processing feature image, a boundary image that visualizes the boundaries of the areas that constitute 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 area image as a processing feature image by visualizing the area that constitutes the processing object in the CAD data and the area other than the processing object by coloring them in different colors.

[0059] Furthermore, the processing feature extraction unit 104 may generate, as the processing feature image, a surface image visualized by coloring the uneven surface and flat surface of the region constituting the processing 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 a region constituting 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 show 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 relationship between the feature map extracted by CNN or the like 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, 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 value of the feature map convolved from the section (7,1) is F 7.1 , the pixel value of the feature map convolved from the section (7,2) is F 7.2 , the pixel value of the feature map convolved from the partition (8,1) is F 8.1 and the pixel values ​​of the feature map convolved from the partition (8,2) are F 8.2 Let's say. In 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 equation (1), including the positional relationship of node N02. F N02 =0.1×F 7.1 +0.08×F 7.2 +0.15×F 8.1 +0.05×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] Note that, for node N01 corresponding to region R01 shown in Figure 2, since it is a plane that is not processed, no feature value is assigned as a processing feature. To address this, features convolved with CNN may be assigned only to nodes that are processed.

[0068] Embodiment 2 FIG. 9 is a block diagram schematically showing the configuration of a CAD model classification device 200 according to the second embodiment. The CAD model classification device 200 includes a CAD data storage unit 101, a CAD data drawing 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 of embodiment 2 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 of embodiment 1. However, the image graph conversion unit 103 in the second embodiment provides the generated graph to the graph node simplifying 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 feature extracted here may be the same as 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 simplification unit 208 simplifies the graph by merging multiple nodes included in the graph. Here, the graph node simplification unit 208 merges two adjacent nodes. Furthermore, the graph node simplifying unit 208 may merge the nodes to which the processing feature amount has been added by the processing feature extracting unit 204 . For example, if there is a node for which at least one of the attributes of area, width, and height assigned to the node, extracted as a processing feature by the processing feature extraction unit 204, is below a predetermined threshold, the graph node simplification 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 areas where the difference in R (radius) of the surface is greater than a predetermined threshold, or nodes corresponding to areas where the cosine similarity is less than a predetermined threshold. For example, the graph node simplification unit 208 may select, from among the nodes adjacent to a node (hereinafter referred to as a node to be merged) whose attribute is equal to or less than a predetermined threshold, a node whose cosine similarity with the node to be merged is equal to or greater than a predetermined threshold as a candidate node to be merged (hereinafter referred to as a candidate node to be merged). In addition, the graph node simplification unit 208 may select, from the nodes adjacent to the node to be merged, a node corresponding to an area where the difference between the R of the surface of the area corresponding to the node to be merged and the R is less than or equal to a predetermined threshold, as a merge candidate node. When there are multiple merge candidate nodes selected in this manner, one node may be selected based on a predetermined rule such as the one with the largest area or randomly.

[0074] The graph simplified by merging the nodes in this manner is given 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. For example, the graph node simplifying unit 208 can also be realized by the processor 13 executing a program.

[0076] FIG. 10 is a flowchart showing the operation of the CAD model classification device 200 according to the second embodiment in the learning phase. In addition, among the processes included in the flowchart shown in Figure 10, steps that perform processes similar to the processes included in the flowchart shown in Figure 6 are assigned the same symbols as the step symbols in the flowchart shown in Figure 6.

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

[0078] In step S30, the graph node simplification 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; if there is not such a node (No in S30), the process proceeds to step S14.

[0079] In step S31, the graph node simplification 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 way 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. However, in step S14 of FIG. 10, the inference unit 106 may perform inference using the graph provided by the graph node simplifying unit 208.

[0081] FIG. 11 is a flowchart showing the operation of the CAD model classification device 200 according to the second embodiment in the inference phase. In addition, among the processes included in the flowchart shown in Figure 11, steps that perform processes similar to the processes included in the flowchart shown in Figure 7 are assigned the same symbols as the step symbols in the flowchart shown in Figure 7.

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

[0083] In step S40, the graph node simplification 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; if there is not such a node (No in S40), the process proceeds to step S24.

[0084] In step S41, the graph node simplification 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 way 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. However, in step S24 of FIG. 11, the inference unit 106 may perform inference using the 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] Embodiment 3 FIG. 12 is a block diagram schematically showing the configuration of a CAD model classification device 300 according to the third embodiment. The CAD model classification device 300 includes a CAD data storage unit 101, a CAD data drawing unit 102, an image 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 of 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 of embodiment 1. However, the image graph conversion unit 103 in the third embodiment provides the generated graph to the hub node removal unit 309 .

[0089] The hub node removal unit 309 obtains the degree, which is the number of adjacent nodes, for every node 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, hub node removal unit 309 determines that node to be a hub node and removes that hub node from the graph.

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

[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 exchanging features 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, when 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 more graphs after hub nodes have been removed.

[0092] The above-described CAD model classification device 300 can also be realized by a computer such as the PC 10 shown in FIG. 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 of the CAD model classification device 300 according to the third embodiment in the learning phase. In addition, among the processes included in the flowchart shown in Figure 14, steps that perform processes similar to the processes included in the flowchart shown in Figure 6 are assigned the same symbols as the step symbols in the flowchart shown in Figure 6.

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

[0095] In step S50, hub node removal unit 309 determines whether or not there is a hub node, which is a node with an order 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 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). Then, the learning unit 107 determines whether the difference in step S15 is less than a predetermined threshold value, thereby determining whether the learning of the learning model has converged (S54). If the learning of the learning model has converged (Yes in S54), the process ends, and 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, learning unit 107 may proceed to step S55 after the process of step S53, and determine convergence based on whether the number of times learning in step S55 has been performed exceeds a predetermined number of times after the process of step S55. 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 of the CAD model classification device 300 according to the third embodiment in the inference phase. In addition, among the processes included in the flowchart shown in Figure 15, steps that perform processes similar to the processes included in the flowchart shown in Figure 7 are assigned the same symbols as the step symbols in the flowchart shown in Figure 7.

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

[0103] In step S60, hub node removal unit 309 determines whether or not there is a hub node, which is a node with an order 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 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 one node at a time in order from the node with the highest degree, and search for a node to remove so that the inference unit 306 achieves the highest inference accuracy.

[0108] Embodiment 4 FIG. 16 is a block diagram schematically showing the configuration of a CAD model classification device 400 according to the fourth embodiment. The CAD model classification device 400 includes a CAD data storage unit 101, a CAD data drawing unit 102, an image 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 of 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 of embodiment 1. However, the image graph conversion unit 103 in the fourth embodiment provides the generated graph to the hub node division unit 410 .

[0110] Hub node division unit 410 divides a hub node, which is a node whose degree is equal to or greater than a predetermined threshold, into a plurality of nodes so that the degrees of the hub node become smaller. For example, the hub node division unit 410 obtains the degree, which is the number of adjacent nodes, for every node 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, hub node dividing unit 410 determines that node to be a hub node and divides the hub node in the graph.

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

[0112] Hub node division unit 410 then divides node N01 into nodes N01A, N01B, and N01C. Hub node division unit 410 then connects node N01A to first graph 330A shown in Fig. 13 in the same way as node N01, and connects node N01B to second graph 330B shown in Fig. 13 in the same way as node N01. Furthermore, hub node division unit 410 generates a new graph 430 by connecting node N01C to both node N01A and node N01B.

[0113] As described above, the hub node division unit 410 removes nodes determined to be hub nodes, thereby identifying multiple independent graphs that are not connected to each other, connecting new nodes similar to the hub nodes to each of the identified multiple graphs, and further connecting new nodes similar to the hub nodes to each of the new nodes, thereby generating a new graph. Then, the hub node splitting unit 410 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 above-described CAD model classification device 400 can also be realized by a computer such as the PC 10 shown in FIG. 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 of the CAD model classification device 400 according to the fourth embodiment in the learning phase. In addition, among the processes included in the flowchart shown in Figure 18, steps that perform processes similar to the processes included in the flowchart shown in Figure 6 are assigned the same symbols as the steps in the flowchart shown in Figure 6.

[0116] The processing of steps S10 to S13 in Fig. 18 is the same as the processing of steps S10 to S13 in Fig. 6. However, in Fig. 18, after the processing of 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 an order 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 multiple 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 of the CAD model classification device 400 according to the fourth embodiment in the inference phase. In addition, among the processes included in the flowchart shown in Figure 19, steps that perform processes similar to the processes included in the flowchart shown in Figure 7 are assigned the same symbols as the step symbols in the flowchart shown in Figure 7.

[0121] The processing of steps S20 to S23 in Fig. 19 is the same as the processing of steps S20 to S23 in Fig. 7. However, in Fig. 19, after the processing of 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 an order 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, the fourth embodiment can also 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] Embodiment 5 FIG. 20 is a block diagram schematically illustrating a configuration of a CAD model classification device 500 according to the fifth embodiment. The CAD model classification device 500 includes a CAD data storage unit 101, a CAD data drawing unit 102, an image 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 of 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 of embodiment 1. However, the image graph conversion unit 103 in the third embodiment provides the generated graph to the 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. The graph may be divided using a known method such as the method using METIS described in the following document 1, the division method based on the modularity described in the following document 2, or the method using MCL described in the following document 3. Reference 1: Zardosht 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 illustrating a partitioned subgraph. For example, if the graph converted by the image graph conversion unit 103 is graph 130 as shown in FIG. 3, the subgraph division unit 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, performs feature exchange with adjacent nodes, and infers the classification of each node as a class. Classification by GCN is a well-known technique, so a detailed description will be omitted. In other words, in the fifth embodiment, the input model input to the learning model is a plurality of subgraphs.

[0133] The above-described CAD model classification device 500 can also be realized by a computer such as the PC 10 shown in FIG. 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 of the CAD model classification device 500 according to the fifth embodiment in the learning phase. In addition, among the processes included in the flowchart shown in Figure 22, steps that perform processes similar to the processes included in the flowchart shown in Figure 6 are assigned the same symbols as the step symbols in the flowchart shown in Figure 6.

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

[0136] In step S90, the subgraph dividing unit 511 divides the graph from the image graph converting 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 indicating 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). Then, the learning unit 107 determines whether the difference in step S92 is less than a predetermined threshold value, thereby determining whether the learning of the learning model has converged (S93). If the learning of the learning model has converged (Yes in S93), the process ends, and 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, learning unit 107 may proceed to step S94 after the process of step S92, and determine convergence based on whether the number of times learning in step S94 has been performed exceeds a predetermined number of times after the process of step S94. 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 of the CAD model classification device 500 according to the fifth embodiment in the inference phase. In addition, among the processes included in the flowchart shown in Figure 23, steps that perform processes similar to the processes included in the flowchart shown in Figure 7 are assigned the same symbols as the step symbols in the flowchart shown in Figure 7.

[0142] The processing of steps S20 to S23 in Fig. 23 is the same as the processing of steps S20 to S23 in Fig. 7. However, in Fig. 23, after the processing of 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, the fifth embodiment can also prevent a decrease in classification accuracy due to the complexity of the graph. [Explanation of symbols]

[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

1. 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 a result of correctly classifying the plurality of nodes, 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. A learning device characterized by:

2. 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:

3. 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:

4. 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:

5. 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:

6. 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:

7. 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:

8. 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. The learning device according to any one of claims 1 to 7, characterized in that

9. 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 processing feature extraction unit calculates the processing feature amount by convolving a processing feature image, which is an image that visualizes the processing feature; 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 features, which are a plurality of features in 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:

10. The input graph includes all of the plurality of nodes to which the plurality of processing features are assigned.

10. The inference device according to claim 9,

11. 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.

10. The inference device according to claim 9,

12. 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.

12. The inference device according to claim 11,

13. 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.

10. The inference device according to claim 9,

14. 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.

10. The inference device according to claim 9,

15. 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.

10. The inference device according to claim 9,

16. 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.

16. The inference device according to claim 9, wherein:

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; 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. A program characterized by.

18. 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 processing feature extraction unit calculates the processing feature amount by convolving a processing feature image, which is an image that visualizes the processing feature; 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 features, which are a plurality of features in 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.

19. 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; a learning method for learning the learning model using the classification result and correct answer data indicating a result of correctly classifying the plurality of nodes, the method comprising: The processing feature amount is calculated by convolving a processing feature image, which is an image that visualizes the processing feature. A learning method characterized by:

20. 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 processing feature amount is calculated by convolving a processing feature image, which is an image that visualizes the processing feature, 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 features, which are a plurality of features in 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: