Artificial Intelligence Anomaly Detection Using X-Ray Computed Tomography Scan Data

X-ray CT scan data is used to train AI models for anomaly detection, addressing the challenge of distinguishing identical products, ensuring accurate quality control and safety by detecting internal differences.

JP2025535410APending Publication Date: 2025-10-24LUMAFIELD INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025522771
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-10-19
Filing Date
2023-10-19
Publication Date
2025-10-24

AI Technical Summary

Technical Problem

Current methods for distinguishing between superficially identical products, such as counterfeit items, are inadequate, leading to economic losses and safety hazards due to the inability of 2D X-ray and visible light imaging to detect internal differences.

Method used

Utilizing X-ray CT scan data to train AI models for anomaly detection, incorporating 2D and 3D reconstructions, renderings, and derived data features to differentiate between nominal and anomalous products.

Benefits of technology

Enables accurate and efficient detection of defects and authenticity in products, allowing for in-line decision-making and quality control without destructive inspections.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025535410000001_ABST
    Figure 2025535410000001_ABST
Patent Text Reader

Abstract

[0003] Methods, apparatuses, computer program products, and systems for anomaly detection using machine learning models are provided herein. One method includes acquiring X-ray computed tomography (CT) scan data for a scanned object of a predetermined object type, creating derived data from the X-ray CT scan data, the derived data revealing at least one internal structure usable for anomaly detection within the object of the predetermined object type, inputting at least the derived data to a machine learning model trained using the derived data created from previous X-ray CT scan data for at least the object of the predetermined object type, receiving an output from the machine learning model indicating that at least one anomaly has been detected for the scanned object, and providing an output to a physical device based on the detection of at least one anomaly for the scanned object.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This patent application claims priority to and benefit of U.S. Provisional Patent Application No. 63 / 417,469, filed October 19, 2022.

[0002] The present disclosure relates to methods, systems, and apparatus for detecting anomalies using x-ray computed tomography (CT) images, reconstructions, renderings, and derived data. [Background technology]

[0003] It is often difficult to determine the origin of or differences between superficially identical products. For example, counterfeit products are designed to mimic the look and feel of authentic products, making it difficult to distinguish the two without a more thorough and sometimes destructive internal inspection. In addition to causing significant economic losses, counterfeit products can also pose health and safety hazards because they often do not comply with safety standards. For example, counterfeit lithium-ion batteries are at a greater risk of exploding, and counterfeit safety airbags may not deploy properly, if at all. From a manufacturing perspective, it can be difficult to quickly and accurately perform quality control measurements without costly operations or product destruction.

[0004] X-ray CT is a technique that can image the internal features and structure of such products. However, current methods of using X-rays for inspection, including two-dimensional (2D) X-ray imaging methods and 2D visible light imaging methods, are inadequate to detect differences between outwardly appearing identical products, including counterfeit and / or defective products. Summary of the Invention

[0005] Described herein are methods for training artificial intelligence (AI) models and methods for using the trained AI models to detect differences between outwardly similar-looking products or their parts and components. Solutions to the above-mentioned problems, as well as other problems in the field to which the particular implementations described herein pertain, are described herein.

[0006] In some exemplary embodiments, a method of training a machine learning model is described herein, the method including providing an input dataset including X-ray CT scan data, data derived from the X-ray CT scan data, at least one feature derived from the X-ray CT scan data, or a combination thereof, and training the machine learning model to distinguish between nominal input data and anomalous input data.

[0007] In various exemplary embodiments, a method for anomaly detection is described herein, the method including inputting X-ray CT scan data, data derived from the X-ray CT scan data, at least one feature derived from the X-ray CT scan data, or a combination thereof, into a trained machine learning model and detecting at least one anomaly. [Brief explanation of the drawings]

[0008] [Figure 1] Figure 1A shows a black and white photograph of material properties with raw damping values. Figure 1B shows a black and white photograph of the low density material included in Figure 1A. Figure 1C shows a black and white photograph of the low density material of Figure 1B removed to reveal additional internal structure. [Figure 2] Figure 2A shows a black and white photograph rendering a three-dimensional view of the reconstruction from the perspective of the virtual camera of the smartwatch with specific rendering settings, Figure 2B shows a black and white photograph rendering another three-dimensional view of the reconstruction from the perspective of the virtual camera of the smartwatch with specific rendering settings, and Figure 2C shows a black and white photograph rendering another three-dimensional view of the reconstruction from the perspective of the virtual camera of the smartwatch with specific rendering settings. [Figure 3] Figure 3A shows a black and white photograph of a 2D slice aligned to a coordinate system showing prominent features within the scanned part. Figure 3B shows another black and white photograph of a 2D slice aligned to a coordinate system showing prominent features within the scanned part. [Figure 4] Figure 4A shows a black and white photograph of a mesh extracted from the same smartwatch reconstruction that captures additional information about the material comprising the scanned object, Figure 4B shows a black and white photograph of another mesh extracted from the same reconstruction that captures additional information about the material comprising the scanned object, and Figure 4C shows a black and white photograph of another mesh extracted from the same reconstruction that captures additional information about the material comprising the scanned object. [Figure 5] FIG. 1 illustrates a method for performing anomaly detection using 2D slices from a reconstruction. [Figure 6] FIG. 1 illustrates a method for performing anomaly detection using reoriented reconstructions and slices of the reconstructions. [Figure 7] FIG. 1 illustrates a method for performing anomaly detection using groups of slices from a reconstruction. [Figure 8] FIG. 1 illustrates a method for performing anomaly detection using reconstructions. [Figure 9] FIG. 1 illustrates a method for performing anomaly detection using views of a reconstruction rendered from multiple perspectives. [Figure 10] FIG. 1 illustrates how 3D distributions of viewpoints can be used to perform anomaly detection. [Figure 11] FIG. 2 illustrates a method for performing anomaly detection using D-ray CT images. [Figure 12] FIG. 1 illustrates a method for performing anomaly detection using a trained autoencoder model. [Figure 13] FIG. 1 illustrates another method for performing anomaly detection using a trained autoencoder model. [Figure 14] FIG. 1 illustrates how a discriminator component from a GAN can be used to perform anomaly detection. [Figure 15] FIG. 1 illustrates an example of a flow chart of an example implementation according to some illustrative embodiments. [Figure 16] FIG. 1 illustrates an example flow diagram of a method in accordance with various exemplary embodiments. [Figure 17] FIG. 10 illustrates an example flow diagram of another method in accordance with certain embodiments. [Figure 18] FIG. 1 illustrates an example of an X-ray imaging system, in accordance with some exemplary embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0009] I. Introduction Described herein are methods for using AI and machine learning for anomaly detection, authentication, defect detection, and other commercially relevant tasks.

[0010] In some exemplary embodiments, the methods may include data sources such as, but not limited to, x-rays, 2D slices of a reconstruction, three-dimensional (3D) reconstructions, 2D renderings of a reconstruction, point clouds, meshes, and other geometric representations sampled from a reconstruction.

[0011] II. Data Sources A CT scanner (e.g., CT scanning device 1800) can acquire a set of 2D images from an image detector (e.g., detector 1806). These images can represent the amount of X-ray energy detected by the image detector. The X-ray energy can be emitted from an X-ray source (e.g., X-ray source 1803) and can include distinct energies that can subsequently be attenuated by any matter (e.g., the scanning target) between the X-ray source and the image detector. The difference between the X-ray energy emitted by the X-ray source and the X-ray energy captured by the image detector can provide information about the material and density of the material in the path of the X-ray photons.

[0012] The images acquired from the image detector may be referred to as radiographs, which may represent raw data from the image detector and / or may include computer vision (CV) post-processing techniques such as denoising, deblurring, etc. Hereinafter, the term "2D X-ray" may refer to data directly from the image detector or data that has undergone standard CV post-processing techniques to improve the quality of the image.

[0013] CT scanning generally utilizes a method in which multiple 2D X-ray images of a single product are acquired, with the primary difference in system configuration for each 2D X-ray image being the orientation or position of the scan target relative to the X-ray source and image detector. In one example, the scan target can be placed on a mechanical turntable between the X-ray source and image detector. The mechanical turntable can rotate in fixed steps that can total 360° of rotation, stopping after each step to acquire an X-ray image, so that the resulting set of 2D X-ray images contains images from multiple perspectives around the object. In one example, the scan target can rotate exactly one degree between each 2D X-ray image, so that a complete CT scan can contain 360 X-ray images.

[0014] In some embodiments, processes for X-ray CT scanning are described herein that create a 3D image of one or more scanned targets. This 3D image can be a reconstruction derived from a series of 2D X-ray photographs. Unlike visible light or 2D X-ray photographs, the 3D reconstruction can provide dimensionally accurate spatial and material information about both the interior and exterior of one or more scanned targets or parts or components thereof.

[0015] The radiographs can be further processed in several ways before being input into the 3D reconstruction algorithm: In some embodiments, the radiographs can be added (i.e., combined) and / or averaged before being reconstructed to create the 3D reconstruction.

[0016] The X-ray CT scanner settings (herein "acquisition settings") used to acquire the scans that produce the radiographs described above, as well as associated metadata about the scans, may comprise various data sources and may be used in combination with a trained model for anomaly detection. In some exemplary embodiments, the trained model may be a trained machine learning model.

[0017] As used herein, the phrase "scan data" can refer to a combination of 2D radiographs, 3D reconstructions, acquisition settings, metadata, reconstruction data, or any combination thereof.

[0018] In some embodiments, including any of those described above, the X-ray CT scan data may be selected from the group consisting of radiographs, acquisition settings, reconstruction data, rendering data, or a combination thereof.

[0019] a. Derived data sources and characteristics In some embodiments, the X-ray CT scan data can be used as input to a machine learning model or algorithm or process that creates "derived data." These other types of data and features can be used to train the machine learning model as input data, characteristic features, or a combination thereof. Examples of derived data include 2D renderings of a 3D reconstruction, 2D slices of a 3D reconstruction, and 3D data from a reconstruction.

[0020] b. 2D rendering of the 3D reconstruction In some exemplary embodiments, 2D images of the reconstructed data can be generated by rendering the images using different mappings of attenuation values ​​to different colors / opacities. In various exemplary embodiments, the 2D images can also be generated from different perspectives. These different perspectives can create multiple images of the same part. In certain exemplary embodiments, the rendering settings and perspectives can be combined to provide a unique view of the internal structure of the part while encoding information about the materials that comprise the part.

[0021] 1A-1C and 2A-2C show example renderings of a reconstruction of a scan of a smartwatch using different rendering settings. Specifically, FIG. 1A shows the smartwatch with air and polymer hidden at some attenuation values, FIG. 1B shows the same reconstruction data with polymer mapped to different grayscale values ​​at some attenuation values, and FIG. 1C shows the same reconstruction data with the polymer values ​​excluded and a different mapping of attenuation values ​​to grayscale values. In some embodiments, the rendering settings can include lower attenuation values ​​to make the plastic casing of the watch visible, while in other cases the rendering can omit lower attenuation values, resulting in a rendered image that more clearly shows the internal structure of the watch. 2A-2C show different 3D views of the reconstruction using specific rendering settings, with the virtual camera positioned to achieve different perspectives revealing different internal features of the smartwatch.

[0022] c. 2D slice of the 3D reconstruction In some exemplary embodiments, the 3D reconstruction data can be sampled to create 2D images commonly referred to as "slices." The sampling surface is typically planar, but can be any surface of any shape, including helical, cylindrical, conical, spherical, or T-spline / Non-Uniform Rational B-Spline (NURBS) surfaces. The slices can be sampled according to a coordinate system formed during scan acquisition, or can be aligned to other coordinate systems, including user-defined coordinate systems, or those derived from geometric features extracted from the scan, such as major axes or fitted primitives.

[0023] 3A-3B show exemplary slices of different instances of the same manufacturing object (e.g., multiple parts with the same manufacturer SKU for an automotive part), derived from 3D reconstructions of scans of each instance. In this example, the part is a pressure control valve assembly for an automobile, and the two instances are the same assembly made by two different vendors. The slices can be derived from regions of the 3D reconstruction that capture an ultrasonic weld between two plastic components. The defects being inspected in these slices are porosity (i.e., small air bubbles present in the ultrasonic weld). FIG. 3A shows a small number of defects (i.e., porosity) in the weld, while FIG. 3B, in contrast, shows a large number of defects (i.e., porosity 302). Thus, the slices shown in FIG. 3B effectively capture the features and defects of the weld therein.

[0024] d. 3D data from 3D reconstructions In some exemplary embodiments, 3D representations of boundaries and volumes can be derived from the reconstruction data, including, but not limited to, triangular and quadrilateral surface meshes, volumetric (e.g., tetrahedral) meshes, point clouds, octrees, occupancy grids, implicit functions (e.g., neural implicit functions), and spherical harmonics.

[0025] In some exemplary embodiments, the shape representations may be derived in one-to-one correspondence with the reconstructions (e.g., one mesh per reconstruction). In other exemplary embodiments, multiple shape representations may be derived from a single reconstruction (e.g., multiple meshes from one reconstruction). In certain exemplary embodiments, the shape representations may be derived using different segmentations based on attenuation values ​​or other structural characteristics of the reconstruction to encode additional information about material properties.

[0026] 4A-4C show multiple meshes extracted from the same reconstruction. The boundaries used to generate the meshes (or other shape representations) can be generated via several different segmentation methods, including, but not limited to, fixed thresholding, adaptive thresholding, or Otsu's thresholding method (i.e., distinguishing foreground and background pixels). Segmentation can also be achieved via a trained machine learning model (e.g., a random forest classifier, a U-net (i.e., a convolutional neural network (CNN) associated with biomedical image segmentation), or another trained CNN). The segmentation used to create multiple derived data from the reconstruction can be determined manually by setting a threshold or automatically by allowing the threshold to be selected or determined automatically by an algorithm. In some embodiments, the segmentation can be tailored to distinctive features (i.e., known material peaks) within the data.

[0027] e. Generated analytical features In some exemplary embodiments, the distinctive features may be generated by additional algorithmic processing of the reconstructed data. In various embodiments, the algorithmic processing of the reconstructed data may be performed automatically, and in certain embodiments, the algorithmic processing of the reconstructed data may be performed in response to manual input.

[0028] Various exemplary embodiments can include additional features such as porosity (i.e., the ratio of the volume of voids to the total volume or number of detected pores) data, which can be selected from any combination of pore position, pore size, pore shape, pore-to-surface distance, pore cluster density, pore number, or pore sphericity.

[0029] Some example embodiments may include inclusion (i.e., contaminant) data, which may be selected from any combination of inclusion location, inclusion size, inclusion shape, inclusion to surface distance, inclusion cluster density, inclusion count, or inclusion sphericity.

[0030] Certain exemplary embodiments may include, but are not limited to, target wall thickness data, such as thickness distribution.

[0031] In certain exemplary embodiments, additional features useful in combination with the disclosure herein include, but are not limited to, at least one of surface area data, surface roughness data, feature dimensions in 2D and 3D, dimensional errors relative to a computer-aided design (CAD) model, dimensional errors relative to another CT scan, and dimensional errors relative to primitive matching features in 2D and 3D, where a primitive can be a sphere, cube, cylinder, or other basic geometric shape that can be manually specified by a user or inferred from the 3D reconstruction data. For example, certain exemplary embodiments can include the center-to-center distance of nominal locations of circular features in the reconstruction and the location of circular primitives fitted to the scan data. Some exemplary embodiments can include the concentricity of nominal cylindrical features and cylindrical primitives fitted to the scan data.

[0032] f. Other derived or detected features In some exemplary embodiments, scan data can be used to derive other data. In certain examples, the other derived data can be selected from a distribution of reconstructed attenuation values. In certain exemplary embodiments, the other derived data can be selected from a distribution of radiographic attenuation values, where the radiographic attenuation values ​​can range from 0 to 65535 on a 16-bit unsigned integer scale. In certain exemplary embodiments, the other derived data can be selected from 3D convolution features extracted from the reconstruction (e.g., manually generated convolution filters for directional edge extraction, such as Sobel or Gabor filters). In certain exemplary embodiments, the other derived data can be selected from 2D convolution features extracted from reconstruction slices. In some exemplary embodiments, the other derived data can be selected from 2D convolution features extracted from radiographs. In certain exemplary embodiments, the other derived data can be selected from material peaks in an attenuation value histogram (e.g., by a peak-finding algorithm and / or a Gaussian fit to the distribution of attenuation values). In certain exemplary embodiments, the other derived data can be selected from a distinctive domain volume and / or domain center of mass. In various exemplary embodiments, the other derived data may be selected from characteristics such as numbers, letters, criteria, or codes (eg, barcodes or quick response (QR) codes).

[0033] Certain embodiments may include, but are not limited to, the generation of new features such as progression thresholds, boundary representations of different specific materials, and 3D convolution filters. For example, derived data from X-ray CT scan data may include a series of segmentations of the X-ray CT scan data. The series of segmentations may be generated using multiple progression thresholds that segment different materials from the X-ray CT scan data. The series of segmentations may include segmentation masks, voxels, or meshes that correspond to the structure of the different materials in the scan data.

[0034] III. Tasks In some exemplary embodiments, an AI model can be trained using labeled data, or in an unsupervised manner, with unlabeled data, using data types and features such as those described above. The resulting trained model can be used in anomaly detection. In certain embodiments, anomaly detection can include defect detection, authentication, or a combination thereof.

[0035] Various embodiments can include using results from the trained models described herein to make in-line decisions regarding product handling lines, such as product manufacturing lines, product packaging lines, or product receiving lines. For example, the system can include a product handling device such as a conveyor belt. The system can use results from the trained machine learning models to make in-line decisions regarding product receiving lines, such as, for example, returning sold or rented goods.

[0036] Some embodiments can include populating a user interface (UI) dashboard with the results. In some implementations, the system can render results on a display device based on the anomalies detected for the scanned object within the UI on the display device. In some implementations, the system can highlight defects or anomalous areas in 2D or 3D within the UI on the display device.

[0037] Certain embodiments may include assigning an OK (i.e., meets quality specifications) / NG (i.e., does not meet quality specifications) label to a universally unique identifier (UUID) corresponding to a unique part, which may be randomly generated or inferred from an attribute of the part, such as a barcode on the part.

[0038] In some exemplary embodiments, defect detection can include, but is not limited to, detecting defects in-line in a manufacturing system. Certain embodiments can further include generating a decision regarding the scanned object. For example, the generated decision can change a UI on the machine or in software receiving data from the machine. The generated decision can be used to intervene in the manufacturing or handling process, for example, a decision to reject or divert a defective part to a repair station can be generated and then executed by a robot or other manufacturing equipment. In some implementations, a system (e.g., a CT scanner) can be in-line with a production line and can be responsible for inspecting a majority or even 100% of the products produced in the production line. In some implementations, a system can be adjacent to the production line and can be responsible for inspecting a portion (e.g., 0-100%) of the products produced in the production line. In some implementations, the anomaly detection results can be used to automatically pass or fail products in the production line. In some implementations, an operator can review the anomaly detection results to ensure accuracy before making a pass or fail decision on a product. In certain exemplary embodiments, the generated decision can be presented to a user. In certain embodiments, users can provide feedback, e.g., user feedback can cause the model to be retrained so that it can improve over time.

[0039] In certain exemplary embodiments, the decisions and their metadata can be logged to a cloud-based system. For example, the cloud-based system can present time series data and metrics about the decisions and their history to identify product yields over time. In other examples, the cloud-based system can present time series data and metrics about the decisions and their history to identify model variations. In yet other exemplary embodiments, the cloud-based system can retrain the model based on the data, either automatically or upon user initiation.

[0040] In some exemplary embodiments, defect detection may include, but is not limited to, detecting counterfeit products, authentic products, or a combination thereof.

[0041] In various exemplary embodiments, defect detection may include, but is not limited to, detecting counterfeit artwork, authenticated artwork, or a combination thereof.

[0042] In certain exemplary embodiments, defect detection may include, but is not limited to, creating a digital record for a unique item (e.g., a unique carving), thereby allowing tracking and comparison of condition over time.

[0043] In certain exemplary embodiments, defect detection may include inspecting products that are otherwise dangerous to inspect via physical processes, such as, but not limited to, weapons, chemicals, or other products where opening and inspecting the product may pose a risk of harm to the inspector.

[0044] In some exemplary embodiments, defect detection may include, but is not limited to, detecting wear and cracks in fabrication machines and tools.

[0045] In various exemplary embodiments, defect detection may include, but is not limited to, detecting changes in machine calibration.

[0046] In some exemplary embodiments, defect detection can include, but is not limited to, detecting supply chain changes, including, but not limited to, changes in distributors, changes in manufacturing process parameters, and changes in materials. In some embodiments, these methods can include identifying unique distributors. In some embodiments, these methods can include detecting variations in product quality over time. In some embodiments, these methods can include detecting variations in manufacturing processes over time.

[0047] In some embodiments, the methods can include inspecting the quality of incoming goods from a distributor. For example, the methods can include inspecting goods before the distributor ships them to a buyer. In various embodiments, the methods can include inspecting a system before the buyer accepts it from the distributor.

[0048] In some embodiments, the methods can include detecting dispersion of production lines that handle the same product. For example, the methods can include detecting dispersion of multiple lines within a facility. In some embodiments, the methods can include detecting dispersion of multiple lines across multiple facilities within a single location. In various embodiments, the methods can include detecting dispersion of multiple lines across multiple facilities in multiple locations.

[0049] In some embodiments, the methods can include detecting root causes of fabrication defects within a manufacturing process. For example, the methods can include inspecting multiple points / locations during and / or after the manufacturing process. In some embodiments, the methods can include storing inspection results at each inspection location. In various embodiments, the methods can include presenting results at various stages to a user so that further investigation can be performed to identify steps or locations that likely introduced faults, defects, or other errors.

[0050] In various embodiments, the methods can include quantifying yield and production metrics for a user. In certain embodiments, the methods can include presenting these metrics as results of one or more inspections across one or more production lines, one or more facilities, and / or one or more locations. In some embodiments, the methods can include enabling a user to identify anomalies in the production process across many lines, facilities, and locations.

[0051] In some embodiments, the AI ​​models herein can include performing anomaly detection tasks on various platforms. For example, anomaly detection can be performed on remote, on-demand computer systems (e.g., cloud computing data centers). In various embodiments, anomaly detection can be performed on network edge devices (e.g., scanners and integrated access devices). In some embodiments, anomaly detection can be performed on mobile devices such as smartphones and tablets. In various embodiments, anomaly detection can be performed on laptops and desktop computers. In various embodiments, anomaly detection can require a local network or wide area internet connection between the CT scanner and an additional computer, and such a connection can be utilized for part or all of the anomaly detection task. In various embodiments, the entire anomaly detection task can be performed on a computer directly attached to or part of the CT scanner, such that neither a local network connection nor a wide area internet connection is required for the CT scanner and its associated computer to perform the anomaly detection task.

[0052] In some embodiments, the AI ​​models herein can be trained on a variety of platforms. In various embodiments, the AI ​​models can be trained on a remote, on-demand computer system (e.g., a cloud computing data center). In certain embodiments, the AI ​​models can be trained on a network edge device (e.g., a scanner and integrated access device). In various embodiments, the AI ​​models can be trained on a network of edge devices, such as multiple scanners. In various embodiments, the AI ​​model training can require a local network or wide area internet connection between the CT scanner and an additional computer, and such a connection can be utilized for part or all of the AI ​​model training process. In various embodiments, the entire AI model training process can be performed on a computer directly attached to or part of the CT scanner, such that neither a local network connection nor a wide area internet connection is required for the CT scanner and its associated computer to perform the AI ​​model training process.

[0053] IV. Definition As used herein, the term "2D input" may refer to 2D data types such as 2D X-ray images, 2D slices sampled from a 3D volume, and / or derived data that can be represented as a 2D array or image, e.g., the reconstruction loss in an autoencoder-based anomaly detector model (e.g., FIG. 13).

[0054] As used herein, the term "3D input" may refer to a 3D data type that can be used to represent a reconstruction or reconstruction-derived data for purposes of training a machine learning model or as input to a model configured to generate predictions. Common exemplary 3D inputs include voxels (e.g., occupancy grids), surface meshes (e.g., triangles, quadrilaterals), volumes (e.g., tetrahedra, hexahedrons), point clouds, implicit functions, signed distance fields, and neural implicit fields.

[0055] As used herein, the term "anomalous data" can refer to data that deviates or otherwise differs from a known distribution or expectation. Anomalous data can be an outlier in a distribution constructed from a sample of nominal data. For example, scanned data from a part that does not meet quality specifications can be anomalous data.

[0056] As used herein, the term "nominal data" may refer to data that reflects an expected distribution. For example, scanned data of a part that meets quality requirements or specifications may be nominal data.

[0057] As used herein, the term "anomaly detector" can refer to a model or ensemble of models designed and trained to detect errors from an expected input distribution.

[0058] As used herein, the term "attenuation" can generally refer to the loss of X-ray intensity when X-ray photons pass through a material. In 3D reconstruction data, "attenuation" or "attenuation value" can refer to the value of an individual voxel, with higher magnitudes corresponding to higher attenuation and lower magnitudes corresponding to lower attenuation. The attenuation value in a 3D reconstruction can depend on both the atomic composition of the scanned material and its physical density at a given temperature and pressure. For example, two polyurethane foams of the same chemical composition may produce different attenuation values ​​in the reconstruction if they contain different volume fractions of gas dispersed within voids that are smaller than the minimum spatial resolution of the X-ray CT scanner.

[0059] In 2D X-ray data, "attenuation" can refer to the raw gray values ​​that make up the 2D image. Lower intensity values ​​can correspond to lower attenuation and / or follow the Beer-Lambert law (i.e., the relationship of light attenuation to material properties).

[0060] As used herein, the term "derived data" can refer to data calculated or generated from raw scanned data. This can include, among other things, 2D renderings or reconstruction data, as well as quantitative metrics such as hole size and shape, dimensional error distribution, and specific 2D and 3D measurements.

[0061] As used herein, the term "implicit function" (including "neural implicit function") can refer to a theoretically continuous function that represents a 3D shape. For example, an implicit representation can be sampled individually to determine whether a sample point is inside, on, or outside a boundary. An implicit representation, such as a signed distance field, can also represent a positive or negative normal distance from a boundary. In this representation, a set of samples with a value of 0 can represent a boundary, which can generally be referred to as a "level set."

[0062] As used herein, the term "mesh" can refer to a surface or volume mesh used for 3D shape representation.

[0063] As used herein, the term "multi-view input" can refer to the input to a multi-view CNN, which can be multiple x-rays or 2D renderings of a reconstruction.

[0064] As used herein, the term "occupancy grid" may refer to binary voxel data.

[0065] As used herein, the term "octree" can refer to a 3D shape representation that uses a tree data structure in which each node has eight child nodes. Octrees can recursively represent varying levels of detail.

[0066] As used herein, the term "point cloud" can refer to a 3D shape representation in which a shape is represented by points in 3D space. The point cloud representation can represent the 3D shape in a variety of ways, including by points sampled on a boundary according to a sampling strategy (e.g., Poisson disk sampling), by points on and within a boundary according to a sampling strategy, and / or by points on and within multiple boundaries with values ​​indicating a label, class membership corresponding to a material, or attenuation value of the corresponding boundary or region of the voxel from which the point was sampled.

[0067] As used herein, the term "hole position" may refer to the position in 3D space relative to the reference coordinate frame of an individual hole in a 3D reconstruction.

[0068] As used herein, the term "pore size" can refer to the dimensions and / or volume of a pore within a 3D reconstruction.

[0069] As used herein, the term "hole shape" can refer to the shape characteristics of individual holes, such as hole aspect ratio or hole sphericity.

[0070] As used herein, the term "pore-to-surface distance" may refer to the minimum distance between an identified pore and the surface of the object into which the identified pore resides.

[0071] As used herein, the term "hole sphericity" can refer to the degree to which the shape of a hole resembles or dislikes a sphere. For example, a sphericity of 1 can indicate a sphere, and a value less than 1 can indicate a less-than-spherical hole.

[0072] As used herein, the term "pore count" can refer to the total number of pore instances found in the data. Pore counts can be generated for all different types of CT data and derived data, such as 2D X-rays, 3D reconstructions, slices of 3D reconstructions, etc.

[0073] As used herein, the term "reconstruction" can refer to a 3D voxel volume created from a 2D X-ray image by a reconstruction algorithm (e.g., an analytical and iterative algorithm), as well as a 3D voxel volume sampled from the reconstruction. The value of each voxel can represent the amount of x-ray attenuation measured at that location in space in the reconstruction.

[0074] As used herein, the term "rendering" can refer to a 2D image created by a renderer, specifically a program that converts 3D data into a 2D image for display to a user and / or input to another process.

[0075] As used herein, the term "radiograph" may refer to a 2D X-ray image formed by recording X-ray light passing through an object and detected by an X-ray imaging detector.

[0076] As used herein, the term "quad surface mesh" may refer to a 3D geometric representation in which the shape is represented by a boundary made up of four faces, each face having four vertices.

[0077] As used herein, the term "scan settings" can refer to CT scanner acquisition settings, including, but not limited to, x-ray source energy, current, motion system coordinates, detector gain, exposure, and other settings, number of projections, and any user-defined scan targets. CT scanner acquisition settings can be different for different products (e.g., multiple SKUs from a single manufacturer) or different instances of a single product (e.g., multiple parts of a single SKU from a single manufacturer).

[0078] As used herein, the term "spherical harmonics" can refer to 3D shape descriptors constructed from functions defined on the surface of a sphere that are Laplacian eigenfunctions (i.e., acoustic vibration modes).

[0079] As used herein, the term "supervised learning" can refer to a machine learning model that converts input-output pairs received by the machine learning model into a mapping from input to output. For example, multiple x-rays can be input to a machine learning model, with each x-ray labeled with an output of "defect."

[0080] As used herein, the term "trained machine learning model" can refer to a set of computer data that is configured to identify and recognize patterns in the data using a training set, and can be applied to new data to automatically identify similar patterns.

[0081] As used herein, the term "triangular surface mesh" may refer to a 3D geometric representation in which the shape is represented by a boundary made up of three faces, each face having three vertices.

[0082] As used herein, the term "unsupervised learning" can refer to a machine learning model that identifies patterns in inputs that do not include labels. For example, using clustering, a machine learning model can identify, among multiple x-rays, some x-rays that have similar patterns that may be related to defects in each of the x-rays.

[0083] As used herein, the term "volumetric mesh" (e.g., tetrahedron) can refer to a 3D geometric representation in which the shape is represented by a 3D tessellation of polyhedra. Polyhedra can include tetrahedrons, pyramids, triangular prisms, and hexahedrons.

[0084] As used herein, the term "voxel data" may refer to a 3D array of values ​​that typically represents reconstructed or reconstruction-derived data. [Example]

[0085] In this section, several different methods are disclosed herein for using AI models to make predictions (e.g., global classification, segmentation, or pixel / voxel-level classification, or probability) about input data. Included are diagrams summarizing different input data sources, derived features, AI models, and specific tasks addressed.

[0086] [Example A] Slice-based classification can be provided by training models such as CNNs or random forests using 2D slices of the 3D reconstruction as input. Random forests can be implemented using traditional CV features or trained convolutional features.

[0087] In slice-based methods, 2D "slices" of a 3D reconstruction volume can be reconstructed, as shown in FIGS. 5-7. Specifically, in FIG. 5, a reconstruction 502 can be generated along a 3D sampling grid. Slices 504 (e.g., 2D slices from the reconstruction 502) can be extracted from the grid and passed to a trained model 506 (e.g., an artificial intelligence model) configured to generate predictions 508. In FIG. 6, a reconstruction 602 can be generated along the 3D sampling grid, which can then be resampled along a new sampling grid based on a prescribed coordinate system or a coordinate system derived from features (e.g., geometric features 605) contained within the reconstruction. A 2D slice 606 can be extracted from the reoriented reconstruction 604. The resulting slice 606 can then be passed to a trained model 608 (e.g., an artificial intelligence model) configured to generate predictions 610. In FIG. 7, a reconstruction 702 can be generated along a sampling grid, along which multiple slices 704 (e.g., a group of slices) can be sampled. These slices 704 can form a "slab" of reconstruction data, which can then be passed to a trained model 706 (e.g., an artificial intelligence model) configured to generate a prediction 708. The method described in Figure 6 can be combined with the method described in Figure 7 to sample multiple slices along a prescribed or derived coordinate system to create a slab, which can then be passed to a trained model configured to generate a prediction.

[0088] [Example B] Direct voxel classification can be used to train a model. For example, FIG. 8 shows a model 804 configured to generate predictions 806 directly on a 3D voxel volume (e.g., reconstruction 802). For example, the system can input the 3D voxel volume into a machine learning model, where the 3D voxel volume exposes an internal structure that can be used for anomaly detection. The system can receive an output from the machine learning model that indicates whether an anomaly has been detected for the 3D voxel volume.

[0089] [Example C] Models can be trained using feature sets generated via different segmentation methods, for example, features can be generated by thresholding, random forest classification, or segmentation via U-net.

[0090] In some embodiments, features can be generated by using different resulting geometric representations, such as meshes, point clouds, harmonic functions, voxels, and implicits.

[0091] [Example D] A model can be trained using a feature set generated using a multi-view CNN with an X-ray or a rendering, for example, a rendering with specific rendering settings to highlight material differences. In some implementations, input to the model can include derived data from X-ray CT scan data, which can include multiple views of the scanned object. Each of the multiple views can be from a different position around the scanned object. For example, FIG. 9 shows multiple views 904 of a reconstruction 902 rendered from multiple viewpoints (e.g., multiple positions along a circular trajectory 906 that completely surrounds the reconstruction 902). These multiple views (e.g., renderings 908) can then be passed to a model (e.g., a neural network model 910) configured to generate predictions 912. FIG. 10 shows multiple views 1004 of a reconstruction 1002 rendered from multiple viewpoints (e.g., multiple positions specified by the vertices of a polyhedron 1006). For example, a 3D distribution of viewpoints is shown in FIG. 10, with each viewpoint located at a vertex of the polyhedron 1006. These multiple views (e.g., renderings 1008) can then be passed to a model (e.g., neural network model 1010) configured to generate predictions 1012. FIG. 11 shows multiple 2D X-ray views 1104 (radiographs or projections) of an object (e.g., object 1102 being scanned) captured from multiple positions along a circular orbit 1106 around the object 1102. These radiographs can be the same radiographs that were reconstructed to create the 3D reconstruction. These multiple radiograph views (e.g., 2D X-ray projections 1108) can then be passed to a model (e.g., neural network model 1110) to generate predictions 1112.

[0092] [Example E] The model can be trained using unsupervised methods. The model can be trained using autoencoder-based anomaly detection. For example, FIG. 12 shows an autoencoder model 1203 (e.g., an autoencoder including an encoder 1204 and a decoder 1206) trained to reconstruct a nominal distribution of data. When anomalous samples 1202 (e.g., one or more 2D slices of the reconstruction, one or more 2D X-ray projections, or a 3D rendering) are passed to a network (e.g., the autoencoder 1203) trained with a non-anomalous distribution to generate predictions, the network's reconstruction loss 1212 can be inflated for samples that are not well represented in the trained distribution. The reconstruction loss 1212 can be the bitwise difference between the input 1208 (e.g., the anomalous sample 1202) and the output 1210 reconstructed by the autoencoder. FIG. 13 shows that the reconstruction loss 1312, indicated by the bitwise difference between the input 1308 and the output 1310 reconstructed by the autoencoder, is used as a 2D input to a subsequent classifier (e.g., a neural network 1314), which makes predictions 1316 about samples based on this input 1302 (e.g., 2D slices, 2D X-ray projections, or 3D renderings of the reconstruction).

[0093] A generative adversarial network (GAN)-based anomaly detection model can be trained. Figure 14 shows a discriminator component 1404 of a GAN trained on nominal data (e.g., non-anomalous data) used to detect anomalous samples. Derived data 1402 from the X-ray CT scan data (e.g., one or more 2D slices of the reconstruction, one or more 2D projections, or a 3D rendering) can be passed to the discriminator 1404 to generate predictions 1406.

[0094] A GAN can be trained on a distribution of known, non-anomalous nominal samples, so that the discriminator is unable to distinguish real samples from generated samples. This discriminator can then be used to predict whether a new sample is from the same nominal distribution that the generator learned, creating a probability prediction that can be used to classify anomalous scans.

[0095] [Example F] FIG. 15 shows a flow diagram of the actual testing performed and the results achieved. At 1501, a CT scanner was used to obtain scan data and its derivatives for 100 different samples of a single product family, e.g., a single SKU from a single manufacturer. The scan data and its derivatives included 2D radiographs, 3D reconstructions, and derivatives of the 3D reconstructions, e.g., slice planes. The product family is a line of high-value goods from a particular manufacturer, and all of the goods in the product family are significantly similar and are manufactured using similar methods, components, and processes.

[0096] In 1502, a CT scanner was used to obtain scan data and derivatives thereof for five different samples of known counterfeit products, which were manufactured by a company other than the manufacturer of the samples from the single product family sample. The counterfeit products appeared to be significantly similar to the products from the single product family sample. The scan data and derivatives thereof included 2D X-ray images, 3D reconstructions, and derivatives of the 3D reconstructions, e.g., slice planes.

[0097] At 1503, data obtained from single product family samples was labeled as "nominal," while data obtained from counterfeit products was labeled as "anomalous." These labels were applied to all scanned data for each set of products, including 2D X-rays, 3D reconstructions, and derivatives of the 3D reconstructions, e.g., slice planes. Hereafter, data from samples from a single product family will be referred to as "nominal" data, and data from counterfeit products will be referred to as "anomalous" data.

[0098] At 1504, experiments were performed to find a machine learning model that can best identify and separate nominal data from anomalous data.

[0099] The experiments included (a) training the model with only 2D X-ray data, (b) training the model with only 3D reconstruction data, (c) training the model with only derived slice plane data, and (d) training the model with a combination of (a), (b), and (c) within the input data for the model.

[0100] The experiments included different model types and architectures, including (a) utilizing anomaly detectors, (b) utilizing classifiers, (c) utilizing a visual transformer component, (d) utilizing an autoencoder component, (e) utilizing a GAN component, (f) utilizing a CNN component, and (g) utilizing an ensemble of models that included any of the individual model components mentioned above (i.e., (a), (b), (c), (d), (e), and (f)).

[0101] For each experiment in the model architecture, each experiment in the input data was also run. For example, in separate experiments, an anomaly detector was trained using 2D X-ray data as input, 3D reconstruction data as input, and slice plane data as input.

[0102] For each experiment within a model architecture, further experiments were conducted within the hyperparameter space for that model architecture. For example, in experiments where the anomaly detector was trained using 2D X-ray data, further experiments were conducted to find the optimal model hyperparameters.

[0103] For each experiment within the model architecture, further experiments were conducted to find the optimal set of data augmentation techniques to be applied to the input data. Data augmentation techniques included rotation, flipping, cropping, and other traditional image manipulation techniques. Data augmentation also included various forms of noise generation, including Gaussian noise. Data augmentation also included other common data augmentation techniques. For example, in experiments where the anomaly detector was trained using 2D X-ray image data, further experiments were conducted to find the optimal set of hyperparameters along with data augmentation.

[0104] For each experiment in the model architecture, further experiments were conducted to find the minimum amount of input data required. For example, in an experiment where the anomaly detector was trained using 2D X-ray data, the model was trained (a) using only "nominal" images, (b) using a single "anomalous" image, and (c) using all of the available data. This experiment was commercially useful because training the model using less input data required less time and effort to achieve sufficient value for commercial operation.

[0105] The experiments were performed automatically to reduce the total amount of time required to find the optimal result. This was done by parallelizing each possible experiment and initiating a mixture of brute force and iterative search methods to find a reasonable optimum within the experimental space. For example, the system could perform an iterative search on the hyperparameters of the machine learning model using a scoring function for accuracy, precision, recall, or any other suitable model performance metric. The automated parallel experiments were performed in a cloud environment, but could also have been performed locally. The ability to parallelize automation relies heavily on the availability of machines with graphics processing units (GPUs), so a cloud environment was selected that allows for automatic configuration and deconfiguration of machines with GPUs. In some implementations, a set of experiments can be performed in parallel within a cloud computer system 1510 connected to a network 1512. After the machine learning model is identified and trained, the trained machine learning model can be deployed to a computer 1514 without network connectivity. Thus, the trained machine learning model can detect anomalies in scanned objects on the computer 1514 without network connectivity.

[0106] These experiments were evaluated within a set of metrics to assess which best suited this particular commercial operation. The set of metrics included (a) model inference time, (b) receiver operating characteristic (ROC) model, (c) area under the ROC curve (AUC) model, and (d) a model confusion matrix containing true positive, false positive, true negative, and false negative information. The "best" values ​​for the commercial operation were selected based on the throughput requirements and tolerances of the operation for inaccurately predicted products (i.e., predicting nominal products as anomalous or predicting anomalous products as nominal). These values ​​typically depend on the application. Hereinafter, this model, along with its required input data, hyperparameters, data augmentation, input dataset, and other associated metadata, will be known as the "best experiment."

[0107] At 1505, the "best of breed experiments" were then used to generate predictions for commercial operations. The prediction process included, for products of unknown origin (i.e., products for which the commercial operation had no prior knowledge of their authenticity), (a) obtaining scan data and its derivatives using a CT scanner, (b) selecting the determined scan data and / or derivatives for the best of breed experiment, (c) inputting the input data from the best of breed experiment into a trained model, and (d) using the output of the trained model to determine whether the product was predicted to be nominal or anomalous. In this example, nominal equates to a product believed to be from the original "product line" from the original manufacturer, and anomalous equates to a product believed to be counterfeit.

[0108] Figure 16 illustrates an example flow diagram of a method that may be performed by a scanning device, such as the CT scanning device 1800 shown in Figure 18, in accordance with various exemplary embodiments, such as those described above with respect to Figures 5-15. In some exemplary embodiments, the scanning device may be configured to perform a CT scan by acquiring and combining multiple x-ray images (i.e., frames).

[0109] At 1601, the method may include providing an input data set including X-ray CT scan data, data derived from the X-ray CT scan data, at least one feature derived from the X-ray CT scan data, or a combination thereof.

[0110] In some exemplary embodiments, the input data set can include at least one of at least one 2D X-ray radiograph, at least one 3D X-ray radiograph, at least one scan acquisition setting, associated metadata related to the X-ray CT scan data, reconstruction data, 2D slices sampled from the reconstruction, a 3D reconstruction, rendering data, a 2D rendering of the reconstruction, a point cloud, a mesh, a geometric representation sampled from the reconstruction, a triangular surface mesh, a quadrilateral surface mesh, or combinations thereof. For example, the reconstruction data can be generated by rendering an image using different attenuation values ​​associated with different colors and opacities, or can be generated from different perspectives.

[0111] In various exemplary embodiments, the data derived from the X-ray CT scan data may include at least one of a 2D image of the reconstruction, a 2D rendering of the reconstruction without color mapping, or a combination thereof. Additionally or alternatively, the data derived from the X-ray CT scan data may include at least one of a 2D rendering of the reconstruction with color mapping, a point cloud, a mesh, a geometric representation sampled from the reconstruction, a 3D boundary sampled at regularly spaced attenuation values, a 3D boundary sampled at characteristic attenuation values, a histogram of 2D projection data, a histogram of the reconstruction data, a 2D convolution filter output, a 3D convolution filter output, a quantitative one-dimensional (1D) metric, a 2D slice of the 3D reconstruction, several 2D slices of the reconstruction, a 3D reconstruction, 3D data from the 3D reconstruction, or a combination thereof. For example, the 2D slice of the 3D reconstruction may be a plane, a spiral, a cylinder, a cone, a sphere, or a T-spline / non-uniform rational B-spline surface. Furthermore, 2D slices of the 3D reconstruction may be aligned with a scanning coordinate system; alternatively, 2D slices of the 3D reconstruction may be aligned with a non-scanning coordinate system, which may be defined by the scan acquisition geometry, i.e., the relationship between the source, detector, and rotating stage components of the CT scanner.

[0112] In some exemplary embodiments, the 3D data from the 3D reconstruction may include at least one of a boundary representation, a 3D reconstruction, a triangular surface mesh, a quadrilateral surface mesh, a volume mesh, a point cloud, an octree, an occupation grid, an implicit function, a spherical harmonic representation, or a combination thereof. For example, the volume mesh may include a tetrahedral volume mesh. Further, the implicit function may include a neural implicit function.

[0113] In various exemplary embodiments, the at least one feature derived from the X-ray CT scan data can include at least one of a progression threshold, a boundary representation of different specific materials, a 3D convolution filter, inclusion data, porosity data, wall thickness data, surface area data, surface flatness data, surface curvature data, surface roughness data, feature dimensions in 2D and 3D, dimensional errors relative to a computer-aided design model, dimensional errors relative to another CT scan, dimensional errors on primitive matching features in 2D and 3D, or combinations thereof. For example, the porosity data can include at least one of position, size, shape, distance to surface, sphericity, aspect ratio, orientation, area, or combinations thereof. Additionally or alternatively, the wall thickness data can include at least one of wall thickness distribution, region-specific thickness, or combinations thereof. Furthermore, the dimensional errors on primitive matching features in 2D and 3D can include relative positioning of geometric features, including at least one of feature concentricity, alignment, spacing, or combinations thereof. Additionally, the inclusion data may include at least one of the location, size shape, distance from the inclusion to the surface, sphericity of the inclusion, or a combination thereof.

[0114] At 1602, the method may further include labeling at least one input datum of the input dataset as nominal or anomalous. In various exemplary embodiments, these labels may be applied to the entire image or a portion of the image, where the portion is indicated by a primitive shape or a complex polygon. In certain exemplary embodiments, the labels may be global, local, or semantic (i.e., pixel-by-pixel). In some exemplary embodiments, these labels may be applied to the entire image or a portion of the image, where the portion is indicated by a primitive shape or a complex polygon. For example, these labels may indicate at least one of a binary outcome of nominal or anomalous, a continuous spectrum bounded by nominal and anomalous, a class or probabilistic membership of a pixel or voxel, an indication of a type of anomaly, or a combination thereof. Furthermore, the label indicating the pixel may indicate a semantic segmentation. In some exemplary embodiments, the method may be a supervised method including labeling at least one input datum of an input dataset used to train a machine learning model or algorithm as nominal or anomalous. In various exemplary embodiments, the method may be an unsupervised method in which no labels are provided to train a machine learning model or algorithm.

[0115] At 1603, the method may further include training a machine learning model or algorithm to distinguish between nominal and anomalous input data. In some exemplary embodiments, the machine learning model or algorithm may be trained at a remote on-demand server, a network edge server, or a combination thereof.

[0116] Figure 17 illustrates an example flow diagram of a method that may be implemented in accordance with various exemplary embodiments, such as those described above with respect to Figures 5-15, in part by a computing device and / or a scanning device, such as the CT scanning device 1800 shown in Figure 18. In some exemplary embodiments, the scanning device may be configured to perform a CT scan by acquiring and combining multiple x-ray images (i.e., frames).

[0117] At 1701, the method may include inputting the X-ray CT scan data, data derived from the X-ray CT scan data, at least one feature derived from the X-ray CT scan data, or a combination thereof into a trained model. In some exemplary embodiments, the trained model may be and / or may be trained as an anomaly detector.

[0118] In various exemplary embodiments, the trained model may be trained using at least one of an anomaly detector, a classifier, an ensemble of models, a visual transformer component, an autoencoder component, a generative adversarial network, a CNN, a data augmentation component, or a combination thereof. Additionally or alternatively, the trained model may be trained by the method described in Figure 16. In some exemplary embodiments, the trained model may be trained using a machine learning model or algorithm selected from the group consisting of a CNN, an autoencoder, a GAN, a visual transformer, and a random forest.

[0119] In some exemplary embodiments, the trained model may be trained using 2D inputs, such as at least one of a single-view 2D input or a multi-view 2D input. Additionally or alternatively, the trained model may be trained using 3D inputs, such as at least one of voxel data, octree data, point clouds, meshes, implicit functions, harmonic function inputs, or combinations thereof.

[0120] The method may further include detecting at least one anomaly at 1702. As an example, the anomaly detection may be performed on a cloud, an edge device, a mobile device, a laptop, or a desktop computer.

[0121] At 1703, the method may include performing at least one post-detection task after performing the detection at 1702. For example, the method may include making an in-line decision using the anomaly detection, populating a user interface with results, assigning OK / NG labels to UUIDs corresponding to unique parts, changing the scanner status UI, highlighting defects or abnormal areas in 2D or 3D in the user interface, generating a decision regarding the scanned object, logging metadata, detecting counterfeits, authentic items, or a combination thereof, detecting counterfeit artwork, authentic artwork, or a combination thereof, creating a digital record for unique items, detecting wear and tear on production machines and tools, detecting changes in machine calibration, detecting changes in the supply chain, detecting variations in product quality over time, maintaining historical records of products produced and their quality as they were produced, detecting variances in production lines that handle the same product, detecting root causes where production defects occurred within the production process, quantifying yield and production metrics to a user, or any combination thereof. As an example, the inline determination may be based on at least one of authentication, anomaly detection, supplier part detection, or a combination thereof. For example, the system may highlight defects or anomalous regions 1706 in 2D or 3D within a user interface 1704 on a display device 1708. As another example, the method may include detecting a change based on detecting at least one anomaly for the scanned object, where the detected change may be one or more of the changes 1710.

[0122] 18 illustrates an example of a CT scanning device 1800 that can be configured to perform CT imaging. The CT scanning device 1800 can include one or more of a mobile device, such as a mobile phone, a smartphone, a personal digital assistant (PDA), a tablet, or a portable media player, a desktop computer, a laptop computer, or any combination thereof.

[0123] The CT scanning device 1800 may include at least one processor, shown as 1801. The processor 1801 may be implemented by any computing or data processing device, such as a central processing unit (CPU), an application specific integrated circuit (ASIC), or equivalent device. The processor may be implemented as a single controller, or multiple controllers or processors.

[0124] The CT scanning device 1800 may include at least one memory, shown as 1802. The memory may be fixed or removable. The memory may include computer program instructions or computer code therein. The memory 1802 may independently be any suitable storage device, e.g., a non-transitory computer-readable medium. As used herein, the term "non-transitory" may correspond to limitations on the medium itself (i.e., tangible rather than signal), rather than limitations on the persistence of data storage (e.g., random access memory (RAM) vs. read-only memory (ROM)). A hard disk drive (HDD), random access memory (RAM), flash memory, or other suitable memory may be used. The memory may be combined with the processor on a single integrated circuit or may be separate from one or more processors. Furthermore, the computer program instructions stored in the memory may be processed by the processor and may be any suitable form of computer program code, e.g., a compiled or interpreted computer program written in any suitable programming language.

[0125] The processor 1801, the memory 1802, and any portions thereof can be configured to provide means corresponding to the various blocks in FIGS. 5-17. In some implementations, a computer 1810 attached directly to the CT scanning device 1800 can be configured to provide means corresponding to the various blocks in FIGS. 5-17. Although not shown, the device can also include positioning hardware, such as a GPS or microelectromechanical systems (MEMS) hardware, that can be used to determine the device's location. Other sensors, such as a barometer, compass, and the like, are permitted and can be configured to determine position, altitude, speed, orientation, and the like. In some implementations, the machine learning model can generate an output indicating that at least one anomaly has been detected for the scanned object on a computer (e.g., computer 1810) attached directly to or part of a CT scanner (e.g., CT scanning device 1800) that generates CT scan data for the scanned object, and the computer does not have a network connection. For example, the computer 1810 implementing the machine learning model may not have a network connection.

[0126] CT scanning device 1800 may include at least one x-ray source, shown as 1803, which may be configured to emit x-rays. In certain exemplary embodiments, x-ray source 1803 may be at least one of a sealed tube-based x-ray source, an open tube-based x-ray source, a cold cathode x-ray source, a rotating anode x-ray source, a fixed anode x-ray source, a liquid metal anode x-ray source, and a triboluminescent x-ray source.

[0127] 18, a transceiver 1804 can be provided, and one or more devices can also include at least one antenna, shown as 1805. The CT scanning device 1800 can have many antennas, such as an array of antennas configured for multiple-input multiple-output (MIMO) communications, or multiple antennas for multiple RATs. For example, other configurations of these devices can also be provided. The transceiver 1804 can be a transmitter, a receiver, both a transmitter and a receiver, or a unit or device that can be configured for both transmission and reception.

[0128] The memory and computer program instructions can be configured by a processor for a particular device to cause the hardware apparatus to perform any of the processes described above (i.e., FIGS. 5-17). Thus, in certain exemplary embodiments, a non-transitory computer-readable medium can be encoded with computer instructions that, when executed in hardware, perform a process such as one of the processes described herein. Alternatively, certain exemplary embodiments can be implemented entirely in hardware.

[0129] The CT scanning device 1800 may further include a detector 1806 configured to detect at least one X-ray signal and / or fluorescent signal (i.e., visible light). In some exemplary embodiments, the detector 1806 may include any combination of a complementary metal-oxide semiconductor (CMOS) digital camera sensor, a red-green-green-blue (RGGB) Bayer filter, an optical camera, a monochrome optical camera, a 1D line array detector, a back-illuminated sensor, a front-illuminated sensor, a charge-coupled device (CCD) detector, a photodiode, an X-ray flat panel detector, or a linear array X-ray detector. In certain exemplary embodiments, the detector 1806 may be configured to detect fluorescent signals. In various exemplary embodiments, the detector 1806 may directly target a scintillator.

[0130] The processor and memory can be configured to provide means corresponding to the various blocks in Figures 5-17. Although not shown, the device can also include positioning hardware, such as GPS or microelectromechanical systems (MEMS) hardware, that can be used to determine the location of the device. Other sensors, such as barometers, compasses, etc., are permitted and can be configured to determine location, altitude, speed, orientation, etc.

[0131] In certain exemplary embodiments, a device may include circuitry configured to perform any of the processes or functions illustrated in Figures 5-17. As used herein, the term "circuitry" may refer to one or more or all of the following: (a) a hardware-only circuit implementation (e.g., an implementation using only analog and / or digital circuitry); (b) a combination of hardware circuitry and software, such as (where applicable): (i) a combination of analog and / or digital hardware circuitry and software / firmware; and (ii) any portion of a hardware processor and software (including a digital signal processor, software, and memory that work together to cause a device such as a mobile phone or server to perform various functions); and (c) a hardware circuit and / or processor, such as a microprocessor or portion of a microprocessor that requires software (e.g., firmware) to operate but may not be present when not required for operation. This definition of circuitry applies to all uses of the term in this application, including the claims. As a further example, as used herein, the term circuitry also encompasses a hardware circuit or processor (or processors) or portion of a hardware circuit or processor and its (or their) accompanying software and / or firmware-only implementation. The term circuitry also encompasses, for example, baseband or processor integrated circuits for mobile devices, or similar integrated circuits in servers, cellular network devices, or other computing or network devices, where applicable to certain claim elements.

[0132] In some exemplary embodiments, the CT scanning device 1800 may include means for performing any of the methods, processes, or variations discussed herein. Examples of means may include one or more processors, memories, controllers, transmitters, receivers, and / or computer program code for performing the operations.

[0133] In various exemplary embodiments, the CT scanning device 1800 can be controlled by a memory and a processor to perform the methods described herein.

[0134] Certain exemplary embodiments may be directed to an apparatus comprising means for performing any of the methods described herein.

[0135] The features, structures, or characteristics of the exemplary embodiments described throughout this specification may be combined in any suitable manner in one or more exemplary embodiments. For example, throughout this specification, the use of the phrases "various embodiments," "particular embodiments," "some embodiments," or other similar language indicates that a particular feature, structure, or characteristic described in connection with an exemplary embodiment may be included in at least one exemplary embodiment. Thus, throughout this specification, the appearances of the phrases "various embodiments," "particular embodiments," "some embodiments," or other similar language do not necessarily all refer to the same group of exemplary embodiments, but rather the described features, structures, or characteristics may be combined in any suitable manner in one or more exemplary embodiments.

[0136] Additionally, if desired, different functions or procedures discussed above can be performed in different orders with respect to one another and / or simultaneously. Furthermore, if desired, one or more of the described functions or procedures can be optional or combined. Accordingly, the foregoing description should be considered as illustrative of principles and teachings of particular exemplary embodiments, and not as limiting thereof.

[0137] It will be readily understood that the components of the specific exemplary embodiments, as generally described and illustrated herein, could be arranged and designed in a wide variety of different configurations. Thus, the above detailed description of several exemplary embodiments of systems, methods, apparatus, and computer program products for non-invasive scanning of objects using X-ray electromagnetic radiation is not intended to limit the scope of the particular exemplary embodiments, but rather represents selected exemplary embodiments.

[0138] Those skilled in the art will readily appreciate that the exemplary embodiments discussed above may be implemented in a different order and / or with hardware elements in different configurations than those disclosed. Thus, while several embodiments have been described based on these exemplary embodiments, it will be apparent to those skilled in the art that certain modifications, variations, and alternative constructions will be apparent while remaining within the spirit and scope of the exemplary embodiments.

[0139] The above-described embodiments and examples are intended to be merely illustrative and not limiting. Those skilled in the art will recognize, or be able to ascertain using no more than routine experimentation, numerous equivalents to the specific compounds, materials, and procedures. All such equivalents are considered to be within the scope and encompassed by the appended claims.

[0140] example While the present application is defined by the appended claims, it should be understood that the invention may also (in addition or alternatively) be defined by the following examples.

[0141] Example 1: A method of training a machine learning model, comprising: providing an input data set comprising x-ray computed tomography (CT) scan data, data derived from the x-ray CT scan data, at least one feature derived from the x-ray CT scan data, or a combination thereof; and training a machine learning model to distinguish between nominal input data and anomalous input data.

[0142] Example 2: The method of Example 1, wherein a supervised method including labeling at least one input data of an input dataset as nominal or anomalous is used to train the machine learning model.

[0143] Example 3: The method of any of Examples 1 and 2, wherein the unsupervised method does not provide labels for training the machine learning model.

[0144] Example 4: The method of any of Examples 1 to 3, wherein the machine learning model is trained on a remote on-demand server, a network edge server, or a combination thereof.

[0145] Example 5: The method of any of Examples 1 to 4, wherein the input data set includes at least one of at least one 2D X-ray radiograph, at least one 2D slice of a 3D reconstruction, at least one 2D slice sampled from the reconstruction, at least one group of 2D slices of the reconstruction, at least one 2D rendering of the reconstruction with color mapping, at least one 3D reconstruction, 3D data from the 3D reconstruction, at least one scan acquisition setting, associated metadata related to the X-ray CT scan data, at least one geometric representation sampled from the reconstruction including any of the reconstruction data, rendering data, triangular surface mesh, quadrilateral surface mesh, point cloud, implicit surface, octree, occupancy grid, or combinations thereof, at least one 3D boundary sampled at regularly spaced or distinctive attenuation values, at least one histogram of the 2D projection data, at least one histogram of the reconstruction data, at least one 2D convolution filter output, at least one 3D convolution filter output, at least one quantitative one-dimensional metric, or combinations thereof.

[0146] Example 6: The method of Example 4, wherein the reconstruction data is generated by rendering the image using different attenuation values ​​associated with different colors and opacities, or generated from different perspectives.

[0147] Example 7: The method of any of Examples 1 to 6, wherein the data derived from the X-ray CT scan data includes at least one of a 2D image of the reconstruction, a 2D rendering of the reconstruction without color mapping, or a combination thereof.

[0148] Example 8: The method of example 5, wherein the 2D slice of the 3D reconstruction is a plane, helical, cylindrical, conical, spherical, or T-spline / non-uniform rational B-spline surface.

[0149] Example 9: The method of any of Examples 1 to 8, wherein the 2D slices of the 3D reconstruction are aligned with the scanning coordinate system.

[0150] Example 10: The method of any of Examples 1 to 9, wherein the 2D slices of the 3D reconstruction are aligned with a non-scanning coordinate system.

[0151] Example 11: The method of any of Examples 1 to 10, wherein the 3D data from the 3D reconstruction includes at least one of a triangular surface mesh, a quadrilateral surface mesh, a volume mesh, a point cloud, an octree, an occupancy grid, an implicit function, a spherical harmonic function representation, or a combination thereof.

[0152] Example 12: The method of example 11, wherein the volumetric mesh includes a volumetric mesh of tetrahedrons, pyramids, and hexahedrons.

[0153] Example 13: The method of any of Examples 1 to 12, wherein the implicit function comprises a neural implicit function.

[0154] Example 14: The method of any of Examples 1 to 13, wherein the at least one feature derived from the X-ray CT scan data includes at least one of a progression threshold, a boundary representation of different characteristic materials, a 3D convolution filter, inclusion data, porosity data, wall thickness data, surface area data, surface flatness data, surface curvature data, surface roughness data, feature dimensions in 2D and 3D, dimensional error relative to a computer-aided design model, dimensional error relative to another CT scan, dimensional error on a primitive matching feature in 2D and 3D, or a combination thereof.

[0155] Example 15: The method of Example 14, wherein the porosity data includes at least one of location, size, shape, distance to surface, sphericity, area, aspect ratio, orientation, number, or a combination thereof.

[0156] Example 16: The method of any of Examples 1 to 15, wherein the wall thickness data includes at least one of a wall thickness distribution, a region-specific thickness, or a combination thereof.

[0157] Example 17: A method as described in any of Examples 1 to 16, wherein the dimensional errors on the basic element matching features in 2D and 3D include relative positioning of geometric features including at least one of features such as concentricity, alignment, spacing, or a combination thereof.

[0158] Example 18: The method of any of Examples 1 to 17, wherein the inclusion data includes at least one of location, size shape, distance from the inclusion to the surface, sphericity of the inclusion, aspect ratio, orientation, or a combination thereof.

[0159] Example 19: The method of any of Examples 1 to 18, wherein the label indicates at least one of a binary result of nominal or anomalous, a continuous spectrum bounded by nominal and anomalous, an indication of the type of anomaly, or a combination thereof.

[0160] Example 20: The method of any of Examples 1 to 19, wherein the label is applied over the entire image or a portion of the image, the portion being represented by a primitive shape or a complex polygon.

[0161] Example 21: The method of any of Examples 1 to 20, wherein the labels include global labels, local labels, semantic labels, pixel-wise labels, or any combination thereof.

[0162] Similar operations and processes described in Examples 1 through 21 can be implemented in a system that includes at least one processor and at least one memory that stores instructions that, when executed by the at least one processor, cause an apparatus to perform at least the operations and processes.

[0163] Additionally, a non-transitory computer-readable medium may be implemented that includes program instructions for training a machine learning model that, when executed by an apparatus, causes the apparatus to perform the operations described in any of Examples 1 to 21.

[0164] Example 22: A method for anomaly detection, comprising: inputting the x-ray CT scan data, data derived from the x-ray CT scan data, at least one feature derived from the x-ray CT scan data, or a combination thereof, into a trained machine learning model; Detecting at least one anomaly A method comprising:

[0165] Example 23: Using anomaly detection to make inline decisions; Populating the user interface with the results; Assigning OK / NG labels to universally unique identifiers corresponding to specific parts; changing the status display user interface on the scanner; Highlighting defects or abnormal areas in 2D or 3D within the user interface; generating a decision regarding the scanned object; Logging metadata; Detecting counterfeit products, authentic products, or a combination thereof; Detecting counterfeit artwork, authenticated artwork, or a combination thereof; Creating a digital record of your unique product; Detecting wear and cracks in manufacturing machines and tools; Detecting changes in machine calibration; Detecting changes in the supply chain; Detecting variations in product quality over time; Maintaining historical records of the products produced and their quality at the time of manufacture; Detecting dispersion in production lines handling the same product; Detecting the root cause of manufacturing defects occurring within the manufacturing process; Quantifying yield and production metrics for users; or A combination of these The method of Example 22, further comprising at least one of:

[0166] Example 24: The method of example 23, wherein the inline decision includes tasks of authentication, anomaly detection, supplier part detection, quality control, quality analysis, or a combination thereof.

[0167] Example 25: The method of any of Examples 22 to 24, wherein the trained machine learning model includes at least one of an anomaly detector, a classifier, an ensemble of models, a visual transformer component, an autoencoder component, a generative adversarial network, a convolutional neural network, a data augmentation component, or a combination thereof.

[0168] Example 26: The method of any of Examples 22 to 25, wherein the trained machine learning model is trained by the method of claim 1.

[0169] Example 27: The method of any of Examples 22 to 26, wherein the trained machine learning model is trained using a machine learning model selected from the group consisting of a convolutional neural network, an autoencoder, a generative adversarial network, a visual transformer, and a random forest.

[0170] Example 28: The method of any of Examples 22 to 27, wherein the trained machine learning model is stored at a remote on-demand server, a network edge server, a browser, or a CT scanner.

[0171] Example 29: The method of any of Examples 22 to 28, wherein the trained machine learning model is trained using two-dimensional (2D) inputs.

[0172] Example 30: The method of example 29, wherein the 2D input includes at least one of a single-view 2D input or a multi-view 2D input.

[0173] Example 31: The method of any of Examples 22 to 30, wherein the trained machine learning model is trained using three-dimensional (3D) input.

[0174] Example 32: The method of Example 31, wherein the 3D input includes at least one of voxel data, octree data, point cloud, mesh, implicit function, harmonic function input, or a combination thereof.

[0175] Example 33: The method of any of Examples 22 to 32, wherein detecting anomalies is performed on a cloud, an edge device, a mobile device, a laptop, a desktop computer, or a CT scanner.

[0176] Similar operations and processes described in Examples 22 through 33 can be implemented in a system that includes at least one processor and at least one memory that stores instructions that, when executed by the at least one processor, cause an apparatus to perform at least the operations and processes.

[0177] Additionally, a non-transitory computer-readable medium may be implemented that includes program instructions for anomaly detection that, when executed by an apparatus, causes the apparatus to perform the operations described in any of Examples 22-33.

[0178] Example 34: A method for anomaly detection, comprising: acquiring x-ray computed tomography (CT) scan data for a scan object of a predetermined object type; generating derived data from the X-ray CT scan data, the derived data revealing at least one internal structure usable for anomaly detection within an object of a predetermined object type; inputting at least the derived data into a machine learning model trained using derived data generated from previous X-ray CT scan data for at least a given subject type of subject; receiving an output from the machine learning model indicating that at least one anomaly has been detected for the scanned object; and providing an output to the physical device based on at least one anomaly being detected for the scanned object. A method comprising:

[0179] Example 35: The method of Example 34, wherein creating includes generating a shape representation of the X-ray CT scan data using a segmentation method based on structural characteristics of the X-ray CT scan data, the shape representation representing information about material properties of the scanned object.

[0180] Example 36: A method as described in any of Examples 34 and 35, wherein generating includes generating derived data from three-dimensional (3D) reconstruction data that provides dimensionally accurate spatial and material information about both the inside and outside of the scanned object.

[0181] Example 37: The method of any of Examples 34 to 36, wherein the derived data includes a plurality of views of the scanned object, each of the plurality of views being from a different position around the scanned object.

[0182] Example 38: The method described in Example 37, wherein the X-ray CT scan data includes three-dimensional (3D) reconstruction data for the scanned object, and the multiple views are renderings of the 3D reconstruction data created using rendering settings that emphasize material differences.

[0183] Example 39: The method of example 37, wherein each different location around the scanned object is specified by a vertex of a polyhedron.

[0184] Example 40: The method of Example 37, wherein the plurality of views comprises a plurality of two-dimensional (2D) x-rays of the scanned object.

[0185] Example 41: The method of any of Examples 34 to 40, wherein the derived data includes porosity data for one or more pores detected in the X-ray CT scan data.

[0186] Example 42: The method of Example 41, wherein the porosity data includes pore location, pore size, pore shape, pore-to-surface distance, and pore number.

[0187] Example 43: The method of any of Examples 34 to 42, wherein the derived data includes wall thickness data including a thickness distribution.

[0188] Example 44: The method of any of Examples 34 to 43, wherein the derived data includes wall thickness data including region-specific thicknesses.

[0189] Example 45: The method of any of Examples 34 to 44, wherein the derived data includes dimensional error data related to a primitive matching feature, and the primitive matching feature is a geometry having primitives fitted to the X-ray CT scan data.

[0190] Example 46: The method of example 45, wherein the dimensional error data related to the primitive alignment features includes concentricity, alignment, and spacing of the primitive alignment features.

[0191] Example 47: The method of any of Examples 34 to 46, wherein the derived data includes inclusion data for one or more inclusions detected in the X-ray CT scan data.

[0192] Example 48: The method of Example 47, wherein the inclusion data includes inclusion location, inclusion size, inclusion shape, distance from the inclusion to the surface, and inclusion count.

[0193] Example 49: The method of any of Examples 34 to 48, wherein the X-ray CT scan data includes 3D reconstruction data for the scanned object, and the derived data includes multiple slices of the 3D reconstruction data sampled according to a coordinate system.

[0194] Example 50: The method of example 49, wherein the coordinate system is derived from geometric features extracted from the X-ray CT scan data.

[0195] Example 51: The method of any of Examples 34 to 50, wherein the derived data comprises a series of segmentations of X-ray CT scan data.

[0196] Example 52: The method of Example 51, wherein a series of segmentations are generated using multiple thresholds that segment different materials from the X-ray CT scan data.

[0197] Example 53: The method of any of Examples 34 to 52, wherein the derived data includes boundary representations of different materials identified in the X-ray CT scan data.

[0198] Example 54: A method according to any of Examples 34 to 53, wherein the X-ray CT scan data includes 3D reconstruction data for the scanned object, and the derived data includes 3D convolution features generated from the 3D reconstruction data using at least one 3D convolution filter.

[0199] Example 55: The method of any of Examples 34 to 54, wherein the derived data includes at least one of voxel data, octree data, a point cloud, a mesh, an implicit function, or a spherical harmonic function.

[0200] Example 56: The method of any of Examples 34 to 55, wherein the derived data includes non-planar slices of the 3D reconstruction data.

[0201] Example 57: The method of any of Examples 34 to 56, wherein the derived data includes 2D data and 3D data.

[0202] Example 58: The method of any of Examples 34 to 57, wherein providing includes providing an output to a product handling device for making an in-line decision regarding a product handling line based on the detection of at least one anomaly for the scanned object.

[0203] Example 59: The method of any of Examples 34 to 58, wherein providing includes, at a display device, rendering a result based on at least one anomaly being detected for the scanned object within a user interface on the display device.

[0204] Example 60: The method of example 59, wherein rendering includes highlighting the defective or abnormal region in 2D or 3D within a user interface on a display device.

[0205] Example 61: The method of any of Examples 34 to 60, wherein the machine learning model generates an output indicating that at least one anomaly has been detected for the scanned object on a computer that is directly attached to or is part of a CT scanner that generates CT scan data for the scanned object, and the computer does not have a network connection.

[0206] Example 62: The method of any of Examples 34 to 61, wherein providing includes detecting the scanned object as a counterfeit object based on at least one anomaly being detected for the scanned object.

[0207] Example 63: Providing detecting a change based on at least one anomaly detected in the scanned object; outputting the detected change; 62. The method of any of Examples 34 to 61, comprising:

[0208] Example 64: The method of example 63, wherein detecting the change includes detecting a change in a manufacturing machine that processes the scanned object on a product handling line.

[0209] Example 65: The method of example 64, wherein the changes include wear and tear on the fabrication machine or tools of the fabrication machine.

[0210] Example 66: The method of example 64, wherein the change comprises a calibration change of a manufacturing machine.

[0211] Example 67: The method of example 64, wherein detecting the change includes detecting a root cause of the at least one anomaly occurring within the manufacturing process.

[0212] Example 68: The method of example 64, wherein detecting the change includes detecting a change in a supply network.

[0213] Example 69: The method of example 68, wherein detecting a change in the supply network includes detecting a change in distributor.

[0214] Example 70: The method of example 68, wherein detecting a change in the supply network includes detecting a change in a parameter of a manufacturing process.

[0215] Example 71: The method of example 68, wherein detecting a change in the supply chain includes detecting a change in material.

[0216] Example 72: The method of example 63, wherein detecting the change comprises detecting a variation in product quality over time.

[0217] Example 73: The method of example 63, wherein detecting the change includes detecting a variance in production lines that process the same type of product.

[0218] Example 74: Providing Quantifying a fabrication metric based on the detection of at least one anomaly for the scanned object; Outputting production metrics The method of any of Examples 34 to 73, comprising:

[0219] Example 75: The method of any of Examples 34 to 74, wherein providing includes assigning an OK / NG label to a universally unique identifier corresponding to the scanned object.

[0220] Example 76: Obtaining a training dataset including derived data created from prior X-ray CT scan data for training at least objects of a predetermined object type, the derived data created from the prior X-ray CT scan data revealing at least one internal structure usable for anomaly detection within the objects of the predetermined object type; Training a machine learning model with a training dataset 76. The method of any of Examples 34 to 75, further comprising:

[0221] Example 77: Training a machine learning model 77. The method of Example 76, comprising determining operating parameters of the machine learning model based on a throughput requirement of the product handling process and a tolerance for inaccurately predicted targets of the product handling process.

[0222] Example 78: Training a machine learning model evaluating a set of experiments between different types of derived data created from previous X-ray CT scan data and different machine learning model types; Conducting a set of experiments in parallel; Using an iterative search method to determine the trained machine learning model based on the results of a set of experiments; 78. The method of any of Examples 76 and 77, comprising:

[0223] Example 79: The method of Example 78, wherein conducting the set of experiments in parallel includes conducting the set of experiments in parallel in a cloud computer system, and the machine learning model generates an output indicating that at least one anomaly has been detected for the scanned object on a computer that does not have a network connection.

[0224] Example 80: The method of any of Examples 34 to 79, wherein the machine learning model includes at least one of a convolutional neural network, an autoencoder, a generative adversarial network, or a visual transformer.

[0225] Similar operations and processes described in Examples 34 through 80 can be implemented in a system including at least one processor and at least one memory storing instructions that, when executed by the at least one processor, cause an apparatus to perform at least the operations and processes. Additionally, a non-transitory computer-readable medium can also be implemented that includes program instructions for anomaly detection that, when executed by an apparatus, cause the apparatus to perform any of the operations described in Examples 34 through 80. In some implementations, features of Examples 34 through 80 can be combined with features from Examples 1 through 33 above.

[0226] Partial Terms

[0227] 2D two-dimensional

[0228] 3D 3D

[0229] AI artificial intelligence

[0230] ASIC Application Specific Integrated Circuit

[0231] AUC Area under the receiver operating characteristic

[0232] CAD Computer Aided Design

[0233] CNN Convolutional Neural Network

[0234] CPU Central Processing Unit

[0235] CT Computed Tomography

[0236] CV Computer Vision

[0237] GAN Generative Adversarial Network

[0238] GPU Graphics Processing Unit

[0239] NG Defective

[0240] NURBS Non-uniform Rational B-Splines

[0241] QR Quick Response

[0242] ROC Receiver Operating Characteristic

[0243] UI User Interface

[0244] UUID Universally Unique Identifier [Explanation of symbols]

[0245] 302 holes 502 Reconstruction 504 slices 506 pre-trained models 508 Predictions 602 Reconstruction 604 Reoriented Reconstruction 605 Geometric Features 606 2D slices 608 pre-trained models 610 Predictions 702 Reconstruction 704 Multiple Slices 706 pre-trained models 708 Predictions 802 Reconstruction 804 model 806 Predictions 902 Reconstruction 904 Multiple Figures 906 Circular Orbit 908 Rendering 910 Neural Network Model 912 Predictions 1002 Reconstruction 1004 Multiple Figures 1006 Polyhedron 1008 Rendering 1010 Neural Network Model 1012 Predictions 1102 Target 1104 Multiple 2D X-ray diagrams 1106 Circular Orbit 1108 2D X-ray projection 1110 Neural Network Model 1112 Prediction 1202 Anomalous Sample 1203 Autoencoder Model 1204 Encoder 1206 decoder 1208 Input 1210 Output 1212 Reconstruction loss 1302 Input 1308 Input 1310 Output 1312 Reconstruction loss 1314 Neural Networks 1316 Prediction 1402 Derived Data 1404 Discriminator Component 1406 Predictions 1510 Cloud Computer System 1512 Network 1514 Computer 1704 User Interface 1706 Defective or abnormal areas 1708 Display Device 1800 CT Scanning Device 1801 processor 1802 memory 1803 X-ray source 1804 Transceiver 1805 Antenna 1806 detector 1810 Computer

Claims

1. 1. A method of anomaly detection, comprising: acquiring x-ray computed tomography (CT) scan data for a scan object of a predetermined object type; generating derived data from the X-ray CT scan data, the derived data revealing at least one internal structure usable for anomaly detection within objects of the predetermined object type; inputting at least the derived data into a machine learning model trained using derived data generated from previous X-ray CT scan data for at least the predetermined subject type of subject; receiving an output from the machine learning model indicating that at least one anomaly has been detected for the scanned object; providing an output to a physical device based on the at least one anomaly being detected for the scanned object; and A method comprising:

2. 2. The method of claim 1, wherein the creating includes generating a shape representation of the X-ray CT scan data using a segmentation method based on structural properties of the X-ray CT scan data, the shape representation representing information about material properties of the scanned object.

3. 2. The method of claim 1, wherein said generating comprises generating said derived data from three-dimensional (3D) reconstruction data that provides dimensionally accurate spatial and material information about both the inside and outside of the scanned object.

4. The method of claim 1 , wherein the derived data comprises a plurality of views of the scanned object, each of the plurality of views being from a different position around the scanned object.

5. 5. The method of claim 4, wherein the X-ray CT scan data includes three-dimensional (3D) reconstruction data for the scanned object, and the multiple views are renderings of the 3D reconstruction data created using rendering settings that emphasize material differences.

6. The method of claim 4 , wherein each different location around the scanned object is specified by a vertex of a polyhedron.

7. The method of claim 4 , wherein the plurality of views comprises a plurality of two-dimensional (2D) x-rays of the scanned object.

8. The method of claim 1 , wherein the derived data includes porosity data for one or more pores detected in the X-ray CT scan data.

9. The method of claim 8 , wherein the porosity data includes pore location, pore size, pore shape, pore-to-surface distance, and pore count.

10. The method of claim 1 , wherein the derived data comprises wall thickness data including a thickness distribution.

11. The method of claim 1 , wherein the derived data includes wall thickness data including region-specific thicknesses.

12. The method of claim 1 , wherein the derived data includes dimensional error data relating to a primitive matching feature, the primitive matching feature being a geometry having primitives fitted to the X-ray CT scan data.

13. The method of claim 12 , wherein the dimensional error data relating to the primitive alignment features includes concentricity, alignment, and spacing of the primitive alignment features.

14. The method of claim 1 , wherein the derived data includes inclusion data for one or more inclusions detected in the x-ray CT scan data.

15. The method of claim 14 , wherein the inclusion data includes inclusion location, inclusion size, inclusion shape, inclusion to surface distance, and inclusion count.

16. The method of claim 1 , wherein the x-ray CT scan data includes 3D reconstruction data for the scanned object, and the derived data includes multiple slices of the 3D reconstruction data sampled according to a coordinate system.

17. The method of claim 16 , wherein the coordinate system is derived from geometric features extracted from the X-ray CT scan data.

18. The method of claim 1 , wherein the derived data comprises a series of segmentations of the x-ray CT scan data.

19. 20. The method of claim 18, wherein the series of segmentations is generated using multiple thresholds that segment different materials from the X-ray CT scan data.

20. The method of claim 1 , wherein the derived data includes a boundary representation of different materials identified in the x-ray CT scan data.

21. 2. The method of claim 1, wherein the X-ray CT scan data includes 3D reconstruction data for the scanned object, and the derived data includes 3D convolution features generated from the 3D reconstruction data using at least one 3D convolution filter.

22. The method of claim 1 , wherein the derived data comprises at least one of voxel data, octree data, point clouds, meshes, implicit functions, or spherical harmonics.

23. The method of claim 1 , wherein the derived data comprises non-planar slices of 3D reconstructed data.

24. The method of claim 1 , wherein the derived data includes 2D data and 3D data.

25. 2. The method of claim 1, wherein said providing comprises providing the output to a product handling device for making an in-line decision regarding a product handling line based on the at least one anomaly being detected for the scanned object.

26. 10. The method of claim 1, wherein the providing comprises rendering, at a display device, results based on the at least one anomaly being detected for the scanned object in a user interface on the display device.

27. 27. The method of claim 26, wherein the rendering comprises highlighting defects or abnormal areas in 2D or 3D within the user interface on the display device.

28. 28. The method of any of claims 1 to 27, wherein the machine learning model generates the output indicating that the at least one anomaly has been detected for the scanned object on a computer that is directly attached to or is part of a CT scanner that generates the CT scan data for the scanned object, and the computer does not have a network connection.

29. 28. The method of claim 1, wherein the providing comprises detecting the scanned object as a counterfeit object based on the at least one anomaly being detected for the scanned object.

30. The providing, detecting a change based on the at least one anomaly detected in the scanned object; and outputting the detected change; 28. The method of any preceding claim, comprising:

31. 31. The method of claim 30, wherein detecting the change comprises detecting the change relative to a production machine that processes the scanned object on a product handling line.

32. 32. The method of claim 31 , wherein the changes include wear and tear on the fabrication machine or tools of the fabrication machine.

33. 32. The method of claim 31 , wherein the change comprises a calibration change of the fabrication machine.

34. 32. The method of claim 31, wherein detecting the change comprises detecting a root cause of the at least one anomaly occurring within a manufacturing process.

35. 31. The method of claim 30, wherein detecting the change comprises detecting a change in a supply network.

36. 36. The method of claim 35, wherein detecting the change in the supply network includes detecting a change in distributor.

37. 36. The method of claim 35, wherein detecting the change in the supply network comprises detecting a change in a parameter of a manufacturing process.

38. 36. The method of claim 35, wherein detecting the change in the supply network comprises detecting a change in material.

39. 31. The method of claim 30, wherein detecting the change comprises detecting a variation in product quality over time.

40. 31. The method of claim 30, wherein detecting the change comprises detecting a variance in production lines that process the same type of product.

41. The providing, quantifying a fabrication metric based on the at least one anomaly detected for the scanned object; and outputting the production metrics; 28. The method of any preceding claim, comprising:

42. 28. The method of claim 1, wherein said providing comprises assigning an OK / NG label to a universally unique identifier corresponding to the scanned object.

43. obtaining a training dataset including the derived data created from the previous X-ray CT scan data for training at least objects of the predetermined object type, the derived data created from the previous X-ray CT scan data revealing at least one internal structure usable for anomaly detection within objects of the predetermined object type; training the machine learning model with the training dataset; 28. The method of any of claims 1 to 27, further comprising:

44. training the machine learning model, 44. The method of claim 43, comprising determining operating parameters of the machine learning model based on throughput requirements of a product handling process and a tolerance for inaccurately predicted targets of the product handling process.

45. training the machine learning model, determining a set of experiments between different types of derived data and different machine learning model types created from the previous x-ray CT scan data; conducting said set of experiments in parallel; determining the trained machine learning model using an iterative search method based on the results of the set of experiments; 44. The method of claim 43, comprising:

46. 46. ​​The method of claim 45, wherein conducting the set of experiments in parallel comprises conducting the set of experiments in parallel in a cloud computing system, and wherein the machine learning model generates the output indicating that the at least one anomaly has been detected for the scanned object on a computer that does not have a network connection.

47. 47. The method of any of claims 1 to 27 and 43 to 46, wherein the machine learning model comprises at least one of a convolutional neural network, an autoencoder, a generative adversarial network, or a visual transformer.

48. The method of claim 1 , wherein the derived data comprises surface flatness data, surface curvature data, or a combination thereof.

49. a data processing device including at least one processor; a non-transitory computer-readable medium encoding instructions configured to cause the data processing apparatus to perform a method according to any one of claims 1 to 48; A system comprising:

50. 49. A non-transitory computer readable medium encoding instructions operable to cause a data processing apparatus to perform the method of any of claims 1 to 48.