METHOD AND SYSTEM FOR MONITORING AND IDENTIFYING THE WELD QUALITY ON METALLIC COMPONENTS
20210341451 · 2021-11-04
Inventors
Cpc classification
G06N5/01
PHYSICS
International classification
Abstract
A method for monitoring and identifying the quality of a welding performed by a welding machinery on a metallic component; the method for monitoring and identifying comprises the steps of: establishing a plurality of classes that describe possible weld defects on the metallic component; identifying a plurality of features that are relative to the functioning of the welding machinery; acquiring the values assumed by the plurality of features during the execution of a current welding on a metallic component; and processing the values assumed by the plurality of features during the execution of the current welding by means of a system for monitoring and identifying the quality to establish the probabilities of the future outcome of the welding of belonging to each of the classes of the plurality of classes.
Claims
1. A method for monitoring and identifying the quality of a welding performed by a welding machinery (1) on a metallic component (2; 52); the method for monitoring and identifying comprises the steps of: establishing a plurality of classes (C; C.sub.1-C.sub.5) that describe possible weld defects on the metallic component (2; 52); identifying a plurality of features (G) that characterise the execution of the welding on the metallic components (2; 52); acquiring (28) the values (d.sub.G) assumed by the plurality of features (G) during the execution of the welding on the metallic components (2; 52); processing (18-24; 29-38) the values (d.sub.G) assumed by the plurality of features (G) during the execution of a current welding operation on one of said metallic components (2; 52) by means of a system (5) for monitoring and identifying the quality to establish the probabilities of the future outcome of the current welding operation of belonging to each of the classes (C.sub.1-C.sub.5) of the plurality of classes (C), in order to predict a possible presence of a weld defect based on said probabilities of belonging, wherein said features (G) are physical quantities relative to the functioning of the welding machinery during the current welding operation.
2. The method according to claim 1, wherein the values (d.sub.G) assumed by the plurality of features (G) are detected by sensor elements (3, 4A-4H) mounted on the welding machinery (1).
3. The method according to claim 1, wherein the features (G) comprise: a voltage (V) at the ends of the welding arc, a welding current (A), a flow of cooling water (φ.sub.H2O), a shielding gas flow (φ.sub.g) for the weld pool, a feeding speed (v.sub.f) of the filler wire, a frequency (f.sub.w) of the kinematic oscillation of the torch, the amplitude (A.sub.w) of the oscillation itself and a feeding speed (v.sub.w) of the torch.
4. The method according to claim 1 and comprising the further step of temporally normalising the values (d.sub.G) assumed by the plurality of features (G) so as to determine respective normalised values (d.sub.set, d.sub.set′, d.sub.set″, d.sub.set,d, d.sub.set,d′, d.sub.set,d″, d.sub.set,d′″; d.sub.set′″) that are provided to the system (5) for monitoring and identifying the quality.
5. The method according to claim 1, wherein the step of processing (19-24; 29-38) the values (d.sub.G) assumed by the plurality of features (G) comprises the further steps of: acquiring (18) the values (d.sub.set, d.sub.set′, d.sub.set″, d.sub.set,d, d.sub.set,d′, d.sub.set,d′″) assumed by the plurality of features (G) during the execution of a welding on a group of first metallic components (2) and on a group of second metallic components (2); providing (19-22) to the system (5) for monitoring and identifying the quality, and for each first metallic component (2), the values (d.sub.G, d.sub.set, d.sub.set′, d.sub.set″, d.sub.set,d, d.sub.set,d′, d.sub.set,d′″) assumed by the plurality of features (G) so as to determine at least one trained model (M.sub.1, M.sub.2); and processing (23) the values (d.sub.G, d.sub.set, d.sub.set′, d.sub.set″, d.sub.set,d, d.sub.set,d′, d.sub.set,d′″) assumed by the plurality of features (G) for said second metallic components (2) by means of the system (5) for monitoring and predicting provided with said trained model (M.sub.1, M.sub.2) to establish said probabilities of belonging.
6. The method according to claim 5 and furthermore comprising the steps of: inspecting the final outcome of the weld of a second metallic component (2) to manually assign at least one corresponding class (C; C.sub.1-C.sub.5); and verifying (24), for said second metallic component (2), whether the at least one class (C; C.sub.1-C.sub.5), having the highest probability of belonging assigned by the system (5) for monitoring and identifying the quality, coincides with the at least one class (C; C.sub.1-C.sub.5) manually assigned in order to establish the reliability of the classifier system (5).
7. The method according to claim 5, wherein the plurality of classes comprises first and second classes relative to a presence of a weld defect and, respectively, to a type of defect if such defect is present, and wherein the step of providing (19-22), to the system (5) for monitoring and identifying the quality and for each first metallic component (2), the values (d.sub.G, d.sub.set, d.sub.set′, d.sub.set″, d.sub.set,d, d.sub.set,d′, d.sub.set,d′″) assumed by the plurality of features (G) is carried out so as to determine a first and a second trained model (M.sub.1, M.sub.2) and comprises the steps of: determining (25, 34-38) a first number (N.sub.T) of decision trees (T.sub.1-T.sub.4) not correlated with each other, each decision tree (T.sub.1-T.sub.4) being relative to a random combination (A.sub.1-A.sub.4) of the values (d.sub.G, d.sub.set, d.sub.set′, d.sub.set″) assumed by the plurality of features (G) for each first metallic component (2), the ensemble of decision trees forming a first random forest (F.sub.1); classifying (26) each combination (A.sub.1-A.sub.4) of the values (d.sub.G, d.sub.set, d.sub.set′, d.sub.set″) for each decision tree (T.sub.1-T.sub.4) based on the first classes (C.sub.1, C.sub.2) of the plurality of classes (C); executing (27) a majority classification of the first random forest (F.sub.1) based on the classification made by each decision tree (T.sub.1-T.sub.4), the classification of the first random forest (F.sub.1) being determined based on the number of decision trees (T.sub.1-T.sub.4) of the first random forest that classify the values (d.sub.G, d.sub.set, d.sub.set′, d.sub.set″) assumed by the plurality of features for the group of first metallic components (2) with the same class belonging to the first classes of the plurality of classes (C); and determining the first trained model (M.sub.1) according to the classification associated with the first random forest (F.sub.1), the first trained model (M.sub.1) being configured to distinguish between second metallic components belonging to a first class (C.sub.1) relative to the presence of weld defects and second metallic components belonging to a second class (C.sub.2) relative to the absence of weld defects, the second metallic components belonging to the first class being represented by defect values (d.sub.set,d).
8. The method according to claim 7 and furthermore comprising the steps of: acquiring the defect values (d.sub.set,d); dividing the defect values into a first group of defect values (d.sub.set,d′) and a second group of defect values (d.sub.set,d′″) distinct from one another; determining (25) a second number (N.sub.T′) of decision trees (T.sub.5-T.sub.8) not correlated with each other, each decision tree (T.sub.5-T.sub.8) being relative to a random combination (A.sub.5-A.sub.8) of the first group of defect values assumed by the plurality of features (G) for each first metallic component (2), the ensemble of the decision trees forming a second random forest (F.sub.2); classifying (26) each combination (A.sub.5-A.sub.8) of the values (d.sub.set,d, d.sub.set,d′, d.sub.set,d″) for each decision tree (T.sub.5-T.sub.8) based on second classes (C.sub.3-C.sub.5) of the plurality of classes (C), independent of the first classes of the plurality of classes; executing (27) a majority classification of the second random forest (F.sub.2) based on the classification made by each decision tree (T.sub.5-T.sub.8), the classification of the second random forest (F.sub.2) being determined based on the number of decision trees (T.sub.5-T.sub.8) of the second random forest that classify the values (d.sub.set,d, d.sub.set,d′) assumed by the plurality of features for the group of first metallic components (2) with the same class belonging to the second classes of the plurality of classes (C); and determining the second trained model (M.sub.2) according to the classification associated with the second random forest (F.sub.2), the trained model (M.sub.2) being configured to classify the first metallic components according to the type of weld defect.
9. The method according to claim 8, wherein the step of determining (25) a first number (N.sub.T) of decision trees (T.sub.1-T.sub.4) comprises the steps of: defining at least one feature (J) configured to optimise the step of determining the first trained model (M.sub.1), the at least one feature (J) being indicative of a characteristic relative to each decision tree (T.sub.1-T.sub.4) of the first random forest (F.sub.1); and verifying that the at least one feature optimises at least one metric relative to the first trained model by means of a cross-validation, and wherein the step of determining (25) a second number (N.sub.T′) of decision trees (T.sub.5-T.sub.8) comprises the steps of: defining the at least one feature (J) configured to optimise the step of determining the second trained model (M.sub.2); and verifying that the at least one feature optimises at least one metric relative to the second trained model by means of a cross-validation.
10. The method according to claim 9, wherein the at least one feature (J) is one of the first and second numbers of trees in the first and in the second random forests, a maximum height (H) of the respective trees of the first and second random forests, the number of values (d.sub.set, d.sub.set′, d.sub.set″, d.sub.set,d, d.sub.set,d′, d.sub.set,d′″), the number of features (G) used for the construction of the sets (A.sub.1-A.sub.8), the minimum number of values that must be located in a leaf of each decision tree (T.sub.1-T.sub.8), the minimum number of values required to split a node of the respective decision trees into children nodes and a criterion of impurity.
11. The method according to claim 8, wherein the step of determining (25) a first number (N.sub.T) of decision trees (T.sub.1-T.sub.4) comprises the steps of: defining second features (J) configured to optimise the step of determining the first trained model (M.sub.1), the second features (J) being indicative of a characteristic relative to each decision tree (T.sub.1-T.sub.4) of the first random forest (F.sub.1); and verifying that the second features optimise at least one metric relative to the first trained model by means of a cross-validation, and wherein the step of determining (25) a second number (N.sub.T′) of decision trees (T.sub.5-T.sub.8) comprises the steps of: defining the second features (J) configured to optimise the step of determining the second trained model (M.sub.2); and verifying that the second features optimise at least one metric relative to the second trained model by means of a cross-validation.
12. The method according to claim 11, wherein the second features (J) comprise the first and second numbers of trees in the first and in the second random forests, a maximum height (H) of the respective trees of the first and second random forests, the number of values (d.sub.set, d.sub.set′, d.sub.set″, d.sub.set,d, d.sub.set,d′, d.sub.set,d′″), the number of features (G) used for the construction of the sets (A.sub.1-A.sub.8), the minimum number of values that must be located in a leaf of each decision tree (T.sub.1-T.sub.8), the minimum number of values required to split a node of the respective decision trees into children nodes and a criterion of impurity.
13. The method according to claim 6, wherein the step of verifying (24), for each second metallic component (2), whether the at least one class (C; C.sub.1-C.sub.5) having the highest probability of belonging assigned by the system (5) for monitoring and identifying the quality coincides with the at least one class (C; C.sub.1-C.sub.5) manually assigned in order to establish the reliability of the system (5) for monitoring and identifying the quality, comprises the step of determining (24) a plurality of quantities (A, P, R) which comprise accuracy (A), precision (P) and recall (R) calculated by evaluating the number of false positives, false negatives, true positives and true negatives classified by the trained models (M.sub.1, M.sub.2) when applied to the values (d.sub.G, d.sub.set, d.sub.set′, d.sub.set″, d.sub.set,d, d.sub.set,d′, d.sub.set,d′″) of the plurality of features (G) of the second metallic components (2).
14. A system (5) for monitoring and identifying the quality of a welding of a welding machinery (1) on a metallic component (2; 52), the welding machinery (1) being couplable to the system (5) for monitoring and identifying the quality; the system (5) for monitoring and identifying the quality being configured to carry out the method according to claim 1.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0015] To better understand the present invention, a preferred embodiment thereof is now described, by way of mere non-limiting example, with reference to the accompanying drawings, wherein:
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
PREFERRED EMBODIMENTS OF THE INVENTION
[0023]
[0024] In particular, as better described in the following, it is assumed that, in a first operating step, described in further detail in the following with reference to
[0025] It is further assumed that, in a second operating step, subsequent to the aforementioned first operating step, described more specifically in the following with reference to
[0026] With reference to
[0027] It should be noted that, depending on the values assumed by the features G, determined by the welding machinery 1 (in particular, by the sensor elements 3) in the time instants t.sub.k and depending on the type of preparation process of the metallic components 2, 52 (for example, by means of preparation processes carried out by hand and comprising a brushing step and/or the application of preliminary welding spots, the latter used for keeping adjacent metallic components 2, 52 close during the welding process), the welding process of the metallic components 2, 52 varies, thus determining different results in terms of weld defects on the aforementioned metallic components 2, 52; in other words, different combinations of the values of the aforementioned features G, in association with different combinations of preparation processes of the metallic components 2, 52 to be welded, determine a good or bad weld and have a non-negligible influence on the quality of the final weld of the aforementioned metallic components 2, 52.
[0028] The welding machinery 1, in particular by means of the sensor elements 3, is operatively coupled to a system for monitoring and classifying (in the following indicated as system) 5, which is configured to receive the values d.sub.G determined by the sensor elements 3 and perform the aforementioned method for monitoring and predicting, the latter described more specifically in the following. In particular, the system 5 is a classifier system, i.e. a computer support, for example a processor, connected to the welding machinery 1. The system 5 is configured to execute an algorithm that implements the aforementioned method for monitoring and predicting which allows classifying according to a classification based on two and, subsequently, on three classes (i.e. by means of the trained models M.sub.1, M.sub.2) the values d.sub.G relative to the metallic components 2, 52.
[0029] In further detail, the system 5 comprises: an input block 7, coupled to the welding machinery 1 (in particular, to the sensor elements 3) and configured to receive the values d.sub.G relative to the features G associated with the metallic components 2, 52; a normalisation block 8, coupled to the input block 7 and configured to execute a pre-processing and standardising step adapted to temporally normalise the values d.sub.G according to the modes described more specifically in the following, so as to generate normalised values d.sub.set and d.sub.set′″ relative to the metallic components 2 and, respectively, 52; a training block 10, coupled to the normalisation block 8 and configured to receive the normalised values d.sub.set relative to the metallic components 2, which are used for the determination of the trained models M.sub.1, M.sub.2; and a classification block 11, coupled to the normalisation block 8 and configured to receive the normalised values d.sub.set′″ relative to the metallic components 52, as well as the trained models M.sub.1, M.sub.2 so as to obtain the classifications based on two and on three classes of the aforementioned metallic components 52.
[0030] Specifically, the training block 10 is active in the first operating step and the classification block 11 is active in the second operating step. In other words, the training block 10 is active when the system 5 operates for determining the trained models M.sub.1, M.sub.2 (i.e. when the values d.sub.G are relative to the metallic components 2) and verifying the classification quality thereof; otherwise, the classification block 11 is active when the welding machinery 1 operates on the values d.sub.G relative to the metallic components 52.
[0031] The training block 10 comprises: a modelling block 12, coupled to the normalisation block 8 and configured to receive a first group of normalised values d.sub.set′, the latter belonging to the normalised values d.sub.set and being relative to a group of metallic components 2 (indicated in the following as first group of metallic components 2), and the plurality of classes C and to determine the trained models M.sub.1, M.sub.2 based on the aforementioned first group of normalised values d.sub.set′ and on the aforementioned plurality of classes C; an inference block 13, coupled to the modelling block 12 and to the normalisation block 8 and configured to receive a second group of normalised values d.sub.set″, independent of the first group of normalised values d.sub.set′ and also belonging to the normalised values d.sub.set, relative to a group of metallic components 2 (indicated in the following as second group of metallic components 2) whose labelling is known a priori but is not provided to the inference block 13, and to generate inference data d.sub.inf, indicative of the classifications made by the trained models M.sub.1, M.sub.2 when applied to the second group of normalised values d.sub.set″; and a computation block 14, coupled to the inference block 13 and configured to receive the inference data d.sub.inf and generate corresponding output data d.sub.out indicative of the quality of the classification made by the trained models M.sub.1, M.sub.2 when applied to the second group of normalised values d.sub.set″, based on the labelling known a priori.
[0032] In addition, the training block 10 is coupled to a memory 15, which is configured to store the trained models M.sub.1, M.sub.2 determined in the first operating step; in an embodiment, not shown herein, the memory 15 can be implemented on a physical support defined by the hardware support 9 described in the following.
[0033] In addition, the normalisation block 8 is configured to transmit the normalised values d.sub.set to a dedicated hardware support 9 for the storage, connected to the aforementioned normalisation block 8 by means of a real-time connection, for example by means of communication protocol OPC-UA (OPC Unified Architecture). In further embodiments not shown, the connection between the hardware support 9 and the normalisation block 8 can also be deferred, i.e. the normalised values d.sub.set are stored only at the end of one or more welding operations performed by the welding machinery 1.
[0034] The classification block 11 comprises: an inference block 16, coupled to the normalisation block 8 and configured to receive, when used in the second operating step, the normalised values d.sub.set′″ relative to the metallic components 52 from the normalisation block 8 and the trained models M.sub.1, M.sub.2 from the memory 15 and to apply the latter to the normalised values d.sub.set′″ relative to the metallic components 52 so as to generate corresponding inference data d.sub.inf′; and a transmission block 17, coupled to the inference block 16 and configured to receive the inference data d.sub.inf′ and determine corresponding output data d.sub.out′. In particular, the inference data d.sub.inf′ are indicative of a vote percentage for each class of the plurality of classes C associated with each metallic component 52. Starting from the vote percentages for each class belonging to the plurality of classes C, the class of the plurality of classes C determined by each trained model of the trained models M.sub.1, M.sub.2 with the higher percentage is selected as classification output datum d.sub.out′.
[0035] Furthermore, the system 5 is coupled to a display 6, configured to show, in the first operating step, the output data d.sub.out relative to the second group of metallic components 2 and, in the second operating step, the second output data d.sub.out′ relative to the metallic components 52; in particular, the display 6 allows making displayable the aforementioned output data d.sub.out and d.sub.out′ of the metallic components 2, 52 to a user (for example, a specialised operator) so as to inform said user of the classification capability of the trained models M.sub.1, M.sub.2 in the first and in the second operating steps.
[0036] The first step of the aforementioned method for monitoring and predicting is now described with reference to
[0037] Initially, step 18, the sensor elements 3 detect the values of the features G associated with the metallic components 2 in a corresponding time interval Δt and with respective sampling steps p.sub.s. In particular, with reference to the embodiment of
[0038] Subsequently, the sensor elements 3 generate the values d.sub.G relative to the aforementioned features G and to each metallic component 2 at the time instant t.sub.k, and transmit them together with the corresponding values of time instants t.sub.k to the system 5, which receives them at the input block 7 (step 19).
[0039] Then, step 20, the input block 7 transmits the values d.sub.G received to the normalisation block 8, which temporally normalises by means of the application of an interpolation algorithm of the time instants t.sub.k so as to smooth the sampling steps p.sub.s associated with the features G; for example, the normalisation block 8 executes a linear or polynomial interpolation algorithm for executing the aforementioned temporal normalisation. More specifically, the normalisation allows uniforming the interval of values that the aforementioned features G relative to the aforementioned metallic components 2 can assume.
[0040] In some embodiments, not shown herein, the system 1 is devoid of the normalisation block 8.
[0041] The normalisation step carried out by the normalisation block 8 consequently generates the normalised values d.sub.set, which represent as well the features G associated with the metallic components 2; more specifically, the normalised values d.sub.set are generated in order to allow a better execution of the training and inference steps by the modelling block 12 and, respectively, the inference block 13.
[0042] The aforementioned operations, described with reference to the steps 18-20, are repeated up to the end of the welding operations of the metallic components 2. The latter are then inspected with known techniques (for example, inspection through ultrasounds) and classified according to the plurality of classes C by a specialised expert based on the results obtained by the inspection; in particular, the classification is based on two (presence/absence, i.e. the classes C.sub.1 and C.sub.2) and, in the case of presence of the defect (label “presence”, for example associated with the class C.sub.1), on three classes (type of defect, i.e. the classes C.sub.3, C.sub.4 and C.sub.5). In other words, the labels, relative to the classification modality of the weld defects on each metallic component 2 are known a priori, are associated with a corresponding time instant t.sub.k and are provided to the modelling block 12 of the training block 10 for the determination of the trained models M.sub.1, M.sub.2.
[0043] To summarise, the normalised values d.sub.set are representative of record temporal series. Each record is composed of the time instant t.sub.k, belonging to the time interval Δt, of the set of the corresponding values of the features G at the same time instant t.sub.k and of the corresponding labels.
[0044]
[0045] The training and inference steps of the present method for monitoring and predicting of the first operating step are now described, respectively executed by the modelling block 12 and by the inference and computation blocks 13 and 14 of the training block 10 with reference to
[0046] In particular, with reference to
[0047] Subsequently, step 22, the first group of normalised values d.sub.set′ is used as dataset for the determination of the trained model M.sub.1, i.e. for the determination of the decision rules or, alternatively, of the decision regions in a vector space (i.e., the vector space defined by the aforementioned multidimensional vectors, herein eight-dimensional) that adjust the relation between the metallic components 2 (which, as previously anticipated, are represented by the time intervals Δt) and the labels associated thereto. The determination modes of the trained model M.sub.1 are described more specifically in the following with reference to
[0048] The classification based on two classes made by the aforementioned trained model M.sub.1 thus determines a division of the first group of normalised values d.sub.set′ into values with label indicative of the presence of a weld defect (in the following, indicated as defect values d.sub.set,d), identified with the class C.sub.1, and values with label indicative of the absence of a weld defect, identified with the class C.sub.2.
[0049] In addition, as better described in the following, the first group of normalised values d.sub.set′ is further used for validating the trained model M.sub.1; for example, the validation is executed by means of the K-fold cross-validation method.
[0050] Subsequently, the defect values d.sub.set,d are thus used for the determination of the trained model M.sub.2; therefore, analogously to the normalised values d.sub.set (steps 21 and 22 of
[0051] Furthermore, with reference to the step 22, the first group of defect values d.sub.set,d′ is used as dataset for the determination of the trained model M.sub.2, i.e. for the determination of the decision rules or, alternatively, of the decision regions in a vector space (i.e. the vector space defined by the aforementioned multidimensional vectors, herein eight-dimensional) that adjust the relation between the metallic components 2 (which, as previously anticipated, are represented by the time intervals Δt) and the labels associated thereto. The determination modes of the trained model M.sub.2 are described more specifically in the following with reference to
[0052] In other words, the trained models M.sub.1, M.sub.2 represent mathematical models that adjust the relation between the time instants t.sub.k and the values d.sub.G of the features G associated with the sample metallic components 2.
[0053] In particular, in the present embodiment of the aforementioned method, the system 5 determines in subsequent steps the aforementioned trained models M.sub.1, M.sub.2 by means of a supervised machine learning algorithm based on the random forest RF method, which is described in the following with reference to
[0054] In particular and with reference to
[0055] More specifically, the modelling block 12 is configured to generate optimised trained models M.sub.1, M.sub.2; in particular, such optimisation is carried out herein by means of a hyper-parameter tuning, which is executed, for example, analogously to what described in the article “Random search for hyper-parameter optimization” by Bergstra J. et al. (Journal of machine learning research 13 Feb. (2012): 281-305, http://www.jmlr.org/papers/v13/bergstra12a.html). In particular, the hyper-parameter tuning allows acting on the latter so as to optimise the effectiveness of the aforementioned machine learning algorithm.
[0056] In the present embodiment, the system 10 defines a set of hyper-parameters J, comprising, for example, the number of trees in the random forest (herein, indicated as numbers N.sub.T, N.sub.T′, equal for example to four and indicated in
[0057] It should be noted that the hyper-parameter tuning is iterative, i.e. the modelling block 12 tests different hyper-parameters, which are defined in a range), and determines the best one (for example calculating a metric, such as accuracy, described more specifically in the following, associated thereto); in the present embodiment, the modelling block 12 determines, as best hyper-parameters, the hyper-parameters J, herein six.
[0058] In particular, the aforementioned criterion of impurity is determined by the modelling block 12, in particular structuring the aforementioned machine learning algorithm so as to maximise a measure of purity of nodes in each decision tree T.sub.1-T.sub.8; specifically, the purity of a node of a decision tree T.sub.1-T.sub.8 is defined in terms of a measure of homogeneity, the latter detectable during the training step from the modelling block 12. More specifically, the modelling block 12 determines the quality of the classification of the aforementioned machine learning algorithm according to the presence of features G associated with metallic components 2 classified with the same class in the nodes of each decision tree T.sub.1-T.sub.8. In order to produce the aforementioned measure, the modelling block 12 implements a measure of impurity in the nodes of each decision tree T.sub.1-T.sub.8; with reference to
[0059] In addition to what described in the previous paragraphs, the modelling block 12 is configured, always in the step of hyper-parameter tuning and of maximisation of the purity of the nodes (and, thus, of the evaluation of the criterion of impurity of the nodes), to determine the classification capabilities of the random forest for each metallic component 2 by means of cross-validation techniques; for example, such evaluation is carried out by means of a K-fold cross-validation method, as described for example in the article “Cross-Validation” by Refaeilzadeh P. et al. (2009, DOI: 10.1007/978-0-387-39940-9_565, https://link.springer.com/referenceworkentry/10.1007%2F978-1-4899-7993-3_565-2). In particular, the validation step, which is executed for both trained models M.sub.1, M.sub.2, allows calculating a plurality of metrics, for example accuracy A, precision P and recall R according to the equations (1), (2) and, respectively, (3) provided hereafter:
[0060] where tp is the number of true positives, tn is the number of true negatives, fp is the number of false positives and fn is the number of false negatives. More specifically, accuracy A represents the capability of each model of the trained models M.sub.1, M.sub.2 to correctly classify the welding process at the temporal instant t.sub.k; precision P represents the capability of each model of the trained models M.sub.1, M.sub.2 not to produce false positives; and recall R represents the capability of each model of the trained models M.sub.1, M.sub.2 not to produce false negatives.
[0061] The calculation of the aforementioned metrics thus allows determining the quality of the classification; in addition, in the step of hyper-parameter tuning, the modelling block 12 is configured to maximise one of the aforementioned metrics, for example the recall R.
[0062] In light of what described above, in the embodiment of
[0063] In light of what described above and with reference to
[0064] With reference to
[0065] The embodiment of the aforementioned first random forest F.sub.1 is obtained according to the modes described with reference to
[0066] Firstly, block 33, the modelling block 12 selects a number q.sub.1 of features G (i.e. of columns M′ of the tables representative of the aforementioned first groups of normalised values d.sub.set′) represented by the first group of normalised values d.sub.set′. In particular, the number q.sub.1 is very much below with respect to the number of columns M′ of the features G represented by the respective first groups of normalised values d.sub.set′; in particular, the number q.sub.1 is determined based on the height H of the decision trees of the first random forest F.sub.1.
[0067] Subsequently, block 34, the system 5 builds a decision tree (for example, one of the trees T.sub.1-T.sub.4 of the first random forest F.sub.1) based on the q.sub.1 features G extracted in the previous step. In particular, each of the q.sub.1 features represents a corresponding set A.sub.1-A.sub.4.
[0068] Subsequently, block 35, the modelling block 12 determines the root of the decision tree determined in the step at the block 34 by means of the aforementioned measure of impurity. For example, the nodes n.sub.1-4, a are root nodes for the respective decision trees T.sub.1-T.sub.4.
[0069] Then, block 36, the modelling block 12 splits the root node identified in the step of the block 35 into children nodes (as shown in
[0070] Finally, block 37, the modelling block 12 repeats the steps described with reference to the blocks 33-36 so as to obtain the number N.sub.T of decision trees of the first random forest F.sub.1.
[0071] Subsequently, block 26, each of the decision trees N.sub.T produces, in a manner known per se, a classification of the features G based on two classes (C.sub.1 and C.sub.2). As shown in
[0072] Then, block 27, in order to obtain the trained model M.sub.1, based on the single classifications produced by each of the decision trees N.sub.T, the modelling block 12 determines the final classification for the first random forest F.sub.1 determining the percentage of vote for each class determined by the decision trees N.sub.T. In other words, the class that has the highest number of votes (i.e. is in majority with respect to the other classes determined) is determined as winning and associated with the metallic component 2 under exam (in particular, with the vector associated thereto). With reference to
[0073] Therefore, in the welding instants t.sub.k of a single metallic component 2, the classification based on two classes by means of the first random forest F.sub.1 determined that in such instants the values assumed by the features G can lead to weld defects in the metallic component 2 classified according to the class C.sub.1.
[0074] Such operation is thus executed for all the metallic components 2 which are represented by the first group of normalised values d.sub.set′, thus obtaining a division between metallic components 2 classified as having weld defects (class C.sub.1) and metallic components 2 not having weld defects (class C.sub.2). In particular, the portion of values of the first group of normalised values d.sub.set′ representing the metallic components 2 classified as having weld defects represent the defect values d.sub.set,d.
[0075] In addition, as previously anticipated, the first group of normalised values d.sub.set′ is used for the validation of the trained model M.sub.1 which derives from the previously described classification steps through the first random forest F.sub.1. \In other words, at the end of the aforementioned steps 25-27 of
[0076] Therefore, the operations described with reference to the steps 25-27 of
[0077] In particular, step 25, the modelling block 12 receives the first group of defect values d.sub.set,d′ and uses them for determining decision trees N.sub.T′ (wherein N.sub.T′ is a natural number), which are not correlated to each other, each of which is formed starting from a random combination of features G. In particular, the second random forest F.sub.2 of
[0078] The embodiment of the aforementioned random forest F.sub.2 is embodied according to the modes described with reference to
[0079] Firstly, block 33, the modelling block 12 selects a number q.sub.2 of features G (i.e. of columns M′−1, excluded the column relative to the labels, the tables representative of the aforementioned first groups of defect values d.sub.set,d′) represented by the first group of defect values d.sub.set,d′. In particular, the number q.sub.2 is very much below with respect to the number of columns M′ of the features G represented by the respective first group of normalised values d.sub.set′; in particular, the number q.sub.2 is determined according to the height H of the decision trees of the second random forest F.sub.2. Subsequently, block 34, the system 5 builds a decision tree (for example, one of the trees T.sub.5-T.sub.8) based on the q.sub.2 features G extracted in the previous step. In particular, each of the q.sub.2 features represents a corresponding set A.sub.5-A.sub.8.
[0080] Subsequently, block 35, the modelling block 12 determines the root of the decision tree determined in the step at block 34 by means of the aforementioned measure of impurity. For example, the nodes n.sub.5-8, a are root nodes for the respective decision trees T.sub.5-T.sub.8.
[0081] Then, block 36, the modelling block 12 splits the root node identified in the step of block 35 into children nodes (as shown in
[0082] Lastly, block 37, the modelling block 12 repeats the steps described with reference to the blocks 33-36 so as to obtain the number N.sub.T′ of decision trees of the second random forest F.sub.2.
[0083] Subsequently, block 26, each of the N.sub.T′ decision trees produces, in a manner known per se, a classification of the features G based on three classes (C.sub.3-C.sub.5). As shown in
[0084] Then, block 27, in order to obtain the trained model M.sub.2, based on the single classifications produced by each of the N.sub.T′ decision trees, the modelling block 12 determines the final classification for the second random forest F.sub.2 determining the percentage of vote for each class determined by the N.sub.T′ decision trees. In other words, the class that has the highest number of votes (i.e., is in majority with respect to the other classes determined) is determined as winning and associated with the metallic component 2 under exam (in particular, with the vector associated therewith). With reference to
[0085] Therefore, in the welding instants t.sub.k of a single metallic component 2, the classification based on three classes by means of the second random forest F.sub.2 determined that in such instants the values assumed by the features G can lead to weld defects in the metallic component 2 classified according to the class C.sub.3.
[0086] In addition, as previously anticipated, the second group of defect values d.sub.set,d′″ is used for the validation of the trained model M.sub.2 that derives from the classification steps through the second random forest F.sub.2 described previously; in particular, such validation is executed by means of K-fold cross-validation methods, through which accuracy A, precision P and recall R are determined for the aforementioned second group of defect values d.sub.set,d′″.
[0087] Such operation is thus executed for all the metallic components 2 that are represented by the first group of normalised values d.sub.set′, thus obtaining a division between metallic components 2 based on the type of weld defect.
[0088] To summarise, in light of what described above, the modelling block 12 is configured to execute a first classification, adapted to identify the presence or the absence of a weld defect (thus, using the first group of normalised values d.sub.set′), through the trained model M.sub.1, and a second classification, adapted to identify the type of defect if the first classification identified a weld defect (thus, using the first group of defect values d.sub.set,d′ and the second group of defect values d.sub.set,d′″, the latter used for the validation of the trained model M.sub.2), through the trained model M.sub.2.
[0089] At the end of the steps 25-27 of
[0090] Again with reference to
[0091] In particular, the second group of normalised values d.sub.set″ is firstly classified by means of the trained model M.sub.1, so that each normalised value d.sub.set″ is classified according to the classes C.sub.1 or C.sub.2; subsequently, the normalised values d.sub.set″ classified according to the class C.sub.1 (i.e. indicative of metallic components 2 having weld defects), which form a third group of defect values d.sub.set,d″, are furthermore classified by means of the trained model M.sub.2, so that the metallic components 2 having weld defects are classified based on the type of weld defect (classes C.sub.3-C.sub.5).
[0092] In other words, since the label of each metallic component 2 of the second group of metallic components 2 is not made known to the inference block 13, the aforementioned trained models M.sub.1, M.sub.2 are applied in succession to a dataset whose classification is known but unknown to the aforementioned trained models M.sub.1, M.sub.2, so as to classify and compare the classification produced by the trained models M.sub.1, M.sub.2 with the labels actually applied to the metallic components 2 identified by the second groups of normalised values d.sub.set″. More specifically, the classification obtained respectively from the trained models M.sub.1, M.sub.2 produces respective values representative of the probabilities that a sample metallic component 2 belongs to one of the classes considered (C.sub.1 and C.sub.2 in the case of classification based on two classes and C.sub.3-C.sub.5 in the case of classification based on three classes). Starting from the probabilities obtained, the classes with higher probability for each type of classification (i.e. based on two or three classes) are selected as classification output of the system 5.
[0093] Once obtained the classification from the trained models M.sub.1, M.sub.2, step 24, the inference block 13 generates the inference data d.sub.inf, which are thus indicative of the classifications made by the trained models M.sub.1, M.sub.2; subsequently, such inference data d.sub.inf are transmitted to the computation block 14, which is configured to determine quantities indicative of the quality of the classification executed at the previous step; in particular, the computation block 14 is configured to determine the corresponding output data d.sub.out, which comprise respective accuracy A, precision P and recall R, defined according to the equations (1), (2) and, respectively, (3). In particular, in this step, with the purpose to evaluate the classification executed by the training block 10, the labels associated with the metallic components 2 represented by the second group of normalised values d.sub.set″ are used for the determination of the quantities tp, fp, tn, fn and, thus, the accuracy, the precision P and the recall R.
[0094] In such regard, the Applicant verified that, in the case of classification based on two classes C.sub.1, C.sub.2, the trained model M.sub.1 has an accuracy A equal to 89.88%, a precision P equal to 87.61% and a recall R equal to 83.72%, assumed an error for each of the aforementioned quantities equal to ±0.01%. Furthermore, the Applicant verified that, in the case of classification based on three classes C.sub.3-C.sub.5, the trained model M.sub.2 has an accuracy A equal to 95.39%, a precision P equal to 93.89% and a recall R equal to 93.40%, assumed an error for each of the aforementioned quantities equal to ±0.01%.
[0095] Subsequently, the computation block 14 transmits the output data d.sub.out to the display 6, so as to make them displayable to the specialised expert. Furthermore, the trained models M.sub.1, M.sub.2 are stored in the memory 15.
[0096] The second operating step is now described, wherein the trained models M.sub.1, M.sub.2 (got from the memory 15) are applied to the values d.sub.G relative to the features G associated with the metallic components 52 whose labelling is not known with reference to
[0097] Initially, step 28, the sensor elements 3 detect the features G associated with each metallic component 52 in a corresponding time instant t.sub.k belonging to the time interval Δt; in particular, the features G associated with each metallic component 52 comprise, analogously to the features G associated with the metallic components 2, the voltage V at the ends of the welding arc, the welding current A, the flow of cooling water (H.sub.2O) φ.sub.H2O, the shielding gas flow φ.sub.g for the weld pool, the feeding speed v.sub.f of the filler wire, the frequency f.sub.w of the kinematic oscillation of the torch, the amplitude A.sub.w of the oscillation itself and, the feeding speed v.sub.w of the torch relative to the welding machinery 1 when the latter operates on the metallic components 52. Furthermore, the time interval Δt represents, analogously to what described with reference to the first step (step 18), the time used by the welding machinery 1 for performing the welding operations on the single metallic component 52.
[0098] Subsequently, the sensor elements 3 generate the corresponding values d.sub.G of the features G as well as the corresponding time instant t.sub.k belonging to the time interval Δt associated with the respective metallic component 52, and transmits them to the system 5, which receives them at the input block 7 (step 29).
[0099] Then, step 30, the input block 7 transmits the values d.sub.G received to the normalisation block 8, which temporally normalises analogously to what described with reference to the values d.sub.G of the features G associated with the metallic components 2 (step 20 of
[0100] The normalisation step carried out by the normalisation block 8 generates the corresponding normalised values of the values d.sub.G, indicated as d.sub.set′″, which represent as well the features G associated with each metallic component 52.
[0101] More specifically and analogously to the normalised values d.sub.set, the normalised values d.sub.set′″ are representative of temporal series (i.e. a sequence of the temporal instants t.sub.k of the corresponding time interval Δt) which describe the features G associated with each metallic component 52. The labels relative to the latter are still unknown. Such normalised values d.sub.set′″ are thus stored in the hardware support 9 and transmitted to the classification block 11, in particular to the inference block 16.
[0102] Subsequently, step 31, the inference block 16 is configured to receive the normalised values d.sub.set′″ from the normalisation block 8 and the trained models M.sub.1, M.sub.2 from the memory 15 and to apply the latter to the normalised values d.sub.set′″, analogously to what described with reference to the step 23 of the method of
[0103] After applying the trained models M.sub.1, M.sub.2, step 32, the inference block 16 generates corresponding inference data d.sub.inf′ based on the normalised values d.sub.set′″; in particular, the inference data d.sub.inf′ associated with the metallic components 52 are transmitted to the transmission block 17, which generates the corresponding output data d.sub.out′ based on the aforementioned inference data d.sub.inf′. In particular, the output data d.sub.out′ associated with the metallic components 52 are transmitted from the transmission block 17 to the display 6, so as to make them displayable to the specialised expert. In this manner, the system 5 signals to the specialised expert if the welding machinery 1 is correctly performing the welding operations. In other words, the system 5 carries out a real-time check of the aforementioned welding operations, i.e. is configured to process the values d.sub.G assumed by the plurality of features G, acquired during the execution of the welding on each metallic component 52 according to the modes above described in a lapse of time (inferior to the time interval Δt) so as to establish the probabilities of belonging of the outcome of the current welding on the metallic component 52 to each of the classes C.sub.1-C.sub.5 of the plurality of classes C, so that the system 5 does not thus wait for the end of the current welding of each metallic component 52 but that, during the same welding, checks that the machinery 1 is correctly performing the current welding. Consequently, the system 5 is configured to predict the quality of the current welding based on the probabilities of belonging to each of the classes C.sub.1-C.sub.5 of the plurality of classes C, since, starting from such probability, the system 5 is capable of providing a feedback to the user on the outcome of the current welding in the aforementioned lapse of time; in the light of such feedback, the system 5, autonomously or on command of the user, can modify the values d.sub.G assumed by the plurality of features G and, thus modify the actual final outcome of the current welding on the metallic component 52. In short, the system 5 is configured to monitor the features of functioning of the machinery 1 and, thus, the progress of the welding operation on the metallic component 52. The system 5 is of predictive nature, i.e. allows, based on the values d.sub.G, verifying in short time whether the machinery 1 is correctly performing (i.e. without generating weld defects, whatever their nature) the welding on the metallic components 52; such check is executed constantly, i.e. in real time, so that each metallic component 52 is welded correctly, thus sensibly reducing the incidence of weld defects.
[0104] When, in an alternative embodiment, the operations described with reference to the steps 28-30 are repeated up to the end of the welding operations of the metallic components 52 and, thus, the corresponding normalised values d.sub.set′″ are stored in the hardware support 9 at the end of the welding operations and analysed only at the end of these; in other words, in such case, the analysis is carried out downstream of the welding operations. Such embodiment is advantageously usable when, for example, the system 5 is not capable of operating in real time (temporarily or not) or in the case where the welding machinery 1 is not equipped with a connection that enables the sharing in real time but that on the other hand allows the storing of the values of the features G detected. In this case, the classification made by the system 1 allows determining the welding goodness downstream; therefore, such embodiment allows both validating the trained models M.sub.1, M.sub.2 identified and updating them, i.e. train it on new values detected (i.e. on new first groups of normalised values d.sub.set′ and of defect values d.sub.set,d′, which can have labels provided by an expert).
[0105] The aforementioned method and the relative system have several advantages.
[0106] In particular, as previously anticipated, the system 5 allows determining the decision rules that adjust the relationship between the sample metallic components 2 and the labels associated therewith; in this manner, identifying such relation, represented by the trained models M.sub.1, M.sub.2, and verifying it on a group of sample data (i.e. the second group of normalised values d.sub.set″ for the trained model M.sub.1 and the third group of defect values d.sub.set,d″ for the trained model M.sub.2), the system 5 is capable of executing and evaluating the quality of the classification made by the trained models so that, once optimised, the latter can be used on unknown metallic components 52 for example for monitoring the welding when the welding machinery 1 operates on the latter. In other words, the application of trained models M.sub.1, M.sub.2 on an unknown dataset allows, when the application takes place on data acquired in real time, executing predictions on the quality of the welding performed by the welding machinery 1, i.e. monitoring the welding process of the welding machinery 1.
[0107] In addition, the present system 5 and the relative method are configured to monitor different features relative to the functioning of the welding machinery 1; in particular, such features are detected by respective sensor elements 3, which are mounted directly on the welding machinery 1 and thus are not external to the machinery 1. Such detection allows obtaining better performances with respect to the known systems, which mainly rely on external systems for the monitoring of the functioning of the welding machinery 1, since they are less subjected to phenomena of noise or distortion which could compromise the evaluation by the trained models M.sub.1, M.sub.2. Therefore, this characteristic makes the aforementioned method and the aforementioned system particularly advantageous to be applied in the industrial field.
[0108] Furthermore, the trained models M.sub.1, M.sub.2, obtained starting from the aforementioned values d.sub.G of the features G associated with the metallic components 2, are optimised by means of various optimisation techniques and are robust, since they are obtained by means of a machine learning algorithm based on the random forest approach, which provides a classification with improved characteristics, in particular in terms of accuracy, precision and recall.
[0109] Finally, it is evident that modifications and variants can be made to the method and to the system for monitoring and predicting described and illustrated herein without thereby departing from the scope of protection of the present invention, as claimed in the appended claims.
[0110] For example, the number of features G and, consequently, the number of sensor elements 3 can be greater than eight.
[0111] Furthermore, the number of trees of the first and of the second random forests F.sub.1, F.sub.2 can be greater than four.
[0112] Furthermore, the metallic components 2, 52 or the type of welding performed by the welding machinery 2 can be different; for example, such metallic components 2, 52 can be crossbeams, frames, subassemblies or engines.
[0113] In addition, the type of welding machinery 2 can be different; for example, depending on the type of metallic components 2, 52 (for example, crossbeams, frames, subassemblies or engines) to be welded, arms, torches, interfaces and welding processes used by the welding machinery 1 can vary.
[0114] Furthermore, the number of classes of the plurality of classes C can be different; for example, in the case where the metallic components 2, 52 are engines, the plurality of classes C can comprise a class relative to the type of defect called porosity defect.
[0115] In addition, in the case where the random forest approach is used for a regression instead of for a classification, i.e. the system 5 executes a prediction on an infinite number of classes (for example, a real numeric value comprised in an interval, for example between zero and one) instead of a finite number of classes (for example, C.sub.1 and C.sub.2), the modelling block 12 will consider defect measures, for example a degree of defectness for a specific class, instead of single labels pre-applied by an expert; in this case, the procedure described with reference to
[0116] Finally, the modelling block 12 is capable of operating also using an algorithm of the not supervised type, i.e. wherein the labels associated with the metallic components 2 are not known a priori. In such case, the system 5 determines a single model that, in training step, allows defining groups or clusters of features G at the time instants t.sub.k which are similar to each other. Specifically, the goodness of the clusterisation is measured according to one or more metrics which evaluate the degree of intra-cluster homogeneity and their degree of extra-cluster separation. Such approach is characterised by the type of clustering algorithm (for example, a clustering algorithm such as K-means), a selection of a measure of distance between features G in different time instants t.sub.k and a metric of evaluation, the latter representing a measurement of the error of association between cluster and features G at the time instant t.sub.k.
[0117] The modelling block 12 implementing the aforementioned methodology thus generates a label of belonging to a cluster or a probability of belonging to each cluster; furthermore, the label associated with each cluster is identified by a specialised user.
LIST OF THE REFERENCE NUMERALS OF THE FIGURES
[0118] 1 welding machinery [0119] 2 metallic components [0120] 3 sensor elements [0121] 4A-4H sensors [0122] 5 system for monitoring and predicting [0123] 6 display [0124] 7 input block [0125] 8 normalisation block [0126] 9 hardware support [0127] 10 training block [0128] 11 classification block [0129] 12 modelling block [0130] 13 inference block [0131] 14 computation block [0132] 15 memory [0133] 16 inference block [0134] 17 transmission block [0135] 18 step [0136] 19 step [0137] 20 step [0138] 21 step [0139] 22 step [0140] 23 step [0141] 24 step [0142] 25 step [0143] 26 step [0144] 27 step [0145] 28 step [0146] 29 step [0147] 30 step [0148] 31 step [0149] 32 step [0150] 33 step [0151] 34 step [0152] 35 step [0153] 36 step [0154] 37 step [0155] 38 step [0156] 39 step [0157] 52 metallic components [0158] M.sub.1, M.sub.2 trained models [0159] G features [0160] d.sub.G values [0161] V voltage at the ends of the welding arc [0162] A welding current [0163] φ.sub.H2O flow of cooling water [0164] φ.sub.g shielding gas flow for the weld pool [0165] v.sub.f feeding speed of the filler wire [0166] f.sub.w frequency of the kinematic oscillation of the torch [0167] A.sub.w amplitude of the kinematic oscillation of the torch [0168] v.sub.w feeding speed of the torch [0169] d.sub.set normalised values [0170] d.sub.set′ first group of normalised values [0171] d.sub.set″ second group of normalised values [0172] d.sub.set,d′ first group of defect values [0173] d.sub.set,d′″ second group of defect values [0174] d.sub.set,d″ third group of defect values [0175] d.sub.inf, d.sub.inf′ inference data [0176] d.sub.out, d.sub.out′ output data [0177] C plurality of classes [0178] Δt time interval [0179] t.sub.k time instant [0180] C plurality of classes [0181] C.sub.1-C.sub.5 classes [0182] N.sub.T, N.sub.T′ number of decision trees [0183] F.sub.1, F.sub.2 random forests [0184] T.sub.1-T.sub.8 decision trees [0185] A.sub.1-A.sub.8 sets [0186] J hyper-parameters [0187] H maximum height of each decision tree [0188] n.sub.1-8,a-g nodes [0189] A accuracy [0190] P precision [0191] R recall [0192] tp true positive [0193] tn true negative [0194] fp false positive [0195] fn false negative [0196] t.sub.m time instant [0197] d.sub.set′″ normalised values