Method and system for analyzing input data of and / or controlling a corresponding device

By setting suitability standards in the device input data processing system and processing only when the input data meets these standards, the problem of unreliable output in the prior art is solved, and more reliable output data generation is achieved .

CN119422114APending Publication Date: 2025-02-11SIEMENS AG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380044219.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-06-02
Filing Date
2023-05-12
Publication Date
2025-02-11

AI Technical Summary

Technical Problem

In the prior art, when analyzing and controlling the input data of the device, it is difficult to effectively process input data that does not meet specific standards, resulting in unreliable output data.

Method used

By providing suitability criteria for input data, determine whether the input data meets these criteria and only process the input data using trained functions when the criteria are met to generate reliable output data.

Benefits of technology

Improves the reliability and confidence of generating output data, and avoids unreliable outputs generated when processing unsuitable input data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119422114A_ABST
    Figure CN119422114A_ABST
Patent Text Reader

Abstract

For improved analysis of a respective device (140) and / or control of a respective device (140), a computer-implemented method is proposed, comprising:-providing input data (120) from a respective device (140); providing a trained function (122) for processing the input data (120) to generate output data (124), the output data (124) being adapted to analyze and / or control the respective device (140); -determining whether the input data (120) is suitable for processing with the trained function (122); processing the input data (120) with the trained function (122) to generate output data (124) only when it is determined that the input data (120) is suitable for processing with the trained function (122); -providing at least one suitability criterion (126) for the input data (120); if the input data (120) does not comply with a respective suitability criterion (126), it is determined that the input data (120) is not suitable for processing with a trained function (122), and / or if the input data (120) complies with a respective suitability criterion (126), it is determined that the input data (120) is suitable for processing with a trained function (122).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates generally to automation or software management systems, and more particularly to systems for analyzing input data of corresponding devices and / or controlling corresponding devices (collectively referred to herein as production systems). Background Art

[0002] Recently, trained functions (such as functions derived using artificial intelligence, machine learning models, etc.) are increasingly used to analyze input data of corresponding devices and / or control corresponding devices. The present invention generally relates to analyzing input data of corresponding devices and / or controlling corresponding devices with trained functions. Currently, there are product systems and solutions that support analyzing input data of corresponding devices and / or controlling corresponding devices with trained functions. Such product systems may benefit from improvement. Summary of the invention

[0003] Various disclosed embodiments include methods and computer systems that can be used to facilitate analyzing input data of a respective device and / or controlling a respective device.

[0004] According to a first aspect of the present invention, there is provided a computer-implemented method for analyzing input data of a corresponding device and / or controlling a corresponding device, the method may include:

[0005] - providing input data from the corresponding device;

[0006] - providing a trained function for processing the input data to generate output data suitable for analyzing and / or controlling the corresponding device;

[0007] - determining whether the input data is suitable for processing by the trained function;

[0008] - only when it is determined that the input data is suitable for processing by the trained function, processing the input data with the trained function to generate output data;

[0009] - providing at least one suitability criterion (126) for the input data (120), the respective suitability criterion (126) comprising at least one of the following: input data type, input data exact value, input data feature type, input data feature number, input data scheme type, input data category, input data image pixel size, input data image brightness, input data image luminance, input data image contrast, input data image saturation, input data image size, input data image color, input data image hue, input data image sharpness, input data image chromaticity, input data image metadata, or any combination thereof;

[0010] - if the input data (120) does not meet the corresponding suitability criteria (126), determining that the input data (120) is not suitable for processing by the trained function (122), and / or

[0011] - If the input data (120) meets the corresponding suitability criteria (126), it is determined that the input data (120) is suitable for processing with the trained function (122).

[0012] According to a second aspect of the invention, a computer system may be arranged and configured to perform the steps of the computer-implemented method according to the first aspect of the invention.

[0013] According to a third aspect of the present invention, a computer program product may comprise computer program code which, when executed by a computer system according to the second aspect of the present invention, causes the computer system to perform a method according to the first aspect of the present invention.

[0014] According to a fourth aspect of the invention, a computer readable medium may comprise a computer program product according to the third aspect of the invention. By way of example, the described computer readable medium can be non-transitory and can also be a software component on a storage device. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 Functional block diagrams of exemplary systems that facilitate analyzing input data of corresponding devices and / or controlling corresponding devices in a production system, respectively, are shown.

[0016] Figure 2 A flow chart showing another method of analyzing input data of a corresponding device.

[0017] Figures 3 to 5 A functional block diagram of another exemplary system that facilitates analyzing input data of a corresponding device and / or controlling a corresponding device in a product system, respectively, is shown.

[0018] Figure 6 Exemplary messages are shown in the context of facilitating analysis of input data of respective devices and / or control of respective devices in a production system.

[0019] Figure 7 and Figure 8 A flow chart is shown of an exemplary method that facilitates analyzing input data of a respective device and / or controlling a respective device in a production system, respectively.

[0020] Fig. 9 A block diagram of a data processing system in which embodiments can be implemented is shown. DETAILED DESCRIPTION

[0021] Different technologies related to the system and method for analyzing the input data of the corresponding equipment in the product system and / or controlling the corresponding equipment will now be described with reference to the accompanying drawings, wherein the same reference numerals always represent the same elements. It will be appreciated by those skilled in the art that the principles of the present disclosure can be implemented in any appropriately arranged device. It should be understood that the functions described as being performed by certain system elements can be performed by multiple elements. Similarly, for example, an element can be configured to perform the functions described as being performed by multiple elements.

[0022] refer to Figure 1 , a functional block diagram of an exemplary data processing system 100 that facilitates analyzing input data 120 of a corresponding device 140 and / or controlling a corresponding device 140 is shown. In some examples, the data processing system 100 may include a computing device 118, or more generally a computer system, that allows for analyzing input data 120 of a corresponding device 140 and / or controlling a corresponding device 140 by providing (e.g., to a user) corresponding functionality. The computing device 118 may include at least one processor 102 configured to execute at least one application software component 106 from a memory 104 accessed by the processor 102. The application software component 106 may be configured (i.e., programmed) to cause the processor 102 to perform the various actions and functions described herein. For example, the described application software component 106 may include and / or correspond to one or more components of an analysis and / or control software application that may be configured to generate output data 124 and store it in a data storage area 108 (e.g., a memory or database).

[0023] By way of example, the processing system 100 or optionally the computing device 118 may include at least one display device 112 (e.g., a display screen) and optionally at least one input device 110. The processor 102 described may be configured to generate a graphical user interface (GUI) 114 via the display device 112. Such a GUI may include GUI elements, such as buttons, links, search boxes, lists, text boxes, images, scroll bars), which may be used by a user to provide input via the input device 110, which may support or enable analysis of input data 120 of a corresponding device 140 and / or control of the corresponding device 140.

[0024] In some examples, the data processing system 100 can be used in the context of the production of printed circuit boards (PCBs), which are typically an integral part of many automated products. Such automated products can control machine tools, entire production lines, production processes, and the like. The manufacture of PCBs often occurs in highly automated production lines that include quality testing at multiple steps. Test equipment can be highly standardized, and corresponding tests can be performed in similar production steps across multiple production lines and factories. In order to ensure the high quality of PCBs and subsequent products, the test equipment can be tuned to be very sensitive to potential errors in the PCBs. In order to reduce the number of false errors or false positives (“false positives”) of the test equipment, a function 122 such as a training of a machine learning model (ML model) can re-evaluate the test equipment data when the test equipment reports a failure. In some PCB production examples, the trained function 122 can reduce the false error rate by up to 50% (e.g., based on training of historical data) while keeping the slip rate (“false negatives”) low. Any remaining PCB boards may need to be manually inspected and potentially reworked.

[0025] Here, the results of the trained function 122 or ML model can be an integral part of production. The prediction results can be generated synchronously with the production rhythm, that is, whenever the test equipment reports a fault, the trained function 122 needs to reliably provide the prediction results with the minimum possible delay. To achieve this, the trained function 122 can be deployed on industrial PCs (IPCs), which can be close to the test equipment physically and on the network to reduce any potential delays. Therefore, the computing device 118 may correspond to an industrial PC, and the device 140 may correspond to a PCB production line or a test equipment that may be included by the PCB production line. The computing device 118 (e.g., an industrial PC) may be resource-constrained in terms of CPU power, memory, and storage and is selected in a cost-optimized manner to allow it to execute the trained function 122 or ML model within the target time.

[0026] The typical data flow of the ML inference process is Figure 2 . The ML model or trained function 122 receives tabular input data 120, typically consisting of a unique identifier, measurements (“features”) used within the model, and additional metadata not used for prediction. The ML model or trained function 122 consumes the input data 120 and performs a classification between pseudo-errors and real errors, whereby the classification is output data 124 of the trained function 122. The pseudo-error results can override the results of the test equipment, and the PCB board is further processed as usual. Confirmation of a real error causes the PCB board in the production process to be transferred to a manual rework station.

[0027] It should be understood that in some examples, some factors may make it impossible to make predictions, such as processing the input data 120 with the trained function 122 to generate reliable and trustworthy output data 124. Such factors may include missing measurements ("features"). For example, upstream adjustments to the test equipment can result in missing features in the input data, such as the ML model only receiving 9 features instead of 10 features. Further, these factors may include changing data types of features. For example, upstream adjustments to the test equipment or connectors to the IPC may result in changes in the data type of the input data 120, such as the decimal separator may change from "." to ",". It should be further understood that in other examples, some factors may reduce the reliability of the ML model predictions, such as the output data 124 of the trained function 122. These factors may include values ​​outside of known boundaries. By way of example, different components on a PCB board may result in measurements of the test equipment outside of the known boundaries of the initial training data set of the ML model or trained function 122. The behavior of the ML model or trained function 122 with respect to this data may be unknown. In addition, such factors may include changing accuracy levels. For example, upstream adjustments may cause the number of significant digits of a model input feature to change, e.g., for the feature current, the feature value 1.26 mA may change to 1.3 mA, i.e., the accuracy is reduced, and thus the behavior of the ML model or trained function 122 with respect to these changes may be unknown.

[0028] In view of the above explanation, it should be understood that it may be very difficult to derive reliable and trustworthy output data 124 from input data 120 through the trained function 122. Additional challenges may include relatively small available processing resources or relatively short acceptable processing time for deriving output data 124 from input data 120 through the trained function 122, which may make deriving reliable and trustworthy output data 124 from input data 120 through the trained function 122 even more difficult.

[0029] To enable enhanced analysis of input data 120 of respective device 140 and / or control of respective device 140 , in some examples, application software component 106 and / or processor 102 may be configured to provide input data 120 from respective device 140 .

[0030] As an example, the input data 120 may include an incoming data message stream. The input data 120 or data message may include, for example, measured, derived, or simulated sensor data, for example, physical quantities such as temperature, pressure, current and voltage, distance, speed or velocity, acceleration, flow rate, electromagnetic radiation including visible light, or any other physical quantity. In another example, the input data 120 or data message may include, for example, images, photos, videos, or other static or moving visual data. It should be understood that such static or moving "visual" data may also include electromagnetic radiation that is invisible to humans, such as ultraviolet (UV) or infrared (IR) light. In some examples, the input data 120 or data message may include, for example, measured, derived, or simulated chemical quantities, such as acidity, the concentration of a given substance in a mixture of substances, etc. The corresponding input data 120 may characterize, for example, the corresponding device 140 or the state in which the corresponding device 140 is located. In some examples, the corresponding input data 120 may characterize a processing or production step performed or monitored by the corresponding device 140.

[0031] In some examples, the corresponding device 140 can be or include a sensor, an actuator (such as a motor, a valve or a robot, and an inverter for powering the motor), a gearbox, a programmable logic controller (PLC), a communication gateway, and / or other parts and components related to industrial automation products and industrial automation in general. The corresponding device 140 can be part of a complex production line or a production plant, for example, a bottling machine, a conveyor, a welding machine, a welding robot, or the above-mentioned PGB production line, etc. In another example, there can be input data 120 associated with a plurality of such devices 140. In addition, as an example, the corresponding device 140 may include an IT system or a manufacturing operation management (MOM) system, a manufacturing execution system (MES) and an enterprise resource planning (ERP) system or a part thereof, and may include a supervisory control and data acquisition (SCADA) system or a part thereof, or any combination thereof.

[0032] As an example, input data 120 may be stored in data storage 108 of computing device 118. Further, corresponding device 140 can be communicatively coupled with computing device 118, e.g., using a wired or wireless data connection to enable transmission of input data 120 from corresponding device 140 to computing device 118.

[0033] For example, the application software component 106 and / or the processor 102 can also be configured to provide a trained function 122 for processing input data 120 to generate output data 124 suitable for analyzing and / or controlling a corresponding device 140 .

[0034] The trained function 122 can be understood as or include, for example, a machine learning algorithm, a deep learning model, an artificial neural network, or more generally an artificial intelligence-based function. The trained function 122 can generally receive input data 120, and then process the input data with the trained function 122 to generate output data 124. It should be understood that in some examples, the trained function 122 can be used for pattern recognition, data mining, image recognition, speech recognition, etc., and can be particularly used to process large amounts of data.

[0035] The input data 120 may be used to generate output data 124 by applying the trained function 122 to the input data 120. The trained function 122 may, for example, associate the input data 120 with the output data 124. The output data 124 may be used to analyze or monitor the corresponding device 140, for example, to indicate whether the corresponding device 140 is working properly or whether the corresponding device 140 is monitoring a correctly executed production step. In some examples, the output data 124 may indicate that the corresponding device 140 is damaged or that there may be a problem with the production step monitored by the corresponding device 140. In other examples, the output data 124 may be used to operate or control the corresponding device 140, for example, by implementing a feedback loop or a control loop with the input data 120, analyzing the input data 120 with the trained function 122 and generating the output data 124, and controlling or operating the corresponding device 140 based on the received input data 120 and the generated output data 124. In some examples, the corresponding device 140 can be a valve in a process automation plant, wherein the input data 120 includes data about flow rate, which can be analyzed using the trained function 122 to generate output data 124, wherein the output data 124 includes one or more target parameters for operation of the valve, such as a target flow rate or a target position of the valve.

[0036] As an example, the trained function 122 may be stored in the data storage area 108 of the computing device 118 .

[0037] In further examples, the application software component 106 and / or the processor 102 can also be configured to determine whether the input data 120 is suitable for processing with the trained function 122 .

[0038] As an example, if the input data 120 has a data format that is compatible with the trained function 122, it can be determined that the input data 120 is suitable for processing by the trained function 122. For example, the trained function 122 can only accept the input data 120 in a specific data format that the input data 120 needs to conform to. In some examples, if the input data includes feature types for which the trained function 122 can provide meaningful output data 124, it can be determined that the input data 120 is suitable for processing by the trained function 122. For example, if the input data 120 includes feature types, such as "current in amperes" and "luminous flux in lumens" that occur during UV exposure during PCB production, the trained function 122 may only provide meaningful output data 124, while if the input data 120 includes feature types "voltage in volts" and "luminous flux in lumens", the trained function 122 may not provide meaningful output data 124.

[0039] Conversely, if the input data 120 has a data format that is incompatible with the trained function 122 or if the feature type of the input data 120 does not conform to the feature type for which the trained function 122 can provide meaningful output data 124, it can be determined that the input data 120 is not suitable for processing by the trained function 122.

[0040] It should be understood that in some examples, the application software component 106 and / or the processor 102 can also be configured to process the input data 120 using the trained function 122 to generate the output data 124 only when it is determined that the input data 120 is suitable for processing using the trained function 122.

[0041] Processing only suitable input data 120 with the trained function 122 can greatly increase the reliability and trustworthiness of the generated output data 124. This can be achieved, for example, by avoiding processing unsuitable input data 120 with the trained function 122, since processing unsuitable input data 120 with the trained function would generate unreliable and untrustworthy output data 124.

[0042] In some examples, the steps of determining whether input data 120 is suitable for processing with a trained function 122 and processing only suitable input data 120 with the trained function 122 to generate output data 124 can be considered as a module or component, which can be understood as a "model defender" that can be added to the ML reasoning process. The model defender can (for example) evaluate the input data 120 to the trained function 122 to assess its validity or suitability for the specific trained function 122 available. For example, for each input data sample from the corresponding device 140, a check can be performed based on a specific method or standard to determine the suitability of the input data, and a decision can be made whether the input data 120 should be forwarded to the trained function 122 for generating output data 124, or alternatively, the trained function 122 should not make predictions based on this data sample. In addition, alternative data flow paths that avoid the trained function 122 can be opened.

[0043] In some examples, the application software component 106 and / or the processor 102 can also be configured to: provide at least one suitability standard 126 for the input data 120, the corresponding suitability standard 126 including at least one of the following items: input data type, input data precision value, input data feature type, input data feature number, input data pattern type, input data category, input data image pixel size, input data image brightness, input data image luminance, input data image contrast, input data image saturation, input data image size, input data image color, input data image hue, input data image sharpness, input data image chroma, input data image metadata, or any combination thereof; if the input data 120 does not meet the corresponding suitability standard 126, it is determined that the input data 120 is not suitable for processing with the trained function 122, and / or if the input data 120 meets the corresponding suitability standard 126, it is determined that the input data 120 is suitable for processing with the trained function 122.

[0044] As an example, the input data type can be a data type such as an integer, a floating point, or a string, a list, an array, etc., or a combination thereof. Additionally, for an input data type floating point, the input data precision value can be characterized, for example, by the number of significant digits or the data format single precision, double precision, quadruple precision, etc. In some examples, the number of significant digits of numeric features of the new incoming input data 120 can be checked against a precision level derived from historical data.

[0045] In addition, the input data feature type can characterize one or more of the above-mentioned measured, derived or simulated physical or chemical quantities (preferably SI units) of the input data 120 or the state of the corresponding device 140. As an example, the number of input data features can characterize the number of different features, such as physical quantities or chemical quantities of the input data 120. The input data pattern type can include, for example, the number of measurements, the number of metadata fields, the unique identifier field, and optionally the data type within each data field, such as floating point, string, etc. As an example, the input data category can include an expected set, such as an expected component product type from which the input data originates or an expected component product type to which the input data 120 is related. In some examples, the input data feature type, the number of input data features, the input data pattern type and / or the input data category can be derived from historical data.

[0046] The input data image pixel size can be used as a corresponding suitability criterion 126 to check, for example, whether the image included in the input data conforms to a given minimum-maximum range of pixel size ranges, which in some examples can be derived from training data. Here, for example, an image pixel can be understood as the smallest addressable element in a raster image, or the smallest addressable element in a dot matrix display device. In most digital display devices, a pixel can be the smallest element that can be manipulated by software. In some examples, the training data and / or input data image pixel sizes may be different and may be uneven or inconsistent. The image can then be scaled to have the same pixel size. However, if the input data image is too small or too large, this may result in misclassification when the trained function 122 is applied to process the input data 120 to generate the output data 124. Then, in some examples, it is recommended not to scale the image input data, but to identify the image input data as unsuitable so that it does not meet the suitability criterion.

[0047] Similar considerations apply to other image or video related suitability criteria 126, such as input data image brightness, input data image luminance, input data image contrast, input data image saturation, input data image size, input data image color, input data image hue, input data image sharpness, and input data image chromaticity. In this article, image hue can be understood, for example, as one of the main characteristics of color, which is technically defined in the CIECAM02 model as "the degree to which a stimulus can be described as similar or different from a stimulus described as red, orange, yellow, green, blue, purple" within certain theories of color vision. In addition, image chromaticity can be understood, for example, as an objective specification of the quality of a color, regardless of its luminance. Chromaticity consists of two independent parameters, usually designated as hue (h) and color (s), wherein the latter can be alternatively referred to as saturation, chromaticity, intensity, or stimulus purity. For example, the image saturation of a color can be determined in combination with light intensity and how much it is distributed on a spectrum of different wavelengths. In some examples, the purest (most saturated) color can be achieved by using only one wavelength of high intensity (e.g., in a laser). If the intensity drops, then accordingly, the saturation may drop. Further, the image metadata may include information such as about image copyright, white balance, color space, software used to process the image, digital zoom ratio, flash used (yes / no), rotation, white balance, etc.

[0048] For example, if the input data 120 is related to current and associated UV exposure during PCB production, the suitability criteria 126 can include input data feature types "current in amperes" and "luminous flux in lumens", the number of input data features can be two (i.e., "current in amperes" and "luminous flux in lumens"), the input data pattern type can be ten measurements per second or average per second, and the input data category can be related UV lamps.

[0049] In further examples, the corresponding suitability criteria 126 can describe an expected input data profile, wherein the expected input data profile can be or include one or more of the above items, such as an expected minimum value, an expected maximum value, an expected type, and / or an expected accuracy of the input data 120, respectively.

[0050] The respective suitability criteria 126 may be stored, for example, in the data storage area 108 of the computing device 118 .

[0051] Using one or more of the suitability criteria 126 described for the input data 120, the input data 120 can be evaluated to determine whether the input data 120 is suitable or unsuitable for processing with the trained function 122. If there is more than one suitability criterion 126, in some examples, the input data 120 may be determined to be suitable only if the input data 120 meets all of the suitability criteria 126.

[0052] As an example, at least one suitability criterion 126 may include a warning criterion and an alarm criterion, wherein the application software component 106 and / or the processor 102 can also be configured to: if the input data 120 does not meet the alarm criterion, determine that the input data 120 is not suitable for processing with the trained function 122; and if the input data 120 does not meet the warning criterion and if the input data 120 meets the alarm criterion, determine that the input data 120 is suitable for processing with the trained function 122.

[0053] In some examples, the warning criteria and the alarm criteria may be understood as more detailed suitability criteria 126. Here, the alarm criteria are more stringent and if the input data 120 does not meet the alarm criteria, the input data 120 is determined to be unsuitable for processing with the trained function 122. However, the alarm criteria are less stringent and if the input data meets the alarm criteria but does not meet the alarm criteria, the input data 120 may still be determined to be suitable for processing with the trained function 122.

[0054] For example, if there are more than one suitability criteria 126, the alarm criteria can be that the input data 120 does not meet two of these suitability criteria 126, while the warning criteria can be that the input data 120 does not meet one of these suitability criteria 126. In other examples, there may be more important and less important suitability criteria 126. More important suitability criteria 126 may, for example, immediately negatively affect the quality of the product produced with the help of the corresponding equipment 140. In addition, more important suitability criteria 126 can, for example, involve environmental, health or safety topics related to the corresponding equipment 140, such as causing fire or potential injury to production personnel. Less important suitability criteria 126 may, for example, involve long-term effects, such as increased wear and tear of the corresponding equipment 140 that may require earlier maintenance, repair or replacement than normal. In some examples, the alarm criteria can involve more important suitability criteria 126, while the warning criteria can involve less important suitability criteria 126.

[0055] It should be understood that in some examples, if the input data 120 does not comply with the corresponding suitability standard 126, the application software component 106 and / or the processor 102 can also be configured to: provide at least one correctable non-conformity related to the corresponding suitability standard 126; and if the input data 120 does not comply with the corresponding correctable non-conformity related to the corresponding suitability standard 126, modify the input data 120 so that the input data 120 complies with the corresponding suitability standard 126.

[0056] In some examples, the correctable non-conformance can relate to the above-mentioned input data precision value, whereby the input data 120 having a higher than expected input data precision value can be modified to a lower input data precision value corresponding to the expected input data precision value. For example, if the corresponding device 140 is replaced with a higher performance corresponding device 140 that can provide the input data 120 with higher precision, such a scenario may occur. The explained modification of the input data 120 to a lower but expected input data precision value can have the following additional benefits: for example, the amount of large data can be reduced to only the necessary amount of data, which can also speed up the processing of the input data 120 with the trained function 122.

[0057] In another example, if only one or a few input data 120 are missing, this can still be acceptable, so that the above number of input data features can also constitute a correctable non-conformity, for example, if the actual expected number of input data features differs by one or only a few. In such a case, the input data 120 can be completed by replacing the missing part of the input data 120 with a default value (e.g., the most recent average of the now missing features or the average of the features of the previous 10 or 100 input data 120).

[0058] In some examples, the input data may include more features than desired, for example, if the corresponding device 140 is replaced with a higher performance corresponding device 140 that can provide at least one additional feature in the input data 120. In some examples, because the trained function 122 may not use the corresponding additional features of the input data 120 to generate a meaningful output 124, modifying the input data 120 by omitting the corresponding additional features can keep the analysis of the input data 120 or the control of the corresponding device 140 operable and reliable.

[0059] In other examples, the input data 120 may accidentally include correct information, but in an erroneous data format, such as a string instead of a floating point format. Accordingly, the above input data types can also constitute a correctable non-conformity. Therefore, in some examples, modifying the input data 120 by changing the input data type to an expected and accepted input data type can maintain the analysis of the input data 120 or the control of the corresponding device 140 operable and reliable.

[0060] It should also be appreciated that for respective correctable non-conformities, required modifications can be determined in advance and can be provided to modify the input data 120 such that the input data 120 complies with the respective suitability criteria 126 .

[0061] In another example, if the input data 120 does not meet the corresponding suitability standard 126, the application software component 106 and / or the processor 102 can also be configured to: generate a corresponding message 128 indicating that the input data 120 does not meet the corresponding suitability standard 126, the corresponding message 128 including information about the corresponding suitability standard 126 that the input data 120 does not meet; and provide the generated corresponding message 128 to a user or operator of the corresponding device 140.

[0062] In particular, since the respective message 128 can also include information about the respective suitability criteria 126 that the input data 120 does not comply with, for example, not only data scientists but also test engineers or operators of the respective device 140 or a factory including the respective device 140 may be able to understand the potential problem leading to the non-compliance of the respective suitability criteria 126. In some examples, the respective message 128 including the respective suitability criteria 126 that the input data 120 does not comply with may include further information about the kind of observations that have been made or detected in the case of the bad input data 120. Therefore, the mentioned further information can, for example, facilitate remediation of ongoing problems in the input data 120 and reduce investigation time.

[0063] Figure 6 , an exemplary message 128 in an environment that facilitates analysis of input data of a corresponding device 140 and / or control of a corresponding device 140 in a production system is shown. Here, the exemplary message 128 includes a statement "The model has been protected and not executed to prevent untrustworthy prediction results due to corrupted features.", which indicates that the input data 120 does not meet at least one suitability criterion 126 and the input data 120 is not provided to the trained function 122 to generate output data 124. Figure 6 The exemplary message 128 further includes the statement

[0064] “Violations of critical level metrics:

[0065] Number of missing features (characteristics, meta information)

[0066] Value: 9

[0067] Critical level notification threshold: 0

[0068] Missing features: (...) [C1600, C1601, C1602, U301-1_1_, V221-AK_K_1_, V221-A_AK_1_, V305-2_1, V342-1_1_, V505_1_, ]", as an example, may indicate that there may be values ​​for the above-mentioned expected number of input data features. According to the exemplary message 128, the acceptable number of missing input data features is 0, while the actual number of acceptable missing input data features is 9 (i.e., nine features corresponding to the number in the square brackets), which causes the input data 120 to be incompatible.

[0069] From this exemplary message 128, it may become apparent that, in some examples, the corresponding message 128 is also fairly easy to understand for a non-expert in the field of data science, such as an average test engineer or operator of the corresponding device 140 or a plant including the corresponding device 140. This facilitated understandability and interpretability of the corresponding message 128 is achieved, for example, by enriching the corresponding message 128 with information about the corresponding suitability criteria 126 that the input data 120 does not meet. In some examples, the corresponding message 128 can include information about the corresponding suitability criteria 126 and how or why the input data 120 does not meet the corresponding suitability criteria 126. In other examples, the corresponding message 128 may include the input data 120 that does not meet the corresponding suitability criteria 126.

[0070] Providing the generated corresponding message 128 to the user or operator of the corresponding device 140 may be accomplished, for example, by displaying the generated message 128 to the user or operator via the above-mentioned display device 112, wherein, in some examples, the generated message 128 can be displayed to the user or operator on his or her smartphone, laptop, tablet, or other mobile device or personal computer. In other examples, the generated corresponding message 128 that may be provided to the user or operator of the corresponding device 140 is a voice message.

[0071] As an example, the corresponding message 128 may be stored in the data storage area 108 of the computing device 118. Additionally, in some examples, if there are two or more suitability criteria 126 that the input data 120 does not meet, then, for example, for a given data point of the input data 120 or a given (preferably short) time interval of the input data 120, there can be only one composite message 128 that may include an indication that the input data 120 does not meet the two or more suitability criteria 126, and which may also include information about the two or more suitability criteria 126 that the input data 120 does not meet.

[0072] In some examples, corresponding messages 128 can be provided to an IT system, a MOM system, an MES, an ERP system, or a SCADA system that is communicatively connected to the computing device 118, and in some examples, corresponding devices 140 can be analyzed, monitored, operated, controlled, or managed.

[0073] It should be understood that in some examples, the application software component 106 and / or the processor 102 can also be configured to: provide an acceptable data drift 130 relative to the input data 120; determine a corresponding updated suitability standard 126' taking into account the acceptable drift 130; and replace the corresponding suitability standard 126 with the corresponding updated suitability standard 126'.

[0074] The data drift 130 can be understood, for example, as a change in the statistical moment of the distribution over time compared to training or historical data. In some examples, the corresponding device 140 may be subject to a wear or aging process, which can be known or expected in advance and which may affect the input data 120 that may be associated with the corresponding device 140. In such a case, the wear or aging may lead to an expected and acceptable data drift 130 of the input data 120 over time, whereby the acceptable data drift can be taken into account by updating the corresponding fitness criteria 126 to obtain the corresponding updated fitness criteria 126'. As an example, the input data 120 or a physical or chemical quantity included by the input data 120 can experience a specific shift after a specific time period, whereby the data drift 130 can be a linear or more complex time function. In addition, the data drift 130 can not directly depend on the time period, but on the number of times the corresponding device 140 is used or the intensity of the load or stress applied to the corresponding device 140.

[0075] The mentioned wear and aging effects can be used to determine acceptable data drift 130 which can then be used to determine a respective updated fitness criterion 126'. The respective updated fitness criterion 126' can then replace the respective fitness criterion 126 against which the input data 120 can be checked and compared.

[0076] As an example, the acceptable data drift 130 and / or the corresponding updated suitability criteria 126 ′ can be stored in the data storage area 108 of the computing device 118 .

[0077] In further examples, if the input data 120 is determined to be unsuitable for processing with the trained function 122 , the application software component 106 and / or the processor 102 can also be configured to provide alternate output data 124 ′ suitable for analyzing and / or controlling the corresponding device 140 .

[0078] In some examples, the corresponding input data 120 may characterize a processing or production step performed or monitored by the corresponding device 140, and during which a product is processed, processed or produced. If it is determined that the input data 120 is not suitable for processing with the trained function 122, the spare output data 124' can indicate that the quality of this product may not be good enough, this product may need to be classified and / or further testing may be required to check the product quality. In addition, in some examples, for example, for a production process in which the corresponding device 140 is involved, the spare output data 124' may map the input data 120 to an unimportant output. In the case of binary prediction, the most conservative spare may be, for example, a mapping to the "true error" class of the trained function 122, which in the above PCB production line results in, for example, manual inspection of the PCB. Therefore, in some examples, the spare output data 124' can avoid defective products in further processing steps.

[0079] In some examples, the corresponding input data 120 may characterize the corresponding device 140 or a production line that includes the corresponding device 140. If it is determined that the input data 120 is not suitable for processing with the trained function 122, the alternate output data 124' can indicate that the corresponding device 140 or the referenced production line may have a fault, may require maintenance or repair, or may need to be shut down.

[0080] In another example, if it is determined that the input data 120 is not suitable for processing with the trained function 122, the spare output data 124' can trigger or be used to trigger the corresponding device 140 or the production line including the corresponding device 140 to switch from the operating mode to the safe mode in the functional safety environment. For example, such a scenario can be applied if the input data 120 does not meet the above-mentioned alarm criteria or if it involves environmental, health or safety topics related to the corresponding device 140 (such as causing a fire or potential harm to production personnel).

[0081] As an example, the backup output data 124' can be predetermined and / or stored in the data storage area 108 of the computing device 118. In some examples, the backup output data 124' can be provided to an IT system, a MOM system, an MES, an ERP system, or a SCADA system that is communicatively connected to the computing device 118 and, in some examples, can analyze, monitor, operate, control, or manage the corresponding device 140.

[0082] In some examples, the application software component 106 and / or the processor 102 can also be configured to: assign a first flag 132 to the input data 120 if it is determined that the input data 120 is suitable for processing using the trained function 122; and / or assign a second flag 134 to the input data 120 if it is determined that the input data 120 is not suitable for processing using the trained function 122.

[0083] For example, the first flag 132 and the second flag 134 can be understood as data quality flags that can be assigned to the corresponding input data 120. The first flag 132 and the second flag 134 can, for example, simply indicate that the input data 120 can be "ok" or "not okay", that is, suitable or unsuitable for processing with the trained function 122, respectively. The second flag 134 indicating unsuitable input data 120 can, for example, be used to open an alternative data flow path to bypass the trained function 122. In this case, the input data 120 and the second flag 134 can be sent through the channel (for example, included by the above-mentioned corresponding message 128) to avoid the prediction of bad data by the trained function 122. The second flag 134 and the corresponding message 128 can, for example, be provided to a user or operator of the corresponding device 140.

[0084] Additionally, in some examples, the first indicia 132 and the second indicia 134 may facilitate saving information if it has been determined that a particular portion of the input data 120 is suitable or unsuitable for processing with the trained function 122. The saved information can, for example, facilitate a later evaluation of the quality or performance of the corresponding device 140, a production line including the corresponding device 140, or a processing or production step performed or monitored by the corresponding device 140. In this manner, the saved information can, for example, facilitate remedial work, such as retraining of the trained function 122 or identifying and performing potentially needed maintenance, repair, or replacement of the corresponding device 140.

[0085] As an example, the first indicator 132 and / or the second indicator 134 can be predetermined and / or stored in the data storage area 108 of the computing device 118. In some examples, the first indicator 132 and / or the second indicator 134 can be provided to an IT system, a MOM system, an MES, an ERP system, or a SCADA system that is communicatively connected to the computing device 118, and in some examples, the corresponding device 140 can be analyzed, monitored, operated, controlled, or managed.

[0086] In some embodiments, the determination of whether the input data 120 is suitable for processing with the trained function 122 and the processing of the input data 120 with the trained function 122 may be performed by the computing device 118. In further embodiments, the computing device 118 may be arranged in the same communication network as the corresponding device 140. In further embodiments, the computing device 118 may be arranged within a radius of 5 m of the corresponding device 140. In further examples, the computing device 118 may be communicatively connected to the corresponding device 140 with a latency of less than 10 ms. It should be understood that one or more of these aspects in the context of the computing device 118 can be combined.

[0087] In some examples, such a computing device 118 may be understood as an edge device, which may be arranged in a process layer, a field layer, or a control layer of an industrial production facility in an industrial environment. In addition, the corresponding device 140, for example, can also be such an edge device. In another example, the computing device 118 may have computing and memory resources similar to those of a smartphone in the prior art, for example, currently (in 2022) 4GB or 8GB RAM, a CPU with a maximum of 4 cores, 1 or 6 cores at 2GHz to 3.5GHz, and a maximum of 512GB of memory, whereby it is expected that these prior art computing and memory resources will become larger over time. In another example, the computing device 118 may have computing and memory resources similar to those of the prior art, but a low-cost smartphone, for example, costs or is equivalent to approximately 20% to 50% of the above-mentioned RAM, CPU, and memory resources. Therefore, the computing device 118 may be implemented, for example, by an industrial PC.

[0088] In some examples, computing device 118 and corresponding device 140 may be arranged close to each other in a local or network manner, for example, so as to allow communication with each other with a latency of less than 10 ms, or computing device 118 and corresponding device 140 may be arranged within a radius of up to 2 m. Computing device 118 and corresponding device 140 may, for example, be arranged in the same communication network as corresponding device 140, which can, for example, mean that no communication gateway is arranged between computing device 118 and corresponding device 140.

[0089] The correspondingly arranged computing device 118 and the corresponding device 140 can facilitate and sometimes enable the determination of whether the input data 120 is suitable for processing with the trained function 122, and the rapid and reliable execution of the processing of the input data 120 with the trained function 122. In addition, such rapid and reliable execution of these two tasks can (for example) enable so-called inspection in manufacturing, that is, inspection during the production process, which helps to repair the defect source immediately after the defect source is detected, thereby enabling the quality of the product to be controlled, which is useful for factories that hope to increase productivity, reduce defect rates, reduce rework and waste. In some examples, such rapid and reliable execution of these two tasks can (for example) enable closed-loop manufacturing, which is a closed-loop process of manufacturing and measuring or inspecting in a manufacturing machine (here, the corresponding device 140 or a production plant including the corresponding device 140). Therefore, closed-loop manufacturing can reduce costs and improve the quality and accuracy of produced parts.

[0090] It should be appreciated that in some examples, the application software component 106 and / or the processor 102 may also be configured to use the output data 124 and the optional alternate output data 124 ′ to analyze and / or control the corresponding device 140 .

[0091] In some examples, application software component 106 and / or processor 102 can also be configured to: analyze and / or control a manufacturing process of a product using corresponding device 140; and use output data 124 and optional alternate output data 124' to determine whether product quality is good enough.

[0092] In this article, the manufacturing process of a product can be, for example, a discrete manufacturing process for different product items. In some examples, the manufacturing process of a product can be a continuous or process manufacturing process associated with a formula and a manufacturing recipe. Therefore, process manufacturing can sometimes also be referred to as a "process industry", which can be defined as an industry that involves processing a large amount of resources into other products, such as the chemical or petrochemical industry.

[0093] For example, the corresponding device 140 can be any one of a production machine, an automation device, a sensor, a production monitoring device, a vehicle, or any combination thereof.

[0094] In some examples, the corresponding device 140 can be or include a sensor, an actuator (such as an electric motor, a valve or a robot, and an inverter for powering the electric motor), a gearbox, a programmable logic controller (PLC), a communication gateway, and / or other parts and components related to industrial automation products and industrial automation in general. The corresponding device 140 can be (a part of) a complex production line or production plant, for example, a bottling machine, a conveyor, a welding machine, a welding robot, etc. In addition, as an example, the corresponding device can be or include a manufacturing operation management (MOM) system, a manufacturing execution system (MES), and an enterprise resource planning (ERP) system, a supervisory control and data acquisition (SCADA) system, or any combination thereof.

[0095] In an industrial embodiment, the proposed method and system can be implemented in the context of an industrial production facility, for example, for the production of product equipment (e.g., printed circuit boards, semiconductors, electronic components, mechanical components, machines, robots, equipment, vehicles or parts of vehicles (such as cars, motorcycles, airplanes, ships, etc.)), or parts of energy generation or distribution facilities (power plants (usually), transformers, switch cabinets, etc.). As an example, the proposed method and system can be applied to certain manufacturing steps (such as milling, grinding, welding, forming, painting, cutting, etc.) during the production of product equipment, such as during the production of automobiles, monitoring or even controlling the welding process. In particular, the proposed method and system can be applied to one or more factories that perform the same task at different locations, whereby the input data 120 can originate from one or more of these factories, which can allow monitoring, operation and / or control of the corresponding equipment 140 or factory. In a further example, the proposed method and system can be implemented in the context of, for example, assisted or automated driving of vehicles (such as cars, motorcycles, airplanes, ships, etc.), wherein the corresponding equipment 140 can be or be included in the vehicle that can be analyzed and / or controlled using the proposed method.

[0096] In some examples, the proposed method and system may have the following advantages in the context of machine learning pipeline execution (e.g., on an edge IPC close to the production line): Without the proposed method, the trained function 122 or ML model may not be able to execute for bad input data 120. This may cause anomalies in the embedded software, which may crash the entire ML application. This in turn may delay the production process, which relies on feedback from the trained function 122 in the event of a failure detected by the test equipment or corresponding equipment. Using the proposed method and system, these disadvantages can be reliably avoided.

[0097] Additionally, the proposed method and system can help avoid ML model predictions for out-of-domain input data samples via the trained model 122. The trained function 122 can be trained on a historical dataset with boundaries on numerical data.

[0098] During model training, the generalization of ML model predictions to values ​​outside the known boundaries can be uncertain. Further, labeled data may not be available for out-of-bounds data. In the worst case, values ​​outside the known boundaries can lead to "false negative" predictions with high ML model confidence. This can directly jeopardize the quality of the produced product due to the additional quality degradation introduced into production. Using the proposed method and system, these drawbacks can also be reliably avoided.

[0099] In addition, the proposed method and system can help reduce the time required to fix problems. Sending the above-mentioned message 128 (e.g., the results of the above-mentioned model defender evaluation) directly to the responsible user, test engineer, or data scientist can reduce the time to fix the problem. By directly pointing to the type of violation in the input data 120, the underlying upstream problem can be fixed more efficiently. Without using the proposed method and system, potentially laborious and time-consuming data tracking and vulnerability investigation may be required to find the cause of the missing model prediction. In some examples, this can be achieved through interpretable output. In this way, not only data scientists, but also regular users, test engineers, or operators can understand the underlying problem. For example, an incoming data point with a missing unique identifier and an abnormal feature value sends the following message (among others) to the consumer, which can be relatively easy to understand and explain:

[0100] "Key: Feature 'meta' violates 'required'. 'uid' is a required feature",

[0101] "NOTE: Feature 'C721' violates

[0102] 'lower_outlier_threshold'.1.089 is lower than the lower anomaly threshold of 1.103. This is an outlier. '

[0103] In addition, for example, default alert and defense thresholds can be used, such as for the above-mentioned warning criteria and alarm criteria, which can be based on verification errors on historical data, which can be used to derive default alert and defense thresholds for individual verification types or suitability criteria 128. Therefore, in general, the warning threshold can be less stringent than the alarm threshold. Therefore, if the number of violations breaks the warning criteria, but does not break the alarm threshold, the user has received a warning message that can help him completely prevent potential interference with the above-mentioned model defender.

[0104] refer to Figure 2 , as already explained above, a flow chart of a further method of analyzing input data 120 of a corresponding device 140 is shown.

[0105] refer to Figure 3 , shows a functional block diagram of another exemplary data processing system 100 that facilitates analyzing input data 120 of a corresponding device 140 and / or controlling a corresponding device 140.

[0106] like Figure 3 As shown, the computing device 118 may be consistent with the corresponding device 140. Therefore, the input data 120 originates from the same device, which in some examples also performs the following steps: determining whether the input data 120 is suitable for processing with the trained function 122; and only when it is determined that the input data 120 is suitable for processing with the trained function 122, processing the input data 120 with the trained function 122 to generate the output data 124.

[0107] refer to Figure 4 , shows a functional block diagram of another exemplary data processing system 100 that facilitates analyzing input data 120 of a corresponding device 140 and / or controlling a corresponding device 140.

[0108] like Figure 4 As shown, suitability criteria 126 for the input data 120 may be provided and stored in the data storage area 108, wherein the suitability criteria 126 may include at least one of the following items: input data type, input data precision value, input data feature type, input data feature number, input data mode type, input data category, input data image pixel size, input data image brightness, input data image luminance, input data image contrast, input data image saturation, input data image size, input data image color, input data image hue, input data image sharpness, input data image chromaticity, input data image metadata, or any combination thereof. If the input data 120 meets or does not meet the corresponding suitability criteria 126, respectively, it can be determined that the input data 120 is suitable or unsuitable for processing by the trained function 122.

[0109] Additionally, an acceptable data drift 130 relative to the input data 120 can be provided and stored in the data storage area 108, whereby an updated suitability criterion 126′ can be determined by taking into account the acceptable drift 130. The suitability criterion 126 can then be replaced with the updated suitability criterion 126′, which can also be stored in the data storage area 108.

[0110] refer to Figure 5 , shows a functional block diagram of yet another exemplary data processing system 100 that facilitates analyzing input data 120 of a corresponding device 140 and / or controlling a corresponding device 140.

[0111] like Figure 5As shown, the message 128 may be generated and displayed via the GUI 114 displayed on the display device 112. The GUI 114 may include an analysis or control UI 116 in which the message 128 may be displayed. Figure 6 and explained above.

[0112] If it is determined that the input data 120 is not suitable for processing with the trained function 122 , alternate output data 124 ′ may be provided and stored in the data storage area 108 , whereby the alternate output data 124 ′ may be suitable for analyzing and / or controlling the corresponding device 140 .

[0113] refer to Figure 6 , as already explained above, exemplary messages in the context of facilitating the analysis of input data of a respective device and / or the control of a respective device are shown.

[0114] Reference now Figure 7 , a flowchart of an exemplary method that facilitates analyzing input data 120 of a corresponding device 140 and / or controlling a corresponding device 140 is shown.

[0115] like Figure 7 As shown, input data 120 may be provided and processed to determine whether the input data 120 is suitable for processing with the trained function 122. The processing and determination steps may be performed by the model defender module 136, which may only admit suitable input data 120 to the trained function 122.

[0116] If the input data 120 does not meet the suitability criteria 126, a message 128 can be generated and provided to a user or operator of the corresponding device 140, for example, by providing the message 128 to an IT system, MOM system, MES, ERP system, or SCADA system that is communicatively connected to the computing device 118 and that in some examples can analyze, monitor, operate, control, or manage the corresponding device 140. Thus, the message 128 can indicate that the input data 120 does not meet the corresponding suitability criteria 126, and thus, the corresponding message 128 can include information about the corresponding suitability criteria 126 that the input data 120 does not meet.

[0117] Only when it is determined that the input data 120 is suitable for processing with the trained function 122 and, for example, meets the suitability criteria 126 , is the input data 120 processed with the trained function 122 to generate the output data 124 .

[0118] Further, if it is determined that the input data 120 is suitable or unsuitable for processing with the trained function 122, respectively, a first flag 132 or a second flag 134 can be assigned to the input data 120. The first flag 132 and the second flag 134 can be provided, for example, to an IT system, a MOM system, an MES, an ERP system, or a SCADA system that is communicatively connected to the computing device 118 and, in some examples, can analyze, monitor, operate, control, or manage a corresponding device 140.

[0119] If it is determined that the input data 120 is not suitable for processing with the trained function 122, then alternative output data 124' suitable for analyzing and / or controlling the corresponding device 140 can be provided. The input data 120 of the corresponding device 140 can then be analyzed and / or the output data 124 and the optional alternative output data 124' can then be used to control the corresponding device 140. In addition, the manufacturing process of the product using the corresponding device 140 can be analyzed and / or controlled, so that the output data 124 and the optional alternative output data 124' can be used to determine whether the product quality is good enough.

[0120] Reference now Figure 8 , a flowchart of another exemplary method of facilitating analyzing input data of a respective device and / or controlling a respective device is shown. Method 800 can start at 802 and can include several actions performed by operation of at least one processor.

[0121] These actions can include: action 804, providing input data from a corresponding device; action 806, providing a trained function for processing the input data to generate output data, the output data being suitable for analyzing and / or controlling the corresponding device; action 808, determining whether the input data is suitable for processing with the trained function; and action 810, only when it is determined that the input data is suitable for processing with the trained function, processing the input data with the trained function to generate output data. At 812, the method can end.

[0122] It should also be appreciated that method 800 may include other actions and features previously discussed with respect to computer-implemented methods for analyzing input data of a corresponding device and / or controlling a corresponding device.

[0123] Fig. 9A block diagram of a data processing system 1000 (also referred to as a computer system) is shown, wherein, for example, embodiments may be implemented as part of a product system, and / or as part of other systems operably configured by software, or otherwise perform the processing described herein. The data processing system 1000 may include, for example, a computer or IT system or the data processing system 100 described above. The depicted data processing system includes at least one processor 1002 (e.g., a CPU) that may be connected to one or more bridges / controllers / buses 1004 (e.g., a north bridge, a south bridge). For example, one of the buses 1004 may include one or more I / O buses, such as a PCI Express bus. Also connected to different buses in the depicted example may include a main memory 1006 (RAM) and a graphics controller 1008. The graphics controller 1008 may be connected to one or more display devices 1010. It should also be noted that in some embodiments, one or more controllers (e.g., graphics, south bridge) can be integrated with the CPU (on the same chip or die). Examples of CPU architectures include IA-32, x86-64, and ARM processor architectures.

[0124] Other peripheral devices connected to one or more buses may include a communication controller 1012 (Ethernet controller, WiFi controller, cellular controller), which is operable to connect to a local area network (LAN), a wide area network (WAN), a cellular network and / or other wired or wireless network 1014 or communication equipment.

[0125] Other components connected to the various buses may include one or more I / O controllers 1016, such as USB controllers, Bluetooth controllers, and / or dedicated audio controllers (connected to speakers and / or microphones). It should also be understood that various peripheral devices may be connected (via different ports and connections) to an I / O controller, which includes an input device 1018 (e.g., a keyboard, a mouse, a pointer, a touch screen, a touch pad, a drawing tablet, a trackball, a button, a keypad, a game controller, a handle, a camera, a microphone, a scanner, a motion sensing device that captures motion gestures), an output device 1020 (e.g., a printer, a speaker), or any other type of device that is operable to provide input to the data processing system or receive output from the data processing system. In addition, it should be understood that many devices referred to as input devices or output devices are capable of both providing input to communicate with the data processing system and receiving output to communicate with the data processing system. For example, the processor 1002 may be integrated into a housing (such as a tablet) that includes a touch screen used as an input and display device. Further, it should be understood that some input devices (such as laptops) can include multiple different types of input devices (e.g., touch screens, touch pads, keyboards). Furthermore, it should be appreciated that other peripheral hardware 1022 connected to I / O controller 1016 may include any type of device, machine, or component configured to communicate with the data processing system.

[0126] Additional components connected to different buses can include one or more storage controllers 1024 (e.g., SATA). The storage controller can be connected to a storage device 1026, such as one or more storage drives and / or any associated removable media, which can be any suitable available non-transient machine or machine-readable storage medium. Examples include non-volatile devices, volatile devices, read-only devices, writable devices, ROMs, EPROMs, tape storage devices, floppy disk drives, hard drives, solid-state drives (SSDs), flash memory, optical disk drives (CDs, DVDs, Blu-rays), and other known optical, electrical or magnetic storage device drivers and / or computer media. In addition, in some examples, a storage device such as an SSD can be directly connected to an I / O bus 1004 such as a PCI Express bus.

[0127] The data processing system according to an embodiment of the present disclosure may include an operating system 1028, software / firmware 1030, and a data storage area 1032 (which may be stored on a storage device 1026 and / or memory 1006). Such an operating system may use a command line interface (CLI) shell and / or a graphical user interface (GUI) shell. The GUI shell allows multiple display windows to be presented simultaneously in a graphical user interface, wherein each display window provides an interface to different applications or different instances of the same application. The cursor or pointer in the graphical user interface can be manipulated by a user through a pointing device such as a mouse or a touch screen. The position of the cursor / pointer can be changed and / or an event such as clicking a mouse button or touching a touch screen can be generated to actuate a desired response. Examples of operating systems that can be used in a data processing system may include Microsoft Windows, Linux, UNIX, iOS, and Android operating systems. In addition, examples of data storage include data files, data tables, relational databases (e.g., Oracle, Microsoft SQL servers), database servers, or any other structure and / or device that can store data that can be retrieved by a processor.

[0128] Communication controller 1012 may be connected to network 1014 (not part of data processing system 1000), which can be any public or private data processing system network or combination of networks known to those skilled in the art, including the Internet. Data processing system 1000 may communicate with one or more other data processing systems (such as server 1034) (also not part of data processing system 1000) via network 1014. However, alternative data processing systems may correspond to multiple data processing systems implemented as part of a distributed system in which processors associated with several data processing systems can communicate via one or more network connections and can collectively perform tasks described as being performed by a single data processing system. Therefore, it should be understood that when referring to a data processing system, such a system can be implemented across several data processing systems that are organized as a distributed system that communicates with each other via a network.

[0129] Additionally, the term "controller" refers to any device, system, or portion thereof that controls at least one operation, whether such a device is implemented in hardware, firmware, software, or some combination of at least two thereof. It should be noted that the functionality associated with any particular controller can be centralized or distributed, whether locally or remotely.

[0130] In addition, it should be understood that the data processing system can be implemented as a virtual machine architecture or a virtual machine in a cloud environment. For example, processor 1002 and associated components can correspond to a virtual machine executed in a virtual machine environment of one or more servers. Examples of virtual machine architectures include VMware ESCi, Microsoft Hyper-V, Xen, and KVM.

[0131] Those of ordinary skill in the art will recognize that the hardware depicted for the data processing system can vary for a specific implementation. For example, the data processing system 1000 in this example can correspond to a computer, workstation, server, PC, laptop, tablet, mobile phone, and / or any other type of device / system operable to process data and perform the functions and features described herein associated with the operation of the data processing systems, computers, processors, and / or controllers discussed herein. The depicted examples are provided for illustrative purposes only and are not meant to imply architectural limitations with respect to the present disclosure.

[0132] Moreover, it should be noted that the processor described herein may be located in a server remote from the display and input devices described herein. In such an example, the display device and input device described may be included in a client device that communicates with a server (and / or a virtual machine executed on a server) via a wired or wireless network (which can include the Internet). In some embodiments, such a client device, for example, can execute a remote desktop application or can correspond to a portal device that executes a remote desktop protocol with a server so that input is sent from the input device to the server and visual information is received from the server to be displayed through a display device. Examples of such remote desktop protocols include Teradici's PCoIP, Microsoft's RDP, and RFB protocols. In such an example, the processor described herein can correspond to a virtual processor of a virtual machine executed in a physical processor of a server.

[0133] As used herein, the terms "component" and "system" are intended to encompass hardware, software, or a combination of hardware and software. Thus, for example, a system or component can be a process, a process executed on a processor, or a processor. Additionally, a component or system can be located on a single device or distributed across several devices.

[0134] In addition, as used herein, a processor corresponds to any electronic device configured via hardware circuitry, software, and / or firmware to process data. For example, the processor described herein may correspond to one or more (or a combination thereof) of a microprocessor, a CPU, an FPGA, an ASIC, or any other integrated circuit (IC) or other type of circuit capable of processing data in a data processing system, which may be in the form of a controller board, a computer, a server, a cell phone, and / or any other type of electronic device.

[0135] Those skilled in the art will recognize that, for the sake of simplicity and clarity, the complete structure and operation of all data processing systems suitable for use with the present invention are not depicted or described herein. Instead, only so many data processing systems as are unique to the present disclosure or necessary for understanding the present disclosure are depicted and described. The remainder of the structure and operation of data processing system 1000 may follow any implementation in various current implementations known in the art and in practice.

[0136] In addition, it should be understood that, unless explicitly limited in some examples, the words or phrases used herein should be interpreted broadly. For example, the terms "comprise" and "comprises" and their derivatives are meant to include but are not limited to. Unless the context clearly indicates otherwise, the singular forms "one", "an" and "the" are intended to also include plural forms. In addition, the term "and / or" as used herein refers to and encompasses any and all feasible combinations of one or more related listed items. Unless the context clearly indicates otherwise, the term "or" is inclusive, meaning "and / or". The phrases "associated with..." and "associated with it" and their derivatives may mean including, included in, interconnected with, included in, included in, connected to or connected with, coupled to or coupled with, can communicate with, collaborate with, interlace, juxtapose, approach, bind to or bind with, have, have... attributes, etc.

[0137] Moreover, although the terms "first", "second", "third", etc. may be used herein to describe various elements, functions, or actions, these elements, functions, or actions should not be limited by these terms. On the contrary, these numerical adjectives are used to distinguish different elements, functions, or actions from each other. For example, without departing from the scope of the present disclosure, a first element, function, or action may be referred to as a second element, function, or action, and similarly, a second element, function, or action may be referred to as a first element, function, or action.

[0138] In addition, phrases such as "the processor is configured to" perform one or more functions or processes can mean that the processor is operably configured to or operably configured to perform the function or process via software, firmware, and / or wired circuitry. For example, a processor configured to perform a function / process can correspond to a processor that executes software / firmware that is programmed to cause the processor to perform the function / process and / or can correspond to a processor that has software / firmware in a memory or storage device that can be executed by the processor to perform the function / process. It should also be noted that a processor "configured to" perform one or more functions or processes can also correspond to processor circuits (e.g., ASIC or FPGA designs) that are specially manufactured or "wired" to perform these functions or processes. In addition, the phrase "at least one" preceding an element (e.g., a processor) that is configured to perform more than one function can correspond to one or more elements (e.g., processors) that each perform the function, and can also correspond to two or more elements (e.g., processors) that respectively perform different items of the one or more different functions.

[0139] In addition, unless the context clearly indicates otherwise, the term “adjacent to” may mean that an element is relatively close to another element but not in contact with the other element; or that the element is in contact with the other element.

Claims

1. A computer-implemented method for analyzing input data (120) of a corresponding device (140) and / or controlling the corresponding device (140), the method comprising: - providing input data (120) from said corresponding device (140); - providing a trained function (122) for processing said input data (120) to generate output data (124), said output data (124) being suitable for analyzing and / or controlling said corresponding device (140); - determining whether the input data (120) is suitable for processing by the trained function (122); - only if it is determined that the input data (120) is suitable for processing with the trained function (122), processing the input data (120) with the trained function (122) to generate the output data (124); - providing at least one suitability criterion (126) for the input data (120), the respective suitability criterion (126) comprising at least one of the following: input data type, input data precision value, input data feature type, input data feature number, input data pattern type, input data category, input data image pixel size, input data image brightness, input data image luminosity, input data image contrast, input data image saturation, input data image size, input data image color, input data image hue, input data image sharpness, input data image chromaticity, input data image metadata, or any combination thereof; - if the input data (120) does not meet the corresponding suitability criterion (126), determining that the input data (120) is not suitable for processing by the trained function (122), and / or If the input data (120) meets the corresponding suitability criteria (126), it is determined that the input data (120) is suitable for processing by the trained function (122).

2. The computer-implemented method of claim 1 , wherein: At least one of the suitability criteria (126) includes a warning criterion and an alarm criterion, the method further comprising: - if the input data (120) does not meet the alarm criterion, determining that the input data (120) is not suitable for processing by the trained function (122); and - if the input data (120) does not meet the warning criterion and if the input data (120) meets the alarm criterion, determining that the input data (120) is suitable for processing with the trained function (122).

3. The computer-implemented method of any preceding claim, further comprising: If the input data (120) does not meet the corresponding suitability criteria (126), then: - providing at least one correctable non-conformity associated with a corresponding said suitability standard (126); and - if the input data (120) does not comply with the respective remediable non-conformity associated with the respective suitability criterion (126), modifying the input data (120) such that the input data (120) complies with the respective suitability criterion (126).

4. The computer-implemented method of any preceding claim, further comprising: If the input data (120) does not meet the corresponding suitability criteria (126), then: - generating a corresponding message (128) indicating that the input data (120) does not comply with the corresponding suitability criterion (126), the corresponding message (128) comprising information about the corresponding suitability criterion (126) that the input data (120) does not comply with; and - providing the generated corresponding message (128) to a user or operator of the corresponding device (140).

5. The computer-implemented method of any preceding claim, further comprising: - providing an acceptable data drift (130) relative to said input data (120); - determining a corresponding updated suitability criterion (126') by taking into account the acceptable drift (130); and - replacing the respective said suitability criterion (126) with the respective updated suitability criterion (126').

6. The computer-implemented method of any preceding claim, further comprising: If it is determined that the input data (120) is not suitable for processing by the trained function (122), then: - providing alternate output data (124') suitable for analyzing and / or controlling said respective device (140).

7. The computer-implemented method of any preceding claim, further comprising: - assigning a first label (132) to the input data (120) if it is determined that the input data (120) is suitable for processing with the trained function (122); and / or - if it is determined that the input data (120) is not suitable for processing with the trained function (122), assigning a second flag (134) to the input data (120).

8. A computer-implemented method according to any one of the preceding claims, wherein: determining whether the input data (120) is suitable for processing with the trained function (122) and processing the input data (120) with the trained function (122) is performed by a computing device (118), wherein the computing device (118) is arranged in a manner similar to that of the corresponding device (140) The computing device (118) is arranged within a radius of 5 m of the corresponding device (140), and / or the computing device (118) is communicatively connected to the corresponding device (140) with a latency of less than 10 ms.

9. The computer-implemented method of any preceding claim, further comprising: - using said output data (124) and optionally alternative output data (124') Analyze and / or control the corresponding device (140).

10. The computer-implemented method of any preceding claim, further comprising: - analyzing and / or controlling the manufacturing process of the product using the corresponding device (140); and - using said output data (124) and optionally alternative output data (124') Determine if the product quality is good enough.

11. A computer-implemented method according to any one of the preceding claims, in, The corresponding equipment (140) is any one of a production machine, an automation device, a sensor, a production monitoring device, a transportation vehicle, or any combination thereof.

12. A computing device (118) arranged and configured to perform the steps of the computer-implemented method according to any one of the preceding claims.

13. A computer program product (162) comprising computer program code which, when executed by a computing device (118) according to claim 13, causes the computing device (118) to perform the method of any one of claims 1 to 11.

14. A computer readable medium (160) comprising a computer program product (162) according to claim 13.