Patent Description:
Table I is a representative list of recoater error indication types and possible causes.

<CIT> discloses a method for process control of a 3D manufacturing apparatus using a topographical scan. Conventional approaches provide a limited ability to quantify during the layering process the severity of a recoater error and the error's cumulative effect on a build. Also the art is limited in its ability to evaluate the recoater error effect, and cumulative effect, to determine if the error is benign, tolerable, or fatal to the ongoing build.

Claim <NUM> defines a system, claim <NUM> defines a computer implemented method, and claim <NUM> defines a non-transitory computer-readable medium. In the following, apparatus and/or methods referred to as embodiments that nevertheless do not fall within the scope of the claims should be understood as examples useful for understanding the invention.

Embodying systems and methods provide a recoater automated monitoring system for monitoring additive manufacturing machines to automatically identify recoater error. In some implementations a user can be alerted if the recoater error is significant in magnitude to impact the quality of the build.

Embodying systems and methods provide accurate identification and classification of recoater error indications. These indications can be used by embodiments to determine if an ongoing build is failing (e.g., constructing an out-of-tolerance, or inferior quality, part). Terminating a failing build reduces material loss, generates cost and time savings, and increases additive manufacturing machine production yields and rates.

<FIG> is a schematic of recoater automated monitoring system <NUM> in accordance with embodiments. Embodying recoater monitoring systems and methods include two interdependent subsystems operating in parallel - automatic defect recognition system <NUM> and online monitoring system <NUM>.

Automatic defect recognition subsystem (ADR) <NUM> can include offline learning unit <NUM>. Model catalog <NUM> includes recoater error indication models representing the appearance of different types of recoater errors. Table I is not an exhaustive list of recoater errors and indications. It should be readily understood that embodying systems and methods are not limited to just the indications presented in Table I.

Different recoater error indication models within model catalog <NUM> can be optimized for different domains (i.e., machine models) of additive machines, and for different machine units within the same domain. Also, different recoater error indication models can be optimized for different product types being produced by the additive machine. Development of each model is done in a first self-learning phase. After model development, the model is enhanced in a second phase.

First, a fully automated self-learning phase is performed to build a set of initial recoater error indication models. The first phase executes in offline learning unit <NUM> as a fully automated, self-learning process that accesses synthesized images <NUM> from among training exemplars <NUM>. The synthesized images can be generated from a prior good build with no, or a limited number of, indications.

Second, a semi-automated learning phase is performed, which can be user and/or event driven. In this phase, catalog models are optimized by supplementing the synthesized image training with manually annotated/labeled examples <NUM> that includes select images <NUM> and domain specific data <NUM>. The models are optimized for different parts, product assemblies, additive manufacturing machine domain types and units. Select images <NUM> can include examples of recoater error indications appearing on other machines, or product builds. Domain specific data <NUM> can include additive manufacturing machine tolerances, historic wear degradation for a domain, etc..

ADR <NUM> creates predictive models that, when compared to build images, can recognize recoater defects without need for labeled training sets. The models are based on self-learning that applies synthetically-generated recoater error indications and/or data from successful builds. Each predictive model represents a recoater error indication as it might appear on a particular production part. In accordance with embodiments, the models are used by ADR <NUM> to recognize recoater error indications using a set of predefined features of some other indication types.

In accordance with embodiments, recoater automated monitoring system <NUM> performance can be improved with feedback. For example, as users determine whether flagged indications are true (i.e., identifying recoater error indications in the captured images), or false, the models can be updated to incorporate the user determinations. In some implementations, the location of an error indication within the build can be used to classify automatically-identified indications. In some implementations, a recoater error can be tolerated (or not) if it occurs outside the structure being manufactured (i.e., support region for production purposes); or within the structure itself and is deemed acceptable for that build. By including in the model classification of indications based on location on the powder bed, false positives can be reduced. This determination of location sensitivity by recoater error can be used by aligning the indications location with a CAD file of the part. Embodiments can measure critical indicators of quality - e.g., indication size, penetrated layers, distance from part edge, etc..

In accordance with implementations, the synthesized image exemplars of recoater error indications can be generated by the following procedure. Given the set of K after exposure images <MAT> and recoat images <MAT> as well as the corresponding labeled image <MAT> showing the part and support regions, which were obtained from a CAD model, we generate a set of K recoat image that include synthetic indications, denoted as <MAT>, and the corresponding labeled images Ld = <MAT> in which the indications are labeled based on their locations (e.g. part, support, powder).

For each labeled image <MAT>, randomly extract a set of n points <MAT> (for example, n = <NUM>) that are distributed evenly between the part, the support structure and the powder (i.e., for n = <NUM>, three points are distributed to each).

Extract M × M square regions from each <MAT> and <MAT> centered at each point extracted in the previous step. For a point <MAT>, the two regions are denoted <MAT> and <MAT> respectively. In this work, M is set empirically for each type of indications.

Define a synthetic indication for each extracted region as follows: <MAT> <MAT>, where G is Gaussian noise and w is a weighting factor that is set empirically for each indication type. Define the set of all indication for an image as Di = <MAT>.

Create the synthetic indications image <MAT> by adding the extracted indications to the recoat image Ir. More specifically, <MAT>. In addition, create a labeled image of the extracted indications <MAT> where the label of each indication represents its location (part, support, powder) as given in <MAT>.

Creating the synthetic indications images is followed by computing a reference recoat image IR, which is defined as the pixel-level median of all recoat images in Ir = <MAT>.

Then, for each image, the after exposure image <MAT>, the synthetic indications image <MAT>, and the reference recoat image IR are used to compute a list of pixel-level intensity feature vectors F. The labeled indications image <MAT> is used to create a list of labels Y, such that each pixel is assigned one of two labels {indication, not indication}. Finally, the features (F) and the labels (Y) are used to train a supervised learning algorithm executing in offline learning unit <NUM>, which builds the prediction model.

Additive manufacturing machine <NUM> is representative of a machine domain. Embodying systems and methods are not limited to this domain of additive manufacturing machines. Laser power head <NUM> provides a focused laser beam to melt material in powder bed <NUM> to form an object represented in CAD file <NUM>. The powder material is spread by recoater unit <NUM>. Image capture device <NUM> obtains an image of the build. Control / motor unit <NUM> coordinates these operations.

<FIG> depicts process <NUM> to develop a recoater error indication model in accordance with embodiments. Synthesized image data for recoater error indications are provided, step <NUM>, to offline learning unit <NUM>. An indications predictive model is built, step <NUM>. The predictive model is used to classify pixel-level indications of images acquired during a build process.

The predictive model is applied, step <NUM>, to images acquired during the build process to classify indications at the individual pixel level (i.e., semantic segmentation) of the synthesized image data. Semantics are assigned to individual pixels based on probabilities of the class to which the pixel-level image is most likely to belong by comparing the pixel-level image to a starter model.

Based on a determination to reinforce the self-learning, step <NUM>, process <NUM> can continue to steps <NUM> and/or <NUM>, where user feedback can be introduced (step <NUM>), manually annotated/labeled examples <NUM> can be introduced (step <NUM>), or both can be introduced.

User feedback can include a value representing the user's subjective evaluation of the classification generated by the predictive model. For example, a user can indicate a satisfactory or unsatisfactory classification; an accept or reject; a numeric value representing agreement with the classification (e.g., "<NUM>" strongly agree; "<NUM>" strongly disagree); or other indication. It should be readily understood that the numeric value representation is not limited to any particular scale or representation; for example a "<NUM>" can represent a strong disagreement.

After introduction of user feedback and/or manually annotated/labeled examples, process <NUM> returns to step <NUM> to fine-tune the predictive model. This fine tuning can incorporate the feedback to the semantic segmentation classification. If at step <NUM>, a determination is made not to reinforce the self-learning process, the predictive model is added, step <NUM>, to model catalog <NUM>. Based on a determination that another predictive model is to be created, step <NUM>, process <NUM> returns to step <NUM>. If no more predictive models are to be created, process <NUM> ends.

In some implementations, predictive models can be trained for subregions of the powder bed. The placement of the imaging device in relation to different positions of the powder bed can change the captured image due to off-axis imaging, image device field- or depth- of view, lighting conditions, perspective distortions, laser direction-of-travel, and other factors. These non-recoater artifacts in the image can lead to inaccurate determination. Selection of predictive models for particular subregions can be based on metadata associated with the image.

Returning to <FIG>, the second subsystem working in parallel with ADR <NUM> is online monitoring system <NUM>, which can automatically identify recoater errors by applying the predictive models developed by the ADR and stored in model catalog <NUM>. The online monitoring system runs in parallel with the ongoing continuous learning operations of ADR <NUM>, which improves the predictive models with input from the online monitoring system. In accordance with embodiments, when a recoater error is identified, a user can be alerted if a determination is made that the error can have significant impact on the quality of the build. In some implementations, certain recoater error indications can be analyzed by system <NUM> to make this impact determination. The online monitoring system can be trained (e.g., initialized and/or configured) prior to use by providing exemplars of the production build from the particular domain unit being monitored. The training can include computing a reference recoat image IR as explained above, and computing an Affine transformation from an after exposure image <MAT> containing the part, which is selected by the user, to the corresponding after exposure image from the reference machine.

<FIG> depicts process <NUM> of automated recoater monitoring in accordance with embodiments. A recoat layer image is received, step <NUM>. The image is captured by image capture device <NUM> during an additive manufacturing process. A new image can result in generating both an after exposure image <MAT>, and a recoat image <MAT>.

Preprocessing techniques are applied, step <NUM>, to these two images. Preprocessing can include applying the Affine transformation computed in the initialization/configuration, normalizing image intensities using a reference recoat image, assigning labels to the pixels using the labeled image obtained from the reference machine, and registering image coordinates to coordinates in a CAD file for the part.

In some implementations, these images can be provided to ADR <NUM>, step <NUM>, for use in the training of the predictive models. Each captured image can be added, step <NUM>, to a virtual depiction of the build is created by virtual depiction unit <NUM>. The virtual depiction is a representation of the build as it is ongoing. Analysis of the virtual depiction can provide information of the number of layers penetrated by a recoater error, its three-dimensional location relative to portions of the build item.

The captured image is compared, step <NUM>, to the CAD file slice representative of the particular layer being evaluated to localize the part(s), support structure(s) and powder. The indications predictive model is applied, step <NUM>, to the captured image and the localized information to identify the location of each indication (if any).

In some implementations, pixels can be classified with a binary label (e.g., indication = <NUM>, no indication = <NUM>). Indications outside of the powder bed are excluded. The impact of the defect classification-labeled pixels are analyzed, step <NUM>, in its location context using the virtual depiction to determine the defect's impact. Action is taken based on a catalog of predefined rules that are applied to the virtual depiction. The rules can specify the quantity, size and penetration of indications dependent on the part being built.

If a determination is made that the defect is fatal to the part production, step <NUM>, the build is terminated. The termination determination can be made with input from a user, or by following a decision-tree applied algorithmically.

An output report containing information on the results of the build monitoring (fatal or not) is generated, step <NUM>. This output can include an indication map showing locations of indications, and extent of penetration. The output report can be in tabular format containing a unique identifier for each detected defect, its indication type, position (x, y), penetrated layer count, area (mm<NUM>) and/or volume (mm<NUM>). The output report can provide the defect location on the powder bed relative to the CAD file (i.e., a portion of the part, or extraneous to the part), and its distance to the part boundary. These factors can be used in manually evaluating the severity of the cumulative defects.

<FIG> illustrates system <NUM> for implementing recoater automated monitoring system <NUM> in accordance with embodiments. Control processor <NUM> includes processor unit <NUM> and memory unit <NUM>. The control processor can be in communication with elements of system <NUM> across local control/data networks and/or electronic communication networks, as needed. Processor unit <NUM> can execute executable instructions <NUM>, which cause the processor to perform the querying of federated data stores in accordance with embodiments as disclosed above. Memory unit <NUM> can provide the control processor with local cache memory. Data store <NUM> can include model catalog <NUM>, captured image store <NUM>, virtual depiction <NUM>, CAD file store <NUM>, and rules store <NUM> to support operation of the recoater monitoring system as disclosed above.

Embodying systems and methods provide classification of recoater error indications with high accuracy and low positive rates. Accurate identification and classification of recoater error indications can result in decisions to terminate a build when it fails (e.g. poor quality parts), rather than during a post-production part inspection. Thus, reducing material loss and increasing production throughput, which results in cost and time savings. Automated detection and monitoring implemented by embodying systems and methods is quantitative, resulting in greater accuracy and repeatability compared to relying on a human operator's intervention.

In accordance with some embodiments, a computer program application stored in non-volatile memory or computer-readable medium (e.g., register memory, processor cache, RAM, ROM, hard drive, flash memory, CD ROM, magnetic media, etc.) may include code or executable program instructions that when executed may instruct and/or cause a controller or processor to perform methods discussed herein such as a method of providing accurate identification and classification of recoat error indications, as disclosed above.

The computer-readable medium may be a non-transitory computer-readable media including all forms and types of memory and all computer-readable media except for a transitory, propagating signal. In one implementation, the non-volatile memory or computer-readable medium may be external memory.

Claim 1:
A system (<NUM>) for monitoring a recoat in an additive manufacturing machine (<NUM>), the system comprising:
an automatic defect recognition subsystem (<NUM>) including:
a model catalog (<NUM>) of a plurality of predictive models, each of the plurality of predictive models applicable to one of a plurality of products and to one of a plurality of recoat error indications;
each of the plurality of predictive models representative of the recoat error indications at a pixel level of an image captured during recoat operations on the additive manufacturing machine (<NUM>); and
an online monitoring subsystem (<NUM>) including:
an image classifier unit (<NUM>) configured to classify the recoat error indications at the pixel level based on one of a selection of the plurality of predictive models; and
a virtual depiction unit (<NUM>) configured to create a virtual depiction of an ongoing build from successive captured images; and
a processor unit (<NUM>) configured to execute executable instructions that cause the processor unit to perform a method of monitoring an ongoing additive manufacturing build for the recoat error indications, classify a detected indication of the recoat error indications into a defect classification, and provide a determination regarding a severity of the detected indication to the ongoing additive manufacturing build, the method including:
building a set of initial recoat indication models in an offline learning unit configured to implement self-learning techniques to process synthesized images of the recoat error indications;
optimizing the model set by supplementing the model set with manually annotated/labeled examples (<NUM>); and
storing the model set as the plurality of predictive models in the model catalog (<NUM>), each of the plurality of predictive models representing a particular type of the recoating error indications as it might appear on a particular additive manufacturing machine domain when producing a particular part.