Method and system for detecting defects using phase persistence features

Phase data analysis with geometric and texture properties in 2D images using XGBoost models addresses the speed and accuracy challenges of conventional defect detection, enabling efficient real-time defect identification in manufacturing.

JP2026519698APending Publication Date: 2026-06-17ELI LILLY & CO

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
ELI LILLY & CO
Filing Date
2024-06-11
Publication Date
2026-06-17

AI Technical Summary

Technical Problem

Conventional defect detection systems in manufacturing face challenges in achieving both speed and accuracy, with some being overly conservative leading to high false positives, while others requiring significant resources and being unsuitable for real-time detection.

Method used

A method utilizing phase data analysis to extract geometric, shape, and texture properties from 2D images of manufactured components, employing phase features with calculated birth and death coordinates, persistence curves, and statistical models like XGBoost for defect detection.

Benefits of technology

The method achieves high accuracy with reduced false positives and negatives, enabling real-time defect detection in milliseconds, suitable for high-speed assembly lines.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026519698000001_ABST
    Figure 2026519698000001_ABST
Patent Text Reader

Abstract

The techniques described herein relate to computerized methods and apparatus for detecting defects in manufactured components. In some embodiments, a system for monitoring manufacturing defects may include an image acquisition device configured to acquire images of the manufactured component. The system may calculate a set of birth and death coordinates for each of several phase features in the image, determine digital features based on the calculated set of birth and death coordinates for each of the several phase features, and determine, based on the digital features, whether the image indicates a defect in the manufactured component. The set of birth and death coordinates may be calculated using phase data analysis. The digital features may be used with a statistical model to determine whether the image indicates a defect in the manufactured component.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] In a production assembly line, a defect detection system is used to automatically detect defects in manufactured components moving through the assembly line. Some defect detection systems capture images of manufactured components as they enter, are processed through, or exit the assembly line, and process the captured images to determine whether the images indicate defects in the manufactured components.

Summary of the Invention

[0002] The present disclosure relates to a technique for monitoring manufacturing defects in manufactured components. This technique provides a computerized method for monitoring manufacturing defects. The method may include receiving a two-dimensional (2D) image of a manufactured component, calculating a set of respective values indicative of a lifespan for each of a plurality of phase features within the 2D image, determining a digital feature based on the set of calculated values for the plurality of phase features, and determining whether the 2D image indicates a defect in the manufactured component based on the digital feature.

[0003] In some embodiments, each of the multiple phase features in a 2D image may include a shape that comprises an isolated block or a block of a first color completely enclosed by a region of a second color, where each pixel in the shape is below a filtering threshold. In some embodiments, the set of values ​​for each of the multiple phase features in a 2D image may include a set of birth coordinates and a death coordinates that represent the birth and death of the phase feature associated with the filtering threshold, respectively. In some embodiments, when determining a digital feature, the method may determine a persistence statistical vector, a persistence curve vector, or a combination thereof based on the calculated set of birth and death coordinates for the multiple phase features. In some embodiments, when determining whether a 2D image shows a defect in a manufactured component, the method may use a trained statistical model and the digital feature as input to the trained statistical model. In some embodiments, the trained statistical model may be an XGBoost classifier.

[0004] In some embodiments, the method may further include segmenting a 2D image before calculating a set of values ​​for multiple phase features. In some embodiments, the method may further include performing a smoothing operation, such as a morphological closing operation, on the 2D image before calculating a set of values ​​for multiple phase features. In some embodiments, the method may further include determining a local binary pattern based on the 2D image, and using a trained statistical model and digital features may include additionally using the local binary pattern as input to the trained statistical model.

[0005] In some embodiments, receiving a 2D image of a manufactured component may include capturing a 2D image of the manufactured component while it is moving along a conveyor belt. The manufactured component may be a syringe. Capturing a 2D image of a manufactured component may include capturing a 2D image from the top of the manufactured component. Defects may include cracks, chips, or both. [Brief explanation of the drawing]

[0006] Additional embodiments of the present disclosure, as well as their features and advantages, will become more apparent by referring to the description herein in conjunction with the accompanying drawings. Components in the drawings are not necessarily to scale. Furthermore, in the drawings, similar reference figures indicate corresponding parts throughout different drawings. [Figure 1] This is a diagram illustrating an exemplary system for detecting defects in manufactured components while they are moving along a conveyor belt, according to several embodiments. [Figure 2] This is a diagram illustrating an exemplary system for detecting whether a manufactured component in a 2D image is defective, according to several embodiments. [Figure 3] This flowchart shows an exemplary computerized method for detecting defects in manufactured components, according to several embodiments. [Figure 4] This flowchart shows an exemplary computerized method for determining topological features used to detect whether a manufactured component has defects, according to several embodiments. [Figure 5] This flowchart illustrates an exemplary computerized method for determining a local binary pattern vector used to detect whether a manufactured component is defective, according to several embodiments. [Figure 6A] Examples of 2D images containing completely defect-free manufactured components, according to several embodiments, are shown. [Figure 6B] Examples of 2D images containing completely defect-free manufactured components, according to several embodiments, are shown. [Figure 6C] Examples of 2D images containing completely defect-free manufactured components, according to several embodiments, are shown. [Figure 6D]Examples of 2D images containing completely defect-free manufactured components, according to several embodiments, are shown. [Figure 6E] Examples of 2D images containing defective manufactured components are shown according to several embodiments. [Figure 6F] Examples of 2D images containing defective manufactured components are shown according to several embodiments. [Figure 7A] Examples of 2D images containing defective manufactured components are shown according to several embodiments. [Figure 7B] The following are exemplary local binary patterns of a 2D image, as shown in Figure 7A, according to several embodiments. [Figure 7C] The following are illustrative histograms of local binary patterns, as shown in Figure 7B, representing several embodiments. [Figure 8] This shows a set of birth / death coordinates for exemplary 2D images, including manufactured components, with and without morphological closing, according to several embodiments. [Figure 9A] Examples of phase features when the filtering threshold changes with respect to the sample image are shown in several embodiments. [Figure 9B] Examples of phase features when the filtering threshold changes with respect to the sample image are shown in several embodiments. [Figure 9C] Examples of phase features when the filtering threshold changes with respect to the sample image are shown in several embodiments. [Figure 9D] Examples of phase features when the filtering threshold changes with respect to the sample image are shown in several embodiments. [Figure 9E] Examples of phase features when the filtering threshold changes with respect to the sample image are shown in several embodiments. [Figure 10] This document illustrates exemplary implementations of computer systems that may be used to implement any of the technologies and embodiments disclosed herein. [Figure 10A] FIG. 10A shows an exemplary raw image according to some embodiments, and FIG. 10B shows an example of a segmented image from the raw image shown in FIG. 10A. [Figure 10B] FIG. 10A shows an exemplary raw image according to some embodiments, and FIG. 10B shows an example of a segmented image from the raw image shown in FIG. 10A. [Figure 11A] FIG. shows a visualization of a feature space representing images without defects and images with defects detected by various configurations of a system according to some embodiments. [Figure 11B] FIG. shows a visualization of a feature space representing images without defects and images with defects detected by various configurations of a system according to some embodiments. [Figure 11C] FIG. shows a visualization of a feature space representing images without defects and images with defects detected by various configurations of a system according to some embodiments. [Figure 12] FIG. shows an exemplary implementation of a computer system that can be used to implement any of the techniques and aspects of the disclosed technology and embodiments herein. DETAILED DESCRIPTION

[0007] To facilitate understanding of the principles of the present disclosure, reference will now be made to the embodiments illustrated in the drawings and these embodiments will be described using specific language. It will still be understood, however, that no limitation of the scope of the invention is thereby intended.

[0008] In a pharmaceutical production line, for quality assurance purposes, manufactured components such as syringes, vials, or any other component can be scanned for defect detection. This scanning can be performed when the manufactured component enters the assembly line, while the component is being processed through the assembly line, and / or when the component exits the assembly line.

[0009] The inventors have recognized and understood that conventional defect detection systems face the problem of achieving both speed and accuracy. For example, some conventional systems tend to be overly conservative when identifying defects, and thus have high false positives, causing waste / discard of more samples than necessary. Some conventional systems, for example, systems using neural network models, can achieve higher accuracy but at the expense of speed. For example, neural network-based systems tend to require a large number of features and large-scale computing resources and are not very suitable for real-time defect detection.

[0010] In a production assembly line, defect detection may need to be performed in real time so that the manufactured components can be detected while still on the assembly line or before leaving the assembly line. In this way, defective manufactured components can be timely removed from the assembly line (e.g., before moving to the next manufacturing stage). In some embodiments, even if the manufactured components are not identified as defective until they move to the next production stage or leave the assembly line, it is still desirable to quickly detect defects so as to minimize the number of defective components produced and / or processed. For example, in the case of a high-speed assembly line, defect detection may need to be performed on the order of milliseconds. In an exemplary assembly line, to maintain normal production speed, the defect detection system may have only about 150 milliseconds (ms) to respond, i.e., to determine whether the manufactured component (e.g., a syringe entering the assembly line) has a defect or is damaged. Further, the determination as to whether a manufactured component has a defect typically needs to be accurate enough to minimize false positives (which may cause unnecessary discard of non-defective manufactured components) or false negatives (which may allow defective manufactured components to enter the next product stage).

[0011] To solve the various technical problems or other challenges discussed above, the inventors recognized and understood that phase data analysis can be used for defect detection to achieve both high accuracy and high execution speed. In particular, the inventors understood that phase features may include geometric, shape, and / or texture properties associated with a manufactured component, and that these can be used to detect defects in the manufactured component. The inventors also recognized and understood that phase data analysis techniques may be suitable for extracting phase features from images of manufactured components, and that the calculation of phase features can be performed with high efficiency.

[0012] Accordingly, the inventors have developed novel techniques for monitoring manufacturing defects in manufactured components. This specification describes various techniques, including systems, computerized methods, and computer-executable instructions stored in non-temporary computer-readable media, for receiving two-dimensional (2D) images of manufactured components. For example, a system may capture a 2D image of a manufactured component as it moves along a conveyor belt. In some examples, the 2D image of a manufactured component may be captured from above the manufactured component.

[0013] In some embodiments, the system may calculate a set of values ​​for each of several phase features in a 2D image, the set of values ​​indicating the lifetime of the phase feature (e.g., start and end). The multiple phase features may include geometric, shape, and / or texture properties associated with a manufactured component. For example, a phase feature may be position and rotation invariant. In some examples, phase features may be associated with shape and may be at different levels. For example, a zero-level phase feature may include an isolated block of a first color (e.g., a connected group of at least one black pixel), and a first-level phase feature may include a block of a second color enclosed by a region of the first color (e.g., a block of white pixels enclosed by connected black pixels). For each phase feature, the system may determine a set of values ​​indicating the lifetime of the phase feature, e.g., the start and end of the phase feature associated with a fluctuating threshold. In some embodiments, the set of values ​​for a phase feature may include a set of birth and death coordinates, e.g., a pair of birth and death coordinates indicating values ​​associated with the start and end of the phase feature, respectively. In some embodiments, pairs of birth and extinction coordinates of phase features are determined by varying a filtering threshold and comparing the intensity of a 2D image with the filtering threshold to identify sets of birth and extinction coordinates.

[0014] In some embodiments, the system may determine digital features based on a calculated set of birth and death coordinates for each of a set of phase features. In some examples, the digital features may include one or more persistence curve vectors based on sets of birth and death coordinates for a set of phase features. For example, the digital features may include persistence statistical vectors, persistence curve vectors, or a combination thereof. In some embodiments, the persistence statistical vectors may include one or more of the mean, standard, skewness, kurtosis, or entropy associated with the birth and death coordinates in the set of birth / death coordinates. The persistence curve vectors may be determined based on the birth and death coordinates in the set of birth and death coordinates.

[0015] In some embodiments, the system may determine, based on digital features, whether a 2D image shows defects in a manufactured component. In some embodiments, the system may detect defects in a manufactured component using a trained statistical model and digital features as input to the trained statistical model. The statistical model may be any suitable model, such as a classifier, and may be implemented in any suitable framework, such as a gradient boosting machine learning model (XGBoost), a convolutional neural network (CNN), or any other suitable model. As a result, the output of the statistical model may indicate whether the manufactured component has defects. Examples of defects that may be detected include cracks, chips, and / or similar defects.

[0016] In some embodiments, additional features may also be provided to the statistical model to determine whether the 2D image shows any defects in the manufactured component. For example, the system may determine a local binary pattern vector based on the 2D image and provide the local binary pattern vector as input to the statistical model. In some embodiments, the local binary pattern vector may be determined based on a local binary pattern image of the 2D image, which may include grayscale and / or rotation-invariant features. In some examples, the local binary pattern vector may be determined based on a histogram of the local binary pattern image.

[0017] In some embodiments, the captured 2D images of the manufactured components may be preprocessed to improve the performance of phase feature extraction and subsequent detection. For example, the system may segment the 2D images (e.g., via cropping) before extracting phase features. In some examples, the system may also perform a smoothing operation on the 2D images, for example, by performing a morphological closing operation. It is understood that other smoothing techniques may also be used.

[0018] The technology described herein may offer advantages over conventional systems for detecting defects in manufactured components. For example, improved accuracy can be achieved over conventional systems with respect to measures such as true positives, false negatives, false positives and true negatives, area under receiver operating characteristic (AUROC), area under precision-recall curve (AUPRC), precision, recall, specificity, and / or harmonic mean (F1) of precision and recall. The technology described herein can also achieve speeds high enough to detect defects in real time. In one exemplary embodiment implemented in the applicant's manufacturing line for manufacturing and / or processing glass syringes, the processing speed for processing images acquired under typical manufacturing operations can be shown to be 52 ms to process each image, with only a small additional time for performing local binary pattern (another 33 ms) and morphological closing operations (0.6 ms).

[0019] While various embodiments have been described, it will be apparent to those skilled in the art that many more embodiments and implementations are possible. Therefore, the embodiments described herein are examples and not the only possible embodiments and implementations. Furthermore, the advantages described above are not necessarily the only advantages, and it is not necessarily expected that all of the described advantages will be achieved in each embodiment.

[0020] Figure 1 shows an exemplary system 100 for detecting defects in manufactured components while they are moving along a conveyor belt, according to several embodiments. In some embodiments, system 100 may include an imaging and acquisition device (e.g., camera 112) configured to acquire images / videos of manufactured components 102 in a production line while they are moving along a conveyor belt 104. As shown, an example of a manufactured component 102 is a container. However, it should be understood that this is for illustrative purposes only, and the manufactured component can be any other device or component scanned for defect detection, such as a syringe, glass vial, bottle, jar, and / or any other suitable component. Although the manufactured component 102 is shown on a conveyor belt, the manufactured component may be moving while being scanned / imaged on another platform, such as a turntable.

[0021] System 100 may further include a server 110 having at least a processor, memory, a storage medium, and / or other components. At least one processor may be configured to execute programming instructions stored in memory for processing captured images / videos. For example, server 110 may analyze 2D images in real time as each image is captured and detect defects in the images. In some examples, the inspection process for manufactured components can be completed in a very short time, such as a fraction of a second, during which time the system may determine whether the manufactured component may be potentially defective. In response to determining that the manufactured component may be potentially defective, the system may take one or more corrective actions, such as removing the manufactured component from the assembly line before moving to the next production stage.

[0022] Alternatively, and / or additionally, in response to a determination that a manufactured component may potentially have a defect, the system may generate an alarm indicating the detected potential defect. The alarm may include any preferred form and may communicate to a user device using any preferred communication protocol to inform the user that a defect has been detected. For example, server 110 may send a notification, warning, or report to user device 114 via a communication line (wired or wireless). The notification or report may include information about the defect and / or the type of defect. Upon receiving an alarm on user device 114, the operator may take timely corrective action. Further details of the system 100 for detecting defects in manufactured components are described with reference to Figures 2 to 10.

[0023] Figure 2 shows an exemplary system 200 for detecting whether a manufactured component in a 2D image may be defective, according to several embodiments. In some embodiments, system 200 may be an exemplary implementation of system 100 (Figure 1). For example, system 200 may be implemented in server 110 (Figure 1). System 200 may receive a 2D image of a manufactured component, which may be captured in the manner described in the embodiment of Figure 1. In a non-limiting example, the manufactured component may be a syringe. Examples of defects that may be detected may include cracks, chips, or both, or any other defects. Figures 6A to 6F show exemplary 2D images of a syringe captured from the top. As shown, Figures 6A to 6D are examples of 2D images containing a syringe that is completely free of defects. Figures 6E to 6F are examples of 2D images containing a syringe that is defective.

[0024] Returning to Figure 2, the system 200 may include a topological feature extractor 206 configured to determine topological features from a 2D image. The topological feature extractor 206 may include a persistence diagram generator 206-1 and a digital feature extractor 206-2. The persistence diagram generator 206-1 may be configured to generate a persistence diagram of a 2D image. In some embodiments, the persistence diagram may be generated using topological data analysis (TDA), as described in detail in Figures 3-4. The persistence diagram may include a set of values, e.g., birth coordinates and extinction coordinates, each set representing the lifetime of one topological feature among a plurality of topological features. For example, a set of values ​​for a topological feature may include a pair of birth and extinction coordinates corresponding to that topological feature among a plurality of topological features. The birth and extinction coordinates in each pair may include two values ​​(e.g., numerical values) representing the lifetime (e.g., birth, extinction) of each topological feature among a plurality of topological features. For example, the birth and death coordinates of a phase feature may indicate the birth and death of the phase feature, respectively. Multiple phase features may include geometric, shape, and / or texture properties associated with the manufactured component. For example, phase features may be position and rotation invariant.

[0025] Referring further to Figure 2, the digital feature extractor 206-2 may be configured to convert persistence diagrams (e.g., birth and death coordinates) into digital features for use with the subsequent statistical model 208. The digital features output from the digital feature extractor 206-2 may include one or more persistence curve vectors determined based on sets of birth / death coordinates for multiple phase features. For example, the digital features may include persistence statistical vectors, persistence curve vectors, or a combination thereof. The persistence statistical vectors may include one or more of the mean, standard, skewness, kurtosis, or entropy associated with pairs of birth and death coordinates in the set of birth / death coordinates. The persistence curve vectors may also be determined based on pairs of birth and death coordinates in the set of birth / death coordinates.

[0026] In some embodiments, the system 200 may further include a trained statistical model 208 configured to determine, based on digital features from a phase feature extractor 206, whether a 2D image indicates a defect in the manufactured component. The statistical model may be any suitable model, such as a classifier, and may be implemented in any suitable framework, such as a gradient boosting machine learning model (XGBoost), a convolutional neural network (CNN), or any other suitable model. As a result, the output of the statistical model may indicate whether the manufactured component has any defects.

[0027] Referring further to Figure 2, alternatively and / or additionally, the system 200 may include a local binary pattern (LBP) extractor 210 configured to provide additional features to the trained statistical model 208. For example, the LBP extractor 210 may determine a local binary pattern vector based on a 2D image and provide the local binary pattern vector as input to the statistical model 208. In some embodiments, the local binary pattern vector may be determined based on a local binary pattern image of a 2D image, and the local binary pattern image may exhibit grayscale and / or rotation-invariant features. In some examples, the local binary pattern vector may be determined based on a histogram of the local binary pattern image.

[0028] Referring further to Figure 2, the system 200 may optionally include one or more preprocessing units for preprocessing 2D images. In some embodiments, the system 200 may include an image segmenter 202 configured to segment the 2D image (e.g., via cropping) before extracting phase features from the 2D image. Additionally and / or alternatively, the system 200 may include a smoothing operator 204 configured to perform a smoothing operation on the 2D image. For example, the smoothing operator 204 may be a morphological closing operator. In some examples, the smoothing operator 204 may be a Gaussian filter, a median filter, a bilateral filter, a morphological opening operator, or a combination thereof. It is understood that other preferred smoothing techniques may also be used. Although systems 100 (Figure 1) and 200 (Figure 2) have been described, further details of methods that may be implemented in systems 100 and 200 to detect defects in manufactured components are described further with reference to Figures 3 to 10.

[0029] Figure 3 is a flowchart illustrating an exemplary computerized method 300 for detecting defects in a manufactured component, according to several embodiments. In some embodiments, the method 300 may be implemented in a system 100 (e.g., server 110 in Figure 1) or a system 200 (Figure 2). For example, each action in the method 300 may be implemented in the respective block in the system 200. In a non-limiting example, the method 300 may begin in action 302, as described above herein, by receiving a 2D image of the manufactured component. For example, the 2D image may be captured by a camera configured to capture a 2D image of the manufactured component while it is moving along a moving platform, e.g., a conveyor belt.

[0030] In some embodiments, method 300 may further include determining phase features in act 308. In some embodiments, act 308 may be carried out by the phase feature extractor 206 of Figure 2. Act 308 will be described in more detail with reference to the exemplary process of Figure 4. Figure 4 is a flowchart of an exemplary computerized method 400 for determining phase features used to detect whether a manufactured component may have defects, according to some embodiments. In some embodiments, method 400 may be implemented in systems 100, 200, such as the phase feature extractor 206 (Figure 2). As shown in Figure 4, method 400 begins in act 402 by calculating birth and death coordinates for each phase feature in a 2D image, where birth and death coordinates may include a plurality of birth and death coordinate pairs represented as (b,d) for each phase feature. In some embodiments, act 402 may be implemented in a persistence diagram generator 206-1 (Figure 2). Thus, the birth and death coordinates also constitute a persistence diagram.

[0031] In some examples, a persistence diagram may include one or more sublevel persistence diagrams, each corresponding to a phase feature. For example, for a 2D image, there may be two sublevel persistence diagrams, namely, a 0th-level persistence diagram (D0) and a 1st-level persistence diagram (D1). In some embodiments, persistence diagram D0 may include a first set (b,d) ∈ D0 of birth-and-death coordinate pairs associated with a first type of phase feature (e.g., a 0th-level phase feature), such as an isolated region of a first color (e.g., a black region with connected black pixels). Persistence diagram D1 may include a second set (b,d) ∈ D1 of birth-and-death coordinate pairs associated with a second type of phase feature (e.g., a 1st-level phase feature), such as a block of a second color surrounded by a region of the first color (e.g., a block of white pixels completely surrounded by connected black pixels). The first and second colors (e.g., black and white) may be associated with a binarization operation to which a filtering threshold may be applied. The detailed operation for determining persistence diagrams D0 and D1 will be further explained using the examples shown in Figures 9A to 9E.

[0032] Figures 9A to 9E show examples of phase features in several embodiments when the filtering threshold changes with respect to a sample image. Figure 9A illustrates a sample grayscale image having 3x3 pixels, with the intensity value of each pixel shown. Figures 9B to 9E show the binarized images when each filtering threshold is applied to the original image shown in Figure 9A. The filtering threshold can vary, for example, between the minimum and maximum intensity values ​​of image y(x), which in this example is 1 to 10. When the filtering threshold increases by a value of 1 to 10, the system tracks the change in homology. By applying the filtering threshold to the image, a binarized image with two values ​​may be obtained, namely black and white, where black represents pixels with values ​​below the threshold and white represents pixels with values ​​above the threshold.

[0033] As shown in Figure 9B, when a filtering threshold of value 1 is applied, a phase feature 902 emerges (is generated) from the binarized image. A phase feature 902 with an isolated black region can therefore be associated with the persistence diagram at level 0. As shown in Figure 9C, when a filtering threshold of value 2 is applied, a phase feature 904 emerges from the binarized image. As shown in the figure, phase feature 904 is of the same type as phase feature 902 and may be associated with the persistence diagram at level 0 (e.g., D0).

[0034] As shown in Figure 9D, when a filtering threshold of value 3 is applied, phase features 902 and 904 are merged. In some embodiments, if two phase features overlap, they are merged using the elder rule, under which the older phase feature survives, while the younger one disappears (dies). In the example in Figure 9D, phase feature 902 survives and phase feature 904 dies. The merged region of the two phase features contains pixels from both phase features being merged. For example, in Figure 9D, phase features 902 and 904 are merged as phase feature 902 having a black region with a white opening inside.

[0035] Referring further to Figure 9D, a new type of phase feature 906 is also produced, corresponding to a block of white completely surrounded by a black region (e.g., a white region completely surrounded by black pixels). Thus, phase feature 906 can be associated with the first level persistence diagram (e.g., D1). As shown in Figure 9E, when a filtering threshold of value 10 is applied, the entire image becomes black, phase feature 906 dies, and phase feature 902 survives.

[0036] In some embodiments, the birth coordinate for a particular phase feature is the filtering threshold level t, and the particular phase feature appears as the filtering threshold level increases from the minimum value of y(x) to the maximum value of y(x). Similarly, the extinction coordinate for a particular phase feature is the filtering threshold level t at which the particular phase feature becomes obsolete. A particular phase feature is thought to become obsolete when it merges with another phase feature that has an earlier birth coordinate, as discussed above. In the example in Figures 9A to 9E, the extracted persistence diagrams include D0={(1,∞),(2,3)} with two pairs of birth and extinction coordinates, and D1={(3,10)} with one pair of birth and extinction coordinates. In this example, the birth and extinction coordinate pairs (1,∞) and (2,3) of D0 correspond to phase features 902 and 904, respectively, and the birth and extinction coordinate pair (3,10) corresponds to phase feature 906.

[0037] Alternatively, and / or additionally, the persistence diagram may be determined based on the Betch number associated with multiple filtering threshold levels in a grayscale image. In some embodiments, the Betch number may be determined for each resulting binary image when each filtering threshold is applied to a grayscale image. For example, at each filtering threshold, the Betch number may represent a count of the number of phase spaces (shapes) based on pixel connectivity in the binary image. For a two-dimensional grayscale image, the Betch number may include the 0th level number and the 1st level number, representing the number of isolated regions (e.g., connected black regions) and voids (e.g., white regions completely surrounded by black pixels), respectively, at a given filtering threshold. In the examples in Figures 9B to 9E, the Betch numbers are (1,0), (2,0), (1,1), and (1,0), respectively, where the first number in each pair represents the Betch number for the 0th level and the second number in each pair represents the Betch number for the 1st level.

[0038] In some embodiments, the birth and extinction coordinate pairs in persistence figures D0 and D1 may be associated with changes in the Betch number as the filtering threshold changes. For example, in Figures 9B to 9C, the Betch number changes from (1,0) to (2,0) (e.g., the 0th Betch number changes from 1 to 2), representing the birth of a new phase feature. In Figures 9C to 9D, the Betch number changes from (2,0) to (1,1), representing the merging of phase features (e.g., the 0th Betch number changes from 2 to 1) and the birth of a new phase feature (e.g., the 1st Betch number changes from 0 to 1). Thus, phase features may be associated with a Betch number or a change in the Betch number associated with a filtering threshold level.

[0039] Returning to Figure 4, Method 400 may further determine digital features based on birth and death coordinates (for example, in actions 404-410). In some embodiments, actions 404-410 may be implemented in the digital feature extractor 206-2 (Figure 2). The digital features will be described further.

[0040] In some embodiments, Method 400 may first determine the intermediate lifetime persistence value in action 404. Method 400 may also determine the lifetime persistence value in action 406. The intermediate lifetime persistence value and the lifetime persistence value may be determined for each set of birth coordinates and death coordinates obtained from action 402. In some embodiments, action 404 may calculate the lifetime persistence (L) for each of the multiple phase features by subtracting the birth coordinates for that phase feature from the death coordinates for that phase feature. Action 406 may calculate the intermediate lifetime persistence (M) for each of the multiple phase features by calculating the mean average of the sets of birth and death coordinates for that phase feature.

[0041] Referring further to Figure 4, method 400 may include determining persistence statistical vectors in act 408. In some embodiments, act 408 may calculate a first persistence statistical vector based on one or more of the mean, standard deviation, skewness, kurtosis, or entropy of the calculated lifetime persistence (L) over all phase features in the 2D image. Alternatively, and / or additionally, act 408 may calculate a second persistence statistical vector based on one or more of the mean, standard deviation, skewness, kurtosis, or entropy of the calculated intermediate lifetime persistence (M) over all phase features in the 2D image. Let D={b,d} be the persistence diagram. Consider M:={d+b,(b,d)∈D} and L:={db,(b,d)∈D}. The persistence statistics may include summary statistics of M and L, which are the mean, standard deviation, skewness, kurtosis, and entropy of M and L.

[0042] Referring further to Figure 4, method 400 may include determining the persistence curve vector in action 410. In some embodiments, the persistence curve vector may be calculated based on lifetime values ​​of sets of birth and extinction coordinates for multiple phase features. For example, the persistence curve vector may be expressed as the product of two persistence curves, each based on the sum of lifetime values ​​of sets of birth and extinction coordinates corresponding to each of the persistence diagrams (e.g., D0, D1). In a non-limiting example,

[0043]

number

[0044]

number

[0045] In some embodiments, the persistence curve vector described above can have any number of features (elements). In an unrestricted example, for a given persistence diagram D (e.g., D0 or D1 in the above example), the persistence statistical vector may contain a 1D vector with 10 features (e.g., one feature each for the mean, standard deviation, skewness, kurtosis, and entropy for both the intermediate lifetime persistence and lifetime persistence values ​​of the phase features in persistence diagram D). In an unrestricted example, for a given D, the persistence curve vector may be a 256-feature vector (this example assumes that x, representing the intensity in the received 2D image of the manufactured component, can vary between 256 different levels from the lowest to the highest intensity. If the 2D image can vary between a larger number of intensity levels, e.g., between 512 or 1024 levels, the persistence curve vector may be a 512 or 1024-feature vector, respectively). Therefore, in the case of two persistence diagrams D0 and D1, the digital feature may be a vector with (10 + 256) × 2 = 532 elements. It is understood that the number of features in the digital feature can vary. It is further understood that the number of features in the digital feature can vary depending on the number of persistence diagrams (number of phase features) extracted from the 2D image. For example, the above example shows two persistence diagrams corresponding to two phase features (e.g., D0 or D1), but more or fewer levels of persistence diagrams may be extracted, and as a result, the number of features in the digital feature may also vary.

[0046] Returning to Figure 3, method 300 may further include in action 312 using a topological feature to determine whether a 2D image shows a defect in a manufactured component. In some embodiments, the topological feature used in action 312 may be a digital feature obtained from action 308 (details are shown in Figure 4). In some embodiments, in determining whether a 2D image shows a defect in a manufactured component, action 312 may use a trained statistical model. Any suitable statistical model may be used. For example, action 312 may use a gradient boosting machine learning model (XGBoost), a convolutional neural network (CNN), or any other suitable model. Such a model may be trained using digital features similar to those obtained from action 308, in combination with ground truth labeling data indicating whether a particular digital feature is associated with an image of a defective component or an image of a non-defective component.

[0047] Referring further to Figure 3, Method 300 may optionally include one or more additional actions. For example, Method 300 may optionally include segmenting the 2D image in action 304 before determining the topological features (action 308). In some embodiments, action 304 may be implemented in the image segmenter 202 (Figure 2). In some embodiments, segmenting the 2D image may include cropping. In some embodiments, cropping may remove some background to center the manufactured components in the image and / or reduce the computation required to process the image. In some embodiments, Method 300 may impose a uniform boundary across the entire image. For example, R=(r i,,j )∈R 640×480Let this be the matrix of the raw image. During cropping, pixels (i,,j) satisfying the range 100 ≤ i ≤ 400 and 200 ≤ j ≤ 500 are retained, and pixels exceeding this range are removed. In some embodiments, since the persistence diagram is translational and rotational invariant, cropping may only require determining a rough boundary to include the manufactured components. In other words, cropping does not need to obtain the complete position of the manufactured components. As an example, Figure 10B shows an example of a segmented image from the raw image shown in Figure 10A.

[0048] Referring further to Figure 3, method 300 may optionally include performing a smoothing operation in action 306. In some embodiments, action 306 may be implemented in a smoothing operator 204 (Figure 2). The smoothing operation can suppress noise in a 2D image. Various known image processing techniques may be used to perform a smoothing operation on an image. In non-limiting examples, the smoothing operation may include a morphological closing operation. A structured element of any suitable size (e.g., 3x3) may be used in the morphological closing operation. It is understood that other smoothing techniques may also be used.

[0049] The inventors have understood and recognized that the smoothed image may exhibit fewer phase features (e.g., phase features caused by noise are removed). This results in improved performance of the statistical model (e.g., 208 in Figure 2). In a non-limiting example, Figure 8 shows sets of birth / death coordinates for exemplary 2D images containing manufactured components, with and without morphological closing. Figure 8(a) shows the original 2D image, and Figure 8(d) shows the smoothed image of the image in Figure 8(a) after performing the morphological closing operation. Figures 8(b) and 8(c) show the 0th level persistence diagram (D0) and the 1st level persistence diagram (D1), respectively, containing sets of birth (horizontal axis) and death (vertical axis) coordinates. Similarly, Figures 8(e) and 8(f) show the 0th level and 1st level persistence diagrams for the smoothed image in Figure 8(d), respectively. As shown in the figure, a relatively small number of birth and death coordinates are extracted from the smoothed image.

[0050] Returning to Figure 3, Method 300 may optionally determine a local binary pattern in action 310 and provide the local binary pattern as an additional feature to the statistical model (e.g., action 312 or 208 in Figure 2). In some embodiments, action 310 may be implemented in a local binary pattern extractor 210 (Figure 2). Details of extracting local binary patterns are further illustrated with reference to a flowchart in Figure 5 of an exemplary computerized method 500 for determining a local binary pattern vector used to detect whether a manufactured component is defective, according to some embodiments.

[0051] Referring to Figure 5, in some embodiments, Method 500 may begin in action 502 with determining a local binary pattern from a 2D image. In some examples, action 502 may be configured to extract a uniform local binary pattern that may be grayscale and rotationally invariant. Method 500 may also determine a histogram of the local binary pattern in action 504, and determine a local binary pattern vector based on the histogram in action 506. The operation of various actions in Method 500 is further illustrated. Figure 7A shows an example of a 2D image containing a defective manufactured component, according to some embodiments. Figure 7B shows an exemplary local binary pattern of a 2D image such as that shown in Figure 7A, according to some embodiments. In this example, the local binary pattern from action 502 may be a grayscale image. In the illustrated example, the grayscale of the local binary pattern may be in the range of 0 to 24. It is understood that any other preferred range may be possible.

[0052] Figure 7C shows an exemplary histogram of a local binary pattern, as shown in Figure 7B, according to several embodiments. In the illustrated example, the size of the histogram corresponds to the grayscale range of the local binary pattern, e.g., 25 (0 to 24). Thus, act 506 can determine a local binary pattern vector based on the histogram, where the size of the vector is the size of the histogram, and the value of each element in the vector corresponds to the histogram value in each bin. In the illustrated example, the local binary pattern vector has a size of 25. It is understood that the local binary pattern vector can have any other arbitrary preferred size.

[0053] Returning to Figures 2 and 3, various blocks and methods that can be implemented in System 200 have been described, but the digital features provided to the trained statistical model may include 1D vectors of any suitable size. As described in various examples herein, the digital features may be a concatenation of persistence curve vectors from the phase feature extractor 206 and / or local binary pattern vectors from the local binary pattern extractor 210. In a non-limiting example, if both the phase feature extractor 206 and the local binary pattern extractor 210 are used, according to the example above, the size of the persistence curve vector is 532 and the size of the local binary pattern vector is 25, resulting in a total size of 557 for the digital features. As a result, the 2D image is compressed in an efficient manner and converted into a 1D vector of 557 elements.

[0054] The various embodiments described herein have been implemented and tested in various configurations. For example, referring to Figure 2, in the first configuration, the image segmenter 202, the phase feature extractor 206, and the trained statistical model 208 were implemented without using the smoothing operator 204 or the local binary pattern extractor 210. In the second configuration, the image segmenter 202, the smoothing operator 204, the phase feature extractor 206, and the trained statistical model 208 were implemented without using the local binary pattern extractor 210. In the third configuration, all components (e.g., the image segmenter 202, the smoothing operator 204, the phase feature extractor 206, the local binary pattern extractor 210, and the trained statistical model 208) were implemented. The experimental results of these configurations are further described below.

[0055] Table 1 shows the validation results of the system for the different configurations described above, using the validation dataset. Validation can be used to fine-tune model parameters. TN, FP, FN, and TP represent true negative, false positive, false negative, and true positive, respectively. F1 = 2 / (recall) -1 + Precision rate -1 ), where recall = TP / (TP+FN) and precision = TP / (TP+FP).

[0056] [Table 1]

[0057] Table 2 shows the test results of the system for the different configurations described above, using the test dataset. Once the parameters are fine-tuned, the tests can be used to evaluate the model's performance.

[0058] [Table 2]

[0059] In both system validation and testing, XGBoost parameters such as the learning rate, n estimator, and scale pos weights were 0.1, 100, and 1, respectively. The training, validation, and test data splits were 65-20-15. As shown in Tables 1 and 2, all three configurations yielded classification performance with AUROC values ​​greater than 0.98. Furthermore, as the system complexity increased from the first to the third configuration, the system performance improved, with both FP and FN decreasing, for example, as shown in Tables 1 and 2.

[0060] Table 3 shows the results for the holdout dataset (obtained from the production line on different days and not used for training).

[0061] [Table 3]

[0062] The holdout dataset produced results similar to those obtained in validation and testing. Furthermore, as shown in Tables 1 and 2, false positives (FP) and false negatives (FN) in the holdout dataset also decreased as the complexity increased from the first configuration to the third configuration. Such results suggest that the techniques provided in this disclosure are suitable for use with unknown datasets.

[0063] Figures 11A to 11C show visualizations of the feature space in 3D space representing defect-free images (good images) and defective images (defective images) as detected by various configurations of the system. Features as described above with respect to persistence curve vectors and / or local binary pattern vectors are projected into 3D space using a preferred projection method. For example, Figures 11A and 11B show visualizations of 3D space onto which 532 features (e.g., persistence curve vectors) are projected, and defective images are detected by the first and second configurations of the system, as described with respect to Tables 1 to 3, respectively. Similarly, Figure 11C shows visualizations of 3D space onto which 557 features (e.g., persistence curve vectors and local binary pattern vectors) are projected, and defective images are detected by the third configuration of the system. In these figures, dots with different shades / colors represent defect-free images and defective images detected by the system. The separation between these two classes of images can be seen, as shown in Figures 11A to 11C.

[0064] In testing various embodiments, it will be shown that techniques such as those described (e.g., the various configurations in Figure 2) can be reasonably and efficiently implemented on modern computers, such as CPU architectures with Intel x86-64 cores having multiple subsystems. In some embodiments, various embodiments or components of the system (e.g., those shown and considered in relation to Figure 2) may be configured so that the software can be optimized for execution on multiple instruction execution units (multithreaded), multilevel cache hierarchies, multistage instruction pipelines, and / or branch prediction units. For example, XGBoost may be implemented in a statistical model that implements a tree boosting algorithm (e.g., statistical model 208 in Figure 2). Such an algorithm may be configured to construct multiple parallel data-independent trees for computing partial predictions, which can be combined to produce the final prediction result. Each tree may have a simple binary tree structure with a limited number of levels (e.g., 10 levels) and can be executed in parallel on a multithreaded CPU. In some embodiments, the XGBoost algorithm may be configured to find the best possible partition of all features using a precise greedy algorithm. The partition may indicate where the tree traversing procedure branches to the next tree leaf, where such a tree branching strategy may be used to take advantage of the CPU's branch prediction unit.

[0065] In some embodiments, various components of the system disclosed herein can also be optimized to efficiently utilize memory. For example, XGBoost may be configured to map feature data (e.g., phase features) to a memory structure in order to increase CPU cache utilization. For example, feature data may be stored in in-memory units (e.g., blocks). In some embodiments, the data may be represented in a compressed column format. The blocks are then sorted, which changes the data discovery procedure to a linear scan. Since the CPU cache stores the complete cache line, a linear scan in such a scenario results in an optimal cache hit rate. In some embodiments, for non-contiguous memory access, XGBoost may be configured to leverage a cache-aware prefetch algorithm. For example, an internal buffer may be allocated by each thread to a location where XGBoost prefetches across gradients and performs accumulation.

[0066] Figure 12 shows exemplary implementations of a computer system that may be used to implement any of the aspects of the technology and embodiments disclosed herein, according to several embodiments. An exemplary implementation of computer system 1000 that may be used to implement any of the aspects of the technology and embodiments disclosed herein is shown in Figure 12. For example, computer system 1000 may be installed within system 100 in Figure 1, for example, by a server 110. Computer system 1000 may be configured to perform various methods and actions as described in Figures 3 to 5. Computer system 1000 may include one or more processors 1010, one or more non-temporary computer-readable storage media (e.g., memory 1020 and one or more non-volatile storage media 1030), and a display 1040. Since the aspects of the invention described herein are not limited in this respect, the processor 1010 may control write and read data between memory 1020 and non-volatile storage devices 1030 in any preferred manner. In some embodiments, the computer system 1000 may also be a complete system-on-a-module (SOM), such as an NVIDIA Jetson module, which includes a CPU, GPU, memory, and other components within the system. In some embodiments, the computer system 1000 may be located at any preferred site. For example, the computer system 1000 (e.g., server 110) may be located in the same location as a production line having a conveyor belt 104, or it may be on a network. In other variations, the system may not need to include memory, and instead, programming instructions are executed on one or more virtual machines or one or more containers on the cloud. For example, the various methods illustrated above may be implemented by a server on the cloud containing multiple virtual machines, each having an operating system, virtual disk, virtual network, and applications, and programming instructions for detecting defects in manufactured components may be stored on one or more of those virtual machines on the cloud.

[0067] To carry out the functions and / or techniques described herein, the processor 1010 may execute one or more instructions stored in one or more computer-readable storage media (e.g., memory 1020, storage media, etc.), the computer-readable storage media may function as non-temporary computer-readable storage media storing instructions for execution by the processor 1010.

[0068] With respect to the techniques described herein, for example, code used to detect defects in manufactured components may be stored on one or more computer-readable storage media of the computer system 1000. The processor 1010 may execute such arbitrary code as described herein to provide any technique for detecting defects. Any other software, programs, or instructions described herein may also be stored and executed by the computer system 1000. It will be understood that computer code may be applied to any aspect of the methods and techniques described herein. For example, computer code may be applied to interact with an operating system to detect defects through conventional operating system processes.

[0069] The various methods or processes outlined herein may be coded as software executable on one or more processors employing any one of a variety of operating systems or platforms. Additionally, such software may be written using a number of suitable programming languages ​​and / or programming tools or scripting tools, and may be compiled as executable machine code or intermediate code that runs on a virtual machine or a suitable framework.

[0070] In this regard, various inventive concepts can be embodied as at least one non-temporary computer-readable storage medium (e.g., computer memory, one or more floppy disks, compact disks, optical disks, magnetic tapes, flash memory, field-programmable gate arrays, or circuit configurations in other semiconductor devices, etc.) encoded in one or more programs that, when executed on one or more computers or other processors, implement various embodiments of the present invention. The non-temporary computer-readable medium or multiple mediums may be movable, and as a result, the program or multiple programs stored therein can be loaded onto any computer resource to implement the various aspects of the present invention as considered above.

[0071] The terms “program,” “software,” and / or “application” are used herein in a general sense and refer to any type of computer code or set of computer executable instructions that can be employed to program a computer or other processor to implement various aspects of the embodiments discussed above. Additionally, it should be understood that, according to one embodiment, one or more computer programs that, when executed, implement the methods of the present invention do not need to reside on a single computer or processor, but can be distributed modularly between different computers or processors to implement various aspects of the present invention.

[0072] Computer executable instructions can take many forms, such as program modules, that are executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a specific task or implement a specific abstract data type. Typically, the functions of a program module may be combined or distributed as desired in various embodiments.

[0073] Furthermore, data structures can be stored in a non-temporary computer-readable storage medium in any preferred form. A data structure may have related fields through locations within that data structure. Such relationships can also be achieved by allocating storage to fields that have locations in a non-temporary computer-readable medium that communicate relationships between fields. However, any preferred mechanism may be used to establish relationships between information within the fields of a data structure, including through the use of pointers, tags, or other mechanisms that establish relationships between data elements.

[0074] Various inventive concepts may be embodied in one or more methods, and examples are provided. The actions performed as part of a method may be ordered in any preferred manner. Thus, while they are shown as sequential actions in the exemplary embodiments, embodiments can be constructed in which the actions are performed in a different order than those exemplified, which may include performing several actions simultaneously.

[0075] In this specification and in the claims, the indefinite articles "a" and "an" as used herein should be understood to mean "at least one" unless explicitly stated otherwise. When used in this specification and in the claims, the phrase "at least one" relating to a list of one or more elements should be understood to mean at least one element selected from any one or more elements in the list of elements, and not necessarily including at least one of each element specifically listed in the list of elements, or all elements, nor excluding any combination of elements in the list of elements. This allows for the presence of elements other than those specifically identified in the list of elements referred to by the phrase "at least one," whether related to these specifically identified elements or not, at the discretion of the user.

[0076] As used herein and in the claims, the phrase “and / or” should be understood to mean “either or both” of the elements thus combined, i.e., elements that exist as a combination in some cases and separately in others. Multiple elements listed using “and / or” must be interpreted in the same way, i.e., “one or more” of the elements thus combined. Other elements other than those specifically identified by the “and / or” clause may exist at will, whether related to those specifically identified elements or not. Thus, as a non-restrictive example, a reference to “A and / or B” when used in conjunction with open-ended language such as “comprising” may, in one embodiment, refer to A only (including elements other than B at will), in another embodiment, refer to B only (including elements other than A at will), and in yet another embodiment, refer to both A and B (including other elements at will), and so on.

[0077] Where used herein and in the claims, “or” should be understood to have the same meaning as “and / or” as defined above. For example, when separating items in a list, “or” or “and / or” should be interpreted as inclusive; that is, including not just one but two or more of a group of elements or a list of elements, and optionally including additional items not listed. Only terms that are explicitly indicated as the opposite, such as “only one of” or “exactly one of,” or, where used in the claims, “consisting of,” should be interpreted as including exactly one element of a group of elements or a list of elements. In general, where used herein, the term “or” should be interpreted as indicating an exclusive selection (i.e., “one or the other but not both”) when followed by an exclusive term such as “either,” “one of,” “only one of,” or “exactly one of.” When used in patent claims, "consisting essentially of" shall have the ordinary meaning as it has in the field of patent law.

[0078] In the claims, the use of ordinal terms such as “first,” “second,” and “third” to modify elements of a claim does not, by itself, imply any priority, precedence, or order of one element of a claim relative to another, or any chronological order in which the actions of a method are performed. Such terms are used solely as identifiers to distinguish one element of a claim having a particular name from another element having the same name (in the absence of ordinal terms).

[0079] The terminology and grammar used herein are for illustrative purposes only and should not be considered limiting. The use of “including,” “comprising,” “having,” “containing,” “involving,” and their variations means to include the items and additional items listed thereafter.

[0080] While several embodiments of the present invention have been described in detail, those skilled in the art will readily conceive of various modifications and improvements. Such modifications and improvements are intended to fall within the spirit and scope of the present invention. Therefore, the foregoing description is merely illustrative and not intended to be limiting.

[0081] Various embodiments are described in this disclosure, including, but not limited to, the following embodiments. (1) A computerized method for monitoring manufacturing defects, which may include receiving a two-dimensional (2D) image of a manufactured component; calculating a set of lifetime values ​​for each of several phase features in the 2D image; determining a digital feature based on the calculated set of values ​​for the several phase features; and determining, based on the digital feature, whether the 2D image indicates a defect in the manufactured component. (2) The method according to embodiment 1, wherein each of the multiple phase features includes a shape that comprises an isolated block or a block of a first color completely surrounded by a region of a second color, and each pixel in the shape is less than a filtering threshold. (3) The method according to embodiment 1, wherein the set of values ​​for each of the multiple phase features in the 2D image includes a set of birth coordinates and a death coordinates, each representing the birth and death of the phase feature associated with a filtering threshold, respectively. Additionally, and / or alternatively, the phase features may correspond to a Betch number or a change in the Betch number associated with a filtering threshold level. (4) The method according to embodiment 3, wherein determining digital features includes determining persistence statistical vectors, persistence curve vectors, or a combination thereof based on a calculated set of birth and extinction coordinates for a plurality of phase features. (5) The method according to embodiment 4, further comprising: determining a first set of values, each of which corresponds to the intermediate lifetime persistence of each set of birth and extinction coordinates among a set of birth and extinction coordinates for a plurality of phase features; and determining a second set of values, each of which corresponds to the lifetime persistence of each set of birth and extinction coordinates among a set of birth and extinction coordinates for a plurality of phase features. (6) The method according to aspect 5, wherein determining a persistence statistical vector includes determining a first persistence statistical vector comprising the mean, standard, skewness, kurtosis, and / or entropy of a first set of values, and determining a second persistence statistical vector comprising the mean, standard, skewness, kurtosis, and / or entropy of a second set of values. (7) The method according to embodiment 6, wherein determining the persistence curve vector is performed based on a second set of values. (8) The method according to any one of embodiments 1 to 7, further comprising segmenting a 2D image before calculating a set of values ​​for multiple phase features. (9) The method according to any one of embodiments 1 to 7, further comprising performing a smoothing operation on a 2D image before calculating a set of values ​​for a plurality of phase features. (10) The method according to embodiment 9, wherein the smoothing operation includes a morphological closing operation. (11) The method according to any one of embodiments 1 to 10, wherein determining whether a 2D image indicates a defect in a manufactured component includes using a trained statistical model and digital features as input to the trained statistical model. (12) The method of aspect 11, further comprising determining a local binary pattern based on a 2D image and using a trained statistical model and digital features, and further comprising using the local binary pattern as input to the trained statistical model. (13) The method of aspect 12, further comprising determining a local binary pattern vector based on a histogram of local binary patterns, and using the local binary patterns as input to a trained statistical model, wherein the local binary pattern vector is used as input to a trained statistical model. (14) The method according to any one of embodiments 11 to 13, wherein the trained statistical model includes an XGBoost classifier. (15) The method according to any one of embodiments 1 to 14, wherein receiving a 2D image of the manufactured component includes capturing a 2D image of the manufactured component while the manufactured component is moving along a conveyor belt. (16) The method according to any one of embodiments 1 to 15, wherein the manufactured component is a syringe, and taking a 2D image of the manufactured component includes taking a 2D image from the top of the manufactured component. (17) The method according to any one of embodiments 1 to 16, wherein the defect includes a crack, a chip, or both. (18) The method according to embodiment 3, wherein calculating a set of birth and death coordinates includes changing a filtering threshold and identifying a set of birth and death coordinates by comparing the intensity of a 2D image with the filtering threshold. (19) The method according to aspect 18, wherein each of the multiple phase features includes a shape comprising an isolated block or a block of a first color completely surrounded by a region of a second color, each pixel in the shape being less than a filtering threshold, and the birth coordinates for each phase feature correspond to a first level of the filtering threshold at which the phase feature first appears as the filtering threshold increases. (20) The method according to aspect 19, wherein the vanishing coordinate for each phase feature specifies a second level of the filtering threshold at which the phase feature first vanishes as the filtering threshold increases. (21) A system for detecting whether a manufactured component is defective, comprising: an image acquisition device configured to acquire an image of the manufactured component; and at least one processor for carrying out any of the methods of embodiments 1 to 20. (22) A non-temporary computer-readable medium that stores instructions causing at least one processor to perform the method described in any of embodiments 1 to 20 when executed by at least one processor.

Claims

1. A system for detecting whether a manufactured component has a defect, An image acquisition device configured to capture a two-dimensional (2D) image of the manufactured component, The system comprises at least one processor, and the at least one processor is The 2D image of the manufactured component is received, For each of the multiple phase features in the aforementioned 2D image, calculate the set of values ​​that represent the lifetime of each phase feature. Based on the set of calculated values ​​for the plurality of phase features, the digital features are determined, and A system configured to execute computer-readable instructions that determine, based on the aforementioned digital features, whether the 2D image indicates a defect in the manufactured component.

2. The system according to claim 1, wherein each of the plurality of phase features includes a shape comprising an isolated block or a block of a first color completely surrounded by a region of a second color, and each pixel within the shape is below a filtering threshold.

3. The system according to claim 1, wherein the set of values ​​for each of the plurality of phase features in the 2D image includes a set of birth coordinates and annihilation coordinates, each representing the birth and annihilation of the phase feature, respectively.

4. Determining the aforementioned digital features The system according to claim 3, comprising determining a persistence statistical vector, a persistence curve vector, or a combination thereof, based on a calculated set of birth and extinction coordinates for the plurality of phase features.

5. The aforementioned at least one processor, Determine a first set of values, where each of the first set of values ​​corresponds to the intermediate lifetime persistence of each set of birth and extinction coordinates among the sets of birth and extinction coordinates for the plurality of phase features. The system according to claim 4, wherein a second set of values ​​is further configured to execute a computer-readable instruction that determines a second set of values ​​corresponding to the lifetime persistence of each set of birth and death coordinates among the sets of birth and death coordinates for the plurality of phase features.

6. Determining the persistence statistical vector is Determining a first persistence statistical vector that includes the mean, standard, skewness, kurtosis, and / or entropy of the set of the first values, The system according to claim 5, comprising determining a second persistence statistical vector including the mean, standard, skewness, kurtosis, and / or entropy of the second set of values.

7. The system according to claim 6, wherein determining the persistence curve vector is performed based on the second set of values.

8. The system according to any one of claims 1 to 7, wherein the at least one processor is further configured to execute computer-readable instructions for segmenting the 2D image before calculating the set of values ​​for the plurality of phase features.

9. The system according to any one of claims 1 to 7, wherein the at least one processor is further configured to perform a smoothing operation on the 2D image before calculating the set of values ​​for the plurality of phase features.

10. The system according to claim 9, wherein the smoothing operation includes a morphological closing operation.

11. The system according to any one of claims 1 to 10, wherein determining whether the 2D image indicates a defect in the manufactured component includes using a trained statistical model and the digital feature as input to the trained statistical model.

12. The aforementioned at least one processor, Based on the aforementioned 2D image, a local binary pattern is determined. The system according to claim 11, further configured to execute computer-readable instructions using the trained statistical model and the digital features, wherein the use additionally includes using the local binary pattern as input to the trained statistical model.

13. The at least one processor The system is further configured to execute a computer-readable instruction that determines a local binary pattern vector based on a histogram of the local binary pattern, The system according to claim 12, wherein using the local binary pattern as input to the trained statistical model includes using the local binary pattern vector as input to the trained statistical model.

14. The system according to any one of claims 11 to 13, wherein the trained statistical model includes an XGBooster classifier.

15. The system according to any one of claims 1 to 14, wherein the image acquisition device is configured to acquire a 2D image of the manufactured component while the manufactured component is moving along a conveyor belt.

16. The manufactured component is a syringe. The system according to any one of claims 1 to 15, wherein capturing the 2D image of the manufactured component includes capturing the 2D image from the top of the manufactured component.

17. The system according to any one of claims 1 to 16, wherein the defect includes a crack, a chip, or both.

18. Calculating the set of birth coordinates and death coordinates is Changing the filtering threshold, The system according to claim 3, comprising comparing the intensity of the 2D image with the filtering threshold to identify the set of birth coordinates and death coordinates.

19. Each of the plurality of phase features includes a shape that includes an isolated block or a block of a first color completely surrounded by a region of a second color, and each pixel within the shape is less than the filtering threshold. The system according to claim 18, wherein the birth coordinates for each phase feature correspond to a first level of the filtering threshold at which the phase feature first appears as the filtering threshold increases.

20. The system according to claim 19, wherein the vanishing coordinate for each phase feature specifies a second level of the filtering threshold at which the phase feature first vanishes as the filtering threshold increases.