Method and system for detecting defects using topological persistence features
By using topology data analysis technology, topological features and statistical models are utilized to quickly detect defects in manufactured components, solving the problems of insufficient accuracy and speed in traditional systems and achieving efficient and accurate defect detection.
Patent Information
- Application Number
- CN202480038927.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-09-21
- Filing Date
- 2024-06-11
- Publication Date
- 2026-01-23
AI Technical Summary
Existing defect detection systems struggle to achieve high accuracy and speed on production assembly lines. Traditional systems are often too conservative, leading to false positives, or require excessive computing resources, resulting in insufficient speed and failing to meet real-time detection needs.
By employing topological data analysis technology, the system receives two-dimensional images of manufactured components, calculates the birth and death coordinates of topological features, and combines a trained statistical model and local binary patterns to quickly detect defects in manufactured components.
It achieves high-accuracy defect detection in a short time, reduces false positives and false negatives, is suitable for real-time detection needs, and meets the detection requirements of high-speed production lines.
Smart Images

Figure CN121399653A_ABST
Abstract
Description
Background Technology
[0001] In production assembly lines, defect detection systems are used to automatically detect defects in manufactured components moving along the assembly line. Some defect detection systems capture images of the manufactured component as it enters, is processed, or leaves the assembly line, and process the captured images to determine whether the images indicate defects in the manufactured component. Summary of the Invention
[0002] This disclosure relates to techniques for monitoring manufacturing defects in manufactured components. The technique provides a computerized method for monitoring manufacturing defects. The method may include: receiving a two-dimensional (2D) image of the manufactured component; calculating a corresponding set of values indicating the lifetime of each of a plurality of topological features in the 2D image; determining digital features based on the set of values calculated for the plurality of topological features; and determining, based on the digital features, whether the 2D image indicates a defect in the manufactured component.
[0003] In some embodiments, each of a plurality of topological features of a 2D image may include a shape, the shape comprising isolated blocks or blocks of a first color completely surrounded by regions of a second color, wherein each pixel in the shape is below a filtering threshold. In some embodiments, the set of values for each of the plurality of topological features in the 2D image may include a set of birth and death coordinates, each birth and death coordinate correspondingly representing the birth and death of the topological feature associated with the filtering threshold. In some embodiments, in determining the digital features, the method may determine a persistence statistical vector, a persistence curve vector, or a combination thereof based on the set of birth and death coordinates calculated for the plurality of topological features. In some embodiments, in determining whether the 2D image indicates a defect in the manufactured component, the method may use a trained statistical model and digital features 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 the 2D image before calculating the set of values for the plurality of topological 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 the set of values for the plurality of topological features. In some embodiments, the method may further include determining local binary patterns based on the 2D image, wherein using the trained statistical model and the digital features includes additionally using the local binary patterns as input to the trained statistical model.
[0005] In some embodiments, receiving a 2D image of the manufacturing component may include capturing a 2D image of the manufacturing component as it moves along a conveyor belt. The manufacturing component may be a syringe. Capturing a 2D image of the manufacturing component may include capturing the 2D image from the top of the manufacturing component. The defect may include a crack, a notch, or both. Attached Figure Description
[0006] Additional embodiments of the present disclosure, as well as its features and advantages, will become more apparent from the description herein in conjunction with the accompanying drawings. Components in the figures are not necessarily drawn to scale. Furthermore, similar reference numerals in the figures designate corresponding portions throughout different views.
[0007] Figure 1 This is a diagram of an exemplary system according to some embodiments for detecting defects in a manufacturing component while the component moves along a conveyor belt.
[0008] Figure 2 This is a diagram of an exemplary system for detecting whether a manufacturing component in a 2D image has defects, according to some embodiments.
[0009] Figure 3 This is a flowchart illustrating an exemplary computerized method for detecting defects in manufactured components according to some embodiments.
[0010] Figure 4 This is a flowchart illustrating an exemplary computerized method for determining topological features according to some embodiments, which are used to detect whether a manufactured component has defects.
[0011] Figure 5 This is a flowchart illustrating an exemplary computerized method for determining a local binary pattern vector according to some embodiments, the local binary pattern vector being used to detect whether a manufactured component has a defect.
[0012] Figures 6A-6D An example is shown, according to some embodiments, of a 2D image containing a manufactured component without any defects.
[0013] Figure 6E-6F An example is shown that includes a 2D image of a defective manufactured component, according to some embodiments.
[0014] Figure 7A An example is shown that includes a 2D image of a defective manufactured component, according to some embodiments.
[0015] Figure 7B Examples of some embodiments are shown. Figure 7A The example local binary pattern of the 2D image shown.
[0016] Figure 7C Examples of some embodiments are shown. Figure 7B Example histogram of the local binary pattern shown.
[0017] Figure 8 Example 2D images of manufacturing components, including those with and without morphological closing operations, are shown according to some embodiments, representing birth / death coordinate sets.
[0018] Figures 9A-9E An example of topological features is shown according to some embodiments as the filtering threshold varies with the sample image.
[0019] Figure 10A Example original images according to some embodiments are shown, and Figure 10B The following are illustrations based on some embodiments: Figure 10A An example of an image segmented from the original image is shown.
[0020] Figure 11A-11C A spatial visualization of features according to some embodiments is shown, representing defect-free images and defective images as detected by various configurations of the system.
[0021] Figure 12 An illustrative implementation of a computer system according to some embodiments is shown that can be used to perform any aspect of the techniques and embodiments disclosed herein. Detailed Implementation
[0022] For the purpose of facilitating an understanding of the principles of this disclosure, reference will now be made to the embodiments illustrated in the accompanying drawings, and these embodiments will be described using specific language. However, it will be understood that this is not intended to limit the scope of the invention.
[0023] In pharmaceutical production lines, manufacturing components such as syringes, vials, or any other parts can be scanned for defect detection for quality assurance purposes. This scanning can be performed when the manufacturing component enters the assembly line, while the component is being processed through the assembly line, and / or when the component leaves the assembly line.
[0024] The inventors have recognized that traditional defect detection systems face the challenge of balancing speed and accuracy. For example, some traditional systems tend to be overly conservative in identifying defects, resulting in a high false positive rate and wasting / discarding more samples than necessary. Some traditional systems (such as those using neural network models) can achieve higher accuracy, but at the cost of speed. For instance, neural network-based systems often require a large number of features and enormous computational resources, making them unsuitable for real-time defect detection.
[0025] In production assembly lines, defect detection may need to be performed in real time so that it can be completed while the manufactured component is still on the assembly line or before it leaves the assembly line. In this way, defective manufactured components can be removed from the assembly line in a timely manner (e.g., before moving to the next manufacturing stage). In some embodiments, it is still desirable to detect defects quickly, even if they have not been identified until the manufactured component moves to the next production stage or leaves the assembly line, in order to minimize the number of defective components produced and / or processed. For example, for high-speed assembly lines, defect detection may need to occur on the order of milliseconds. In an example assembly line, to maintain normal productivity, the defect detection system may only have about 150 milliseconds (ms) to respond, i.e., to determine whether a manufactured component (e.g., a syringe that has entered the assembly line) is defective or damaged. Furthermore, the determination of the presence of defects in a manufactured component typically needs to be accurate enough to minimize false positives (which lead to the unnecessary discarding of defect-free manufactured components) or false negatives (which lead to defective manufactured components entering the next product stage).
[0026] To address the various technical or other problems discussed above, the inventors have recognized and realized that topology data analysis can be used for defect detection to achieve both high accuracy and fast execution speed. In particular, the inventors have realized that topology features can contain geometric, shape, and / or texture characteristics associated with a manufactured component, which can be used to detect defects in the manufactured component. The inventors have also recognized and realized that topology data analysis techniques may be suitable for extracting topology features from images of manufactured components, where the calculation of topology features can be performed with high efficiency.
[0027] Therefore, the inventors have developed new techniques for monitoring manufacturing defects in manufactured components. This document describes various techniques for receiving two-dimensional (2D) images of manufactured components, including systems, computerized methods, and computer-executable instructions stored on non-transitory computer-readable media. For example, a system can capture a 2D image of a manufactured component as it moves along a conveyor belt. In some examples, a 2D image of a manufactured component can be captured from the top of the manufactured component.
[0028] In some embodiments, the system may compute a set of values for each of a plurality of topological features in a 2D image, where the set of values indicates the lifetime (e.g., start and end) of the topological feature. The plurality of topological features may contain geometric, shape, and / or texture properties associated with a fabricated component. For example, the topological feature may be position- and rotation-invariant. In some examples, the topological feature may be associated with a shape and may be of different levels. For example, a level 0 topological feature may include isolated blocks of a first color (e.g., a connected group of at least one black pixel), and a level 1 topological feature may include blocks of a second color surrounded by regions of the first color (e.g., blocks of white pixels surrounded by black pixels connected to each other). For each topological feature, the system may determine a set of values indicating the lifetime of the topological feature, such as the start and end of the topological feature associated with a varying threshold. In some embodiments, this set of values for the topological feature may include a set of birth and death coordinates, such as a pair of birth and death coordinates, each coordinate indicating a value corresponding to the start and end of the topological feature. In some embodiments, the birth and death coordinate pair of the topological feature is determined by varying a filtering threshold and comparing the intensity of the 2D image to the filtering threshold to identify the set of birth and death coordinates.
[0029] In some embodiments, the system may determine a numerical feature based on the set of birth and death coordinates calculated for each of a plurality of topological features. In some examples, the numerical feature may include one or more persistent curve vectors based on the set of birth and death coordinates of the plurality of topological features. For example, the numerical feature may include a persistent statistical vector, a persistent curve vector, or a combination thereof. In some embodiments, the persistent statistical vector may include one or more of the mean, standard, skewness, kurtosis, or entropy associated with the birth and death coordinates in the birth / death coordinate set. The persistent curve vector may also be determined based on the birth and death coordinates in the birth and death coordinate set.
[0030] In some embodiments, the system can determine whether a 2D image indicates a defect in a manufactured component based on digital features. In some embodiments, the system can use a trained statistical model and digital features as input to the trained statistical model to detect defects in the manufactured component. The statistical model can be any suitable model, such as a classifier, and can 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 can indicate whether the manufactured component has a defect. Examples of defects that can be detected include cracks, notches, and / or similar defects.
[0031] In some embodiments, additional features may be provided to the statistical model to determine whether the 2D image indicates any defects in the manufactured component. For example, the system may determine a local binary pattern vector based on the 2D image and provide that 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, wherein the local binary pattern image may contain grayscale and / or rotation-invariant features. In some examples, the local binary pattern vector may be determined based on the histogram of the local binary pattern image.
[0032] In some embodiments, the captured 2D image of the manufacturing component may be preprocessed to improve the performance of topological feature extraction and subsequent detection. For example, the system may segment the 2D image (e.g., via cropping) before extracting topological features. In some examples, the system may also perform smoothing operations on the 2D image, for example, by performing morphological closing operations. It should be understood that other smoothing techniques may also be used.
[0033] The techniques described herein can provide advantages over conventional systems used for detecting defects in manufactured components. For example, improved accuracy can be achieved over conventional systems in metrics such as true positives, false negatives, false positives and true negatives, area under the receiver operating characteristic (AUROC), area under the precision-recall curve (AUPRC), precision, recall, specificity, and / or the harmonic mean (F1) of precision and recall. The techniques described herein can also achieve high speeds sufficient for real-time defect detection. In one exemplary embodiment implemented on the applicant's manufacturing line for manufacturing and / or processing glass syringes, the processing speed for processing images collected under typical manufacturing operations is shown to reach 52 ms per image, with slightly additional time for performing local binary mode (an additional 33 ms) and morphological closing operations (0.6 ms).
[0034] Although 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, 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 every embodiment will achieve all the advantages described.
[0035] Figure 1This is a diagram of an exemplary system 100 for detecting defects in a manufacturing component while it moves along a conveyor belt, according to some embodiments. In some embodiments, system 100 may include an imaging capture device (e.g., camera 112) configured to acquire images / videos of the manufacturing component 102 in the production line while it moves along a conveyor belt 104. As shown, an example of the manufacturing component 102 is a container. However, this is for illustrative purposes only, and it should be understood that the manufacturing component can be any other device or component to be scanned for defect detection, such as a syringe, vial, bottle, flask, and / or any suitable component. Although the manufacturing component 102 is shown on a conveyor, the manufacturing component may move on other platforms (such as a turntable) while being scanned / imaged.
[0036] System 100 may further include server 110, which has at least a processor, memory, storage medium, and / or other components. The at least one processor may be configured to execute programming instructions stored in memory to process captured images / videos. For example, server 110 may analyze 2D images in real time as each image is captured and detect one or more defects in the images. In some examples, the inspection process of a manufactured component may be completed within a short time period, such as a fraction of a second, during which the system may determine whether the manufactured component is likely to be defective. In response to determining that a manufactured component may be defective, the system may perform one or more corrective actions, such as removing the manufactured component from the assembly line, before moving to the next production stage.
[0037] Alternatively and / or additionally, in response to determining that a manufactured component may have a defect, the system may generate an alarm indicating the detected potential defect. This alarm may include any suitable form and may be communicated to the user equipment using any suitable communication protocol to indicate to the user that a defect has been detected. For example, server 110 may send a notification, warning, or report to user equipment 114 via a communication link (wired or wireless). The notification or report may include information about the defect and / or the type of defect. When an alarm is received at user equipment 114, the operator can take corrective action promptly. Reference Figure 2-10 Further details of the system 100 for detecting defects in manufactured components are described.
[0038] Figure 2 This is a diagram of an exemplary system 200 for detecting whether a manufacturing component in a 2D image may be defective, according to some embodiments. In some embodiments, system 200 may be system 100 ( Figure 1 Example implementation of ). For example, system 200 can be implemented on server 110 ( Figure 1This is implemented in [the system]. System 200 can receive 2D images of manufactured components, wherein the 2D images can be displayed in a manner such as […]. Figure 1 The method described in the embodiments is used for capture. In a non-limiting example, the manufacturing component may be a syringe. Examples of defects that can be detected may include cracks, notches, or both, or any other defect. Figures 6A-6F An example 2D image of the syringe captured from the top of the syringe is shown. As shown, Figures 6A-6D This is an example of a 2D image containing a syringe without any defects. Figure 6E-6F This is an example of a 2D image containing a defective syringe.
[0039] Return to Figure 2 System 200 may include a topology feature extractor 206 configured to determine topological features from a 2D image. Topology feature extractor 206 may include a persistence graph generator 206-1 and a digital feature extractor 206-2. The persistence graph generator 206-1 may be configured to generate a persistence graph of the 2D image. In some embodiments, topology data analysis (TDA) may be used to generate the persistence graph, as will be... Figure 3-4 This is explained in detail below. A persistence graph can include multiple sets of values, such as birth and death coordinates, where each set indicates the lifetime of one of a plurality of topological features. For example, this set of values for a topological feature can include a pair of birth and death coordinates corresponding to the topological features among the plurality of topological features. The birth and death coordinates in each pair can include two values (e.g., numerical values) indicating the lifetime (e.g., birth, death) of each of the plurality of topological features. For example, the birth and death coordinates of a topological feature can indicate the birth and death of the topological feature, respectively. The plurality of topological features can contain geometric, shape, and / or texture properties associated with the manufactured component. For example, topological features can be position- and rotation-invariant.
[0040] Further reference Figure 2 The digital feature extractor 206-2 can be configured to convert a persistence map (e.g., birth and death coordinates) into digital features for use by a 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 a set of birth / death coordinates with multiple topological features. For example, the digital features may include persistence statistical vectors, persistence curve vectors, or combinations thereof. The persistence statistical vector may include one or more of the mean, standard, skewness, kurtosis, or entropy associated with the birth and death coordinate pairs in the birth / death coordinate set. The persistence curve vector may also be determined based on the birth and death coordinate pairs in the birth / death coordinate set.
[0041] In some embodiments, system 200 may further include a trained statistical model 208 configured to determine whether a 2D image indicates a defect in a manufactured component based on digital features from topological feature extractor 206. The statistical model can be any suitable model, such as a classifier, and can 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 can indicate whether the manufactured component has any defects.
[0042] Further reference Figure 2 Alternatively and / or additionally, system 200 may include a Local Binary Pattern (LBP) extractor 210 configured to provide additional features to a trained statistical model 208. For example, LBP extractor 210 may determine a local binary pattern vector based on a 2D image and provide that 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 the 2D image, wherein the local binary pattern image may indicate 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.
[0043] Further reference Figure 2 System 200 may optionally include one or more preprocessing units to preprocess the 2D image. In some embodiments, system 200 may include an image segmenter 202 configured to segment the 2D image (e.g., via cropping) before extracting topological features from the 2D image. Additionally and / or alternatively, system 200 may include a smoothing operator 204 configured to further perform smoothing operations on the 2D image. For example, smoothing operator 204 may be a morphological closing operator. In some examples, smoothing operator 204 may be a Gaussian filter, a median filter, a bilateral filter, a morphological opening operator, or a combination thereof. It will be understood that other suitable smoothing techniques may also be used. System 100 has been described ( Figure 1 ) and 200 ( Figure 2 ),refer to Figure 3-10 The details of methods for detecting defects in manufactured components, which can be implemented in systems 100 and 200, are further described.
[0044] Figure 3 This is a flowchart illustrating an exemplary computerized method 300 for detecting defects in manufactured components according to some embodiments. In some embodiments, method 300 can be implemented in system 100 (e.g., Figure 1 Server 110) or System 200 Figure 2This can be implemented in a specific block within system 200. For example, each action in method 300 can be implemented in a corresponding block within system 200. In a non-limiting example, method 300 may begin at action 302 with receiving a 2D image of the manufacturing component, as described above. For example, the 2D image may be captured by a camera configured to capture a 2D image of the manufacturing component as it moves along a moving platform (e.g., a conveyor).
[0045] In some embodiments, method 300 may further include determining topological features at action 308. In some embodiments, action 308 may be determined by... Figure 2 The topological feature extractor 206 in the reference is used to perform this. Figure 4 The exemplary process described in the document further details action 308. Figure 4 This is a flowchart illustrating an exemplary computerized method 400 for determining topological features according to some embodiments, the topological features being used to detect whether a manufactured component may be defective. In some embodiments, method 400 may be implemented in systems 100, 200, such as topological feature extractor 206. Figure 2 ).like Figure 4 As shown, method 400 begins at action 402 by calculating the birth and death coordinates of each topological feature in the 2D image, wherein the birth and death coordinates may include multiple pairs of birth and death coordinates for each topological feature, denoted as ( b , d In some embodiments, action 402 can be performed in the persistence graph generator 206-1 ( Figure 2 This is achieved within the context of [the graph]. Therefore, the birth and death coordinates also constitute a persistent graph.
[0046] In some examples, a persistence graph may include one or more sub-level persistence graphs, each corresponding to a topological feature. For example, for a 2D image, there might be two sub-level persistence graphs: a level 0 persistence graph (…). D 0 ) and Level 1 Continuity Diagram ( D 1 In some embodiments, the persistence graph D 0 It may contain a first set of birth and death coordinate pairs associated with the first type of topological feature (e.g., level 0 topological feature). (b,d) ∈ D 0 Such as isolated regions of the first color (e.g., black regions with black pixels connected to each other). Continuity diagram D 1 It may include a second set of life and death coordinate pairs associated with the second type of topological features (e.g., first-level topological features). (b,d) ∈D 1 Such as a block of a second color surrounded by a region of a first color (e.g., a block of white pixels completely surrounded by black pixels connected to each other). The first and second colors (e.g., black and white) can be associated with a binarization operation to which a filtering threshold can be applied. This will utilize... Figures 9A-9E The example shown further describes the methods used to determine persistence graphs. D 0 and D 1 Detailed instructions.
[0047] Figures 9A-9E An example of topological features is shown according to some embodiments as the filtering threshold varies with the sample image. Figure 9A The illustration shows that it has 3×3 A sample grayscale image of pixels, showing the intensity value of each pixel. Figure 9B-9E This shows when the corresponding filter threshold is applied. Figure 9A The image shown is a binarized version of the original image. The filtering threshold can be applied to the image. y ( x The filter threshold varies between its minimum and maximum intensity values, for example, 1-10 in this example. As the filter threshold increases in values from 1-10, the system tracks changes in homology. Applying the filter threshold to an image produces a binary image with two values: black and white, where black represents pixels with values at or below the threshold, and white represents pixels with values above the threshold.
[0048] like Figure 9B As shown, when a filtering threshold of 1 is applied, topological feature 902 emerges (is generated) from the binarized image. Topological feature 902, with its black isolated regions, can therefore be associated with the level 0 persistence map. Figure 9C As shown, when a filter threshold of 2 is applied, topological feature 904 is generated from the binarized image. As indicated, topological feature 904 has the same type as topological feature 902 and can also be used with level 0 persistence maps (e.g., D 0 (related to)
[0049] like Figure 9D As shown, when a filtering threshold of 3 is applied, topological features 902 and 904 are merged. In some embodiments, when two topological features overlap, the older rule is used to merge them. Under this rule, the older topological feature that is generated first survives, while the younger topological feature disappears (dies). Figure 9D In the example, topological feature 902 is alive and topological feature 904 is dead. The merged region of the two topological features includes pixels from both merged topological features. For example, in Figure 9D In the above, topological features 902 and 904 are merged into topological feature 902, which has a black area with a white opening.
[0050] Further reference Figure 9D This also generates a new type of topological feature 906, which corresponds to a white block completely surrounded by a black region (e.g., a white region completely surrounded by black pixels). Therefore, topological feature 906 can be associated with a first-level persistence graph (e.g., D 1 (Associated with) Figure 9E As shown, when a filter threshold of 10 is applied, the entire image turns black, causing topological feature 906 to die while topological feature 902 survives.
[0051] In some embodiments, the birth coordinates of a particular topological feature are determined by the filtering threshold level from... y ( x The minimum value of ) increases to y ( x The maximum value of the filtering threshold level at which this specific topological feature begins to exist. t Similarly, the death coordinates of a specific topological feature are the filtering threshold level at which that specific topological feature expires. t As discussed above, a particular topological feature is considered expired when it merges with another topological feature that has earlier birth coordinates. Figures 9A-9E In the example, the extracted persistence graph includes: a graph with two pairs of birth and death coordinates. and having a birth and death coordinate pair In this example, D 0 Birth and death coordinates in These correspond to topological features 902 and 904, respectively, while the birth and death coordinates are... (3, 10) This corresponds to topological feature 906.
[0052] Alternatively and / or additionally, the persistence map can be determined based on the Betti number associated with multiple filtering threshold levels in the grayscale image. In some embodiments, the Betti number can be determined for each resulting binary image when a corresponding filtering threshold is applied to the grayscale image. For example, at each filtering threshold, the Betti number can represent a count of the number of topological spaces (shapes) based on pixel connectivity in the binary image. For a two-dimensional grayscale image, the Betti number can include a level 0 number and a level 1 number, which represent the number of isolated regions (e.g., connected black regions) and the number of gaps (e.g., white regions completely surrounded by black pixels) at a given filtering threshold, respectively. Figure 9B-9EIn the example, the Betty numbers are (1,0), (2,0), (1,1) and (1,0), where the first number in each pair represents the 0th-level Betty number and the second number in each pair represents the 1st-level Betty number.
[0053] In some embodiments, for persistence graphs D 0 , D 1 The birth and death coordinate pairs can be correlated with changes in the Betty number as the filtering threshold changes. For example, from Figures 9B to 9C The Betty number changes from (1,0) to (2,0), indicating the birth of a new topological feature (e.g., the 0th Betty number changes from 1 to 2). From Figures 9C to 9D The change of the Betty number from (2,0) to (1,1) represents the merging of a topological feature (e.g., the 0th Betty number changes from 2 to 1) and the birth of a new topological feature (e.g., the 1st Betty number changes from 0 to 1). Thus, topological features can also be associated with changes in the Betty number or with the Betty number associated with the filtering threshold level.
[0054] Return to Figure 4 Method 400 can further determine digital features based on birth and death coordinates (e.g., at actions 404-410). In some embodiments, actions 404-410 can be performed in digital feature extractor 206-2 ( Figure 2 This is implemented in [the document / section]. The digital characteristics are further described.
[0055] In some embodiments, method 400 may first determine a midlife persistence value at action 404. Method 400 may also determine a lifespan persistence value at action 406. Midlife persistence and lifespan persistence values can be determined for each set of birth and death coordinates obtained from action 402. In some embodiments, action 404 may calculate the lifespan persistence of each corresponding topological feature among a plurality of topological features. L This is calculated by subtracting the birth coordinates of the corresponding topological feature from its death coordinates. Action 406 can calculate the midlife persistence of each of the multiple topological features. M This is calculated by averaging the birth and death coordinates of the corresponding topological feature.
[0056] Further reference Figure 4 Method 400 may include determining a persistence statistics vector at action 408. In some embodiments, action 408 may be a lifetime persistence calculated based on all topological features across a 2D image. LThe first persistence statistic vector is calculated using one or more of the mean, standard deviation, skewness, kurtosis, or entropy of the mean. Alternatively and / or additionally, action 408 may calculate midlife persistence based on all topological features across the 2D image. M The second persistence statistical vector is calculated using one or more of the mean, standard deviation, skewness, kurtosis, or entropy of the . Let . It is a continuous graph. Consider... and Continuous statistics can include M and L A summary of the statistics, they are M and L The mean, standard deviation, skewness, kurtosis, and entropy.
[0057] Further reference Figure 4 Method 400 may include determining a persistence curve vector at action 410. In some embodiments, the persistence curve vector may be calculated based on lifetime values of a set of birth and death coordinates of multiple topological features. For example, the persistence curve vector may be represented as the product of two persistence curves, each based on a persistence graph (e.g., D 0 , D 1 The sum of the lifespan values of the birth and death coordinate sets. In a non-restricted example: in, and As shown, the second persistence curve in the persistence curve vector is the logarithm of the first persistence curve.
[0058] In some embodiments, the aforementioned persistence curve vector can have any suitable number of features (elements). In a non-limiting example, for a given persistence graph... D (For example, in the example above) D 0 or D 1 The persistence statistics vector can include a 1D vector with 10 features (e.g., each of the mean, standard deviation, skewness, kurtosis, and entropy of the midlife persistence value and the lifespan persistence value in the persistence graph D is a feature). In a non-restrictive example, for a given DThe persistence curve vector can be a 256-feature vector (this example assumes that x (which represents 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, such as 512 or 1024 levels, then the persistence curve vector can be a vector of 512 or 1024 features respectively). Therefore, for two persistence graphs... D 0 and D 1 Numerical features can be vectors with (10+256)×2=532 elements. It's important to understand that the number of features in a numerical feature can vary. To further understand, the number of features in a numerical feature can vary with the number of persistence graphs extracted from the 2D image (the number of topological features). For example, although the example above shows two topological features (e.g., ... D 0 or D 1 Two continuation graphs can be extracted, but more or fewer than two levels of continuation graphs can be extracted, and therefore, the number of features in the numerical features can also vary.
[0059] Return to Figure 3 Method 300 may further include using topological features at action 312 to determine whether the 2D image indicates a defect in the manufactured component. In some embodiments, the topological features used for action 312 may be digital features obtained from action 308. Figure 4 (Details are shown below). In some embodiments, action 312 may use a trained statistical model in determining whether a 2D image indicates a defect in a manufactured component. 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, which incorporate ground-based labeled data indicating whether a particular digital feature is associated with an image of a defective or non-defective component.
[0060] Further reference Figure 3 Method 300 may optionally include one or more additional actions. For example, method 300 may optionally include segmenting the 2D image at action 304 before determining topological features (action 308). In some embodiments, action 304 may be performed in image segmenter 202 ( Figure 2This is implemented in [the context of the image]. In some embodiments, segmenting a 2D image may include cropping. In some embodiments, cropping may center the manufacturing components in the image and / or trim away some of the background to reduce the computation required to process the image. In some embodiments, method 300 may impose uniform boundaries on all images. For example, suppose... It is a matrix of the original image. When cropping, it satisfies the range... 100≤i≤400 and 200 ≤j≤500 pixels ( i , j Pixels within the specified range will be retained, while pixels outside this range will be removed. In some embodiments, cropping may only require determining a rough boundary to include the fabricated component, since the continuity map is translation and rotation invariant. In other words, cropping does not need to achieve the perfect position of the fabricated component. As an example, Figure 10B Showing from Figure 10A An example of a segmented image of the original image is shown.
[0061] Further reference Figure 3 Method 300 may optionally include performing a smoothing operation at action 306. In some embodiments, action 306 may be performed at smoothing operator 204 ( Figure 2 This is implemented in [the image processing module]. Smoothing operations can suppress noise in 2D images. Various known image processing techniques can be used to perform smoothing operations on images. In a non-limiting example, smoothing operations can include morphological closing operations. Structured elements of any suitable size (e.g., 3×3) can be used in morphological closing operations. Other smoothing techniques can also be used to understand this.
[0062] The inventors recognized that smoothed images can exhibit fewer topological features (e.g., those caused by noise are removed). This leads to statistical models (e.g., Figure 2 The performance of 208) is improved. In the non-limiting example, Figure 8 Example 2D images of manufacturing components, including those with and without morphological closing operations, are shown, along with sets of birth / death coordinates. Figure 8 (a) shows the original 2D image, where Figure 8 (d) shows the result after performing the morphological closing operation. Figure 8 The smoothed image of the image in (a). Figure 8 (b) and Figure 8 (c) The persistence graphs at level 0 are shown respectively. D 0 ) and Level 1 Continuity Diagram ( D 1 Each of these contains a set of coordinates for birth (horizontal axis) and death (vertical axis). Similarly, Figure 8 (e) and Figure 8 (f) shows the respective Figure 8 (d) shows the level 0 and level 1 persistence maps of the smoothed image. As shown, relatively few birth and death coordinates are extracted from the smoothed image.
[0063] Return to Figure 3 Method 300 may optionally determine a local binary pattern at action 310 and provide the local binary pattern as an additional feature to the statistical model (e.g., Figure 2 Action 310 (or 208) in the local binary pattern extractor 210. In some embodiments, action 310 can be performed in the local binary pattern extractor 210. Figure 2 Implemented in [reference]. Figure 5 Further details on extracting local binary patterns, Figure 5 This is a flowchart illustrating an exemplary computerized method 500 for determining a local binary pattern vector according to some embodiments, the local binary pattern vector being used to detect whether a manufactured component has a defect.
[0064] refer to Figure 5 In some embodiments, method 500 may begin at 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, which may be grayscale and rotation-invariant. Method 500 may also determine a histogram of the local binary pattern at action 504, and determine a local binary pattern vector based on the histogram at action 506. The operation of various actions in method 500 is further illustrated. Figure 7A An example is shown that includes a 2D image of a defective manufactured component, according to some embodiments. Figure 7B Examples of some embodiments are shown. Figure 7A The example local binary pattern of the 2D image shown. In this example, the local binary pattern from action 502 can be a grayscale image. In the example shown, the grayscale in the local binary pattern can be in the range of 0 to 24. To understand, any other suitable range may be possible.
[0065] Figure 7C Examples of some embodiments are shown. Figure 7B The example histogram of the local binary pattern is shown. In the example shown, the size of the histogram corresponds to the grayscale range in the local binary pattern, for example, 25 (0-24). Thus, action 506 can determine the 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 at each bin. In the example shown, the size of the local binary pattern vector is 25. It should be understood that any other suitable size is possible for the local binary pattern vector.
[0066] Return to Figure 2-3 Various blocks and methods that can be implemented in system 200 have been described. The digital features provided to the trained statistical model can include 1D vectors of any suitable size. As described in various examples herein, the digital features can be concatenated from the persistence curve vector from topological feature extractor 206 and / or the local binary pattern vector from local binary pattern extractor 210. In a non-limiting example, when using both topological feature extractor 206 and local binary pattern extractor 210, 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.
[0067] The various embodiments described in this disclosure have been implemented and tested in various configurations. For example, refer to... Figure 2 In the first configuration, the image segmenter 202, the topology feature extractor 206, and the trained statistical model 208 are 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 topology feature extractor 206, and the trained statistical model 208 are 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 topology feature extractor 206, the local binary pattern extractor 210, and the trained statistical model 208) are implemented. Experimental results for these configurations will be described further below.
[0068] Table 1 shows the validation results for the system with different configurations as 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 -1 ), where Recall = TP / (TP+FN), Precision = TP / (TP+FP).
[0069] .
[0070] Table 2 shows the test results for the system with different configurations as described above using the test dataset. Once the parameters are fine-tuned, the performance of the model can be evaluated using tests.
[0071] , In both system validation and testing, factors such as learning rate, nThe parameters in XGBoost for the estimator and positive sample weight scale are 0.1, 100, and 1, respectively. The split for training, validation, and test data is 65-20-15. As shown in Tables 1 and 2, all three configurations produce classification performance with AUROC values exceeding 0.98. Furthermore, as the system complexity increases from the first configuration to the third configuration, the system performance improves; for example, as shown in Tables 1 and 2, both FP and FN decrease.
[0072] Table 3 shows the results for the holdout dataset (which was obtained from the production line on different dates and was not used for training).
[0073] , The leaveout dataset produced similar results to those for validation and testing. Furthermore, similar to the results shown in Tables 1 and 2, the false positives (FP) and false negatives (FN) of the leaveout dataset also decreased as the configuration changed from the first configuration to the third configuration with increasing complexity. These results demonstrate that the techniques provided in this disclosure perform well enough for unseen datasets.
[0074] Figure 11A-11C A spatial visualization of features is shown, represented as defect-free images (good images) and defective images (defective images) detected in 3D space by various configurations of the system. Features such as those described above regarding persistence curve vectors and / or local binary pattern vectors are projected into 3D space using appropriate projection methods. For example, Figure 11A and 11B A visualization of a 3D space on which 532 features (e.g., persistence curve vectors) are projected is shown, where defect images are detected by a first configuration and a second configuration of the system described in Tables 1-3, respectively. Similarly, Figure 11C A visualization of a 3D space projected with 557 features (e.g., persistent curve vectors and local binary pattern vectors) is shown, where a defect image is detected by a third configuration of the system. In these figures, points of different shades / colors represent images without defects and images with defects as detected by the system. Figure 11A-11C As shown, the separation between these two types of images can be observed.
[0075] During testing of various embodiments, the techniques as described were demonstrated (e.g., Figure 2 Various configurations of the system can be reasonably and efficiently implemented in modern computers with CPU architectures such as Intel x86-64 cores with multiple subsystems. In some embodiments, various implementations or components of the system (e.g., combined with...) Figure 2Those shown and discussed can be configured such that the software can be optimized to execute on multiple instruction execution units (multithreading), multiple cache levels, multiple instruction pipelines, and / or branch prediction units. For example, XGBoost can be used to implement statistical models of tree boosting algorithms (e.g., Figure 2 The algorithm is implemented in statistical model 208. Such an algorithm can be configured to construct multiple parallel, data-independent trees for computing partial predictions, and these trees can be combined to generate the final prediction. Each tree can have a simple binary tree structure with a finite number of levels (e.g., 10 levels) and can be executed in parallel on a multi-threaded CPU. In some embodiments, the XGBoost algorithm can be configured to use an exact greedy algorithm to find the best possible partition for all features. This partition can instruct the tree traversal procedure where to branch to the next leaf, where such a tree branching strategy can be used to utilize the branch prediction unit of the CPU.
[0076] In some embodiments, various components of the system disclosed herein can also be optimized to efficiently utilize memory. For example, XGBoost can be configured to map feature data (e.g., topological features) to memory structures to increase CPU cache utilization. For example, feature data can be stored in memory cells (e.g., blocks). In some embodiments, the data can be represented in a compressed column format. The blocks are then sorted, which turns the data lookup procedure into a linear scan. Since the CPU cache stores complete cache lines, a linear scan in such a scenario will yield optimal cache hit rates. In some embodiments, for non-contiguous memory access, XGBoost can be configured to fully utilize cache-aware prefetching algorithms. For example, each thread in XGBoost that prefetches and performs gradient accumulation can be allocated an internal buffer.
[0077] Figure 12 Illustrative implementations of computer systems, according to some embodiments, that can be used to perform any aspect of the techniques and embodiments disclosed herein. Figure 12 The document illustrates an illustrative implementation of a computer system 1000 that can be used to perform any aspect of the techniques and embodiments disclosed herein. For example, the computer system 1000 may be installed, for instance, by a server 110. Figure 1 In system 100, computer system 1000 can be configured to perform actions such as... Figure 3-5The various methods and actions described herein. Computer system 1000 may include one or more processors 1010 and one or more non-transitory computer-readable storage media (e.g., memory 1020 and one or more non-volatile storage media 1030) and a display 1040. Processor 1010 may control the writing of data to and reading data from memory 1020 and non-volatile storage devices 1030 in any suitable manner, as the aspects of the invention described herein are not limited in this respect. In some embodiments, computer system 1000 may also be a complete system-on-module (SOM), such as NVIDIA's Jetson module, which includes a CPU, GPU, memory, and other components in the system. In some embodiments, computer system 1000 may be located in any suitable location. For example, computer system 1000 (e.g., server 110) may be located in the same location as a production line having conveyor belt 104, or it may be on a network. In other variations, the system may not need to include memory, but instead run as an alternative to programming instructions on one or more virtual machines or one or more containers in the cloud. For example, the various methods described above can be implemented by a cloud server comprising multiple virtual machines, each virtual machine having an operating system, virtual disks, virtual networks, and applications, and programming instructions for detecting defects in manufactured components can be stored on one or more of these virtual machines in the cloud.
[0078] In order to perform the functions and / or techniques described herein, processor 1010 may execute one or more instructions stored in one or more computer-readable storage media (e.g., memory 1020, storage medium, etc.), which may be used as a non-transitory computer-readable storage medium for storing instructions executed by processor 1010.
[0079] In conjunction with the techniques described herein, code used for, for example, detecting defects in manufactured components can be stored on one or more computer-readable storage media of computer system 1000. Processor 1010 can execute any such code to provide any techniques for detecting defects as described herein. Any other software, program, or instructions described herein can also be stored and executed by computer system 1000. It will be understood that computer code can be applied to any aspect of the methods and techniques described herein. For example, computer code can be applied to interact with an operating system to detect defects through conventional operating system procedures.
[0080] The various methods or processes outlined in this article can be encoded as software that can be executed on one or more processors, which employ any of a wide variety of operating systems or platforms. Furthermore, such software can be written using any of a variety of suitable programming languages and / or programming or scripting tools, and can also be compiled into executable machine language code or intermediate code that executes on a virtual machine or suitable framework.
[0081] In this regard, various inventive concepts can be embodied in at least one non-transitory 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.) on which one or more programs are encoded, which, when executed on one or more computers or other processors, implement various embodiments of the invention. The one or more non-transitory computer-readable media may be transportable, such that one or more programs stored thereon can be loaded onto any computer resource to implement the various aspects of the invention discussed above.
[0082] The terms “program,” “software,” and / or “application” are used herein in a general sense to refer to any type of computer code or set of computer-executable instructions that can be adopted to program a computer or other processor to implement various aspects of the embodiments discussed above. Furthermore, it should be understood that, according to one aspect, one or more computer programs that, when executed, perform the methods of the invention do not need to reside on a single computer or processor, but can be distributed in a modular manner across different computers or processors to implement the various aspects of the invention.
[0083] Computer-executable instructions can take many forms, such as program modules, that are executed by one or more computers or other devices. Typically, program modules include routines, programs, objects, components, data structures, etc., that perform specific tasks or implement specific abstract data types. In various embodiments, the functionality of program modules can typically be combined or distributed as needed.
[0084] Furthermore, data structures can be stored in any suitable form on a non-transitory computer-readable storage medium. A data structure can have fields that are related by location within the data structure. Such relationships can also be implemented by allocating storage locations for fields in a non-transitory computer-readable medium, which convey the relationships between the fields. However, any suitable mechanism can be used to establish relationships between information in the fields of a data structure, including other mechanisms that establish relationships using pointers, labels, or between data elements.
[0085] Various inventive concepts can be embodied in one or more methods, examples of which have been provided. Actions performed as part of a method can be ordered in any suitable manner. Therefore, embodiments can be constructed in which actions are performed in a different order than those described, which may include performing some actions simultaneously, even if they are shown as sequential actions in the illustrative embodiments.
[0086] The indefinite articles “a” and “an” used herein in the specification and claims should be understood to mean “at least one” unless the contrary is explicitly indicated. As used herein in the specification and claims, the phrase “at least one” in relation 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, but does not necessarily include at least one of every element specifically listed in the list, and does not exclude any combination of elements in the list. This allows for the optional presence of elements other than those specifically identified by the phrase “at least one” in the list, whether related to or unrelated to those specifically identified elements.
[0087] The phrase “and / or” as used herein in the specification and claims should be understood to mean “any one or both” of the elements so combined, i.e., elements that exist together in some cases and separately in others. Multiple elements listed with “and / or” should be interpreted in the same way, i.e., “one or more” of the elements so combined. In addition to the elements specifically identified by the “and / or” clause, other elements may optionally be present, whether related to or unrelated to those specifically identified. Thus, as a non-limiting example, when used in conjunction with open-ended language such as “comprising,” a reference to “A and / or B” may, in one embodiment, refer only to A (optionally including elements other than B); in another embodiment, refer only to B (optionally including elements other than A); in yet another embodiment, refer to both A and B (optionally including other elements); and so on.
[0088] As used herein in the specification and claims, “or” should be understood to have the same meaning as “and / or” as defined above. For example, when items in a list are separated, “or” or “and / or” should be interpreted as inclusive, i.e., including at least one, but also including multiple elements or more than one in a list of elements, and optionally, additional unlisted items. Only terms that explicitly indicate the opposite (such as “only one” or “exactly one”, or “comprising” when used in the claims) will refer to including multiple elements or exactly one element in a list of elements. In general, when preceded by exclusive terms such as “any one,” “one,” “only one,” or “exactly one,” the term “or” as used herein should only be interpreted as indicating an alternative to exclusivity (i.e., “one or the other, but not two”). When used in the claims, “consisting substantially of…” should have its ordinary meaning as used in the field of patent law.
[0089] The use of sequential terms such as "first," "second," and "third" in claims to modify claim elements themselves does not imply any priority, precedence, or order of one claim element relative to another, or the chronological order in which the actions of the method are performed. Such terms are merely labels to distinguish one claim element with a certain name from another element with the same name (but using a numbered term).
[0090] The wording and terminology used in this document are for descriptive purposes and should not be considered limiting. The use of “including,” “including,” “having,” “contains,” “involves,” and variations thereof means to cover the items listed thereafter and any additional items.
[0091] Several embodiments of the invention have been described in detail, and various modifications and improvements will readily occur to those skilled in the art. Such modifications and improvements are intended to remain within the spirit and scope of the invention. Therefore, the foregoing description is by way of example only and is not intended to be limiting.
[0092] Various aspects are described in this disclosure, including but not limited to the following: (1) A computerized method for monitoring manufacturing defects, the method comprising: receiving a two-dimensional (2D) image of a manufactured component; calculating a corresponding set of values indicating the lifetime of each of a plurality of topological features in the 2D image; determining a digital feature based on the set of values calculated for the plurality of topological features; and determining, based on the digital feature, whether the 2D image indicates a defect in the manufactured component.
[0093] (2) The method of aspect 1, wherein each of the plurality of topological features includes a shape, the shape including isolated blocks or blocks of a first color completely surrounded by a region of a second color, wherein each pixel in the shape is below a filtering threshold.
[0094] (3) The method of aspect 1, wherein the set of values for each of the plurality of topological features in the 2D image includes a set of birth and death coordinates, each birth and death coordinate representing the birth and death of the topological feature associated with a filtering threshold, respectively. Additionally and / or alternatively, the topological feature may correspond to a Betty number or a variation of the Betty number associated with a filtering threshold level.
[0095] (4) The method of aspect 3, wherein determining the digital features includes: determining a persistent statistical vector, a persistent curve vector, or a combination thereof based on the set of birth and death coordinates calculated for the plurality of topological features.
[0096] (5) The method of aspect 4 further includes: determining a first set of values, wherein each of the first set of values corresponds to the middle-age persistence of a corresponding birth and death coordinate in the set of birth and death coordinates of the plurality of topological features; and determining a second set of values, wherein each of the second set of values corresponds to the lifespan persistence of a corresponding birth and death coordinate in the set of birth and death coordinates of the plurality of topological features.
[0097] (6) The method of aspect 5, wherein determining the persistent statistical vector includes: determining a first persistent statistical vector containing the mean, standard, skewness, kurtosis and / or entropy of the first set of values; and determining a second persistent statistical vector containing the mean, standard, skewness, kurtosis and / or entropy of the second set of values.
[0098] (7) The method of aspect 6, wherein the determination of the persistence curve vector is performed based on the second set of values.
[0099] (8) The method of any one of aspects 1-7 further includes segmenting the 2D image before calculating the set of values for the plurality of topological features.
[0100] (9) The method of any one of aspects 1-7 further includes performing a smoothing operation on the 2D image before calculating the set of values for the plurality of topological features.
[0101] (10) The method of aspect 9, wherein the smoothing operation includes morphological closing operation.
[0102] (11) A method of any one of aspects 1-10, wherein determining whether the 2D image indicates a defect in the manufactured component includes using a trained statistical model and the digital features as input to the trained statistical model.
[0103] (12) The method of aspect 11 further includes: determining a local binary pattern based on the 2D image; and using the trained statistical model and the digital features, additionally including using the local binary pattern as input to the trained statistical model.
[0104] (13) The method of aspect 12 further includes: determining a local binary pattern vector based on a histogram of the local binary pattern; 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.
[0105] (14) The method of any one of aspects 11-13, wherein the trained statistical model includes an XGBoost classifier.
[0106] (15) The method of any one of aspects 1-14, wherein receiving a 2D image of the manufacturing component includes capturing a 2D image of the manufacturing component while the manufacturing component moves along a conveyor belt.
[0107] (16) The method of any one of aspects 1-15, wherein the manufacturing component is a syringe; and capturing a 2D image of the manufacturing component comprises capturing the 2D image from the top of the manufacturing component.
[0108] (17) The method of any one of aspects 1-16, wherein the defect includes a crack, a notch or both.
[0109] (18) The method of aspect 3, wherein calculating the set of birth and death coordinates includes: changing the filtering threshold; and comparing the intensity of the 2D image with the filtering threshold to identify the set of birth and death coordinates.
[0110] (19) The method of aspect 18, wherein: each of the plurality of topological features includes a shape, the shape including isolated blocks or blocks of a first color completely surrounded by regions of a second color, wherein each pixel in the shape is below the filtering threshold; and the birth coordinate of each topological feature corresponds to a first filtering threshold level at which the topological feature first appears as the filtering threshold increases.
[0111] (20) The method of aspect 19, wherein the death coordinate of each topological feature specifies a second filtering threshold level at which the topological feature first disappears as the filtering threshold increases.
[0112] (21) A system for detecting whether a manufactured component has a defect, the system comprising: an image capturing device configured to capture an image of the manufactured component; and at least one processor performing the method of any one of aspects 1-20.
[0113] (22) A non-transitory computer-readable medium storing instructions that, when executed by at least one processor, cause the at least one processor to perform the method of any one of aspects 1-20.
Claims
1. A system for detecting whether a manufactured component has defects, the system comprising: An image capturing device configured to capture a two-dimensional (2D) image of the manufacturing component; At least one processor configured to execute computer-readable instructions to: Receive a 2D image of the manufacturing component; Calculate a corresponding set of values indicating the lifetime of each of the multiple topological features in the 2D image; The digital features are determined based on this set of values calculated for the multiple topological features; as well as The digital features are used to determine whether the 2D image indicates a defect in the manufactured component.
2. The system according to claim 1, wherein, Each of the plurality of topological features includes a shape, the shape comprising isolated blocks or blocks of a first color completely surrounded by regions of a second color, wherein each pixel in the shape is below a filtering threshold.
3. The system according to claim 1, wherein, For each of the multiple topological features in the 2D image, this set of values includes a set of birth and death coordinates, each birth and death coordinate representing the birth and death of the topological feature, respectively.
4. The system according to claim 3, wherein, Determining the digital features includes: determining a persistent statistical vector, a persistent curve vector, or a combination thereof based on the set of birth and death coordinates calculated for the plurality of topological features.
5. The system according to claim 4, wherein, The at least one processor is further configured to execute the computer-readable instructions to: Determine a first set of values, wherein each value in the first set corresponds to the middle-age persistence of a corresponding birth and death coordinate in the set of birth and death coordinates of the plurality of topological features; and Determine a second set of values, wherein each of the values in the second set corresponds to the lifetime of a corresponding birth and death coordinate in the set of birth and death coordinates of the plurality of topological features.
6. The system according to claim 5, wherein, Determining the persistence statistical vector includes: Determine a first persistence statistical vector containing the mean, standard, skewness, kurtosis, and / or entropy of the first set of values; and Determine a second persistence statistical vector that includes the mean, standard, skewness, kurtosis, and / or entropy of the second set of values.
7. The system according to claim 6, wherein, The determination of the persistence curve vector is performed based on the second set of values.
8. The system according to any one of claims 1-7, wherein, The at least one processor is further configured to execute the computer-readable instructions to segment the 2D image before calculating the set of values for the plurality of topological features.
9. The system according to any one of claims 1-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 topological features.
10. The system according to claim 9, wherein, The smoothing operation includes morphological closing operation.
11. The system according to any one of claims 1-10, wherein, Determining whether the 2D image indicates a defect in the manufactured component includes using a trained statistical model and the digital features that are input to the trained statistical model.
12. The system according to claim 11, wherein, The at least one processor is further configured to execute the computer-readable instructions to: Determine the local binary pattern based on the 2D image; and The use of the trained statistical model and the digital features further includes using the local binary pattern as input to the trained statistical model.
13. The system according to claim 12, wherein, The at least one processor is further configured to execute the computer-readable instructions to: The local binary pattern vector is determined based on the histogram of the local binary pattern. Specifically, 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-13, wherein, The trained statistical model includes the XGBoost classifier.
15. The system according to any one of claims 1-14, wherein, The image capturing device is configured to capture 2D images of the manufacturing component as it moves along the conveyor belt.
16. The system according to any one of claims 1-15, wherein: The manufacturing component is a syringe; and Capturing a 2D image of the manufacturing component includes capturing the 2D image from the top of the manufacturing component.
17. The system according to any one of claims 1-16, wherein, The defects include cracks, notches, or both.
18. The system according to claim 3, wherein, The calculation of the birth and death coordinates for this group includes: Change the filter threshold; and The intensity of the 2D image is compared with the filtering threshold to identify the set of birth and death coordinates.
19. The system according to claim 18, wherein: Each of the plurality of topological features includes a shape, the shape comprising isolated blocks or blocks of a first color completely surrounded by regions of a second color, wherein each pixel in the shape is below the filtering threshold; and The birth coordinates of each topological feature correspond to the first filtering threshold level at which the topological feature first appears as the filtering threshold increases.
20. The system according to claim 19, wherein, The death coordinates of each topological feature specify a second filtering threshold level at which the topological feature first disappears as the filtering threshold increases.