Shape data processing device, shape data processing method, and shape data processing program
Patent Information
- Application Number
- JP2025565756
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Filing Date
- 2023-12-25
- Publication Date
- 2025-07-03
AI Technical Summary
Existing CAD systems lack an efficient method for easily searching for three-dimensional shape models similar to a given model.
A shape data processing apparatus and method that groups three-dimensional shape models based on surface features, using machine learning techniques like clustering and random forest to calculate similarities between models, allowing easy identification of similar models.
Enables efficient and accurate searching for similar three-dimensional shape models, simplifying database structure and improving search operations.
Abstract
Description
Shape data processing device, shape data processing method, and shape data processing program
[0001] The present invention relates to a shape data processing device, a shape data processing method, and a shape data processing program.
[0002] Patent Documents 1 to 3 disclose a shape data processing device equipped with a database in which a plurality of shape data (one-dimensional data) for each surface of a plurality of types of three-dimensional shape models is registered.
[0003] Such conventional shape data processing devices can identify the section and shape of the surface shape of a segmented object, and can therefore be effectively used in the technical field of CAD (Computer-Aided Design).
[0004] Patent No. 6605712 Patent No. 6806321 Patent No. 7189584
[0005] In the technical field of CAD, it is desirable to easily search for other three-dimensional shape models that are similar to one of a plurality of types of three-dimensional shape models.
[0006] Therefore, an object of the present invention is to provide a shape data processing device, a shape data processing method, and a shape data processing program that can easily search for other three-dimensional shape models that are similar to one three-dimensional shape model among multiple types of three-dimensional shape models.
[0007] In order to solve the above problems, the present invention provides the following shape data processing device, shape data processing method, and shape data processing program.
[0008] (1) Shape Data Processing Device The shape data processing device of the present invention is a shape data processing device having a database in which a plurality of shape data for each of a plurality of faces of a plurality of types of three-dimensional shape models is registered, and is characterized by comprising: a classification control means that classifies the plurality of faces of the plurality of types of three-dimensional shape models into a plurality of groups that are grouped according to the characteristic degrees of the plurality of faces of the plurality of types of three-dimensional shape models, based on at least two of the plurality of shape data for the plurality of faces of the plurality of types of three-dimensional shape models registered in the database, and the characteristic degrees are used as characteristic values that indicate the characteristics of the faces; and a similarity calculation control means that calculates a similarity of one of the plurality of types of three-dimensional shape models to one or more other three-dimensional shape models based on the characteristic values of each of the faces classified by the classification control means.
[0009] (2) Shape Data Processing Method The shape data processing method of the present invention is a shape data processing method performed by a shape data processing device having a database in which a plurality of shape data for each face of a plurality of types of three-dimensional shape models is registered, and is characterized in that it includes: a classification control step in which a classification control means classifies the plurality of faces of the plurality of types of three-dimensional shape models into a plurality of groups that are grouped according to the characteristic degrees of the plurality of faces of the plurality of types of three-dimensional shape models, based on at least two of the plurality of shape data for the plurality of faces of the plurality of types of three-dimensional shape models registered in the database, and the characteristic degrees are used as characteristic values that indicate the characteristics of the faces; and a similarity calculation control step in which a similarity calculation control means calculates a similarity of one of the plurality of types of three-dimensional shape models to another one or more other three-dimensional shape models based on the characteristic values of the faces classified in the classification control step.
[0010] (3) Shape Data Processing Program The shape data processing program according to the present invention causes a computer to execute each step of the shape data processing method according to the present invention.
[0011] According to the present invention, it is possible to easily search for other three-dimensional shape models that are similar to one three-dimensional shape model among a plurality of types of three-dimensional shape models.
[0012] 1 is a block diagram showing an example of the hardware configuration of a shape data processing device. FIG. 2 is a model diagram showing an example of one of the three-dimensional shape models. FIG. 3 is a schematic diagram showing the data structures of multiple shape data for multiple faces of multiple types of three-dimensional shape models registered in a database, together with their respective feature values. FIG. 4 is a diagram for explaining calculation of the similarity of one other one or multiple three-dimensional shape models to one three-dimensional shape model. FIG. 5 is an image diagram for explaining grouping when two feature amounts are used: surf value and area. FIG. 6 is a flowchart showing the first half of an example of the processing procedure of the shape data processing device. FIG. 7 is a flowchart showing the second half of an example of the processing procedure of the shape data processing device.
[0013] Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the following description, the same components are denoted by the same reference numerals. The names and functions of these components are also the same. Therefore, detailed descriptions thereof will not be repeated.
[0014] First Embodiment [Hardware Configuration of Shape Data Processing Apparatus According to First Embodiment] First, the hardware configuration of a shape data processing apparatus 100 according to the first embodiment will be described below with reference to FIG.
[0015] FIG. 1 is a block diagram showing an example of the hardware configuration of a shape data processing device 100. As shown in FIG.
[0016] 1, the shape data processing device 100 includes a control unit 110 (computer), a storage unit 120, a reading unit 130, and an output unit 140, and is connected to a database DB. The shape data processing device 100 may also include the database DB.
[0017] The control unit 110 is configured to realize various functions required by the control unit 110 by executing a shape data processing program P pre-stored (installed) in the recording device 121 of the storage unit 120. Specifically, the control unit 110 is configured with a processor such as a CPU. The control unit 110 performs various processes by loading software programs, such as the shape data processing program P, pre-stored in the recording device 121 onto the RAM 122b of the memory device 122 and executing the programs. The storage unit 120 includes a memory device 122, such as a ROM 122a and a RAM 122b, and a recording device 121, such as a flash memory or a hard disk drive. The recording device 121 pre-stores the shape data processing program P acquired from the reading unit 130. The output unit 140 includes a display device 141, such as a liquid crystal display panel, and a printing device 142, such as a laser printer. The display device 141 displays output display information from the control unit 110 on a display screen. The printing device 142 prints the output display information from the control unit 110. The reading unit 130 includes a reading device 131 that reads a recording medium M such as a CD-ROM. A shape data processing program P is pre-recorded on the recording medium M. The recording medium M may be a recording disk such as a CD-ROM, or may be any other type of recording medium. The shape data processing program P is not limited to being obtained via a recording medium such as a CD-ROM, but may also be downloaded via a communication means such as the Internet.
[0018] The database DB has three-dimensional CAD data (three-dimensional CAD model) which is shape data of an object (product) created by three-dimensional CAD.
[0019] Here, the information pre-registered in the database DB is obtained in this example by the technology described in Patent Document 3, which is described in detail in Patent Document 3, but will be briefly explained below.
[0020] (Shape Recognition Processing) In the shape recognition processing, the shape is recognized based on 3D CAD data (3D CAD model), which is shape data of the target object (product) created by 3D CAD. More specifically, the shape recognition processing can be divided into three main steps.
[0021] The first step is to obtain information about each surface of the 3D CAD data. A free mesh is created for each surface of the input 3D CAD data, and a database (a database in this example) for feature calculation is constructed. These features include, for example, surface curvature, perimeter curvature, perimeter length, fixed points on the perimeter, length ratio of a pair of perimeters, circularity, cylindrical shape, sphericality of the perimeter, interior angle of the fixed points, area, normal direction angle difference within the surface, surface continuity, perimeter contact angle, and cross-sectional shape. To calculate these features, mesh data is primarily referenced along with the obtained geometric shape information.
[0022] In this specification, "features" refer to "shapes" (or words that indicate them), such as, for example: (1) "overall shape": a twisted, uneven plate with holes; (2) "draw bead": a band-like uneven portion created on a flat surface; and (3) "fillet": a portion where sharp corners have been rounded.
[0023] In addition, the "starting point (including vertices and ends)" and "switching" parts of a "characteristic = shape" (however, not all "lines" expressed in 3D CAD data correspond to this) are called "features."
[0024] The second step is to classify each surface based on the acquired information and characteristics. After acquiring the data and calculating the characteristics of each surface, each surface is classified into five different types (plane, fillet, cylinder, sphere, and curved surface). To classify each surface, we check whether it has certain characteristics that correspond to the surface type. For example, to determine whether a surface is a fillet, we examine the surface curvature, perimeter curvature, perimeter length, face width, fixed points on the perimeter, the length ratio of the pair of perimeters, the circularity of the perimeter, the interior angle of the fixed points, area, surface continuity, perimeter contact angle, and cross-sectional shape. Fillets, cylinders, spheres, and curved surfaces are all initially considered curved surfaces. We then distinguish them based on different characteristics. Cylinders and spheres can also be fillets. They are considered fillets if they have specific continuity with adjacent surfaces.
[0025] The third step involves recognizing complex parts consisting of multiple surfaces. The surface types classified in the second step and other information are used to recognize parts such as 2D holes in plate geometry models, 3D holes in solid models, stepped holes including counterbores, steps, embossments, flanges, fillet flows, chamfers, corner fillets, thin faces between fillets, ribs, grooves, gear teeth, and screws. Other information used to recognize parts includes the combination of face types, the positional relationship between faces, the size of the part, and the cross-sectional shape when a compound shape is formed by multiple faces.
[0026] The specific parts recognized through these three steps are stored together within the system along with the CAD information, mesh area information, and shape data at the time of recognition, and are used when creating meshes according to the rules.
[0027] Then, in the database DB, shape data such as characteristic information is associated with each classification information corresponding to a classification of the object. In this example, the classification information is a surface symbol and / or number corresponding to a surface (hereinafter also referred to as a face). Here, a surface means a unit that constitutes an object in 3D CAD data. In other words, a surface is a surface that is divided into multiple surfaces for convenience in order to grasp the position of each shape on the object, and each of the multiple surfaces is assigned a symbol and / or number. Note that shape data such as characteristic information associated with each classification information may be pre-registered in the database DB. In this case, the shape recognition process can be omitted.
[0028] (Shape Identification Information Determination Process) In the shape identification information determination process, a plurality of shape identification information (+1, -1, 0) corresponding to each of the shapes of a plurality of faces of an object whose surface is divided into a plurality of faces (surfaces) is determined.
[0029] Here, if one surface registered in the database DB is the first surface (reference surface) of the first division information, and the other surface adjacent to it is the second surface of the second division information, in the shape identification information determination, a cross product vector is calculated using the normal vector (out-of-plane vector) of the surface (reference surface) of the first division information and the tangential vector where the surface of the first division information and the surface of the second division information meet, and the dot product of the calculated cross product vector and the normal vector (out-of-plane vector) of the surface of the second division information is calculated, and the surface shape of the surface of the second division information relative to the surface of the first division information is determined based on the result of this calculation.
[0030] (Characteristic Information Acquisition Process) In the characteristic information acquisition process, multiple pieces of characteristic information related to the shapes of multiple surfaces are acquired. Here, the characteristic information is characteristic information recognized in the shape recognition process or characteristic information registered in advance. Examples of characteristic information include the width, length, and curvature of a surface, and the coordinates of inflection points where the shape changes within the surface.
[0031] (Database registration process) In the database registration process, the shape identification information (+1, -1, 0) determined in the shape identification information determination process and the characteristic information acquired in the characteristic information acquisition process are associated with adjacent partition information corresponding to the adjacent partition adjacent to the partition for each partition information corresponding to the partition, and registered in the database DB.
[0032] In detail, the database registration process classifies the shape identification information of faces when the calculation result indicates a positive value as (+1), the shape identification information of faces when the calculation result indicates a negative value as (-1), and the shape identification information of faces when the calculation result indicates a zero value as (0), and these shape identification information and the corresponding characteristic information are associated with adjacent division information for each division information and registered in the database DB.
[0033] [Software Configuration of Shape Data Processing Apparatus According to the Present Embodiment] Figure 2 is a model diagram showing an example of one model MD(1) among three-dimensional shape models (hereinafter simply referred to as models) MD(1) to MD(m) (m is an integer equal to or greater than 2). Figure 3 is a schematic diagram showing the data structures of multiple shape data SD(1) to SD(n) (n is an integer equal to or greater than 2) for multiple faces SF(1,1) to SF[m,k(m)] of multiple types of models MD(1) to MD(m) registered in a database DB, along with their respective feature values F(1,1) to F[m,k(m)]. Figure 4 is a diagram for explaining the calculation of the similarity S(h) between one model MD(g) (g is any integer from 1 to m) and one or more other models MD(h) (h is one or more integers from 1 to m other than g). 5 is an image diagram for explaining grouping when the feature quantities are two, the surf value [SD(1)] and the area [SD(2)]. In FIGS. 3 and 4, one model is designated as model MD(1). In FIG. 4, the similarities S(1) to S(m) are the similarities to one model MD(1), and in the case of one model MD(1), the similarity S(1) is 100%.
[0034] The software configuration of the shape data processing device 100 according to this embodiment will be described below with reference to FIGS.
[0035] The control unit 110 functions as a means including a classification control means P1 and a similarity calculation control means P2. That is, the shape data processing program P causes the control unit 110 to execute steps including a classification control step corresponding to the classification control means P1 and a similarity calculation control step corresponding to the similarity calculation control means P2.
[0036] The classification control means P1 classifies the plurality of surfaces SF(1,1) to SF[m,k(m)] of the plurality of types of models MD(1) to MD(m) based on at least two shape data SD(j) (j is at least two integers from 1 to n) out of the plurality of shape data SD(1) to SD(n) of the plurality of surfaces {SF(1,1) to SF[m,k(m)], ..., SF[m,k(m)] to SF[m,k(m)]} of the plurality of types of models MD(1) to MD(m) registered in the database DB. ))] are grouped into a plurality of groups G(1) to G(r) (see FIG. 5 ) according to the feature degrees C(1) to C(r) (r is an integer of 2 or more) (feature tendencies) of a plurality of faces SF(1,1) to SF[m,k(m)] of a plurality of types of models MD(1) to MD(m), and the feature degrees C(1) to C(r) are classified as feature values {F(1,1) to F[1,k(1)], ..., F[m,k(m)] to F[m,k(m)]} indicating the features of the faces SF(1,1) to SF[m,k(m)].
[0037] Here, examples of the multiple shape data SD(1) to SD(n) include the surf value [SD(1)], area [SD(2)], curvature [SD(n)], etc., and other examples include plate thickness, etc. The surf value is a shape identification element that corresponds to the results of the dot product calculations "+", "-", and "0" described in Patent Documents 1 and 2, and the shape identification information "+1", "-1", and "0" described in Patent Document 3, and is expressed as a numerical value between 0 and 1 in this example.
[0038] The similarity calculation control means P2 calculates the similarity S(h) (see FIG. 4) between one model MD(g) (MD(1) in this example) among the multiple types of models MD(1) to MD(m) and one or more other models MD(h) (MD(2) to MD(m) in this example) based on the feature values F(1,1) to F[m,k(m)] of each face classified by the classification control means P1. In this example, the similarity S(2) is 94%, ..., and the similarity S(m) is 34%.
[0039] Here, if the surfaces of multiple types of models MD(1) to MD(m) are referred to as surfaces SF(α, β), the first subscript α represents the serial number of the model, and the second subscript β represents the serial number of the surface. As shown in the first comparison result of FIG. 4, the similarity calculation control means P2 compares the feature values F(h, β) and F(h, β) between the correct data of another model MD(h) and the first guess correct data of the other model MD(h). Also, as shown in the second comparison result of FIG. 4, the similarity calculation control means P2 compares the feature values F(g, β) and F(g, β) between the correct data of one model MD(g) and the second guess correct data of the one model MD(g). For example, as shown in the first comparison result in FIG. 4, the similarity calculation control means P2 sequentially checks whether the feature value F(2,1) “3” (correct data) matches the feature value F(2,1) “4” (first guess correct data), or whether the feature value F(2,2) “1” (correct data) matches the feature value F(2,2) “1” (first guess correct data) up to the feature value F[2,k(2)], and calculates the ratio of the total number of matches to the total number k(2) of faces SF(2,1) to SF[2,k(2)] of the model MD(2) as the first similarity Sa(2), and sequentially performs this calculation for the feature values {F(3,1) to F[3,k(3)]} to {F(m,1) to F[m,k(m)]} to obtain the first similarities Sa(2) to Sa(m). 4 can be calculated in the same manner as the first similarities Sa(2) to Sa(m). Similarity S(h) is calculated based on the first similarity Sa(h) and the second similarity Sb(h), as will be described later. Note that the correct answer data and first guessed correct answer data for the first similarity Sa(h), and the correct answer data and second guessed correct answer data for the second similarity Sb(h) will be described in detail later.
[0040] According to this embodiment, the surfaces SF(1,1) to SF[m,k(m)] of the multiple types of models MD(1) to MD(m) are classified into multiple groups G(1) to G(r) based on at least two of the shape data SD(j) among the multiple shape data SD(1) to SD(n) of the multiple surfaces SF(1,1) to SF[m,k(m)] of the multiple types of models MD(1) to MD(m). At this time, the characteristic degrees C(1) to C(r) are set as characteristic values {F(1,1) to F[1,k(1)], ..., F[1,k(m)] to F[m,k(m)]}. Then, the similarity S(h) of one model MD(g) among the multiple types of models MD(1) to MD(m) to one or more other models MD(h) is calculated based on the classified characteristic values F(1,1) to F[m,k(m)]. In this example, one model MD(g) is MD(1), and one or more other models MD(h) are MD(2) to MD(m).
[0041] Therefore, by using the calculated similarity S(h) of one or more other models MD(h) to one model MD(g), it is possible to easily search for other models MD(h) that are similar to one model MD(g) from among the multiple types of models MD(1) to MD(m).
[0042] In this example, one model is model MD(1), and other models MD(2) to MD(m) are calculated for model MD(1). However, the user can change the target of one model to another model they wish to search for.
[0043] In this case, the control unit 110 functions as a unit further including a display control unit P3 and an acceptance control unit P4. That is, the shape data processing program P causes the control unit 110 to execute steps further including a display control step corresponding to the display control unit P3 and an acceptance control step corresponding to the acceptance control unit P4.
[0044] The display control means P3 displays images of the multiple types of models MD(1) to MD(m) and the identification information (numbers 1 to m) of the models MD(1) to MD(m) on the display device 141. The reception control means P4 receives an operation to select one model from the images of the multiple types of models MD(1) to MD(m) displayed on the display device 141 by the display control means P3.
[0045] This allows the user to easily change the model to one they wish to search for.
[0046] In this embodiment, the control unit 110 functions as a unit further including a registration control unit P5. That is, the shape data processing program P causes the control unit 110 to execute steps further including a registration control step corresponding to the registration control unit P5.
[0047] The registration control means P5 registers the multiple feature values F(1,1) to F[m,k(m)] classified by the classification control means P1 in the database DB in units of multiple types of models MD(1) to MD(m) for each of multiple faces SF(1,1) to SF[m,k(m)] (classification information).
[0048] The similarity calculation control means P2 calculates the similarity S(h) of one model MD(g) to one or more other models MD(h) based on the multiple feature values F(1,1) to F[m,k(m)] classified by the classification control means P1 (or registered by the registration control means P5).
[0049] In this way, multiple feature values F(1,1) to F[m,k(m)] classified by the classification control means P1 can be registered in the database DB without setting up a separate database, thereby simplifying the database structure.
[0050] In this embodiment, the registration control means P5 registers the similarity S(h) calculated by the similarity calculation control means P2 in the database DB for each model MD(h).
[0051] In this embodiment, the control unit 110 functions as a means further including a judgment control means P6. That is, the shape data processing program P causes the control unit 110 to execute steps further including a judgment control step corresponding to the judgment control means P6.
[0052] The judgment control means P6 judges a model [e.g., MD(2)] among multiple types of models MD(h) whose similarity S(h) is equal to or greater than a predetermined standard similarity (e.g., 90%) based on the similarity S(h) calculated by the similarity calculation control means P2 (or registered by the registration control means P5).
[0053] By doing so, it is possible to realize an efficient search for the similarity of other models that are similar to one model MD(g) among the multiple types of models MD(1) to MD(m).
[0054] The display control means P3 displays on the display device 141 the image of the model having a similarity equal to or greater than the reference similarity (for example, 90%) determined by the determination control means P6 and the identification information (number) of the model.
[0055] This allows the user to easily search for other models similar to one model MD(g).
[0056] Here, the multiple groups G(1) to G(r) and their characteristic degrees C(1) to C(r) may be set in advance, but from the viewpoint of easily classifying the multiple faces SF(1,1) to SF[m,k(m)] of the multiple types of models MD(1) to MD(m) into the multiple groups G(1) to G(r) based on at least two pieces of shape data SD(j), it is preferable to use clustering, which is an unsupervised learning method in machine learning (AI: artificial intelligence).
[0057] For example, as shown in Figure 5, if the feature quantities are two, namely, the surf value [SD(1)] and the area [SD(2)], then multiple faces SF(1,1) to SF[m,k(m)] can be classified into multiple groups G(1) to G(r). The feature degrees C(1) to C(r) of the groups G(1) to G(r) are values such that, for example, the larger or smaller the surf value, area, or curvature, the larger or smaller the feature degrees C(1) to C(r) corresponding to the surf value, area, or curvature.
[0058] Incidentally, when using machine learning clustering in the classification control means P1, if the shape data SD(j) is used as a feature, if the units are different between the feature quantities or if there is a difference between the maximum and minimum values between the feature quantities, the impact on the clustering will be significant.
[0059] Therefore, in this embodiment, the control unit 110 functions as a unit further including a scaling control unit P7. That is, the shape data processing program P causes the control unit 110 to execute steps further including a scaling control step corresponding to the scaling control unit P7.
[0060] The scaling control means P7 scales at least two pieces of shape data SD(j) of the plurality of types of models MD(1) to MD(m) as at least two feature amounts.
[0061] Representative examples of scaling of feature quantities include scaling by standardization and scaling by normalization. Scaling by standardization involves converting each feature quantity into a scaling value by setting the overall average of the feature quantities to a predetermined first reference value (e.g., 0) and the variance to a predetermined second reference value (e.g., 1) greater than the first reference value. Scaling by normalization involves converting each feature quantity into a scaling value by setting the minimum value of the feature quantity to a first reference value (e.g., 0) and the maximum value of the feature quantity to a second reference value (e.g., 1).
[0062] In this example, the surf value [SD(1)] and curvature [SD(n)] are values between 0 and 1, but the area [SD(2)] has different units from the surf value [SD(1)] and curvature [SD(n)] and can have values greater than 1, so it is scaled by normalization between 0 and 1.
[0063] In this way, even if the units differ between the feature amounts or the difference between the maximum and minimum values between the feature amounts is different, it is possible to avoid any influence on the clustering.
[0064] The registration control means P5 registers at least two feature quantities [SD(j)] scaled by the scaling control means P7 in the database DB in units of multiple types of models MD(1) to MD(m) for each of multiple surfaces SF(1,1) to SF(m,k(m)].
[0065] The classification control means P1 uses machine learning clustering based on at least two feature values [SD(j)] of multiple types of models MD(1) to MD(m) scaled by the scaling control means P7 (or registered by the registration control means P5) to classify multiple faces SF(1,1) to SF[m,k(m)] of multiple types of models MD(1) to MD(m) into multiple groups G(1) to G(r) and classify feature degrees C(1) to C(r) as feature values F(1,1) to F[m,k(m)].
[0066] In this way, multiple faces SF(1,1) to SF[m,k(m)] of multiple types of models MD(1) to MD(m) can be easily classified into multiple groups G(1) to G(r) through machine learning clustering.
[0067] As machine learning clustering, for example, algorithms such as K-means and X-means can be used. K-means requires the number of groups (classes) r to be manually specified, while X-means allows the number of groups (classes) r to be automatically estimated, so in this example, an algorithm called X-means is used. Note that machine learning clustering is a conventionally known technique, and a detailed description thereof will be omitted here.
[0068] Here, in the similarity calculation control means P2, it is preferable to use a random forest, which is a supervised learning method of machine learning, from the viewpoint of easily calculating the similarity S(h) of one model MD(g) of multiple types of models MD(1) to MD(m) to one or more other models MD(h) based on multiple feature values F(1,1) to F[m,k(m)].
[0069] Therefore, in this embodiment, the control unit 110 functions as a unit further including a learning device generation control means P8 and a first estimation control means P9. That is, the shape data processing program P causes the control unit 110 to execute steps further including a learning device generation control step corresponding to the learning device generation control means P8 and a first estimation control step corresponding to the first estimation control means P9.
[0070] The learning device generation control means P8 uses the feature values F(1,1) to F[m,k(m)] of each face SF(1,1) to SF[m,k(m)] of multiple types of models MD(1) to MD(m) as correct answer data, and generates a learning device using machine learning random forests from original learning data of at least two feature quantities [SD(j)] and correct answer data {F(1,1) to F[m,k(m)]} corresponding to the feature quantities [SD(j)]. Note that machine learning random forests are a well-known technology and will not be described in detail here.
[0071] As shown in FIG. 3, the first estimation control means P9 uses a first learning device [L(g)], which is a learning device generated by the learning device generation control means P8 using the feature value [SD(j)] of one model MD(g) among the multiple types of models MD(1) to MD(m) and the correct data {F(g,1) to F[g,k(g)]} of one model MD(g), to estimate the correct data {F(h,1) to F[h,k(h)]} of one or more other models MD(h) from at least two feature values [SD(j)] of one or more other models MD(h) as the first guessed correct data {F(h,1) to F[h,k(h)]} of the other one or more other models MD(h).
[0072] 4, the similarity calculation control means P2 calculates a first similarity Sa(h) (first accuracy rate) of the first guessed correct data {F(h,1) to F[h,k(h)]} of one or more other models MD(h) based on the correct data {F(h,1) to F[h,k(h)]} of one or more other models MD(h) and the first guessed correct data {F(h,1) to F[h,k(h)]} estimated by the first learning device [L(g)] by the first guess control means P9. In this example, the other model MD(2) is 96% similar to the one model MD(1), but the other model MD(m) is only 34% similar to the one model MD(1).
[0073] By doing so, the first similarity Sa(h) can be used to easily calculate the similarity S(h) of one model MD(g) among the multiple types of models MD(1) to MD(m) to one or more other models MD(h). Furthermore, since the number of faces differs between each model MD(1) to MD(m), it is not possible to compare the predicted correct answer data and correct answer data between different models MD(1) to MD(m). In this embodiment, the similarity can be determined by "the extent to which the first learning device [L(g)] that has learned the shape of only one model MD(g) can correctly interpret the shapes of one or more other models MD(h)."
[0074] In this embodiment, the control unit 110 functions as a unit further including second estimation control means P10. That is, the shape data processing program P causes the control unit 110 to execute steps further including a second estimation control step corresponding to the second estimation control means P10.
[0075] As shown in FIG. 3, the second estimation control means P10 uses one or more second learning devices [L(h)], which are learning devices generated by the learning device generation control means P8 using the feature values [SD(j)] of one or more other models MD(h) and the correct data {F(h,1) to F[h,k(h)]} of the other one or more models MD(h), to estimate the correct data {F(g,1) to F[g,k(g)]} of one model MD(g) from at least two feature values [SD(j)] of one model MD(g) as the second guessed correct data {F(g,1) to F[g,k(g)]} of the one model MD(g).
[0076] 4, the similarity calculation control means P2 calculates a second similarity Sb(h) (second accuracy rate) of the second guess correct data {F(g,1) to F[g,k(g)]} of the one model MD(g) based on the correct data {F(g,1) to F[g,k(g)]} of the one model MD(g) and the second guess correct data {F(g,1) to F[g,k(g)]} estimated by one or more second learning devices [L(h)] by the second guess control means P10. In this example, the other model MD(2) is 94% similar to the one model MD(1), but the other model MD(m) is only 43% similar to the one model MD(1).
[0077] In this way, the second similarity Sb(h) can be used to easily calculate the similarity S(h) of one model MD(g) among the multiple types of models MD(1) to MD(m) to one or more other models MD(h). Furthermore, since the number of faces differs among the models MD(1) to MD(m), it is not possible to compare the predicted correct answer data and correct answer data of different models MD(1) to MD(m). In this embodiment, the similarity can be determined by "the extent to which the second learning device [L(h)] that has learned the shapes of only the other models MD(h) can correctly interpret the shape of one model MD(g)."
[0078] The similarity calculation control means P2 calculates the similarity S(h) of one or more other models MD(h) to one model MD(g) based on the first similarity Sa(h) and the second similarity Sb(h).
[0079] In this way, the first similarity Sa(h) and the second similarity Sb(h) can be compared to calculate the similarity S(h) with high accuracy.
[0080] Here, for example, if a certain model MD(1) has a complex shape while another model MD(2) has a simple shape, there is a high possibility that the faces SF(1,1) to SF[1,k(1)] of the certain model MD(1) include faces similar to those of the other model MD(2), and if a learning device created with the certain model MD(1) predicts the other model MD(2), the similarity (accuracy rate) will be high. On the other hand, if a learning device created with the other model MD(2) predicts the model MD(1), the similarity (accuracy rate) will be low. For this reason, using the lower similarity will produce results closer to the actual similarity. This becomes more pronounced the more complex the certain model MD(1) and / or the more simple the other model MD(2).
[0081] Therefore, in this embodiment, the similarity calculation control means P2 calculates the lower of the first similarity Sa(h) and the second similarity Sb(h) as the similarity S(h) of one or more other models MD(h) to one model MD(g).
[0082] By doing so, even if one model MD(1) has a complex shape while another model MD(2) has a simple shape, the accuracy of the similarity S(h) can be improved. This becomes more effective the more complex the one model MD(1) is and / or the more simple the other model MD(2) is.
[0083] [Processing Procedure of Shape Data Processing Apparatus According to the Present Embodiment] FIGS. 6A and 6B are flowcharts showing the first and second halves, respectively, of an example of the processing procedure of the shape data processing apparatus 100. In FIG.
[0084] The processing procedure of the shape data processing device 100 includes scaling processing, clustering processing, first learning device generation processing, first guess correct data estimation processing, first similarity calculation processing, second learning device generation processing, second guess correct data estimation processing, second similarity calculation processing, similarity determination processing, and similarity judgment processing.
[0085] In this processing procedure, as shown in Fig. 6A, one model is designated as MD(g), the other model is designated as MD(h), and the initial value of i used in the processing in steps [S4] to [S9] described below is set to 1. Note that g is the number of the model that the user wishes to search for (for example, 1), and can be set or selected as appropriate.
[0086] In the flowcharts shown in FIGS. 6A and 6B, the similarity S(h) of one model MD(g) to another model MD(h) is calculated according to the following processing steps [S1] to [S10].
[0087] [S1] Scaling process: unifying scale First, the control unit 110 sequentially reads from the database DB the plurality of shape data SD(1) to SD(n) of the plurality of faces SF(1,1) to SF[m,k(m)] of the plurality of types of models MD(1) to MD(m) registered in the database DB, scales the read plurality of shape data SD(1) to SD(n) as feature quantities, and sequentially registers the scaled feature quantities in the database DB (S1).
[0088] For example, if the surf value [SD(1)] is 0 to 1 and the area [SD(2)] is 1 to 200, the area [SD(2)] will have a large effect on clustering. For this reason, in this example, when performing clustering, the control unit 110 sets the surf value [SD(1)], area [SD(2)], and curvature [SD(n)] of each feature amount [SD(1) to SD(n)] to be 0.0 to 1.0. This makes it possible to effectively prevent the effect of each feature amount [SD(1) to SD(n)] on clustering.
[0089] [S2] Clustering process: grouping of faces Next, the control unit 110 sequentially reads the scaled feature amounts [SD(1) to SD(n)] from the database DB, and uses machine learning (AI) clustering based on the read feature amounts [SD(1) to SD(n)] to classify the multiple faces SF(1,1) to SF[m,k(m)] of multiple types of models MD(1) to MD(m) into multiple groups G(1) to G(r) with feature degrees C(1) to C(r) as feature values F(1,1) to F[m,k(m)], and sequentially registers the classified feature values F(1,1) to F[m,k(m)] in the database DB (S2).
[0090] Specifically, the control unit 110 combines the feature values [SD(1) to SD(n)] of multiple types of models MD(1) to MD(m) registered in the database DB and performs clustering, an unsupervised learning method in machine learning. Clustering allows the surfaces SF(1,1) to SF[m,k(m)] to be divided into multiple groups G(1) to G(r), as shown in FIG. 5. In this example, the X-means method is used for clustering. The control unit 110 regards the clustering results {feature values F(1,1) to F[m,k(m)]} as the correct answer data for the multiple types of models MD(1) to MD(m) (FIG. 3). Correct answer data is data required for machine learning learning.
[0091] [S3] Process for generating a first learning device: learning device corresponding to one model Next, the control unit 110 sequentially reads the feature quantities [SD(1) to SD(n)] and feature values F(g,1) to F[g,k(g)] of each face SF(g,1) to SF[g,k(g)] of one model MD(g) from the database DB, and generates a first learning device [L(g)] from the original learning data of the read feature quantities [SD(1) to SD(n)] and the correct data {F(g,1) to F[g,k(g)]} using a machine learning random forest (S3).
[0092] Specifically, the control unit 110 performs learning using a random forest, which is a supervised learning method of machine learning, using the feature quantities [SD(1) to SD(n)] of one model MD(g) and the ground truth data {F(g,1) to F[g,k(g)]}. When learning is performed using machine learning, a learning device is obtained as the output. By using the learning device, the control unit 110 becomes able to infer the ground truth data from the feature quantities [SD(1) to SD(n)]. The learning device created here is referred to as the first learning device [L(g)].
[0093] [S4] Inference process of first guess correct answer data: Use of first learning device Next, the control unit 110 reads the features [SD(1) to SD(n)] of the other models MD(i) from the database DB, and uses a first learning device [L(g)], which is a learning device generated using the features [SD(1) to SD(n)] of one model MD(g) and the correct answer data {F(g,1) to F[g,k(g)]} of one model MD(g), to infer the correct answer data {F(i,1) to F[i,k(i)]} of the other models MD(i) from the read features [SD(1) to SD(n)] of the other models MD(i) as the first guess correct answer data {F(i,1) to F[i,k(i)]} of the other models MD(i) (S4).
[0094] That is, the control unit 110 uses the first learning device [L(g)] to estimate correct data from the feature quantities [SD(1) to SD(n)] of other models MD(i).
[0095] [S5] Calculation process of first similarity: Comparison between correct data and first guessed correct data Next, the control unit 110 calculates the first similarity Sa(i) of the first guessed correct data {F(i,1) to F[i,k(i)]} guessed by the first learning device [L(g)] to the correct data {F(i,1) to F[i,k(i)]} of other models MD(i) (S5).
[0096] Specifically, the control unit 110 calculates the similarity (accuracy rate) of the inference result {F(i,1) to F[i,k(i)]} of the process of [S3] with respect to the correct answer data {F(i,1) to F[i,k(i)]} of the other model MD(i). The accuracy rate can be calculated by dividing the number of correct answers compared to the correct answer data {F(i,1) to F[i,k(i)]} of the first inferred correct answer data {F(i,1) to F[i,k(i)]} by the number of faces of the other model MD(i). The accuracy rate calculated here is the first similarity Sa(i) (first accuracy rate).
[0097] [S6] Processing for generating a second learning device: a learning device corresponding to another model Next, as shown in FIG. 6B, the control unit 110 reads the feature quantities [SD(1) to SD(n)] and feature values F(i,1) to F[i,k(i)] of each face SF(i,1) to SF[i,k(i)] of another model MD(i) from the database DB, and generates a second learning device [L(i)] from the original learning data of the read feature quantities [SD(1) to SD(n)] and the correct data {F(i,1) to F[i,k(i)]} using a machine learning random forest (S6).
[0098] Specifically, the control unit 110 uses the features [SD(1) to SD(n)] of the other models MD(i) and the ground truth data {F(i,1) to F[i,k(i)]} to create a learning device using a random forest. The learning device created here is called the second learning device [L(i)].
[0099] [S7] Inference process of second guess correct answer data: Use of second learning device Next, the control unit 110 reads the features [SD(1) to SD(n)] of one model MD(g) from the database DB, and uses a second learning device [L(i)], which is a learning device generated using the features [SD(1) to SD(n)] of other models MD(i) and the correct answer data {F(i,1) to F[i,k(i)]} of the other models MD(i), to infer the correct answer data {F(g,1) to F[g,k(g)]} of one model MD(g) from the read features [SD(1) to SD(n)] of one model MD(g) as the second guess correct answer data {F(g,1) to F[g,k(g)]} of one model MD(g) (S7).
[0100] That is, the control unit 110 uses the second learning device [L(i)] to estimate correct data from the feature quantities [SD(1) to SD(n)] of one model MD(g).
[0101] [S8] Calculation process of second similarity: Comparison between correct answer data and second guess correct answer data Next, the control unit 110 calculates the second similarity Sb(i) of the second guess correct answer data {F(g,1) to F[g,k(g)]} guessed by the second learning device [L(i)] to the correct answer data {F(g,1) to F[g,k(g)]} of one model MD(g) (S8).
[0102] Specifically, the control unit 110 calculates the similarity (correctness rate) of the guess result {F(g,1) to F[g,k(g)]} of the process of [S7] to the correct answer data {F(g,1) to F[g,k(g)]} of one model MD(g). The correctness rate can be calculated by dividing the number of correct answers compared to the correct answer data {F(g,1) to F[g,k(g)]} of the second guess correct answer data {F(g,1) to F[g,k(g)]} by the number of faces of the other model MD(g). The correctness rate calculated here is the second similarity Sb(i) (second correctness rate).
[0103] [S9] Similarity determination process: Comparison of first similarity and second similarity Next, the control unit 110 determines the lower of the first similarity Sa(i) and the second similarity Sb(i) registered in the database DB as the similarity S(i) of the other model MD(i) to one model MD(g), and registers the determined similarity S(i) in the database DB (S9).
[0104] That is, the control unit 110 determines the lower of the first accuracy rate [Sa(i)] and the second accuracy rate [Sb(i)] as the similarity S(i) of one model MD(i) to another model MD(g).
[0105] If there is another unprocessed model MD(i) (i is smaller than m) (S9a: Yes), the control unit 110 adds 1 to i and proceeds to the process of [S4] shown in Fig. 6A. On the other hand, if there is no other unprocessed model MD(i) (i is m) (S9a: No), the control unit 110 proceeds to the process of [S10].
[0106] [S10] Similarity Determination Process: Search for Models with Similarity Levels Equal to or Exceeding Standard Levels Next, the control unit 110 determines which of the multiple types of models MD(1) to MD(m) have similarities S(1) to S(m) equal to or greater than a predetermined standard level.
[0107] Specifically, if the similarities S(1) to S(m) calculated in the processes of [S4] to [S9] are equal to or greater than a reference similarity (e.g., 90%), the control unit 110 determines that the model is similar to the model MD(g). This makes it possible to search for models with a similarity to the model MD(g) that is equal to or greater than a reference similarity (e.g., 90%).
[0108] Prior to the process of [S3], learning devices L(1) to L(m) corresponding to multiple types of models MD(1) to MD(m) may be generated in advance.
[0109] The present invention is not limited to the above-described embodiments, but can be embodied in various other forms. Therefore, these embodiments are merely illustrative in all respects and should not be interpreted as limiting. The scope of the present invention is defined by the claims and is not limited in any way by the text of the specification. Furthermore, all modifications and variations that fall within the equivalent range of the claims are within the scope of the present invention.
[0110] The present invention relates to a technology for easily searching for other three-dimensional shape models that are similar to one three-dimensional shape model among a plurality of types of three-dimensional shape models, and is particularly applicable to the technical field of CAD.
[0111] 100 Shape data processing device 110 Control unit 120 Storage unit DB Database F Feature value L Learning device MD Three-dimensional shape model P Shape data processing program P1 Classification control means P2 Similarity calculation control means P3 Display control means P4 Acceptance control means P5 Registration control means P6 Judgment control means P7 Scaling control means P8 Learning device generation control means P9 First estimation control means P10 Second estimation control means S Similarity Sa First similarity Sb Second similarity SD Shape data (feature amount) SF Surface
Claims
1. A shape data processing apparatus comprising a database storing shape data for a plurality of faces of a plurality of types of three-dimensional shape models, the classification control means for classifying the plurality of faces of the plurality of types of three-dimensional shape models into a plurality of groups grouped according to the degree of feature of the plurality of faces of the plurality of types of three-dimensional shape models, based on at least two of the shape data of the plurality of faces of the plurality of types of three-dimensional shape models registered in the database, with the degree of feature as a feature value indicating the feature of the face; and similarity calculation control means for calculating the similarity of one or more other three-dimensional shape models to one three-dimensional shape model among the plurality of types of three-dimensional shape models based on the feature values of the respective faces classified by the classification control means. A shape data processing apparatus characterized by comprising the above.
2. The shape data processing apparatus according to claim 1, further comprising scaling control means for scaling at least two of the shape data of the plurality of types of three-dimensional shape models as at least two feature amounts respectively, wherein the classification control means classifies the plurality of faces of the plurality of types of three-dimensional shape models into the plurality of groups with the degree of feature as the feature value, using clustering of machine learning based on at least two feature amounts of the plurality of types of three-dimensional shape models scheduled by the scaling control means. A shape data processing apparatus characterized by comprising the above.
3. The shape data processing apparatus according to claim 2, further comprising: a learner generation control means for generating a learner using a random forest of machine learning from original learning data of the at least two feature amounts and the correct data corresponding to the feature amounts, with the feature values of each surface of the plurality of types of three-dimensional shape models as the correct data; a first estimation control means for estimating, as first estimated correct data of the other one or more three-dimensional shape models, the correct data of the other one or more three-dimensional shape models from the at least two feature amounts of the other one or more three-dimensional shape models using a first learner which is the learner generated by the learner generation control means using the feature amounts and the correct data of the one three-dimensional shape model among the plurality of types of three-dimensional shape models; wherein the similarity calculation control means calculates a first similarity of the first estimated correct data of the other one or more three-dimensional shape models with respect to the correct data of the other one or more three-dimensional shape models based on the correct data of the other one or more three-dimensional shape models and the first estimated correct data estimated by the first learner by the first estimation control means.
4. The shape data processing apparatus according to claim 3, further comprising: a second estimation control means for respectively estimating, as second estimated correct data of the one three-dimensional shape model, the correct data of the one three-dimensional shape model from the at least two feature amounts of the one three-dimensional shape model using one or more second learners which are the learners generated by the learner generation control means using the feature amounts and the correct data of the other one or more three-dimensional shape models among the plurality of types of three-dimensional shape models; wherein the similarity calculation control means calculates a second similarity of the second estimated correct data of the one three-dimensional shape model with respect to the correct data of the one three-dimensional shape model based on the correct data of the one three-dimensional shape model and the second estimated correct data estimated by the one or more second learners by the second estimation control means.
5. The shape data processing apparatus according to claim 4, wherein the similarity calculation control means calculates the similarity of the other one or more 3D shape models to the one 3D shape model based on the first similarity and the second similarity. A shape data processing apparatus characterized by the above.
6. The shape data processing apparatus according to claim 5, wherein the similarity calculation control means calculates the lower one of the first similarity and the second similarity as the similarity of the other one or more 3D shape models to the one 3D shape model. A shape data processing apparatus characterized by the above.
7. The shape data processing apparatus according to claim 1, further comprising determination control means for determining, based on the similarity calculated by the similarity calculation control means, a 3D shape model among the plurality of types of 3D shape models having a similarity equal to or higher than a predetermined reference similarity. A shape data processing apparatus characterized by the above.
8. A shape data processing method performed by a shape data processing apparatus including a database storing a plurality of shape data for each surface of a plurality of types of 3D shape models, the classification control means based on at least two of the plurality of shape data of the plurality of surfaces of the plurality of types of 3D shape models registered in the database, the plurality of surfaces of the plurality of types of 3D shape models, into a plurality of groups grouped according to the degree of feature of the plurality of surfaces of the plurality of types of 3D shape models, a classification control step of classifying the degree of feature as a feature value indicating the feature of the surface; a similarity calculation control step in which the similarity calculation control means calculates the similarity of the other one or more 3D shape models to one 3D shape model among the plurality of types of 3D shape models based on the feature values of the respective surfaces classified in the classification control step. A shape data processing method characterized by including the above.
9. A shape data processing program for causing a computer to execute each step of the shape data processing method according to claim 8.