Rolling principal component analysis for dynamic process monitoring and end-point detection

By using rolling principal component analysis (PCA) technology to generate models from spectral data and project spectral blocks, the accuracy and real-time issues of endpoint detection in the blending process are solved, thereby improving process efficiency and quality.

CN116559091BActive Publication Date: 2026-01-13VIAVI SOLUTIONS INC(US)
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202211094468.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2022-06-02
Filing Date
2022-09-08
Publication Date
2026-01-13
Estimated Expiration
2042-09-08

AI Technical Summary

Technical Problem

In existing blending processes, conventional endpoint detection techniques such as moving block standard deviation, moving block average, and moving F test cannot provide robust endpoint detection and tend to detect the endpoint before actually reaching steady state, resulting in resource waste and inefficiency.

Method used

Rolling principal component analysis (PCA) is used to generate a PCA model and project spectral data blocks into the model. Metrics such as Mahalanobis distance, Hotling T2, and elliptic volume are used to monitor and determine in real time whether the dynamic process has reached a steady state.

Benefits of technology

It achieves accurate endpoint detection, avoids premature endpoint detection, improves the efficiency and quality of the blending process, and enables real-time monitoring and control of the process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116559091B_ABST
    Figure CN116559091B_ABST
Patent Text Reader

Abstract

The present disclosure relates to rolling principal component analysis for dynamic process monitoring and end-point detection. In some implementations, a device can receive spectral data associated with a dynamic process. The device can generate a principal component analysis (PCA) model based on a first spectral block from the spectral data. The device can project a second spectral block from the spectral data to the PCA model generated based on the first spectral block. The device can determine a value of a metric associated with the second spectral block based on projecting the second spectral block to the PCA model. The device can determine whether the dynamic process has reached an end-point based on the value of the metric associated with the second block.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications

[0002] This patent application claims the benefit of priority to U.S. Provisional Patent Application No. 63 / 267,383, filed January 31, 2022, entitled “Rolling PRINCIPAL COMPONENTANALYSIS FOR BLENDING MONITORING AND END POINT DETECTION”. The disclosure of the prior application is considered part of this patent application and is incorporated herein by reference. Technical Field

[0003] This disclosure relates to rolling principal component analysis for dynamic process monitoring and endpoint detection. Background Technology

[0004] Blending processes (e.g., blending processes associated with the manufacture of pharmaceutical products) may involve one or more state transitions, such as a transition from a non-steady state (e.g., a heterogeneous state of blending in which the properties of the blend change over time) to a steady state (e.g., a homogeneous state of blending in which the properties of the blend remain substantially constant over time). For example, a blending process may involve a transition in which the spectral properties of the blend transition from a non-steady state (e.g., at the start of the blending process) to a steady state (e.g., indicating the completion of the blending process). Summary of the Invention

[0005] Some implementations described herein relate to a method. This method may include receiving spectral data associated with a dynamic process via a device. This method may include generating a principal component analysis (PCA) model via the device based on a first spectral block from the spectral data. This method may include projecting a second spectral block from the spectral data onto the PCA model generated based on the first spectral block via the device. This method may include determining, via the device, the value of a metric associated with the second spectral block based on the projection of the second spectral block onto the PCA model. This method may include determining, via the device, whether the dynamic process has reached its endpoint based on the value of the metric associated with the second block.

[0006] Some implementations described herein relate to a device. The device may include one or more memories and one or more processors coupled to the one or more memories. The device may be configured to receive spectral data associated with a blending process. The device may be configured to generate a PCA model based on a first spectral block from the spectral data. The device may be configured to project a second spectral block from the spectral data onto the PCA model generated based on the first spectral block. The device may be configured to determine the value of a metric associated with the second spectral block based on the projection of the second spectral block onto the PCA model. The device may be configured to determine whether the blending process has reached a steady state based on the value of the metric associated with the second block.

[0007] Some implementations described herein involve a non-transitory computer-readable medium storing a set of instructions for a device. When executed by one or more processors of the device, this set of instructions enables the device to receive spectral data associated with a dynamic process. When executed by one or more processors of the device, this set of instructions enables the device to generate a PCA model based on a first spectral block from the spectral data. When executed by one or more processors of the device, this set of instructions enables the device to project a second spectral block from the spectral data onto the PCA model generated based on the first spectral block. When executed by one or more processors of the device, this set of instructions enables the device to determine one or more values ​​of one or more metrics associated with the second spectral block based on the projection of the second spectral block onto the PCA model. This set of instructions, when executed by one or more processors of the device, enables the device to determine whether the dynamic process has reached its endpoint based on one or more values ​​of one or more metrics associated with the second block. Attached Figure Description

[0008] Figures 1A-1G This is a diagram illustrating the example implementation described in this article.

[0009] Figure 2 This is a diagram illustrating an example environment in which the systems and / or methods described in this article can be implemented.

[0010] Figure 3 yes Figure 2 A diagram showing example components of one or more devices.

[0011] Figure 4 This is a flowchart of an example process related to rolling principal component analysis (PCA) used for dynamic process monitoring and endpoint detection. Detailed Implementation

[0012] The following detailed description of the example implementation is with reference to the accompanying drawings. The same reference numerals in different drawings may identify the same or similar elements. The following description uses a spectrometer as an example. However, the techniques, principles, processes, and methods described herein can be used with any sensor, including but not limited to other optical and spectral sensors.

[0013] The blending homogeneity (sometimes referred to as blending consistency) of compounds produced by blending processes (e.g., blending processes used in the manufacture of pharmaceutical products) should be monitored to ensure the quality and performance of the blending process. Achieving acceptable blending homogeneity allows, for example, the compound to be effectively utilized in later process steps or made available to consumers. Conversely, poor blending homogeneity can result in the compound being unusable or rejected, meaning that resources dedicated to the blending process will be wasted.

[0014] As described above, the blending process can involve a transition of the spectral properties of a compound from a non-steady state (e.g., a state in which the properties of the material and / or compound change over time) to a steady state (e.g., a state in which the properties of the material and / or compound remain substantially constant over time), where the steady state indicates that blending has been achieved. Therefore, accurate and reliable detection of the steady state based on the spectral properties of the compound can improve both the performance of the blending process (e.g., by ensuring adequate blending) and the efficiency of the blending process (e.g., by ending the blending process as soon as it is achieved).

[0015] A common technique for detecting endpoints in blending processes based on spectral properties is moving block analysis, which may include using, for example, moving block standard deviation (MBSD), moving block mean (MBM), moving block relative standard deviation (MB-RSD), or moving F test. It is worth noting that MBSD, MBM, and MB-RSD do not provide robust endpoint detection and typically rely on historical or calibrated spectral data to set the threshold for detecting steady state. Furthermore, MBSD, MB-RSD, and moving F test tend to detect the endpoint before actually reaching steady state. Therefore, the common techniques used to perform moving block analysis can be undesirably complex or may detect the endpoint before actually reaching steady state.

[0016] Some implementations described in this paper provide rolling principal component analysis (PCA) for dynamic process monitoring and endpoint detection. In some implementations, the detection device can receive spectral data associated with the blending process and generate a PCA model based on a first spectral block from the spectral data. The detection device can then project a second spectral block from the spectral data onto the PCA model and determine the value of a metric associated with the second spectral block based on the projection onto the PCA model. The detection device can then determine whether the blending process has reached steady state based on the value of the metric associated with the second block.

[0017] The implementation described in this paper provides a qualitative technique that enables accurate endpoint detection and allows for real-time monitoring and control of the blending process without the need for calibration or historical spectral data. It is worth noting that although the implementation described herein is presented in the context of a blending process, it can be applied to any type of dynamic process transitioning from a non-steady state to a steady state. Additional details are provided below.

[0018] Figures 1A-1G This is a diagram relating to rolling PCA for dynamic process monitoring and endpoint detection, as described in this article. Figure 1A and Figure 1B This is a diagram illustrating an example implementation 100 of rolling PCA for dynamic process monitoring and endpoint detection. (See diagram for example.) Figure 1A and 1B As shown, example implementation 100 includes a spectrometer 210, a detection device 220, and a user device 230.

[0019] like Figure 1A As indicated by reference numeral 102 in the figures, detection device 220 can receive spectral data associated with the blending process. For example, as shown, spectrometer 210 can measure spectral data at a given time during the execution of the blending process and can provide the spectral data to detection device 220. In some implementations, the spectral data includes spectra measured by spectrometer 210 during the execution of the blending process (e.g., multivariate time series data, such as NIR spectra).

[0020] In some implementations, the detection device 220 can receive spectral data in real-time or near real-time during the blending process. For example, relative to the spectrometer 210 which acquires spectral data during the blending process, the detection device 220 can receive spectral data measured by the spectrometer 210 in real-time or near real-time during the execution of the blending process. In some implementations, the detection device 220 can perform rolling PCA for dynamic process monitoring and endpoint detection based on the spectral data, as described herein.

[0021] In some implementations, the detection device 220 may preprocess the spectral data. For example, the raw spectral data may include a certain amount of noise, scattering effects, artifacts, or other types of unwanted features. Therefore, in some implementations, the detection device 220 may preprocess the spectral data to reduce the presence of such unwanted features or remove such unwanted features from the spectral data. In some implementations, the detection device 220 may use techniques such as derivative calculation, standard normal variable (SNV) techniques, or multiplicative scattering correction (MSC) techniques to preprocess the spectral data.

[0022] In some implementations, as indicated by reference numeral 104, the detection device 220 can generate a PCA model based on a first spectral block from the spectral data. In some implementations, the spectral block comprises a time-series group of spectra from the spectral data. For example, referencing... Figure 1C The spectral block identified as block 1 may include spectrum S1 (e.g., the spectrum collected during the first rotation of the mixer performing the blending process) to spectrum S. N (N>1) (e.g., the spectrum collected during the Nth rotation of the mixer performing the blending process). That is, block 1 may include spectra collected during the first N time periods associated with the dynamic process (e.g., the first N rotations of the mixer). As another example, the spectral block identified as the next block 1.1 may include spectrum S. N+1 To the spectrum S 2N This means that the next block 1.1 may include spectra collected during a second N time period associated with the dynamic process. As another example, the spectral block identified as block 2 may include spectra S2 to S... N+1 This means that block 2 may include spectra collected over N time periods associated with the dynamic process, starting from the second time period (e.g., the second revolution of the mixer).

[0023] In some implementations, the detection device 220 can generate a PCA model based on the first spectral block. For example, refer to... Figure 1C The detection device 220 can be based on block 1 (e.g., including spectrum S1 to spectrum S). N The detection device 220 generates a PCA model 1 from the spectral group. In some implementations, the detection device 220 can generate a PCA model by performing PCA dimensionality reduction on the first spectral block to identify a set of principal components (e.g., one principal component, two principal components, three principal components, etc.) associated with the first spectral block. The detection device 220 can then (dynamically) generate a PCA model based on the identified principal components associated with the first spectral block. In some implementations, the detection device 220 can use the PCA model in association with determining whether a dynamic process has reached its endpoint, as described herein.

[0024] In some implementations, such as Figure 1A As indicated by reference numeral 106 in the accompanying drawings, the detection device 220 can project a second spectral block from the spectral data onto the PCA model based on the first spectral block. For example, referring to... Figure 1CThe detection device 220 can generate PCA model 1 from block 1, as described above. Then, the detection device 220 can project the next block 1.1 from the spectral data onto PCA model 1. That is, the detection device 220 can project the next block 1.1 as a point in the PCA model. In some implementations, as described below, to determine whether the dynamic process has reached its endpoint, projecting the second spectral block onto the PCA model allows the detection device 220 to determine the metric associated with the second spectral block.

[0025] In some implementations, such as in Figure 1B As indicated by reference numeral 108 in the accompanying drawings, the detection device 220 can determine the value of a metric associated with the second spectral block based on projecting the second spectral block onto a PCA model. In some implementations, the metric indicates the difference between the second spectral block described by the PCA model (i.e., the spectral block projected onto the PCA model) and the first spectral block. For example, refer to... Figure 1C The detection device 220 can determine the value of a metric associated with the next block 1.1 based on projecting the next block 1.1 onto PCA model 1 (i.e., the PCA model generated based on block 1). In some implementations, this metric may include Mahalanobis distance, Hotelling T... 2 (Hotelling T 2 ), Q residual or ellipsoidal volume, as described below regarding Figure 1D-Figure 1G Further detailed description. In some implementations, the detection device 220 can determine the values ​​of multiple metrics. For example, the detection device 220 can determine the value of a first metric (e.g., Mahalanobis distance) associated with the second block, and can determine the value of a second metric (e.g., Hotelling T) associated with the second block. 2 The value of ). In this implementation, the detection device 220 may use the value of a first metric and / or the value of a second metric, as described herein, in association with determining whether a dynamic process has reached its endpoint.

[0026] In some implementations, as indicated by reference numeral 110, the detection device 220 can determine whether the dynamic process has reached its endpoint based on the value of a metric associated with the second block. For example, the detection device 220 can determine whether the value of the metric associated with the second block meets a threshold associated with the metric. Here, if the value of the metric does not meet the threshold, the detection device 220 can determine that the dynamic process has not reached its endpoint (e.g., the dynamic process has not reached a steady state). Conversely, if the value of the metric meets the threshold, the detection device 220 can determine that the dynamic process has reached its endpoint (e.g., the dynamic process has reached a steady state). In some implementations, the detection device 220 can further determine whether the dynamic process has reached its endpoint based on a criterion associated with the metric for endpoint detection.

[0027] As a specific example, the metric could be Mahalanobis distance, and detection device 220 could be configured to use a Mahalanobis distance threshold of 3 in association with determining whether a dynamic process has reached its endpoint. Here, if detection device 220 determines the value of the Mahalanobis distance associated with the second block to be 4, then detection device 220 can determine that the dynamic process has not yet reached its endpoint (e.g., because the Mahalanobis distance associated with the second block is not less than the Mahalanobis distance threshold). Conversely, if detection device 220 determines the value of the Mahalanobis distance associated with the second block to be 2, then detection device 220 can determine that the dynamic process may have reached its endpoint (e.g., because the Mahalanobis distance associated with the second block is less than the Mahalanobis distance threshold).

[0028] In some implementations, as described above, the detection device 220 can also determine whether the dynamic process has reached its endpoint based on a criterion associated with the metric for endpoint detection. In some implementations, the criterion can indicate the number of times a threshold value of the metric must satisfy a threshold associated with the metric. For example, the metric can be the Mahalanobis distance, and the detection device 220 can be configured to use a Mahalanobis distance threshold of 3, as described in the example above. Here, the criterion can indicate that three consecutive spectral blocks projected onto the PCA model need to satisfy a threshold associated with the Mahalanobis distance. In an illustrative example, refer to... Figure 1CThe detection device 220 can generate PCA model 1 from block 1 (e.g., a first spectral block), project the next block 1.1 (e.g., a second spectral block) onto PCA model 1, and determine the Mahalanobis distance based on the result of projecting the next block 1.1 onto PCA model 1. In this example, the Mahalanobis distance associated with the next block 1.1 satisfies a Mahalanobis distance threshold (e.g., the Mahalanobis distance associated with the next block 1.1 is less than 3). However, since the next block 1.1 is the first occurrence of a spectral block whose projection satisfies the Mahalanobis distance threshold, the detection device 220 can determine that the criterion associated with determining that the dynamic process has reached its endpoint is not met, and therefore can determine that the endpoint has not yet been reached. Instead, the detection device 220 can project the next block 2.1 (e.g., a third spectral block from spectral data) onto PCA model 1, and determine the Mahalanobis distance based on the result of projecting the next block 2.1 onto PCA model 1. In this example, the Mahalanobis distance associated with the next block 2.1 satisfies the Mahalanobis distance threshold. However, since the next block 2.1 is the second occurrence of a spectral block whose projection satisfies the Mahalanobis distance threshold, the detection device 220 can determine that the criterion associated with determining whether the dynamic process has reached its endpoint is not met, and therefore can determine that the endpoint has not yet been reached. Continuing this example, the detection device 220 can project the next block 3.1 (e.g., the fourth spectral block from the spectral data) onto PCA model 1, and can determine the Mahalanobis distance based on the result of projecting the next block 3.1 onto PC model 1. In this example, the Mahalanobis distance associated with the next block 3.1 satisfies the Mahalanobis distance threshold. Here, since the next block 3.1 is the third occurrence of a spectral block whose projection satisfies the Mahalanobis distance threshold, the detection device 220 can determine that the criterion associated with determining whether the dynamic process has reached its endpoint has been met, and therefore can determine that the endpoint has been reached. It is worth noting that the criterion requiring three consecutive spectral blocks is provided as an example, and in practice, a criterion requiring any number of consecutive blocks can be used.

[0029] In some implementations, the criteria associated with determining whether a dynamic process has reached its endpoint can be based on binomial probability or another practical consideration. For example, the criterion could require 10 consecutive blocks to satisfy all the requirements for the endpoint, or at least 9 of the 10 consecutive blocks to satisfy all the requirements for the endpoint, etc.

[0030] In some implementations, the detection device 220 may identify the starting point for performing endpoint detection of the dynamic process before determining whether the dynamic process has reached its endpoint. In some implementations, the detection device 220 may identify the starting point based on spectral data. For example, the dynamic process may be in a non-steady-state state during the initial phase of the dynamic process; therefore, the spectrum from the non-steady-state phase may affect the reliability of the endpoint detection. Therefore, it is desirable to eliminate the spectrum from the non-steady-state phase of the dynamic process. In some implementations, identifying the starting point for performing endpoint detection may include identifying a pseudo-steady-state endpoint based on spectral data. A pseudo-steady-state is the state of the dynamic process between a non-steady-state and a steady-state state. In other words, a pseudo-steady-state is a transitional (or meta-)state between a non-steady-state and a steady-state state. When in a pseudo-steady-state, the dynamic process is neither in a non-steady-state nor a steady-state state. The pseudo-steady-state endpoint is the point in time indicating the end of the pseudo-steady-state. In some implementations, the detection device 220 identifies pseudo-steady-state endpoints, so that for the purpose of identifying dynamic process endpoints, non-steady-state spectral data corresponding to the blending process can be ignored, thereby reducing or eliminating noise generated by non-steady-state spectral data corresponding to the blending process, and thus improving the reliability of dynamic process endpoint detection.

[0031] In some implementations, detection device 220 may utilize multiple metrics associated with determining whether a dynamic process has reached its endpoint. For example, detection device 220 may determine the value of a first metric (e.g., Mahalanobis distance) associated with the second spectral block and a second metric (e.g., Hotelling T) associated with the second block based on projecting the second spectral block onto a PCA model. 2 The value of ). In this example, the detection device 220 can determine whether the dynamic process has reached its endpoint based on the values ​​of both the first metric and the second metric (and their associated criteria). As an example, the detection device 220 can be configured to determine that the dynamic process has reached its endpoint when (1) the value of the first metric meets a first threshold, (2) the criterion associated with the first metric is met, (3) the value of the second metric meets a second threshold, and (4) the criterion associated with the second metric is met.

[0032] return Figure 1BAs indicated by reference numeral 112 in the accompanying drawings, the detection device 220 may (optionally) provide an indication of whether a dynamic process has reached its endpoint. For example, the detection device 220 may provide an indication to the user device 230 that the dynamic process has reached its endpoint. As a specific example, if the detection device 220 has determined that the dynamic process has reached its endpoint, then the detection device 220 may provide an indication to the user device 230 associated with monitoring or controlling the dynamic process that the dynamic process has reached its endpoint. As another specific example, if the detection device 220 determines that the dynamic process has not yet reached its endpoint, then the detection device 220 may provide an indication to the user device 230 that the dynamic process has not yet reached its endpoint. In this way, the user device 230 can be notified whether the dynamic process has reached its endpoint (e.g., so that the user can monitor or adjust the dynamic process as needed).

[0033] As another example, detection device 220 can provide an indication of whether a dynamic process has reached its endpoint, so that actions can be performed automatically. For example, if detection device 220 determines that a dynamic process has reached its endpoint, it can provide an indication to one or more other devices, such as devices associated with performing the dynamic process (e.g., to stop the dynamic process, to restart the dynamic process on new raw materials, etc.) or devices associated with performing the next step of the manufacturing process (e.g., to start the next step in the manufacturing process), etc. In some implementations, detection device 220 can provide user device 230 with information associated with the endpoint, for example, to visualize the evolution of the dynamic process via user device 230.

[0034] In some implementations, the detection device 220 may perform the above operations in association with multiple PCA models associated with determining whether a dynamic process has reached its endpoint. For example, as described above and with reference to... Figure 1CThe detection device 220 can generate PCA model 1 based on block 1. Here, when the detection device 220 receives spectral data (e.g., real-time or near real-time), it can generate one or more additional PCA models and use these models to determine whether the dynamic process has reached its endpoint. For example, the detection device 220 can generate PCA model 2 (e.g., a second PCA model) based on block 2 (e.g., a third spectral block from the spectral data). The detection device 220 can then project the next block 1.2 (e.g., a fourth spectral block from the spectral data) onto PCA model 2, determine the value of a metric associated with the next block 1.2 based on this projection, and determine whether the dynamic process has reached its endpoint based on the value of the metric associated with the next block 1.2. In some implementations, the detection device 220 can simultaneously perform operations associated with multiple PCA models (e.g., the detection device 220 can simultaneously perform operations associated with determining whether the dynamic process has reached its endpoint using PCA model 1 and operations associated with determining whether the dynamic process has reached its endpoint using PCA model 2).

[0035] In some implementations, the detection device 220 may perform the operations described herein during a dynamic process (e.g., when the detection device 220 receives spectral data) to achieve real-time (or near-real-time) monitoring and control of the dynamic process. Alternatively or additionally, the detection device 220 may perform the operations described herein after the dynamic process is complete (e.g., for post-analysis of the dynamic process).

[0036] In some implementations, as described above, the metric used to determine whether a dynamic process has reached its endpoint may include Mahalanobis distance. Mahalanobis distance is a multidimensional generalization that measures how many standard deviations the distance of a projected point is from the distribution mean. In some implementations, the distribution is defined by the principal components of the PCA model, and the Mahalanobis distance measures the distance from the projected point (e.g., associated with a given spectral patch) to the center of the PCA model. In some implementations, a Mahalanobis distance threshold (e.g., a value of 3) may be used to evaluate the distance between the projected point and the center of the PCA model. If the Mahalanobis distance threshold is set to a value of 3, there is a 99.7% probability that the projected point can be described by the PCA model (i.e., the point resembles a data point in the spectral patch used for modeling). Notably, when the Mahalanobis distance of the projected point is below the Mahalanobis distance threshold, this indicates that the endpoint occurs at or near the starting spectrum of the spectral patch used to generate the PCA model. In some implementations, the Mahalanobis distance threshold may be a value other than 3 (e.g., a value of 2 may be used to apply relatively stricter requirements). Figure 1D The illustration depicts an example associated with endpoint detection using Mahalanobis distance as the metric. Figure 1DIn the example shown, the x-axis represents the spectral block number used to construct a series of PCA models. Figure 1D Each data point shown represents the corresponding next block (NB) projection. Since multiple spectra exist within each block used for projection, the corresponding data point is the average or median of the Mahalanobis distances of all spectra within that block. In this example, the endpoint of the dynamic process is identified as block #179 (e.g., spectrum #210). It is noteworthy that in this example, two outliers are removed from the time series, resulting in a difference of 31 between the block number (for a block size of 30) and the spectrum number (instead of 29).

[0037] In some implementations, as described above, the metric used to determine whether a dynamic process has reached its endpoint may include Hotelling T. 2 Hotelling T 2 This is a value describing the distance from the projection point (e.g., a given spectral patch) to the center of the PCA model, as spanned by the principal components. In some implementations, a 95% confidence level is used to set the Hotelling T value. 2 The limit is reached, but other confidence levels can be used. In some implementations, for each block used for projection, the confidence level is set above Hotelling T. 2 The occurrence of the limit is counted. In some implementations, the threshold is set to 10% of the block size. For example, for a block size of 30, the threshold could be set to a value of 3. In some implementations, when the projection result is below the threshold, this indicates that the endpoint occurs at or near the beginning of the spectral count of the block used to generate the PCA model. Figure 1E The illustration shows the use of Hotling T 2 An example associated with endpoint detection as a metric. In Figure 1E In the example shown, the endpoint of the dynamic process is determined to occur in block #183 (e.g., spectrum #214).

[0038] In some implementations, as described above, the metric used to determine whether a dynamic process has reached its endpoint may include Q-residuals. Q-residuals are the sum of squares of the residuals over the variables at each projected data point. In some implementations, the use of Q-residuals may be related to Hotelling's T... 2 The use of [variables] is combined. In some implementations, a 95% confidence level is used to set the Q-residual limit, but other confidence levels can be used. In some implementations, the number of occurrences exceeding the Q-residual limit is counted for each block used for projection. In some implementations, the threshold is set to 20% of the block size. For example, for a block size of 30, the threshold could be set to a value of 6. In some implementations, when the projection result is below the threshold, this indicates that the endpoint occurs at or near the beginning of the spectral count of the block used to generate the PCA model. Figure 1F This shows the results using the Q residual metric and Hotling T. 2An example associated with endpoint detection as a metric. In Figure 1F In the example shown, the endpoint of the dynamic process is determined to occur in block #267 (e.g., spectrum #298).

[0039] In some implementations, as described above, the metric used to determine whether a dynamic process has reached its endpoint may include elliptic volume. Elliptic volume is based on the Hotling T... 2 The volume of a multivariate confidence elliptic is distributed across the principal components of the PCA model. It's important to note that projection is not involved when using elliptic volume. It is assumed that the volume will decrease over time until the dynamic process reaches a steady state. The elliptic volume decreases over time until it reaches its steady-state value. In some implementations, users can use the elliptic volume metric to select a threshold for determining whether a dynamic process has reached its endpoint. In some cases, the use of elliptic volume can reveal a clearer profile than that observed by conventional moving block methods, simplifying the determination of the dynamic process's endpoint. For example, the moving block standard deviation (MBSD) can be applied to spectral data. Figure 1G The illustration shows an example associated with endpoint detection using elliptic volume.

[0040] In this way, the testing device 220 can implement qualitative techniques for endpoint detection that do not require calibration or historical data. It is noteworthy that the threshold associated with the metric used for endpoint detection can be both objective and statistically significant in some implementations. Therefore, the endpoint determined by the testing device 220 addresses the problem of premature endpoint detection (e.g., as encountered with conventional techniques). Furthermore, the endpoint determined by the testing device 220 in the manner described herein can be better matched to validation tests using rolling PCA techniques.

[0041] As mentioned above, Figures 1A-1G This is provided as an example. Other examples are also possible and can be discussed in relation to... Figures 1A-1G The descriptions are different.

[0042] Figure 2 This is a diagram illustrating an example environment 200 in which the systems and / or methods described herein can be implemented. For example... Figure 2 As shown, environment 200 may include one or more spectrometers 210-1 to 210-n (n≥1) (collectively referred to herein as spectrometer 210, and individually as spectrometer 210), detection equipment 220, user equipment 230, and network 240. The devices of environment 200 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.

[0043] Spectrometer 210 includes a device capable of performing spectral measurements on a sample (e.g., a sample associated with a manufacturing process). For example, spectrometer 210 may include a benchtop (i.e., non-handheld) spectrometer device that performs spectroscopy (e.g., vibrational spectroscopy, such as near-infrared (NIR) spectroscopy, mid-infrared spectroscopy, Raman spectroscopy, etc.). In some implementations, spectrometer 210 is capable of providing spectral data acquired by spectrometer 210 for analysis by another device, such as detection device 220.

[0044] The detection device 220 includes one or more devices capable of performing one or more operations associated with rolling PCA for dynamic process monitoring and endpoint detection, as described herein. For example, the detection device 220 may include a server, server group, computer, cloud computing device, etc. In some implementations, the detection device 220 may receive and / or transmit information to another device in environment 200, such as spectrometer 210 and / or user equipment 230.

[0045] As described herein, user equipment 230 includes one or more devices capable of receiving, processing, and / or providing information associated with the detection of the end point of the blending process. For example, user equipment 230 may include communication and computing devices such as desktop computers, mobile phones (e.g., smartphones, cordless phones, etc.), laptop computers, tablet computers, handheld computers, wearable communication devices (e.g., smartwatches, a pair of smart glasses, etc.) or similar types of devices.

[0046] Network 240 includes one or more wired and / or wireless networks. For example, network 240 may include cellular networks (e.g., 5G networks, 4G networks, Long Term Evolution (LTE) networks, 3G networks, Code Division Multiple Access (CDMA) networks, etc.), Public Land Mobile Networks (PLMN), Local Area Networks (LAN), Wide Area Networks (WAN), Metropolitan Area Networks (MAN), Telephone Networks (e.g., Public Switched Telephone Network (PSTN)), Private Networks, Self-organizing Networks, Intranets, the Internet, Fiber-based Networks, Cloud Computing Networks, etc., and / or combinations of these or other types of networks.

[0047] Figure 2 The number and arrangement of devices and networks shown are provided as examples. In reality, there may be additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or [other arrangements]. Figure 2 The equipment and / or networks shown are arranged differently. Furthermore, Figure 2 The two or more devices shown can be implemented within a single device, or Figure 2The single device shown can be implemented as multiple distributed devices. Additionally or alternatively, a group of devices in environment 200 (e.g., one or more devices) can perform one or more functions described as being performed by another group of devices in environment 200.

[0048] Figure 3 This is a diagram illustrating example components of device 300, which may correspond to spectrometer 210, detection device 220, and / or user equipment 230. In some implementations, spectrometer 210, detection device 220, and / or user equipment 230 may include one or more devices 300 and / or one or more components of device 300. For example... Figure 3 As shown, device 300 may include bus 310, processor 320, memory 330, input unit 340, output unit 350 and communication unit 360.

[0049] Bus 310 includes one or more components that enable wired and / or wireless communication between components of device 300. Bus 310 can... Figure 3 Two or more components are coupled together, for example, through operational coupling, communication coupling, electronic coupling, and / or electrical coupling. Processor 320 includes a central processing unit, graphics processing unit, microprocessor, controller, microcontroller, digital signal processor, field-programmable gate array, application-specific integrated circuit, and / or other types of processing components. Processor 320 is implemented in hardware, firmware, or a combination of hardware and software. In some implementations, processor 320 includes one or more processors capable of being programmed to perform one or more operations or processes described elsewhere herein.

[0050] Memory 330 includes volatile and / or non-volatile memory. For example, memory 330 may include random access memory (RAM), read-only memory (ROM), hard disk drive, and / or other types of memory (e.g., flash memory, magnetic memory, and / or optical memory). Memory 330 may include internal memory (e.g., RAM, ROM, or hard disk drive) and / or removable memory (e.g., removable via a universal serial bus). Memory 330 may be a non-transitory computer-readable medium. Memory 330 stores information, instructions, and / or software (e.g., one or more software applications) related to the operation of device 300. In some implementations, memory 330 includes one or more memories, such as those coupled to one or more processors (e.g., processor 320) via bus 310.

[0051] Input component 340 enables device 300 to receive input, such as user input and / or sensed input. For example, input component 340 may include a touchscreen, keyboard, keypad, mouse, button, microphone, switch, sensor, GPS sensor, accelerometer, gyroscope, and / or actuator. Output component 350 enables device 300 to provide output, such as via a display, speaker, and / or light-emitting diode. Communication component 360 enables device 300 to communicate with other devices via a wired and / or wireless connection. For example, communication component 360 may include a receiver, transmitter, transceiver, modem, network interface card, and / or antenna.

[0052] Device 300 can perform one or more operations or procedures described herein. For example, a non-transitory computer-readable medium (e.g., memory 330) can store a set of instructions (e.g., one or more instructions or code) for execution by processor 320. Processor 320 can execute the set of instructions to perform one or more operations or procedures described herein. In some implementations, execution of the set of instructions by one or more processors 320 causes one or more processors 320 and / or device 300 to perform one or more operations or procedures described herein. In some implementations, hardwired circuitry is used in place of instructions or in combination with instructions to perform one or more operations or procedures described herein. Additionally or alternatively, processor 320 can be configured to perform one or more operations or procedures described herein. Therefore, the implementations described herein are not limited to any particular combination of hardware circuitry and software.

[0053] Figure 3 The number and arrangement of components shown are provided as an example. Device 300 may include components related to... Figure 3 The components shown are compared to additional components, fewer components, different components, or components arranged differently. Additionally or optionally, a group of components of device 300 (e.g., one or more components) can perform one or more functions described as being performed by another group of components of device 300.

[0054] Figure 4 This is a flowchart of an example process 400 associated with rolling PCA for dynamic process monitoring and endpoint detection. In some implementations, Figure 4 One or more process frames are executed by a device (e.g., detection device 220). In some implementations, Figure 4 One or more process frames are performed by another device or group of devices that are separate from or include the device, such as a spectrometer (e.g., spectrometer 210) or user equipment (e.g., user equipment 230). Alternatively or additionally, Figure 4One or more process blocks may be executed by one or more components of the device 300, such as processor 320, memory 330, input component 340, output component 350 and / or communication component 360.

[0055] like Figure 4 As shown, process 400 may include receiving spectral data associated with a dynamic process (block 410). For example, as described above, the device may receive spectral data associated with a dynamic process.

[0056] like Figure 4 As further shown, process 400 may include generating a PCA model based on a first spectral block (box 420) from the spectral data. For example, as described above, the device may generate a PCA model based on a first spectral block from the spectral data.

[0057] like Figure 4 As further shown, process 400 may include projecting a second spectral block from the spectral data onto a PCA model generated based on the first spectral block (box 430). For example, as described above, the device may project a second spectral block from the spectral data onto a PCA model generated based on the first spectral block.

[0058] like Figure 4 As further shown, process 400 may include determining the value of a metric associated with the second spectral block based on projecting the second spectral block onto a PCA model (box 440). For example, as described above, the device may determine the value of a metric associated with the second spectral block based on projecting the second spectral block onto a PCA model.

[0059] like Figure 4 As further shown, process 400 may include determining whether a dynamic process has reached its endpoint based on the value of a metric associated with the second block (box 450). For example, as described above, the device may determine whether a dynamic process has reached its endpoint based on the value of a metric associated with the second block.

[0060] Process 400 may include additional implementations, such as any single implementation or any combination of implementations of one or more other processes described below and / or elsewhere herein.

[0061] In the first implementation, determining whether the dynamic process has reached its endpoint includes determining that the dynamic process has not yet reached its endpoint based on the determination that a metric associated with the second block does not meet a threshold associated with that metric.

[0062] In the second implementation, determining whether a dynamic process has reached its endpoint, either alone or in combination with the first implementation, includes determining that the dynamic process has not reached its endpoint based on the determination that a criterion associated with the metric for endpoint detection has not been met.

[0063] In the third implementation, determining whether the dynamic process has reached its endpoint, either alone or in combination with one or more of the first and second implementations, includes: determining that the dynamic process has reached its endpoint based on the determination that the value of a metric associated with the second block meets a threshold associated with the metric, and determining that a criterion associated with the metric for endpoint detection is met.

[0064] In the fourth implementation, either alone or in combination with one or more of the first to third implementations, process 400 includes identifying a starting point for endpoint detection of the dynamic process based on spectral data, and identifying the starting point before determining whether the dynamic process has reached its endpoint.

[0065] In the fifth implementation, either alone or in combination with one or more of the first to fourth implementations, process 400 includes: projecting a third spectral block from spectral data onto a PCA model generated based on the first spectral block; determining a value of a metric associated with the third spectral block based on the projection of the third spectral block onto the PCA model; and further determining whether the dynamic process has reached its endpoint based on the value of the metric associated with the third spectral block.

[0066] In the sixth implementation, either alone or in combination with one or more of the first to fifth implementations, the PCA model is a first PCA model, and determining whether the dynamic process has reached its endpoint is determining that the dynamic process has not yet reached its endpoint. The process 400 includes generating a second PCA model based on a third spectral block from spectral data, projecting a fourth spectral block from spectral data onto the second PCA model generated based on the third spectral block, determining the value of a metric associated with the fourth block based on the projection of the fourth spectral block onto the second PCA model, and determining whether the dynamic process has reached its endpoint based on the value of the metric associated with the fourth block.

[0067] In the seventh implementation, either alone or in combination with one or more of the first to sixth implementations, the metric is a first metric, and process 400 includes determining the value of a second metric associated with the second spectral block based on projecting the second spectral block onto the PCA model, and further determining whether the dynamic process has reached its endpoint based on the value of the second metric associated with the second spectral block.

[0068] In the eighth implementation, the difference between the second spectral block and the first spectral block is measured, either alone or in combination with one or more of the first to seventh implementations.

[0069] Although Figure 4 An example block of process 400 is shown, but in some implementations, process 400 includes... Figure 4The blocks depicted in the diagram are compared to additional blocks, fewer blocks, different blocks, or blocks arranged differently. Alternatively or additionally, two or more blocks of process 400 may be executed in parallel.

[0070] The foregoing disclosure provides illustrations and descriptions, but is not intended to be exhaustive or to limit the implementation to the precise form disclosed. Modifications and variations can be made based on the foregoing disclosure, or from the practice of implementation.

[0071] As used herein, the term "component" is intended to be broadly interpreted as hardware, firmware, or a combination of hardware and software. Clearly, the systems and / or methods described herein can be implemented in various forms of hardware, firmware, and / or combinations of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods is not a limitation on the implementation. Therefore, without reference to specific software code, this document describes the operation and behavior of the systems and / or methods—it should be understood that software and hardware can be used to implement systems and / or methods based on those described herein.

[0072] As used in this article, depending on the context, a threshold can refer to a value that is greater than the threshold, greater than or equal to the threshold, less than the threshold, less than or equal to the threshold, equal to the threshold, not equal to the threshold, etc.

[0073] Even if a particular combination of features is described in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of various implementations. In fact, many of these features can be combined in ways not specifically described in the claims and / or disclosed in the specification. Although each dependent claim listed below may be directly dependent on only one claim, the disclosure of various implementations includes every dependent claim combined with every other claim in the claim set. As used herein, the phrase “at least one” in the list of items refers to any combination of these items, including a single member. As an example, “at least one of: a, b, or c” is intended to cover a, b, c, ab, ac, bc, and abc, as well as any combination with multiple identical items.

[0074] The elements, actions, or instructions used herein should not be construed as critical or necessary unless explicitly stated otherwise. Furthermore, as used herein, the articles “a” and “one” are intended to include one or more items and are used interchangeably with “one or more.” Furthermore, as used herein, the article “the” is intended to include one or more items referenced in connection with the article “the” and is used interchangeably with “the one or more.” Furthermore, as used herein, the term “set” is intended to include one or more items (e.g., related items, unrelated items, or a combination of related and unrelated items) and is used interchangeably with “one or more.” Where only one item is intended, the phrase “only one” or similar language is used. Furthermore, as used herein, the terms “have,” “possess,” “having,” etc., are intended to be open-ended terms. Furthermore, the phrase “based on” is intended to mean “at least partially based on” unless otherwise explicitly stated. Furthermore, as used herein, the term “or” when used in series is intended to be inclusive and is used interchangeably with “and / or” unless otherwise explicitly stated (e.g., if used in combination with “either” or “only one”).

Claims

1. A method comprising: receiving, by a device, spectral data associated with a dynamic process; generating, by the device, a principal component analysis (PCA) model as a first PCA model based on a first spectral block from the spectral data; projecting, by the device, a second spectral block from the spectral data onto the first PCA model generated based on the first spectral block; determining, by the device, a value of a metric associated with the second spectral block based on projecting the second spectral block onto the first PCA model; determining, by the device, whether the dynamic process has reached an end point based on the value of the metric associated with the second spectral block; generating a second PCA model based on a third spectral block from the spectral data; projecting a fourth spectral block from the spectral data onto the second PCA model generated based on the third spectral block; determining a value of the metric associated with the fourth spectral block based on projecting the fourth spectral block onto the second PCA model; and determining whether the dynamic process has reached the end point based on the value of the metric associated with the fourth spectral block.

2. The method of claim 1, wherein determining whether the dynamic process has reached the end point comprises: determining that the dynamic process has not reached the end point based on a determination that the value of the metric associated with the second spectral block does not satisfy a threshold value associated with the metric.

3. The method of claim 1, wherein determining whether the dynamic process has reached the end point comprises: determining that the dynamic process has not reached the end point based on a determination that a criterion associated with the metric for end point detection is not satisfied.

4. The method of claim 1, wherein determining whether the dynamic process has reached the end point comprises: determining that the dynamic process has reached the end point based on a determination that the value of the metric associated with the second spectral block satisfies a threshold value associated with the metric and based on a determination that a criterion associated with the metric for end point detection is satisfied. identifying, based on the spectral data, a starting point for performing end point detection of the dynamic process, the starting point being identified prior to determining whether the dynamic process has reached the end point.

5. The method of claim 1, further comprising:

6. The method of claim 1, further comprising: projecting a third spectral block from the spectral data onto the first PCA model generated based on the first spectral block; determining a value of a metric associated with the third spectral block based on projecting the third spectral block onto the first PCA model; and further determining whether the dynamic process has reached the end point based on the value of the metric associated with the third spectral block.

7. The method of claim 1, wherein the metric is a first metric, and the method further comprises: determining a value of a second metric associated with the second spectral block based on projecting the second spectral block onto the first PCA model; and further determining whether the dynamic process has reached the end point based on the value of the second metric associated with the second spectral block. ​ ​ ​ 8. The method of claim 1, wherein the metric indicates a difference between the second spectral bin and the first spectral bin.

9. An apparatus comprising: one or more memories; and one or more processors coupled to the one or more memories configured to: receive spectral data associated with a blending process; generate, based on a first spectral bin from the spectral data, a principal component analysis (PCA) model as a first PCA model; project a second spectral bin from the spectral data to the first PCA model generated based on the first spectral bin; determine, based on projecting the second spectral bin to the first PCA model, a value of a metric associated with the second spectral bin; determine, based on the value of the metric associated with the second spectral bin, whether the blending process has reached a steady state; generate, based on a third spectral bin from the spectral data, a second PCA model; project a fourth spectral bin from the spectral data to the second PCA model generated based on the third spectral bin; determine, based on projecting the fourth spectral bin to the second PCA model, a value of the metric associated with the fourth spectral bin; and determine, based on the value of the metric associated with the fourth spectral bin, whether the blending process has reached a steady state.

10. The apparatus of claim 9, wherein when determining whether the blending process has reached the steady state, the one or more processors are to: determine, based on a determination that the value of the metric associated with the second spectral bin does not satisfy a threshold value associated with the metric, that the blending process has not reached the steady state.

11. The apparatus of claim 9, wherein when determining whether the blending process has reached the steady state, the one or more processors are to: determine, based on a determination that a criterion associated with the metric for end-point detection is not satisfied, that the blending process has not reached the steady state.

12. The apparatus of claim 9, wherein when determining whether the blending process has reached the steady state, the one or more processors are to: determine, based on a determination that the value of the metric associated with the second spectral bin satisfies a threshold value associated with the metric and based on a determination of a criterion associated with the metric for end-point detection, that the blending process has reached the steady state.

13. The apparatus of claim 9, wherein the one or more processors are further to identify, based on the spectral data, a starting point for performing steady state detection of the blending process, the starting point being identified prior to determining whether the blending process has reached the steady state.

14. The apparatus of claim 9, wherein the determination of whether the blending process has reached the steady state is a determination that the blending process has not reached the steady state, and the one or more processors are further to: project a third spectral bin from the spectral data to the first PCA model generated based on the first spectral bin; determine, based on projecting the third spectral bin to the first PCA model, a value of a metric associated with the third spectral bin; and ​ ​ determine, based on the value of the metric associated with the third spectral block, whether the blending process has reached the steady state.

15. The device of claim 9, wherein the metric is a first metric, and the one or more processors are further to: determine, based on projecting the second spectral block to the first PCA model, a value of a second metric associated with the second spectral block; and determine, further based on the value of the second metric associated with the second spectral block, whether the blending process has reached the steady state.

16. A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising: one or more instructions that, when executed by one or more processors of a device, cause the device to: receive spectral data associated with a dynamic process; generate, based on a first spectral block from the spectral data, a principal component analysis (PCA) model as a first PCA model; project a second spectral block from the spectral data to the first PCA model generated based on the first spectral block; determine, based on projecting the second spectral block to the first PCA model, one or more values for one or more metrics associated with the second spectral block; determine, based on the one or more values of the one or more metrics associated with the second spectral block, whether the dynamic process has reached an end point; generate, based on a third spectral block from the spectral data, a second PCA model; project a fourth spectral block from the spectral data to the second PCA model generated based on the third spectral block; determine, based on projecting the fourth spectral block to the second PCA model, a value of the metric associated with the fourth spectral block; and determine, based on the value of the metric associated with the fourth spectral block, whether a blending process has reached a steady state.

17. The non-transitory computer-readable medium of claim 16, wherein the one or more instructions, when causing the one or more processors to determine whether the dynamic process has reached the end point, cause the one or more processors to: determine, based on a determination that a value of the one or more values satisfies a threshold value associated with a metric of the one or more metrics, that the dynamic process has reached the end point.

18. The non-transitory computer-readable medium of claim 16, wherein the one or more instructions, when causing the one or more processors to determine whether the dynamic process has reached the end point, cause the one or more processors to: determine, based on a determination that a criterion for end point detection associated with a metric of the one or more metrics has been satisfied, that the dynamic process has reached the end point. ​