A method for providing parameters for setting up a spray painting apparatus.
A neural network-based method optimizes spray coating parameters by training on spray profiles and patterns, addressing the inefficiencies of manual trial and error, enabling quicker and more precise parameter setting in spray painting processes.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- スプレービジョン エスアールオー
- Filing Date
- 2023-05-12
- Publication Date
- 2026-06-04
AI Technical Summary
Current methods for setting spray coating parameters rely heavily on manual trial and error, requiring significant time and resources, and lack effective use of machine learning algorithms for optimizing spray painting processes.
A method utilizing a machine learning algorithm, preferably a neural network, trained on a dataset of sample and operating spray profiles and patterns, to predict and optimize spray coating parameters, reducing the need for manual experimentation.
This approach allows for faster, more accurate, and resource-efficient determination of optimal spray coating parameters, minimizing the reliance on skilled technicians and reducing the need for extensive testing.
Smart Images

Figure 2026518081000001_ABST
Abstract
Description
Technical Field
[0004] , ,
[0001] The present invention relates to selecting parameters for the operation of a spray coating device. More specifically, the present invention relates to a method of providing a user with appropriate spray coating parameters based on input criteria.
Background Art
[0002] In the current state of the art, the setting of spray coating parameters is performed based on experimental settings and their results. Therefore, this process is quite linked to the experience of the person performing the setting. Generally, it is important to find a plurality of optimal spray coating parameters, such as paint flow rate, atomizing air, shaping air, rotation speed, distance from the surface, etc. Optimization is generally performed by a skilled spray coating device operator repeating trial and error during actual spray coating operations. Therefore, the process is very time-consuming and may require a large number of test parts.
[0003] International Publication No. WO2019 / 201360A1 discloses a method and device for digitization of a spray coating pattern applied to a sample surface. Therefore, it is possible to obtain a digital representation (image) of the thickness of the paint applied on a sample surface (e.g., foil) by a spray coating device set up with specific parameters. Further usage of these data for analyzing or providing spray coating parameters is not described herein.
[0004] Many common approaches for analyzing large amounts of data are known in the current state of the art. For example, machine learning algorithms such as neural networks can be used to learn from large-scale training datasets, then generalize from these data, and process new data points accordingly. Exemplary documents describing neural network architectures are as follows. -2D Convolution Layer:LeCun,Y.,Bengio,Y.,& Hinton,G.(2015).Deep learning.Nature,521(7553),436-444. -FCN Layer:Long,J.,Shelhamer,E.,& Darrell,T.(2015).Fully convolutional networks for semantic segmentation.In Proceedings of the IEEE conference on computer vision and pattern recognition(pp. 3431-3440). -Max Pooling Layer:Zeiler,M.D.,& Fergus,R.(2014).Visualizing and understanding convolutional networks.In European conference on computer vision(pp.818-833).Springer. -2D Transpose Convolution Layer: Dumoulin,V.,& Visin,F.(2016).A guide to convolution arithmetic for deep learning. arXiv preprint arXiv:1603.07285. -Smoothing:Pal,N.R.,& Pal,S.K.(1993).A review on image segmentation techniques.Pattern recognition,26(9),1277-1294. -Normalization: Ioffe, S., & Szegedy, C. (2015).Batch normalization: Accelerating deep network training by reducing internal covariate shift.In Proceedings of the 32nd international conference on machine learning(ICML-15)(pp.448-456).
[0005] However, the current technology does not disclose any specific applications of such algorithms that are suitable for analyzing spray painting data or for providing spray painting parameters.
[0006] Therefore, it is advantageous to provide a method that can be used to find appropriate spray painting parameters, thus limiting the requirements of a user who is trying to set up a spray painting apparatus, or enabling the user to obtain better parameters and obtain those parameters more quickly, etc. [Overview of the Initiative]
[0007] The shortcomings of conventional solutions are mitigated to some extent by providing a method for providing parameters for configuring a spray painting apparatus. This method utilizes a control unit, a machine learning algorithm implemented by the control unit, and a set of sample spray patterns and corresponding sample spray profiles. The algorithm is trained on a training dataset, and each data point includes at least a sample spray profile, a corresponding sample spray pattern, a working spray profile, and a corresponding working spray pattern, where the working spray pattern corresponds to a training label (and therefore to the output of the network in use).
[0008] Each spray profile includes values for multiple profile parameters, i.e., parameters that define how the spray painting apparatus is set up and operated. Examples of profile parameters include paint flow rate, spray applicator speed (e.g., nozzle or its carrier), distance between the applicator and the surface, and viscosity of the material used. The type of apparatus or paint may also be among the parameters. In a particular spray profile, values for at least several parameters are given. However, some parameters may be undefined; for example, if a general spray profile includes parameters that define many different types of spray painting apparatus, only the parameters of one specific type of apparatus can be specified for any given profile. In that case, the algorithm can process the profile favorably (during training and operation) regardless of the specified parameters or their number. A preferred machine learning algorithm suitable for this method is a neural network, such as a convolutional neural network.
[0009] Each sample spray pattern represents the distribution of paint thickness provided on a sample surface by a spray coating apparatus for a specific sample spray profile. The distribution may be a two-dimensional distribution (e.g., the number of rows and columns of elements defining local thickness), but this 2D distribution can be simplified to a 1D representation. Thus, the pattern can be represented as an image, where the value of each pixel represents the paint thickness of the corresponding area of the surface. Preferably, each pattern is represented by so-called representative stripes. A stripe is a vector where each value represents the average paint thickness across the corresponding slice of sprayed paint on the surface. For example, a stripe can be obtained by calculating the average across each row or column of the image representing the paint thickness on the surface, or by averaging the pixel values of each row or column (or a trimmed portion thereof) of the image, where the average value (average light intensity) is then converted to a thickness value by a so-called calibration function. The rows / columns being averaged extend along the pattern / spray direction, i.e., parallel to the movement of the spray applicator. If the image rotates relative to the spray direction, i.e., if the rows and columns do not continue along the direction of movement, it may be necessary to rotate the image accordingly before averaging. However, this can be prevented by moving the applicator in the appropriate direction relative to the imaging device. The function can be any function that describes the relationship between intensity pixels (e.g., output from the camera) and the thickness value of the corresponding area (e.g., a few microns of paint imaged by the corresponding pixel). An exemplary method for obtaining the function is described further below.
[0010] Each operating spray pattern represents the distribution of paint thickness delivered to a sample surface by a spray coating apparatus for a specific operating spray profile. All characteristics of operating spray patterns may be similar to those of the sample spray profiles described above; for example, they may take the form of representative stripes. Differences in their patterns are mainly caused by differences in their respective profiles, the apparatus from which they are delivered, and the further conditions they provide. Sample spray profiles are generally obtained under more controlled conditions, and they are preferably selected to keep other parameters or conditions substantially the same so as to systematically cover or represent a certain range of available parameters. On the other hand, operating spray profiles can be obtained from many different sources with different conditions, not necessarily selected in a systematic manner. These conditions may include, for example, temperature, humidity, equipment condition, wear or maintenance status, etc.
[0011] In other words, sample profiles are provided to bring information to the method about how the spray pattern changes when specific spray profile parameters (or even some parameters) are changed. Operating profiles are provided to ensure the method is resistant to biases given by specific equipment, spray facilities, manufacturers of equipment or its components, types of paint, maintenance technicians, etc.
[0012] The sample spray profiles in the set belong to a multidimensional parameter subspace that defines the expected range of spray coating application. Preferably, the set is a user-created set; that is, the set includes spray profiles and patterns collected by (or with in mind) the user of the method, or at least by the user of the parameters output by the method (or collected by different users working within similar parameter ranges). For example, the user can define a subspace; that is, they can decide which parameters need to be specified for the apparatus and what range these parameters can be in their spray coating facility. The user then defines sample profiles, for example, by randomly or nearly uniformly dividing each dimension of the subspace with some specific values of the corresponding parameters and combining these values to form a spray profile. For each of those profiles, the user then provides a corresponding pattern using one or more of their apparatus. Calibration and / or simplification (converting the pattern to stripes) can then be performed and the set is created.
[0013] The sample spray profiles in the training dataset belong to a multidimensional parameter subspace that defines the training range of spray coating applications, and the training range subspace is covered in at least several dimensions that are more precisely covered by the sample spray profiles and / or is wider than the expected range of the subspace. Preferably, it is both. Preferably, it is more precise and / or wider in all dimensions of the parameter subspace. It can also have more dimensions. Since training a machine learning algorithm is preferably independent of the method's users, the training dataset favorably contains more data points than user-specific sets. For training a method, more attention can usually be paid to the data set, and more time and resources can be spent. The training range must also be large enough to cover most or all possible spray coatings. In particular, the expected range can be a suitable subset or subspace of the training range; that is, the set subspace can be a suitable subspace of the training parameter subspace. Such relationships between ranges reflect the fact that the training dataset needs to be general enough to encompass many different applications across many different spray painting plants, while the sets must help direct the method and its algorithms to a specific subspace related to a particular spray painting plant, or some specific application, etc.
[0014] Sample data for the training dataset can be collected by the method provider (i.e., the party training the machine learning algorithm). This provider can determine which spray parameters need to represent in several profiles of several anticipated customer applications. The provider can then determine the range for each of those parameters and the precision required to cover that range, for example, whether a certain parameter needs to have three values or ten values to cover that range. For example, if paint flow rate is a particular parameter, it can be determined that it realistically can have values between 100 and 1500 ml / min. Fifteen values separated by 100 units may then be used to cover the interval. However, a person skilled in the art can determine that eight values separated by 200 units are sufficient, or that values near the ends of this interval are less likely to be used than values formed between, for example, 300 and 750 ml / min, and thus this sub-range can be covered more precisely than the rest. Given intervals defined and divided for each dimension, individual values can be combined to form spray profiles. For example, each possible combination of values, or a randomly selected subset of the set of all possible profiles from the values, can be used.
[0015] Next, for each profile, spray patterns can be provided by several spraying devices. One or more different devices can be used for this purpose. Since the operating profile provides bias tolerance, it is also possible to use a single device to provide sample data for the training set. Careful monitoring of the conditions for providing the sample patterns can be used to ensure that the data is pure and that the conditions between individual sprays differ only in parameter values. Calibration foil can be used as the sample spray surface. Calibration and / or simplification can then be performed.
[0016] Operating spray patterns are provided by multiple different spray painting devices from different spray painting facilities. Operating data can be provided by many different spray painting companies to provide a wide variety of data. This data does not need to be collected systematically; that is, technicians from various facilities can provide patterns and profiles for specific applications in use, without the profiles covering a range or partial space. This data preferably corresponds to actual applications actually used in the industry to spray actual parts. However, operating data can also be obtained (alternatively or additionally) from different user-specific sets from many different users.
[0017] This method involves at least one iteration, each iteration comprising the following steps: The step of receiving an iterative spray profile, i.e., a spray profile that is specific to a given iteration and, if any, may have some parameter values from the profile that differ from other iterations. In the first iteration, this profile may be provided by the user, for example, when the user wants to optimize the spray profile currently in use, or it may be provided by the method itself before the start of the iteration. In that case, it can be predefined or preferably generated randomly. In subsequent iterations, the output from the previous iteration may be used as the iterative spray profile for that iteration, after some adjustments have been made to some of the values in the previous profile, for example, as described below. The step of selecting N sample spray profiles from a set, each having N corresponding sample spray patterns, where N is a predetermined positive integer. N is preferably 2 to 10, for example, 5. The selection may be random or according to some criteria, in particular according to a predefined metric, where sample profiles that are close to (preferably but not necessarily) the repeated spray profiles are selected according to a metric. Manhattan distance or cosine similarity are examples of suitable metrics. These selected sample profiles are used in a further step to provide the Method with information on how the patterns change when parameters are shifted and how they appear under user-specific conditions reflected in the set. The first step involves inputting an iterative spray profile and one of the sample spray profiles having a corresponding sample spray pattern into the algorithm, and receiving an algorithm output that describes the expected spray pattern for each of the N selected sample spray profiles. This step is therefore repeated N times. As described above, the algorithm receives three inputs: a spray profile from which a pattern is provided, sample profiles from the set, and the respective sample spray patterns of those profiles. The algorithm then provides its estimate of what the resulting spray patterns from the input profiles should look like. The step of combining N algorithm outputs into an iterative output spray pattern. If N is 1, this step can output its input; that is, this step essentially does nothing and can be skipped. For larger Ns, a single iterative output pattern is provided, created from the N algorithm outputs. This combining can take the form of, for example, averaging. Simplification can also be part of this step, or it can be before or after this step. • A step to evaluate the repeated output spray pattern according to predetermined criteria. In this step, the repeated output pattern is tested to confirm whether its quality is sufficient for the desired application, for example, whether the paint is used efficiently, whether the sprayed surface is sufficiently and uniformly covered, etc. Many different criteria can be established for this step by an expert, depending on the desired application, customer requirements, etc., some of which are shown below. Commonly used criteria can be predefined in the method, for example in the control unit, and the user of this method only needs to select one or more of them as needed and provide the target values for the criteria. - A step in which, if the iterative output spray pattern does not conform to the criteria, the iterative spray profile is adjusted and provided as the iterative spray profile for the next iteration. In other words, if the iterative spray profile does not result in a suitable pattern, it is modified (some of its parameter values are changed), and the next iteration can be started to see if the modified profile is suitable or at least better. The method may terminate at this step even if the evaluation has not yet been successful after a certain number of iterations have failed. If different patterns (and therefore their iterative profiles) can be compared using the criteria used for evaluation, for example, if a score is calculated based on some criteria, the best-performing profile found so far by the method can be stored in the method's memory. If an output pattern is found to be better, it is updated in each iteration. If the method terminates without success, the best (but not sufficient) pattern and the iterative spray profile on which it is based may be output. or - A step in which the method uses profile parameters from the iterative spray profile as parameters for setting up the spray painting apparatus, provided that the iterative output spray pattern conforms to a standard. In this step, the method successfully completes; that is, a suitable pattern is obtained, and its iterative profile can be used to set up the spray painting apparatus. Using a profile as parameters for setting up a spray painting apparatus can take the form of actually setting up the apparatus using the parameters, which can be done automatically, for example, by the control unit of the method, or by the control unit of the apparatus that receives the parameters from the method, or by a technician receiving the parameters from the method. It can also take the form of sending the profile to a customer or technician, for example, and the apparatus setting is done by them remotely from where the method is actually performed. For example, the method can be performed as a service, where the customer provides input data and receives the spray profile, while the method is performed remotely by another person from the customer and the customer's apparatus. In other words, the actual apparatus setting may be part of the method following the successful evaluation and subsequent completion of iterations. However, it does not have to be, and the method may complete by providing parameters or a profile, and the actual apparatus setting may be done outside of the method.
[0018] It may be advantageous if all spray patterns used in this method or in its preparation (e.g., algorithm training) are represented by stripes as described above. The amount of computation and memory space required for the method can thus be significantly reduced without losing a considerable amount of useful information.
[0019] The parameter subspaces described above, namely the set subspace defining the expected parameter range and the training subspace defining the training range, can be covered substantially uniformly by their respective spray profiles. This means that the coverage in any given dimension (parameter interval) can be nearly uniform, and does not need to be covered by strictly equidistant values, for example, but the selected values must represent the range. The endpoints of the interval can preferably be used for representation, along with at least one intermediate point if the interval is longer. The exact number of values required for substantially uniform coverage in a given dimension can be established by those skilled in the art. Some dimensions can also be discrete, defined, for example, by a set of possible values rather than by a continuous interval. For example, a parameter defining the type of device might define such a discrete dimension with only values such as gun type and rotary bell type.
[0020] The method of the present invention, thanks to a machine learning algorithm, makes it possible to simulate the spray pattern resulting from a given spray profile. This simulation can be used in this method to check whether a particular device can be set up using a specific profile (repeated spray profile), and whether a suitable spray can be expected from the device when actually set up using the parameters from the profile. Thus, the need to test profiles and parameters by actually using them in actual spraying is greatly reduced or completely eliminated. Consequently, paint, energy, time, and other resources are saved by this method. This method can also be used to provide better parameters, i.e., to optimize the spray profile. In the current art, this optimization process must be performed by skilled technicians, and it is mainly based on their intuition or experience. Thus, this process is time-consuming and depends on the expertise of specific individuals. On the other hand, this method can be used by less experienced technicians, can be performed much faster and more accurately with fewer resources, and can yield more predictable and stable results.
[0021] The control unit preferably includes memory, which may store machine learning algorithms, programmed instructions for implementing the method, and / or sets thereof. The memory may be local memory, but it may also be remote storage, such as the cloud. For example, the control unit may be a desktop computer or its processor with a hard drive. It is therefore preferable that it further includes a display, keyboard, or other input devices, etc. The method may also be implemented or used as a distributed computing process, for example, some steps may be performed by different computing units, and the step outputs may be transmitted between units.
[0022] Before the first iteration, another step, i.e., the step of receiving at least one target value for at least one spray pattern parameter, may exist in the method. In each iteration, the combining step includes determining the iterative spray coating pattern parameters from the iterative output spray pattern (or the determination can be made after combining in another step), and the method further includes determining a score based on the distance between the target value of the spray coating pattern parameters and the value of the iterative spray coating pattern parameters according to a predefined metric. This metric can be, for example, the weighted sum of the absolute values of the differences between the target value and the determined parameter values. Based on the score, the iterative spray profile is randomly adjusted and provided as the iterative spray profile for the next iteration, or its parameters are used to set the spray coating apparatus. Thus, the evaluation is based on the comparison of the score with a score threshold that can be predefined in the method, for example, or provided by the user and the formula for score calculation. In other words, the evaluation can be based on the pattern parameters, and a general example thereof is shown below. These parameters can be automatically calculated from the iterative output pattern in the same way as the way to obtain them for the actual spray pattern. Their exemplary calculation methods are also further shown below.
[0023] The iterations of the method can be performed as iterations of an evolutionary optimization algorithm, for example, a simulated annealing algorithm. These algorithms are suitable for the method because they inject randomness into the adjustment / modification / mutation.
[0024] The method can further include receiving constraints for at least one spray profile parameter, and when the iterative spray profile is adjusted, the new values of the at least one spray profile parameter are in accordance with the constraints. In other words, the constraints may be set for the adjustment of the iterative profile. This prevents the method from involving iterations with iterative profiles that are not suitable for a given spray application or device, for example, having a paint flow rate that is too large which would increase the paint consumption more than the user can supply. Some constraints can be predefined in the method (for example, since a negative paint flow rate has no meaning, a constraint greater than zero can be predefined), and they can be supplemented or overwritten by the user whenever needed.
[0025] In the selecting step, based on a predetermined metric, the N spray profiles closest to the iterative spray profile are selected. Since these sample spray profiles are the most similar to the iterative profile, they are most suitable for providing useful information to the machine learning algorithm. However, it is also possible, for example, to select randomly and ignore some of the closest profiles that are too similar and use more distant profiles.
[0026] In the evaluating step, at least one spray pattern parameter selected from transfer efficiency, spray coating uniformity, spray coating thickness, and spray coating width can be determined from the iterative output spray pattern, and the determined value can then be compared with at least one target spray pattern parameter value. Since these four parameters themselves are known in the art, they are also suitable for this method, and as a result, the user knows what to define and which target values to input according to their own needs. However, it is also possible to use different or additional parameters.
[0027] The combination can be done as a weighted average. Furthermore, a favorable way to obtain the weights may be such that the weight corresponding to each algorithm output is proportional to the distance of the corresponding selected spray profile, from which the algorithm output is constructed for the iterative spray profile according to a given metric. If the selection is done using a metric, this metric may be the same as the one used for selection. However, it is also possible to use a different metric. For example, Manhattan distance or cosine similarity can be used. This weighted average is favorable when combining because it gives more weight to the closest set of individuals.
[0028] Adjusting the iterative spray profile may involve obtaining a random number and adjusting or replacing the values of parameters (e.g., also randomly selected) from the iterative spray profile with the obtained random number. The random number can be, for example, a multiplier. It can also preferably be a new value for the parameter, for example, a threshold provided by the user as input to the method, selected from a given interval of possible parameter values.
[0029] A multidimensional parameter subspace defining the expected range of spray coating application can be substantially uniformly covered by sample spray profiles within the set, so that for most dimensions of the parameter subspace, different values of the profile parameters corresponding to that dimension are represented by different sample spray profiles. As described above, this may include endpoints of a given interval, and preferably one or more values between them. This is preferably true for all dimensions represented by the set, where a range is defined for the parameters of that dimension. This feature can be applied similarly to training ranges and training datasets, either alternatively or additionally.
[0030] This method may include a preparation phase for assembly, which includes the following steps: • The step of preparing a set of sample spray profiles. A person skilled in the art can determine how many such profiles are needed and how they should look. One example of this preparation might be to uniformly cover each dimension with a number of equidistant values, and then combine these values into profiles so that each value is present in at least one profile. However, it is possible to make the coverage of some dimensions more precise, for example, in some partial ranges where changes in parameter values have a greater impact on the resulting pattern. The process involves obtaining a corresponding sample spray pattern by imaging a sample surface sprayed with parameters set from a given sample spray profile using a spray painting apparatus, and calibrating the image pixels using a calibration function, for each of the prepared profiles. This step can be relatively time-consuming, and since actual spraying can take a considerable amount of time, the number of profiles should be selected accordingly. The sample surface may be a calibration foil, preferably containing a grid, i.e., a transparent foil. Other surfaces such as metal sheets, glass or plastic, or opaque foils can also be used. Imaging can preferably be performed by any imaging device equipped with a light source, such as a camera.
[0031] The calibration function is responsible for converting image pixels, for example, array elements representing the brightness of light or similar phenomena generated by an imaging device, into corresponding array elements representing thickness values, for example, paint thickness. This function is obtained through a calibration step, which includes the following steps: The first step is to obtain at least one sample surface spray-painted by a spray painting apparatus. This step can use the same spray painting apparatus set by the parameters from this method, but different apparatuses can also be used, as the relationship between appearance (image from an imaging device) and paint thickness is mainly paint-dependent and not necessarily heavily dependent on the apparatus. In that case, the entire set can be created for a single paint or type of paint, but it can also cover multiple types of paint. It is also possible to convert a specific pattern from one paint to another to obtain a corresponding pattern that describes, for example, the brightness or thickness achieved during spraying of a paint different from the one actually used for spraying. In this way, a set created for a specific paint or type of paint can be used in this method even when using different paints or types of paint, especially when calibration functions for both types of paint are available. • A step of imaging the sample surface. Therefore, the brightness distribution can be obtained. The step involves measuring the thickness of the paint on the sample surface at multiple points on the sample surface. The points for measurement can be automatically selected, for example, by a control unit or different processing devices. When using a sample surface with a grid, it is preferable to select grid cells with uniform brightness, because measurements can be taken anywhere in the grid cells and the accuracy of the measurement position has a relatively small impact on the measured thickness. This is especially important when measurements are performed manually, as a human operator may not be able to measure the thickness at the exact location corresponding to a particular pixel. • A step of obtaining pixel values from the sample surface image at points corresponding to each measurement point. If a grid is used, the average across grid cells can be used instead of a single pixel value obtained from, for example, the center of a cell. The step involves fitting a function to the acquired pairs of measured thickness and corresponding pixel values. Polynomial regression can be used. The pairs of values for fitting can be obtained from measurements on a single sprayed surface. Alternatively, multiple sample surfaces can be spray-painted and measurements taken on all of them. One function can then be fitted to all pairs, or multiple functions can be obtained, one for each surface, and then combined, for example, by averaging the corresponding polynomial coefficients.
[0032] Next, the resulting continuous calibration function can be used to convert any luminance value into a thickness value, especially when acquired by the same type of imaging and illumination device. Since imaging can be performed, for example, sometimes in the visible spectrum, and other times (e.g., in the case of different paints) in the IR or UV spectrum, or the entire spectrum from IR to UV, the calibration function may be specific to a particular type of imaging device. In that case, one set may include, for example, patterns acquired by different calibration functions and by different imaging devices. However, since thickness is independent of those elements, the set can be the same regardless of the imaging method(s) used to acquire it.
[0033] Calibration functions can be used not only for preparing the set but also for preparing the training dataset, and in some cases, they can be used as part of a machine learning algorithm to preprocess network outputs, etc. The calibration stage can be part of the set preparation stage or can be performed beforehand. Similarly, the set preparation stage may be part of the method or may be performed before the method starts, and only the results of these stages are used thereafter during the actual method. Since calibration functions and / or sets can be used in many executions of the method, for example, the user prepares a set once and then uses the method to provide parameters for the next few months or years, so set preparation is preferably separated from the method itself or is only part of the optional selection of the method. At the start of the method, the user may have the opportunity to select the set and / or calibration to use, for example, depending on which equipment to set up or which paint to use, or they may have the opportunity to provide a new set or calibration function if none of the previously established ones are suitable. For example, several calibration functions for the most commonly used paint types may also be predefined within the method / its memory.
[0034] In each iteration, before combining, each algorithm output can be processed by the following steps: - A step of calibrating at least some of the pixels in the algorithm output using a calibration function. • A step of averaging each row or column to obtain a vector of average calibration values. Thus, this vector is the representation stripe, as described above. Thus, this step corresponds to the simplification of the output as described above and can be done without the prior calibration step. The combining step and the evaluation step are then performed on the stripe and are therefore faster. The calibration function can be obtained as described above and can be the same function or a different function used for preparing the set.
[0035] The method may further include the step of displaying a combined iterative output spray pattern from the processed algorithm outputs on a display device in at least one iteration. Preferably, this is done in at least the final iteration, and the pattern of the best profile found during the method is displayed. Thus, the user can visually confirm what the pattern looks like. The displayed image preferably includes multiple identical rows or columns, each containing values corresponding to individual values of the processed algorithm outputs. In other words, a representative stripe is preferably displayed stretched across multiple repeating rows or columns for better visibility. However, it is also possible to display the unsimplified iterative output.
[0036] In at least one iteration, the iterative output spray pattern can be projected onto a 3D model of the part intended for spray painting, and the part with the projected pattern will be displayed on the display device. Thus, the pattern can be shown not only as a flat pattern as described above, but can also be applied to a 3D part representing the actual part that the user intends to spray paint after the device has been set up with the acquired parameters.
[0037] The shortcomings of solutions known in the prior art are also mitigated to some extent by a computer program that, when executed by a computer, includes instructions that cause the computer to perform the method according to the present invention. In some variations of the method, the program needs to be executed on a computer, i.e., a control unit or processing unit, as well as on a device including a display device, an imaging device, a spray painting apparatus, and so on. For example, if the method includes a calibration step, the equipment required for calibration should be part of the device on which the method is performed.
[0038] The shortcomings of solutions known in the prior art are also mitigated to some extent by a computer-readable storage medium containing instructions that cause the computer to perform the method according to the present invention, when performed by a computer. As described above, in some cases the computer may need to be connected to other equipment in order to perform the method.
[0039] The outline of the present invention will be further described using exemplary embodiments thereof, which will be explained with reference to the accompanying drawings. [Brief explanation of the drawing]
[0040] [Figure 1] An exemplary case 1 embodiment shows a schematic flowchart of a method for providing parameters for setting up a spray painting apparatus. [Figure 2] A schematic flowchart illustrating an exemplary iteration of the method shown in Figure 1 is provided. [Figure 3] An illustrative flowchart of the calibration stage of this method is shown. [Figure 4] A flowchart of the set creation stage of this method is shown. [Figure 5] A flowchart of the second iteration embodiment of this method is shown. [Figure 6] An exemplary visualization of the stretched stripe is shown in a corresponding graph representing the thickness distribution across the entire width of the simplified spray pattern, with the maximum thickness and SB50 width marked by arrows. [Figure 7] Exemplary diagrams are shown for simplification (creating stripes) and stripe extension. [Figure 8] This shows a schematic graph of the paint thickness across the entire pattern width for a low-uniformity pattern. [Figure 9] This shows a schematic graph of the paint thickness across the entire pattern width for a more uniform pattern. [Modes for carrying out the invention]
[0041] The present invention will be further described using examples of embodiments with reference to the respective drawings.
[0042] An exemplary embodiment of a method for providing parameters for setting up a spray painting apparatus is shown in the flowchart of Figure 1, with details describing the individual iterations shown in the flowchart of Figure 2. An integral part of the method in this embodiment is a convolutional neural network (CNN). Any suitable CNN architecture can be used in this method. The CNN training dataset includes a large number of data points (e.g., at least several thousand), each data point including a sample spray profile, a corresponding sample spray pattern, a working spray profile, and a corresponding working spray pattern.
[0043] A spray profile, whether a sample spray profile, a working spray profile, or any other type of spray profile, contains values for at least several spray profile parameters required by a particular spray painting apparatus, for example. Thus, a spray profile is essentially a point or vector in a multidimensional spray painting parameter space. In this space, a metric, i.e., a formula for measuring the distance between profiles, can be established. Some possible applications of these metrics in this method are shown below. Examples of profile parameters for three different types of apparatus are shown in Table 1 below. A spray profile can contain any combination of these, and in alternative embodiments, other parameters are also possible. In some embodiments, each profile in the dataset and / or each profile further used in the method may contain the same parameter values. However, it is also possible to train this method with profiles having different parameter values, for example, profiles where some parameters are not specified. [Table 1] [Table 2]
[0044] For a particular spray profile, a particular spray coating apparatus can generate a spray pattern, for example, by spraying a certain amount of paint onto a surface, and the distribution of the paint is affected by parameters and the apparatus itself (e.g., the type of apparatus, the wear of its nozzles, etc.). Therefore, a spray pattern corresponding to a particular profile can be generated, in particular, by imaging the sprayed sample surface (e.g., using a camera) and then preferably calibrating the image (in particular, by cropping the image as necessary and converting the image pixel values to paint thickness representation pixels, as described below). The cropped portion can be placed, for example, in the center of the image. Thus, each spray pattern represents a 2D distribution of paint thickness. The sample surface may be, for example, a sampling foil, a metal sheet, or even the surface or part of a surface of an actual part intended to be sprayed in a given spray facility.
[0045] The sample spray profiles represented in the dataset are selected to represent the entire parameter space or a specific subspace thereof, for example, a subspace where a spray profile for actual application is expected to exist. Thus, the subspace can be confined in each dimension by intervals of values for a given parameter that are realistically possible in practical application. Therefore, it is preferable that the sample spray profiles are substantially uniformly distributed within the (sub)space. For example, in each dimension (i.e., for each parameter), several equidistant values can be selected, including boundary points of realistic intervals selected by those skilled in the art, and several points between them. Thus, the sample spray profiles may be all possible combinations of these values in each dimension, or a subset of all possible combinations (e.g., a randomly selected subset). However, the sample spray profiles do not need to be strictly uniform (e.g., they do not need to be strictly equidistant in a particular dimension). Those skilled in the art can select sample profiles that they believe will fit to approximately represent the required parameter (sub)space. In some embodiments, the sample spray profiles may be randomly selected, for example. The sample spray profiles, along with their corresponding sample spray patterns, provide data illustrating how the paint thickness distribution changes as the parameters change. All sample spray patterns may be provided by a single device, but may also be provided by multiple devices. In some embodiments, a user set or a combination of several such sets may be the source of sample spray profiles and patterns for a training dataset. Sets are described in more detail below. Training sample patterns can cover a parameter (part) space more precisely than user sets, and they may be provided for different paints with several different devices, etc. On the other hand, user sets may also have their options or needs regarding the user's expected coverage area and the use of different paints or devices that may be further limited.The training sample profile can favorably represent the parameter subspace required by any potential user.
[0046] Operating spray patterns and their corresponding profiles are provided by multiple different devices from multiple different locations (factories, plants, laboratories, etc.), maintained by different technicians, and at different wear stages, etc. Therefore, the parameters can correspond to actual industrial applications. They do not need to be selected as representative of the entire parameter (part) space. For example, a database of such patterns and profiles can be created by collecting individual data points (profiles + patterns) from various users of spray painting equipment over a longer period. Therefore, since this data is obtained from many different devices, it is less likely to be biased by failures or wear of specific equipment. The sample spray patterns mentioned above can be biased by failures, wear of nozzles or other components, incorrect equipment configurations, etc., because the sample patterns are generally obtained from a single or few sources. By combining sample data with operating data to create a training dataset, this bias can be eliminated, and thus the quality of the dataset can be greatly improved. The trained neural network can generalize much better and provide more accurate data.
[0047] Therefore, each data point in the training set includes two types of data: sample data that can be obtained by a single party, e.g., a person skilled in the art who sets up a method and distributes it to customers, and operational data obtained from multiple sources, i.e., multiple plants, factories, or other facilities with spray painting equipment(s). Sample data can provide substantially uniform coverage of the relevant parameter subspace, but it can be biased. While operational data is less likely to be biased, obtaining such data that systematically covers the entire subspace is highly impractical, if not practically impossible. Combining the two types of data combines the advantages of both: reasonably unbiased information and reasonable difficulty in data collection.
[0048] During training, behavioral spray patterns are used as labels. For example, behavioral spray profiles, sample spray profiles, and sample spray patterns are used as input, and the network parameters are optimized through training to generate the corresponding labels (behavioral patterns). A portion of the dataset can be used as a validation dataset to check for and prevent overfitting, as is common in neural network training.
[0049] Another important tool used in this method, in conjunction with the CNN, is a set of sample spray patterns and corresponding sample spray profiles. This set is preferably created by the user of the method; that is, it does not need to be provided by the provider who creates the training dataset and trains the network. This set is used to introduce user-specific conditions into the neural network processing and the neural network output. The steps for creating this dataset are shown in Figure 4. Obtaining sample profiles and patterns for the network training dataset can follow the same procedure. Given that the network receives a specific profile, sample profiles, and corresponding sample patterns from the set as input, it can then create a spray profile that closely resembles the actual spray profile, which is generated by the user-specific device used to create the set, provided that the device was set up with the input profile. The sample spray profile is selected to cover a substantially uniform subspace of spray profile parameters relevant to a particular user. For example, the selected values do not need to be exactly uniform or equidistant (as described above for the sample profile of the training dataset), but it is preferable that they spread across the entire subspace rather than being significantly clustered only in smaller parts of the subspace, unless this part is more relevant than the rest. Therefore, the use of sets is relatively common, as it allows the network to provide more realistic outputs by complementing the relationship between profiles and patterns learned from the training dataset with data describing the state of the user in the spray facility.
[0050] In one embodiment, this is further referred to as Case 1 and may be a specific variation of the embodiments from Figures 1 and 2, in which the input to the method is a spray profile determined by the user. In Case 1, the method allows the user to simulate what the spray pattern of the spray profile will look like, what its pattern parameters will be, evaluate these parameters, and fine-tune the profile if the evaluation is not satisfactory. Thus, it basically provides a faster, cheaper, and more accurate alternative to setting up the apparatus, spraying onto a sample surface, visually checking whether the pattern is acceptable, then setting up the apparatus with the user-adjusted profile, and repeating the entire process until a suitable profile is found.
[0051] Pattern parameters may be one or more of the following: transfer efficiency, spray coating uniformity, spray coating thickness, and spray coating width (e.g., so-called SB50). The spray pattern produced by a device in which the coating element (nozzle) moves along the sprayed surface is generally thickest in the center (along the same direction in which the coating element moves) and decreases in thickness towards the sides (see pattern in Figure 7). Uniformity basically represents the decrease in thickness similarly or differently toward the opposite side (see Figures 8 and 9 for a comparison between a pattern with low uniformity (Figure 8) and a pattern with relatively high uniformity (Figure 9)). Uniformity can be measured, for example, from a representative stripe. It can be measured, for example, by finding the maximum thickness value and measuring the thickness of the stripe at a specific distance to the left and right of the maximum value. The difference between the measured thicknesses, or the sum of the squares of several such differences of multiple pairs of measurements at different distances from the maximum value, can then be compared to a threshold. Uniformity can also measure how much the thickness distribution changes along the pattern, i.e., along the spray direction or the direction of nozzle movement. Next, this can be measured, for example, by measuring SB50 at multiple points along the pattern and determining the sample variance of these width measurements. If the variance is below a certain threshold, the pattern can be considered uniform.
[0052] Transfer efficiency refers to the amount of paint that leaves the coating element (and is therefore used in a spray process) that is transferred to the target surface rather than being dispersed into the surroundings, dripping downwards, etc. It can be calculated as follows:
[0053] TE=vol / ((effW / spd)*(pf*(solid / 100)) / 60)*1000, Here, TE (%) is the transfer efficiency, vol (mm³) is the volume of paint used, effW (mm) is the width of the measured pattern, spd (mm / sec) is the applicator speed, pf (ml / min) is the paint flow rate, and solid is the solid content (%) of the paint.
[0054] The spray paint width is typically determined as the distance between two points having the same (but not the maximum) thickness at a specific cross-section of the pattern (where the cross-sectional plane is perpendicular to the direction of movement of the coated elements). If two selected points have a thickness equal to half the maximum thickness between the points, their distance is called SB50. For a given pattern, the width can be measured / determined at a given cross-section, which can be an average over several predetermined or randomly selected cross-sections, which can be an average over the entire pattern length, and so on. The spray paint thickness can be measured from a representative stripe, for example, by finding the maximum value of the stripe.
[0055] The initial stage of this method includes, at a minimum, receiving input data from a user and receiving or being granted access to a user set. The method may also generally include a setup stage, which can be performed by the user but is not required and can be performed by the provider before the method begins, and therefore does not need to be performed during the execution of each method. During the setup stage, several method parameters may be selected, such as the value of N, the metric(s) used, the criteria and their values used for evaluation, the score calculation formula, the optimization method parameters, the maximum number of iterations, and the calibration function (the meaning and impact of these parameters will be further explained below). In different embodiments, some or even all of these parameters may be selected by the user at the start. The method then begins an iteration stage having at least one iteration in the following steps. These steps are also shown in Figure 2. The following iterations describe Case 2, a variation of Case 1 of the method, which will be further explained below, but mainly differs in the adjustment steps. • Receiving the iterative spray profile. In the first iteration, this spray profile is received from the user, for example, by the user using the keyboard to input parameter values for some or all possible parameters in the spray profile. In subsequent iterations, the iterative spray profile, if any, is the output from the previous iteration. The selection of N individuals from the set, which are sample spray profiles from the set. N is a predefined positive integer, e.g., 1 to 10, preferably 3 to 8, e.g., 5. This value affects the accuracy of the CNN output (in this respect, a larger N is better), but also affects the computational cost required for each iteration (in this respect, a smaller N is better). In exemplary embodiments, a predetermined metric in the spray parameter space, such as Manhattan distance (sum of individual distances in each dimension) or cosine similarity (cosine of the angle between vectors), is used for selection. As an example, one could select the N closest sample spray profiles (along with their corresponding patterns) whose metric is closest to the iterative spray profile. If several profiles have the same metric distance, one may be selected randomly, for example. Using the closest profiles is advantageous because these sample profiles from the set are most similar to the iterative profile, and therefore their corresponding patterns should generally be most similar to the desired CNN output profile, thus providing the network with the most appropriate user-specific data, and as a result, the network can approximate the actual patterns provided by the user's equipment. Alternatively, for example, one could select 2N closest profiles from the set, randomly select half of them, and include further sample profiles with N-1 closer or closest profiles, and so on. • Use of CNN. This step is repeated for each selected profile; that is, it is performed N times before the combining step described below can be initiated. The iterative profile and one of the selected profiles with the corresponding sample pattern are input to the neural network. In this way, a network output (generally a machine algorithm output if different algorithms are used) is produced. This output is essentially the network's prediction of what the actual spray pattern of the iterative profile will look like. • Calibration of network outputs. Each output is calibrable. In some embodiments, the CNN can include calibration, so this step may be omitted here. A calibration function is used that describes the relationship between the pixel values of the actual image of the sprayed surface and the thickness of the paint on this surface. Thus, the calibration function converts each pixel from values describing color, brightness, etc., to thickness values in micrometers. In other words, if the network outputs a visual representation of how the actual sprayed part or surface looks to the observer, the calibrated image represents the expected thickness of the paint at each point / pixel. Paint thickness is one of the most important pattern parameters and can be evaluated more easily (by computer) than the visual pattern. • Simplification of the calibrated output. So-called representation stripes, or simply stripes, are created in this step (see Figure 7). The network output can be trimmed at the beginning of the step, but can also be used as is. In some embodiments, trimming may also be performed before calibration. For each row or column of the (trimmed) image, an average value is calculated and stored as the corresponding stripe (vector) element. In some embodiments, this averaging and creation of vectors from the 2D image may be performed before calibration.
[0056] Creating stripes significantly reduces computational requirements and speeds up the method without substantially compromising the accuracy of the results. Examples of thickness distribution (calibration) images, stripes, and stretched stripes are shown in Figure 6, which are 2D images of repeatedly repeated stripes that can be used to display stripe data to a user on a display device. In some embodiments, this step may be omitted, and an unsimplified 2D image may be used in a further step. • A combination of N stripes. One common output is created from the N (calibrated and simplified) outputs. Stripe averaging can be used, for example, by calculating the average of the first element from all stripes and storing it as the first element of the combined stripe. A weighted average can be used, in particular, having weights given by the normalized value of the metric used to select each given sample profile from the set, i.e., the average is more influenced by the network output generated from sample profiles closer to the iterative profile. Normalization is important regardless of whether a metric or another method is used to determine the weights, so that the combined stripes still describe thickness in the same units, e.g., microns. • Determining the values of spray pattern parameters from the combined stripes. Exemplary pattern parameters are described above. These can be obtained from the stripes in a manner similar to obtaining them from a 2D image. For example, SB50 could be the distance (in pixels or mm) between two pixels that have a value of half the maximum thickness in the stripe (e.g., the nearest pixel where the value is less than half the maximum value on both sides from the maximum value). The maximum or average thickness can be calculated from the stripes. Uniformity can be defined as any suitable measure of the difference in how much the thickness value decreases on the side of the maximum value and the opposite side of the maximum value. During the setup phase, you can determine which of these or other parameters to check, i.e., whether the spray painting apparatus can actually be set up using the iterative profile, or whether adjustments are necessary. • Evaluation. In this step, the values determined from the previous step are compared to criteria given in the setup phase or provided by the user. For example, checks are made for whether uniformity is sufficient (whether the uniformity measure is greater than a given threshold), whether the transfer efficiency is sufficient, and whether the SB50 and / or maximum thickness are within a predetermined interval. Multiple criteria can be used. In some embodiments, a common score reflecting several criteria may be used and then compared to a predetermined score threshold. Profile parameters such as paint flow rate can also be used as criteria, either together with or instead of pattern parameters.
[0057] An exemplary score can be given by the following formula: Score = (mxE*mxW)+(sbE*sbW)+pfE, where mxE is the deviation (%) of the determined maximum stripe thickness from the target maximum thickness (e.g., given by the user at the start), mxW is the relative weight (importance) of meeting the specified thickness to the importance (weight sbW) of meeting the specified SB50, sbE is then the deviation (%) of the determined stripe SB50 from the target SB50 (e.g., given by the user at the start), and pfE is defined by analogy as the deviation (%) of the iterative profile paint flow rate from the target paint flow rate (and thus, in this embodiment, also given by the user at the start).
[0058] The deviation can be calculated as (determined_parameter - min_target_parameter) / (max_target_parameter - min_target_parameter), where the parameters in this embodiment are mx, sb, or pf (see above), and these parameters are defined by the user as intervals given by min and max values. Using such a scoring formula, if it is necessary to reflect more parameters in the method, more parameters can be easily added, and their relative importance to the user is also taken into consideration. For this score, a lower score value is better. Naturally, different scoring formulas may be used in different embodiments.
[0059] In any embodiment, evaluation can also be performed by comparing the values of the spray pattern parameters from the combined stripes to at least one threshold. For example, the evaluation criterion is met if SB50 is between two predetermined thresholds, i.e., within a given interval. Multiple parameters may be evaluated, and the threshold for each of them may be predetermined. The evaluation step is then considered successful if, for example, all parameters for which thresholds are given satisfy the comparison with the thresholds. If the evaluation is successful, i.e., the criteria are met / the score is sufficiently low, the repeating spray profile is appropriate and its parameters can be output from the method. For example, they can be sent to the user, who configures the device accordingly, or the control unit running this method can automatically configure the device using the parameters, for example, as a device configuration program or file. If the evaluation is unsuccessful but the maximum number of iterations has been reached, further iterations are not possible. In this case, the variable with the best coating profile (according to the criteria) reached so far can be established and updated with each iteration if this profile is better than the previously best profile stored for this variable. The best profile may be, for example, the profile with the highest score when using scores, and the smallest sum of differences in the determined parameters from the target parameter, etc. If the method terminates after exhausting the iterations, the best profile can be used and its parameters can be output by this method. Therefore, it is up to the user to decide whether to actually use these parameters in setting up the device, whether to input them into this method as an input spray profile for another run for further optimization, or whether to change some constraints, etc., in order to increase the likelihood of success in subsequent runs of the method. In Figure 2, this step and the previous step are shown as the same block in the flowchart because both terminate the method by providing a profile or its parameters. However, the profiles are different, either conforming to all criteria or not, and are the best found so far in this method. Information explaining which of the two possibilities occurred is preferably explicitly provided to the user. If the evaluation is unsuccessful and more iterations are possible, the iterative spray profile needs to be adjusted so that it can be used as the iterative profile for the next iteration. In some embodiments, random parameter changes may be used for adjustment, for example, one random parameter (or more parameters) is selected from the profile and it is randomly changed (e.g., replaced by a random number generated from a given suitable range of the corresponding parameter, or multiplied by a random number between 0.75 and 1.25). The result can then be used as the iterative profile for the next iteration.
[0060] Therefore, tuning is preferably done using a (pseudo)random number generator, in particular replacing the value of one randomly selected parameter from the iterative spray profile with a random number from an interval given by constraints (e.g., provided by the user according to their needs and uses). If constraints are not provided by the user, they can be determined from the set used for the method, for example, as the highest and lowest values of the parameter present in any profile within the set. Similarly, they can be taken from training datasets with generally larger intervals, as they cover a larger subspace to be sufficiently general to any possible use of any possible user (e.g., default parameter constraints may exist for the method used when no other constraint values are provided).
[0061] In Figure 1, the training phase steps are shown with dotted lines because they may be part of the method in some embodiments, but are generally performed beforehand. Even if they are part of the method, these steps are performed only once (to generate the CNN used to process the data in the iterations), unlike the iterative steps which are generally repeated many times.
[0062] The calibration function described above can be obtained, for example, by the following process-calibration step, which may be part of the present method in some embodiments, precede the present method in other embodiments, and in yet other embodiments, calibration may be performed by several other methods. The calibration function can be used to calibrate network outputs or to create sample spray profiles (for aggregation and CNN training) or behavioral spray profiles, as described above.
[0063] Calibration functions can be acquired during the calibration phase, as shown in the illustrative flowchart of Figure 3, and these may be, for example, paint-specific, e.g., for different paints for which individual calibration functions may be acquired, and / or device-specific. The calibration functions are preferably user-specific, i.e., entered into the method during the end-user setup / initialization phase of the method. The calibration phase may have the following steps: The first step is to obtain at least one sample surface spray-painted by a spray painting apparatus. Multiple surfaces can be used, and measurements from them can be combined. The sample surface may be, for example, a transparent foil painted with a grid (a so-called calibration foil or sampling foil), or a metal sheet. Using a calibration foil is advantageous because it allows light to pass through the calibration foil, making it easier to illuminate for imaging and allowing it to include patterns or elements to facilitate positioning of the sprayed pattern in the image. However, in the calibration stage, it is also possible to use an actual spray-painted part with a non-planar surface, such as a car bumper. Preferably, the paint used for this spray for calibration is of the same type as the paint used in this method (e.g., the same type from the same manufacturer, or at least having the same viscosity, color, etc.). That is, the apparatus configured with the parameters obtained in the method will spray onto an actual part during operation. It may also preferably be sprayed by the same type of spray painting apparatus or the same apparatus. • Step of imaging the sample surface. A standard camera that provides color images can be used. Multispectral light, for example, both visible and infrared or ultraviolet light, can be used for imaging. Depending on the paint, visible light may be sufficient. A line scan camera can also be used. Any device including an illumination system, optical system, and light sensing system can be used. The first step involves measuring the thickness of the paint on the sample surface at multiple points on the sample surface. A special paint thickness measuring device (paint thickness gauge), such as Elcometer®, can be used. A grid on the foil can facilitate the orientation of the pattern during measurement. It is preferable to use a portion of the grid with uniform thickness for measurement. Since uniformity can be determined even from an uncalibrated image obtained in the previous step, a control unit can be used to recommend the grid coordinates with the most uniform pixel intensity, and then manual measurement can be performed at the recommended cell. In some embodiments, automated thickness measurement can also be used. Measurements can be performed in either a wet or dry state of the paint. It may also be possible to combine both wet and dry measurements in different patterns within a training dataset. Measurements in a wet state are possible using imaging devices and calibration functions, which can be advantageous because they eliminate the need to spend time and / or energy drying the paint, for example, by heating it. • A step to obtain pixel values from the sample surface image at points corresponding to each measurement point. For example, the average pixel value of each recommended grid cell can be used and paired with the corresponding thickness. The step of fitting a function to the acquired pairs of measured thickness and corresponding pixel values. Any suitable regression method, preferably a polynomial, such as the least squares method, may be used.
[0064] Next, the resulting calibration function can be used to convert pixel values (e.g., light intensity) acquired by an imaging or capturing device into thickness values. The calibration step can be performed by the same processing unit that performs the method. For example, the computer can prompt the user to provide a sample surface image, or connect to an imaging device and prompt the user to place a paint foil or other surface into the imaging device. It can then provide the user with grid coordinates on which the measurement is to be taken and receive the measured thickness values, or use an automated thickness measuring device to measure the thickness of a given grid cell without requiring human assistance. The pixel values of the corresponding cells can be automatically obtained from the image by the computer, and regression can also be performed automatically. However, the user may be asked to input, for example, the order of the required polynomial calibration function. The computer can then store the acquired calibration function and, for example, pair it with the paints used in its database for use when performing the method on the same paint again, or it can be retrieved whenever needed, for example, based on paint data from a spray profile provided at the start of a particular method execution.
[0065] A set preparation stage in which a user can prepare a specific set of users from which selections are made in each iteration may have the following steps: • A step to prepare a set of sample spray profiles. These profiles preferably cover the relevant subspaces, as described in more detail above. The step of obtaining a corresponding sample spray pattern for each of the prepared profiles is to image a sample surface spray-painted by a spray painting apparatus configured with parameters from a given sample spray profile, and then to calibrate the pixels of the image using a calibration function. In some embodiments, multiple different sample surfaces can be used to prepare the set. One or more apparatuses can be used for preparation. One or more different paints can be used. In some embodiments, the set may be prepared on different apparatuses and / or with different paints, which are then used in the Method and the apparatus for which parameters are provided by the Method. The elements in the set can then be transformed to be more suitable for the paint / apparatus actually used. For example, if the set is prepared for paint A using a known (and invertible) calibration function, and the calibration function is also known for paint B, these two calibration functions can be used to transform the patterns in the set into a format suitable for paint B.
[0066] The calibration function used can be obtained as described above, namely by spray-painting the sample surface, imaging it, measuring it, and then fitting the function.
[0067] In particular, if the evaluation is a successful iteration, the combined output provided by the iteration can, in some embodiments, be projected onto a 3D model of the object for spray painting. The model with the projection can then be displayed on a display device such as a computer screen. The user can then see how the object, for example, the car bumper, will look after being spray painted with the iteration profile used to set up the spray painting apparatus, if the user provides a car bumper for spray painting. Thus, a 3D model of the part can also be provided as one of the inputs to the method, or the created pattern can be input into CAD software along with the model.
[0068] Simplification, such as converting a 2D spray pattern to stripes, can be used in multiple stages and steps and / or preparations of the method. For example, each pattern used in the method or its preparation can be in the form of a representative stripe. For example, the training dataset may include representative stripes obtained from calibrated pattern images, the set may include stripes, the neural network may be input with the stripes, and the predicted pattern may be output in the form of representative stripes. For example, the amount of data that needs to be stored in the database and / or set is thus greatly reduced. Since each pattern contains a lot of noise, and simplification can be helpful by removing much of the noise, training the network can be simplified by using stripes instead of the whole spray pattern. The convolutional layers can then work with 1D representative stripes. The calibration function can also be applied to parts of the convolutional layers.
[0069] A suitable CNN architecture that can be used with this method is, for example, the so-called U-Net architecture. The U-Net architecture is a type of convolutional neural network (CNN) originally developed for biomedical image segmentation, but has since been applied to various other image segmentation tasks. The name "U-Net" comes from its shape, which resembles the letter "U".
[0070] The U-Net architecture has two parts: an encoder and a decoder. The encoder is a series of convolutional layers that extract features from an input image. The decoder is a series of transposed convolutional layers that use the extracted features to generate a segmentation mask. The U-Net architecture also includes skip connections, which allow the decoder to access features from the encoder at multiple scales. Specifically, the output of each encoder layer is concatenated with the output of the corresponding decoder layer, which helps preserve spatial information and improve segmentation accuracy.
[0071] The U-Net architecture offers several advantages over other CNN architectures for image segmentation. For example, its skipped connections allow it to handle objects of different scales while preserving spatial information, and its symmetrical structure enables the generation of accurate segmentation masks. As a result, the U-Net architecture has become a common choice for image segmentation tasks in many domains.
[0072] This architecture has the following basic components: 1) 2D Convolutional Layer: The convolutional layer is the core basic unit of a CNN. A 2D convolutional layer applies a set of learnable filters to an input image or feature map. Each filter performs a convolution operation by sliding it across the image or feature map and calculating the dot product at each position. The result is a set of output feature maps that capture various aspects of the input. 2) Fully Convolutional Network (FCN) Layer: A fully convolutional network layer is a type of layer that replaces the fully connected layers in a conventional neural network with convolutional layers. Generally, FCN layers are used in image segmentation tasks, and the output is dense pixel-by-pixel predictions. The final output of an FCN layer is a feature map that can be upsampled to the same size as the input image or feature map. 3) Maximum Pooling Layer: Maximum pooling is a type of pooling layer that downsamples the input feature map by taking the maximum value within the local window. Maximum pooling is used to reduce the spatial resolution of the feature map and increase its robustness to small variations in the input. 4) 2D Transposed Convolutional Layer: A 2D transposed convolutional layer (also known as a deconvolution layer) is a type of layer that performs the inverse operation of a convolutional layer. Instead of taking a small input patch and producing a single output value, a 2D transposed convolutional layer takes a larger input feature map and produces a smaller output feature map. This is achieved by sliding a filter across the entire input feature map, calculating the dot product at each position, and simultaneously performing upsampling to increase the output resolution. 5) Smoothing: Smoothing refers to the process of reducing high-frequency noise or sharp transitions in an image or feature map. In the context of CNNs, smoothing can be achieved by applying a low-pass filter (such as a Gaussian filter) to the input image or feature map before passing it through the network. This can improve the robustness and accuracy of the network by removing irrelevant details while preserving important structure. 6) Batch Normalization Layer: A batch normalization layer is a type of layer that normalizes the input to a neural network by subtracting the mean and dividing by the standard deviation, calculated across mini-batches of training samples. Batch normalization can help mitigate the problem of internal covariate shift caused by the changing input distribution as the network learns.
[0073] However, this architecture is merely one example. Other suitable architectures may be determined by those skilled in the art and used as the machine learning algorithm of this method.
[0074] In Case 2, the method receives inputs that are at least partially different from those in Case 1, and the adjustment steps are also different. While Case 1 is intended to check whether the user-provided profile is appropriate, improve it if it is not, and optionally visualize the spray pattern generated by the profile digitally, in Case 2, the user provides several parameter boundaries, not only for the spray pattern parameters but also optionally for the spray profile parameters, and an appropriate profile is generated for them using a CNN and an optimization method built into the method's iterations.
[0075] The CNN and set used in Case 2 can be the same as those described above for Case 1. The setup or initiation phase can also be generally as described above. Before iteration, the method receives optimization constraints from the user. The constraints include at least one target value for at least one spray pattern parameter. These may include the interval(s) between the target parameters, or their desired values, or a combination of both. They may also include weights that describe the importance to the user of satisfying a given thickness (see the paragraph describing the score above for details on exemplary weights mxW or sbW). In this embodiment, the optimization algorithm used is simulated annealing, and therefore the starting temperature is also determined in the setup or initiation.
[0076] During the initial phase, the input profile score of the input spray profile is obtained using the following given steps for obtaining the score. This spray profile can be randomly generated, and optionally, if profile parameter values are provided by the user, the random values will satisfy default profile parameter values. In some embodiments, it is also possible to receive the input profile from the user.
[0077] The method in this embodiment may then have the following iterative steps: • Step 1: Receive the repeating spray profile. In the first iteration, it is the input profile, and the repeating temperature is set to the starting temperature. In subsequent iterations, it is the profile provided by the previous iteration. • Adjustment of the iterative spray profile by randomly changing at least one of its parameter values (random variation). For example, the value may be multiplied by a random number between 0.75 and 1.25, or replaced with a random number from a realistic interval of parameter values (this is the preferred method). The adjusted profile is then used in the following steps. In the first iteration, if the input is randomly generated, this random adjustment can be skipped. The step of selecting N individuals from a set. This step can be performed as described above for Case 1. • A step that uses CNN N times. The characteristics of this step can also be achieved as described above for Case 1. The process involves calibrating the network output and (optionally but favorably) simplifying the calibrated output, followed by combining N outputs / stripes. See above for details on these steps. • A step in which the values of the spray pattern parameters are determined under constraints. The features of this step can be realized as described above for Case 1. • Evaluation. A score is calculated for the determined value. The score essentially measures how well the constraints (evaluation criteria) are met by the iterative profile. An example of a suitable scoring formula for this step is also shown above in the explanation of Case 1. Different scores can also be used, for example, to reflect different parameters or to measure the deviation between the determined value and the target value in a different way.
[0078] Next, the score can be compared to a score threshold (for example, one defined during preparation or initiation). If the o score is better than the threshold, the iterative profile is considered good and can be output from the method, and the method may terminate. Visualization of the iterative output pattern (e.g., stretched stripes) or projection of it onto a 3D model of some component for spraying may also be performed. Parameters may be provided for the apparatus settings, or the apparatus may be configured using parameters by a control / computation / processing unit implementing the method. oWhen the maximum number of iterations is reached, the best profile found so far can be output, as described in Case 1 above. If the score is not better than the threshold, or if no threshold is used (for example, the method is always run for the maximum number of iterations, a default maximum time, etc.), the score of this iteration is compared to the score from the previous iteration (or, if this is the first iteration, the input score). In other words, child scores are compared to the parent scores. This terminology is common to evolutionary optimization algorithms, for example, which are a suitable class of optimization methods for use in the method of the present invention. • If the child score is better, the iterative profile will be used for the next iteration. If the child score is not better, the iterative profile (the iterative profile adjusted in step 2, i.e., the child profile) is used in the next iteration, proportional to the iteration temperature. Otherwise, the profile from the previous iteration (i.e., the profile from step 1 of this iteration before adjustment - the parent profile) is used in the next iteration. • The repeating temperature can be reduced (for example, by multiplying by a parameter less than 1).
[0079] Case 2 can be considered a special case of Case 1. The flowchart from Figure 1 can also represent Case 2 by the differences in input data and iterations described above (compare Figure 2 and Figure 5). An iteration for an embodiment of Case 2 is shown in Figure 5. The adjustment step in Case 2 is described here as being performed at the start of the iteration for simplicity. However, it can be described as being performed after a (failed) evaluation without actually changing the algorithm of the method, with only the variable names changed and the input profile score calculated as part of the first iteration.
[0080] In Case 2, any suitable optimization algorithm can be used instead of simulated annealing. For example, SOMA or DE optimization algorithms can be used. In alternative embodiments, machine learning algorithms other than neural networks or convolutional neural networks can be used.
[0081] In alternative embodiments, the calibration function acquisition step can be replaced by a direct thickness measurement step, for example, using a ferromagnetic thickness measuring device. The spray pattern (for training, aggregation, etc.) can then be the output or array of such measurements. In such embodiments, other features or steps may be as described above.
[0082] Another exemplary embodiment of the present invention is a computer program that includes instructions causing a device, which includes at least a computing unit or control unit having access to a user set and a trained neural network, to perform the method of the above embodiment. The device may further include a display device, an imaging or capturing device, a user input device, a calibration function database stored in memory, and the like. A computer storage medium having those instructions is another embodiment of the present invention.
Claims
1. A method for providing parameters for setting up a spray painting apparatus, wherein the method utilizes a control unit and a machine learning algorithm implemented by the control unit, and further utilizes a set of sample spray patterns and corresponding sample spray profiles. The algorithm is trained on a training dataset, and each data point includes at least a sample spray profile, a corresponding sample spray pattern, a motion spray profile, and a corresponding motion spray pattern, wherein the motion spray pattern corresponds to the training labels. Each spray profile contains values for multiple profile parameters. Each sample spray pattern represents the distribution of paint thickness provided on the sample surface by the spray coating apparatus for a specific sample spray profile. Each operating spray pattern represents the distribution of paint thickness provided on the sample surface by the spray coating apparatus for a specific operating spray profile. The sample spray profiles in the set belong to a multidimensional parameter subspace that defines the expected range of spray coating, the sample spray profiles in the training dataset belong to a multidimensional parameter subspace that defines the training range of spray coating, the training range subspace is at least several dimensions more precisely covered by the sample spray profiles and / or is wider than the expected range subspace, the operating spray pattern is provided by multiple different spray coating devices from different spray coating facilities, the method comprises at least one iteration, each iteration being, - A step of receiving repeated spray profiles, - A step of selecting N sample spray profiles having N corresponding sample spray patterns from the set, wherein N is a predetermined positive integer, and - A step of inputting the repeating spray profile and one of the sample spray profiles having the corresponding sample spray pattern into the algorithm and receiving an algorithm output that describes the expected spray pattern for each of the N selected sample spray profiles, - A step of combining the N algorithm outputs into a repeating output spray pattern, - A step of evaluating the repeated output spray pattern according to a predetermined standard, - If the repeating output spray pattern does not conform to the criteria, the repeating spray profile is adjusted and provided as the repeating spray profile for the next iteration, or if the repeating output spray pattern does not conform to the criteria, the profile parameters from the repeating spray profile are used as parameters for setting the spray painting apparatus. including, The aforementioned method.
2. The method according to claim 1, wherein the method comprises the step of receiving at least one target value for at least one spray pattern parameter before the first iteration, and in each iteration, the combining step comprises determining a repeating spray painting pattern parameter from the repeating output spray pattern, the method further comprises the step of determining a score based on the distance between the target value of the spray painting pattern parameter and a value of the repeating spray painting pattern parameter according to a predefined metric, and based on the score, the repeating spray profile is randomly adjusted and provided as a repeating spray profile for the next iteration, or its parameters are used to set up the spray painting apparatus.
3. The method according to claim 2, wherein the iteration of the method is implemented as an iteration of an evolutionary optimization algorithm.
4. The method according to any of the prior claims, further comprising the step of receiving constraints for at least one spray profile parameter, wherein when the iterative spray profile is adjusted, the new value of the at least one spray profile parameter is in accordance with the constraints.
5. The method according to any of the prior claims, wherein in the selection step, N spray profiles closest to the iterative spray profile are selected based on a predetermined metric.
6. The method according to any of the prior claims, wherein in the evaluation step, at least one spray coating pattern parameter selected from transfer efficiency, spray coating uniformity, spray coating thickness, and spray coating width is determined from the repeated output spray pattern, and the determined value is compared with at least one target spray coating pattern parameter value.
7. The method according to any of the prior claims, wherein in each iteration, the combination is realized as a weighted average, the weights corresponding to each algorithm output are proportional to the distance of the corresponding selected spray profiles, and from the spray profiles, the algorithm output is generated for the iterative spray profiles according to a predetermined metric.
8. The method according to any of the prior claims, wherein the adjustment of the iterative spray profile comprises obtaining a random number and adjusting or replacing the parameter values from the iterative spray profile with the obtained random number.
9. The method according to any of the prior claims, wherein the multidimensional parameter subspace defining the expected range of spray coating is substantially uniformly covered by the sample spray profiles within the set, so that for most dimensions of the parameter subspace, different values of the profile parameters corresponding to that dimension are represented by different sample spray profiles.
10. Further including a preparation phase for assembly, the said preparation phase for assembly is as follows: - Steps to prepare a set of sample spray profiles, - For each of the prepared profiles, the steps include: capturing an image of the sample surface spray-painted by a spray painting apparatus set with parameters from a given sample spray profile, and calibrating the pixels of the image using a calibration function to obtain the corresponding sample spray pattern; Includes, The calibration function is obtained by a calibration step, which consists of the following steps: - A step of obtaining at least one sample surface that has been spray-painted by a spray painting apparatus, - The step of imaging the surface of the sample, - A step of measuring the thickness of the paint on the sample surface at multiple points on the sample surface, - A step of obtaining pixel values from the sample surface image at points corresponding to each measurement point, - A step of fitting a function to the acquired pair of measured thickness and corresponding pixel value, including, The method according to any of the prior claims.
11. In each iteration before combining, each algorithm output is as follows: - A step of calibrating at least some of the pixels of the algorithm output using a calibration function, - A step of averaging each row or column to obtain a vector of average calibration values, Processed by, The calibration function is obtained by a calibration step, which consists of the following steps: - A step of obtaining at least one sample surface that has been spray-painted by a spray painting apparatus, - The step of imaging the surface of the sample, - A step of measuring the thickness of the paint on the sample surface at multiple points on the sample surface, - A step of obtaining pixel values from the sample surface image at points corresponding to each measurement point, - A step of fitting a function to the acquired pair of measured thickness and corresponding pixel value, including, The method according to any of the prior claims.
12. The method according to claim 11, further comprising the step of displaying the iterative output spray pattern combined from the processed algorithm output on a display device in at least one iteration, wherein the displayed image comprises a plurality of identical rows or columns, each containing the values corresponding to the individual values of the processed algorithm output.
13. The method according to any of the prior claims, wherein in at least one iteration, the iterative output spray pattern is projected onto a 3D model of a part intended to be spray-painted, and the portion having the projected pattern is displayed on a display device.
14. A computer program, wherein when the program is executed by a computer, it includes an instruction that causes the computer to perform the method according to any one of claims 1 to 9.
15. A computer-readable storage medium that, when executed by a computer, includes an instruction causing the computer to perform the method according to any one of claims 1 to 9.