Feature detection

The system uses a vision system with sensors and a graph neural network to monitor the melt pool in additive manufacturing, enabling real-time defect detection and improving quality assurance by analyzing sensor data to classify defects.

WO2026093733A1PCT designated stage Publication Date: 2026-05-07NEXUS ADDITIVE LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
NEXUS ADDITIVE LTD
Filing Date
2025-10-27
Publication Date
2026-05-07

AI Technical Summary

Technical Problem

Current quality assurance methods in additive manufacturing are cumbersome and expensive, requiring destructive or non-destructive testing on random samples, which is inefficient and not suitable for real-time defect detection.

Method used

A system utilizing a vision system with sensors and a graph neural network to monitor the melt pool during the additive manufacturing process, analyzing sensor data to identify defects in real-time by constructing a graph neural network that processes sensor data from multiple sensors, including photodiodes and cameras, to classify defects in the build material.

Benefits of technology

Enables real-time detection of defects in additive manufacturing products, improving efficiency and reducing the need for post-hoc sampling, thereby enhancing quality assurance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure GB2025052355_07052026_PF_FP_ABST
    Figure GB2025052355_07052026_PF_FP_ABST
Patent Text Reader

Abstract

Examples relate to feature detection systems to generate a prediction of a feature of a product produced by an additive manufacturing system. As an example, there is provided a feature detection system to generate a prediction of a feature of a product produced by an additive manufacturing system, the feature detection system comprising an interface for receiving sensor data derived from a material bed associated with the product and circuitry realising a graph network comprising: a set of nodes and a set of edges; the sets of nodes and edges defining a structure associated with a set of spatially distributed portions of a material associated with the product; each node of the set of nodes having a respective feature vector for storing a respective set of node features associated with a respective portion of the set of spatially distributed portions of the material associated with the product; each feature vector being derived from said sensor data; and graph network configuration data associated with the sets of nodes and edges; the graph network configuration data associated with the sets of nodes and edges supporting generating, in response to input node features for each node in the set of nodes, output data comprising a prediction associated with a predefined portion of the set of spatially distributed portions of the material associated with the product; the predefined portion corresponding to a predefined node of the set of nodes.
Need to check novelty before this filing date? Find Prior Art

Description

FEATURE DETECTION

[0001] The present application generally relates to feature detection to identify faults in additive manufacturing products.BACKGROUND

[0002] Quality assurance is a crucial part in additive manufacturing. Current state of the art techniques involve destructive or non-destructive testing of selected work pieces. This is cumbersome and expensive and can in practice only be applied on a random sample basis. To provide more efficient and effective quality assurance, it would be desirable to detect defects in real time without having to rely on post-hoc sampling approaches.SUMMARY

[0003] Aspects of an invention are set out in the independent claims. Optional features are set out in the dependent claims.BRIEF DESCRIPTION OF THE DRAWINGS

[0004] The following description is made by way of example with reference to the accompanying drawings, in which:FIG. 1 shows a view of an additive manufacturing system;FIG. 2 depicts a view of laser path and a graph of variation in intensity over the path with time or frame;FIG. 3A illustrates a view of graph neural network that can be used with or within the additive manufacturing system;FIG. 3B depicts shows a laser path and a corresponding graph;FIG. 3C shows a single track, single layer graph;FIG. 3D illustrates a multi-track, single layer graph;FIG. 3E depicts a single track, multi-layer graph;FIG 3F shows a multi-track, multi-layer graph;FIG. 3G shows views of a layer of a product with defects, a corresponding laser path with the defects and a micro-CT scan of the product with defects; FIG. 4 shows a view of a defect mapper using the results of the graph neural network;FIG. 5 illustrates a view of a flowchart for training the graph neural network;FIG. 6 shows a view of a flowchart for predicting a feature of a product using the graph neural network;FIG. 7 illustrates a view of a flowchart to generate a graph for the graph neural network;FIGs. 8 to 13 depict flowcharts for identifying a feature of a product made using the additive manufacturing system using the graph neural network;FIG. 14 shows a flowchart for defect mapping; andFIG. 15 depict views of machine-readable storage comprising machine instructions for processing by a processor.DETAILED DESCRIPTION

[0005] Figure 1 shows a view 100 of an additive manufacturing system 102. The additive manufacturing system 102 comprises a build plate 104. The build plate 104 is arranged to accommodate a material powder bed 106. The material powder bed 106 is deposited layer by layer by a powder dispenser 105. The material 108 constituting the material powder bed 106 is fused together using a fusing process such as, for example, a melting process using, for instance, a laser 110. Any such melting using the laser 110 creates, at the point of impact 114 of the laser with the material 108, a melt pool 112.

[0006] An XY position of the point of impact 114 of the laser 110 with the material 108 is varied and controlled by a scan head 116. In the example depicted, the additive manufacturing system 102 also comprises a vision system 118. The vision system 118 is an example of a sensor system. A sensor system is a system that is arranged to capture data relating to the additive manufacturing process using a set of sensors. The set of sensors can comprise one or more than one sensor. The vision system 118 is arranged to monitor or otherwise measure the condition of the melt pool 112. Examples can be realised in which the vision system 118 comprises, for example, a photodiode 120. However, more sophisticated examples can be realised in which the vision system 118 comprises a set of cameras and associated filters. In the example depicted in figure 1 , the vision system comprises a first photodiode 120 and a respective first filter 122. The first filter 122 is arranged to pass light at a first predetermined wavelength. The first predetermined wavelength can typically be between 200nm - 12000nm such as 950 nm. The first photodiode 120 produces measurement data 134 related to the melt pool 112.

[0007] The additive manufacturing system 102 comprises a controller 123. The controller 123 is arranged to control the laser 110, the position of the scan head 116 and the operation of the vision system 118. The controller 123 can switch the laser 110 on and off and / or vary the intensity of the laser 110.

[0008] The additive manufacturing system 102 can be coupled to a data acquisition controller 128. The data acquisition controller 128 is responsible for acquiring data from any sensors associated with the system 102. The controller 128 can selectively control or monitor the photodiode 120 to capture the measurement data 134 associated with the melt pool 112. The vision system 118 is an example of a set of sensors. A set of sensors can comprise one or more than one sensor. In the example depicted in figure 1 , the set of sensors comprises the single photodiode 120. However, examples can be realised in which the set of sensors comprises at least one further sensor 129. The at least one further sensor 129could comprise, for example, at least one camera. Examples can be realised in which the set of sensors comprises a pair of cameras. The controller 128 also comprises an output interface 130. The output interface 130 is arranged to produce a set of output data 132. Examples can be realised in which the set of output data 132 comprises at least a set of measurements associated with one or more than one of the above-mentioned sensors such as, for example, the photodiode 120, that provides at least one indication of a characteristic of, or associated with, the melt pool 112. The at least one indication can comprise an indication of the emission, thermal or otherwise, of the melt pool. The set of measurements 134 can comprise one or more than one measurement associated with, or taken by, the sensor. In the case of the set of sensors comprising the photodiode 120, the set of measurements 134 can comprise one or more than one measurement derived from the photodiode such as, for example, the above mentioned emission. However, equally, in examples in which the set of sensors comprises a camera, the output data 132 can comprise image data produced by the vision system 118. In the particular example depicted in figure 1 , the output data 132 can comprise at least one, or both, of: an emission measurement of the melt pool 112 produced by the photodiode 120 and data relating to an output of the further sensor 129.

[0009] Referring to figure 2, there is shown a view 200 an example of an XY plot 202 depicting a path 204 described by or traversed by the point of contact 114 of the laser 110 with the material 108. In the example depicted in figure 2, the path 204 defines a substantially circular disc of processed, that is, melted, material 108 of the material powder bed 106. Figure 2 also shows a plot 205 of the variations in intensity 206 and 208 of the sensor data associated with first and second sensors such as, for example, the above described photodiode 120 and the further sensor 129 with frame. Referring to the XY plot 202 showing the path 204, there is depicted a first region 210 and a second region 212 that gave rise to respective variations in measured intensity of the melt pool 112 over respective frames. Assuming the laser path to be moving initially in the positive Y direction, the first region 210 has a corresponding reduction in intensity 214 over respective frames. Continuing scanning in the positive Y direction, gives rise to the second region 212 having a respective reduction in intensity 216. When describing a disc, the scanning direction changes from a positive Y direction to a negative Y direction at point 218. While traversing in the negative Y direction, the measured intensity, again, reduces 220 when the sensors view or measure region 212 and, again, the intensity reduces 222 when the sensors view or measure the first region 210. The anomalies, that is, the reductions in intensity associated with the first 210 and the second 212 regions are indicative of, or are otherwise associated with, a fault, or other feature, of the overall product (not shown) at that position in that layer in the overall build of the product.

[0010] Therefore, the set of data 132 acquired by the controller 128 can comprise position data associated with the path 204 and respective intensity measurements determined from the output data of the first 120 and second 129 sensors taken at predetermined points along the path 204. The experimental data shown in 205 is derived using a pair of on-axis, or coaxial, photodiodes as the first 120 and second 129 sensors. The path 204 is an example of a laser scan path, that is, a path traversed by the point of contact of the laser 110 with the material 108 of the material bed 106. The laser scan path in synonymouswith, and defined by, the scan head path or position. The position data can be derived from the position of the scan head 116. Examples can be realised in which the sensors are not coaxial. Examples can be realised in which the sensors are associated with independent measurement channels.

[0011] Although the examples have been described with reference to a set of sensors, such as sensors 120 and 129, in which one sensor is off axis and one sensor is on axis, examples are not limited thereto. Examples can be realised in which the set of sensors comprises a plurality of sensors of the set of sensors are on axis. Similarly, examples can be realised in which the set of sensors comprises a plurality of sensors are off axis. Examples can be realised in which the set of sensors comprises one sensor that is, or a plurality of sensors are, off axis and one sensor is, or a plurality of sensors are, on axis.

[0012] Although the above example has been described with reference to deriving intensity measurements 206 and 208 from the output data of the first and second sensors, examples are not limited thereto. Examples can be realised in which a set of features is derived from a set of sensors. For instance, the set of sensors can comprise one or more than one of the following sensors or measurement data taken jointly and severally in any and all permutations:

[0013] - A set of photodiodes comprising a single photodiode or a plurality of photodiodes. The set of photodiodes can comprise at least one, or both, of: at least one on-axis photodiode and at least one off- axis photodiode. The set of photodiodes can be arranged to take measurements in at least one or more than one predetermined spectrum. Examples can be realised in which the at least one or more than one predetermined spectrum comprises at least one or more of the following taken jointly and severally in any and all permutations: the UV spectrum, the visible spectrum and the IR spectrum. The photodiodes can be realised using at least one or more than one of the following in any and all permutations, but not limited to: silicon (Si) photodiode detector, germanium (Ge) photodiode detector, indium gallium arsenide (InGaAs) photodiode detector, indium arsenide antimonide (InAsSb) photodiode detector and a mercury cadmium telluride, MCT (HgCdTe), photodiode detector. Each of the foregoing photodiodes and photodiodes detector can be used in conjunction with, or without, respective bandpass filters. The respective bandpass filters can comprise, for instance, wide-band or narrow-band filters for specific wavelengths that target measuring thermal emission, or other (i.e. spectral line) emission may be used. Example filter wavelengths may include any one or more of the following taken in any and all permutations: 1 ,450-1 ,700nm, 2,000-2,200nm, 700-1040nm, 1090-1700nm , 750-900nm, 700nm and 950nm.

[0014] - A set of camera comprising a single camera of a set of cameras. Each camera in the set of cameras can be a high-frame rate camera and be mounted on or off axis. The images output from the set of cameras can be summed, or otherwise used, to form a composite image that is derived from multiple images. The multiple images can be derived from a single camera or from multiple cameras in the set of cameras.

[0015] - A spectrometer that can be positioned on or off axis. The spectrometer can be arranged to take measurements in at least one or more than one predetermined spectrum. Examples can be realisedin which the at least one or more than one predetermined spectrum comprises at least one or more of the following taken jointly and severally in any and all permutations: the UV spectrum, the visible spectrum and the IR spectrum. The spectrometer can be realised using at least one or more than one of the following in any and all permutations: silicon (Si), germanium (Ge), indium gallium arsenide (InGaAs), indium arsenide antimonide (InAsSb) and mercury cadmium telluride, MCT (HgCdTe), photodiode detectors.

[0016] - Medium to long-wave infrared sensors to capture thermal emissions from the melt pool and / or thermal emissions from parts of the material 108 of the material bed 106 other than the melt pool.

[0017] - Visible light or surface illuminated optical measurements that are arranged to measure surface contamination or build conditions such as, for example, part-elevation or more detailed surface / powder metrics.

[0018] - Structured light imaging to create a 3D surface measurement of a surface of a part.

[0019] - Spectral imaging using multiple melt pool emission wavelength bands e.g. detect emissions of different elements

[0020] - Ultrasound, for instance, to detect subsurface pores with phase velocity shift.

[0021] - Acoustic emissions to measure the condition of melt pool such as a current melting mode.

[0022] - Thermionic emissions

[0023] - Time-of-flight sensor imaging / measurement, and

[0024] - Polarisation imaging / measurement of emitted or reflected light.

[0025] Referring to figure 3A, there is shown a view 300A of a graph neural network 302. The graph neural network 302 is arranged to receive data 304 representing (a) a graph, G(V, E) comprising a set of nodes, V, a set of edges, E, and, optionally, a set of edge features, Xe, 305, and, in addition to the data representing the graph, (b) a set of input node features, X, 306. The data 304 is derived, at least in part, from, or corresponds to, the output data 132. In the example depicted, the set of input node features 306 comprises measurement data 134. The measurement data can comprise the raw sensor data output by the set of sensors such as, for instance, in the example shown, first and second sensors. Although in the present example the measurement data has been described as comprising the raw sensor data, examples are not limited to such an arrangement. Examples can be realised in which the set of input node features 306 comprises data derived from the raw sensor. For instance, examples can be realised in which the raw sensor data is segmented using, for example, a trained segmentation neural network (not shown) to produce, for example, segmented, or processed, sensor data 308, such as, for instance, segmented images. Alternatively, or additionally, the set of input node features 306 can comprise a set of extracted features. In the example shown in figure 3A, a first set of extracted features 310 associated with a respective first sensor 312 can be derived from at least one, or both, of: the raw sensor data 134 and 136and the processed sensor data 308. Also shown in figure 3A is a second set of extracted features 314 associated with a respective sensorthat can be derived from at least one, or both, of: the raw sensor data 134 and 136 and the processed sensor data 308.

[0026] The data 304 can also comprise position data associated with the set of layers of the material bed 106. The set of layers of the material bed 106 can comprise a set of position data associated with a single layer of the material bed or sets of position data associated with respective layers of a plurality of layers of the material bed. Therefore, the position data 305 can comprise position data associated with at least one or more than one of: a singletrack, a single layer, multiple tracks and multiple layers, taken jointly and severally in any and all permutations. Accordingly, the position data can relate to a singletrack of a single layer (STSL), multiple tracks of a single layer (MTSL), a singletrack of multiple layers (STML) and multiple tracks of multiple layers (MTML). The foregoing are described later with reference to figures 3C-F.

[0027] The data 304 are mapped to respective nodes, edges and edge features of an input graph 320. The input graph 320 comprises the graph, G(V,E) 305 comprising the set of nodes, V, the set of edges, E, and, optionally, the set of edge features, Xe, and, in addition to the data representing the graph, (b) a set of input node features, X, 306. The input graph 320 is subjected to a first graph layer 322. The first graph layer can be a graph convolution layer. The first graph layer 322 also has associated attention mechanism 324 such that the first graph layer 322 is graph attention network. The associated attention mechanism 324 comprises a respective number, p, of attention heads. In the example depicted, p = 3. However, examples can be realised in which p G Z+.The first graph layer 322 has dimensions NxFin, where N corresponds to the number of nodes in the set of nodes and Fincorresponds to the number dimensions of the node features of each node of the set of nodes. The first graph layer 322 implements a first message passing round, or a predetermined number of, message passing rounds, as will be described with reference to figure 3B.

[0028] An example of the attention mechanism being applied mathematically is provided by a Graph Attention Network as was described by Velickovic et al. (2017), arXiv:1710.10903, incorporated herein by reference: ht= <j( jeNiaijwdxj . where htis the derived node feature, a is a non-linear activation function such as ReLU, Ntis the neighbouring nodes of i, Wdis the weight matrix, x7are the features of the node j in the neighbourhood of i, and a / 7is the attention coefficient that measures the importance of , . . , . .. .. „. . . , , , . , exp (LeakyReLU(asWsxi+atWtxX) node / to node i. The attention coefficient can be calculated as a,J, = - - - keNff)ex- — - - — -. a.. P LeakyReLU asWsxi+atWtxkP and atare trainable parameters applied to the node features xtand x7. In the case where a graph is not bipartite Ws= Wd. In the case of a multi-head attention mechanism, the node feature, htmay be formed by a concatenation of multiple attention mechanisms being applied to the neighbouring nodes or by an averaging of multiple attention coefficients or some other combination of multiple attention mechanisms.

[0029] The edge features, Xe, may be applied mathematically alongside the attention mechanism and exp (Leaky ReLU asWsXi+atWtxj+aeWeeij')') are described mathematically as: a / 7- SfceN(i)exP LeakyReLU (asWsxi+atWtxk+aeWeeik) where the corresponding edge feature connecting node j with node i is ei7, the weight matrix is We, and the aeare trainable parameters.

[0030] The output of the first graph layer 322 is a set of N vectors each of dimension z , where z is the number of hidden nodes of the first graph layer 322. Each value of the N vectors each of dimension z is subjected to a first activation function, a, 327. The first activation can be any activation function. Examples can be realised in which the activation function is a Leaky ReLu activation function.

[0031] The output of the activation function 327 is used as an input graph, Nxhl tto a second graph layer 328, that is, a graph comprising the same N nodes as the input graph 320 each with respective feature vectors hx. The second graph layer 328 processes the input graph Nxhxto produce a respective second output graph 330 comprising N nodes each of dimension z2. Each of the N output vectors z2are subject to a second activation function, a, 331 . The second activation function 331 can be any activation function. Examples can be realised in which the second activation function 331 is a Leaky ReLu activation function. The second graph layer 328 implements a second message passing round, or a predetermined number of, message passing rounds, as will be described with reference to figure 3B. The second graph layer 328 also has associated attention mechanism 324 such that the second graph layer 328 is graph attention network. The attention mechanism 324 associated with the second graph layer 328 comprises a respective number, q, of attention heads. In the example depicted, q = 1. However, examples can be realised in which q G Z+.

[0032] The respective second output graph 330 is processed by a respective feedforward network 332, that is, each of the N output vectors z2post-activation function 331 is processed by a respective feedforward network. Each feedforward network 332 is a trained neural network arranged to classify a set of nodes associated with the second output graph 330. The set of nodes that are classified by the feedforward network 332 can comprise a single node that is classified. The single node can be known as the active node. The single node can have an associated set of features (not shown). The associated set of features can comprise a single feature or multiple features. Examples can be realised in which the associated set of features comprises a single feature indicative of a fault associated with a corresponding portion or region of the powder bed 106.

[0033] In the example depicted in figure 3A, the output 334 of the feedforward networks 332 is a prediction for each of the N nodes of the input graph 320, each of which has a respective output prediction or vector of dimension Fout. Examples can be realised in which is merely a binary prediction. The binary prediction can be fault or no fault according to whether or not a respective node is predicted to comprise a fault or not.

[0034] Although examples have been described with reference to identifying a feature of the product that is indicative of a fault, examples are not limited thereto. Examples can be realised in which a selectable set of characteristics are identified. The set of characteristics comprises at least one characteristic. Examples can be realised in which the set of characteristics comprises a plurality of characteristics. A characteristic of the set of characteristics can comprise the above-described fault, or some other characteristics. A fault can comprise, for example, a void in the resulting product or a variation in density of the resulting product, or a performance property of the resulting product.

[0035] Although the above example has been described with reference to the attention mechanism 324 being applied to the first graph layer 322, examples are not limited to such an arrangement. Examples can be realised in which a respective attention mechanism is applied to any and all graph layers such as the two graph layers 322 and 328 depicted. For example, the second graph layer 328 can comprise a respective attention mechanism. The respective attention mechanism of the second graph layer 328 can comprise a single attention head. Alternatively, examples can be realised in which no attention mechanisms are applied to the graph layers.

[0036] Figure 3A also comprises an optional defect mapper 336. The defect mapper 336 is arranged to process the output predictions 334 to define features associated with a current layer of the material bed 106, or of a current layer of a product created using the additive manufacturing system 102, or a 3D point cloud associated with or derived from the product created by the system 102. The defect mapper 336 is arranged to produce a set of features 338 associated with a set of nodes of the input graph 320. The set of features 338 can comprise, for instance, a respective or predetermined classification. Examples can be realised in which the predetermined classification is that each node in the set of nodes is classified as a defect or not a defect. The set of nodes can comprise a single node that is classified as a defect or a plurality of nodes that are classified as being defects. The set of nodes can be processed using, for example, regionprop to give an indication of geometrical properties associated with a region defined by the set of defective nodes.

[0037] Examples can be realised in which the defect mapper 336 receives the predictions 334 from the model 302 together with a 3D point cloud associated with the product. The predictions 334 can be used to create a point cloud of faults, that is, a 3D point cloud mask comprising points associated with faults in the product. The 3D point cloud mask can be processed using clustering, such as, for example, 3D or 2D clustering, and characteristics associated with any resulting clusters can be derived, that is, metrics associated with any clusters are derived to create a defect map. For example, the characteristics associated with a cluster can comprise one or more than one of: the dimensions of a cluster, the volume of a cluster, the position of a cluster, a performance calculation associated with a cluster and the like.

[0038] Although the example described with reference to figure 3A uses a first activation function, a, 327 and a second activation function, a, 331 , examples are not limited to such an arrangement. Examples can be realised that use at least one, or both, of: the first activation function, a, 327 and the secondactivation function, a, 331. Further examples can be realised that do not use any activation functions, which results in the model 302 being a graph network as opposed to a graph neural network. Therefore, any examples described, claimed or depicted herein that refer to a graph neural network, can also be realised as a graph network by omitting the neural network functions, that is, by omitting the activation functions.

[0039] Referring to figure 3B, there is shown a view 300B depicting the relationship between the graphs of the model 302 and the associated physical system comprising at least one, or both, of: the portions of regions of the material bed and the laser scan path. It can be seen from figure 3B(a) that the laser scan path 302B traverses 52 points or regions of the material bed. It can be appreciated that the scan path of the laser 110 can be accurately determined. In the example shown in figure 3B, the resolution of the scan path is set at a 0.05mm node spacing.

[0040] The first graph 304B, shown in figure 3B(b), comprises a set of nodes in which each node corresponds to a respective point or portion of the material bed 106. In the example described, the set of nodes comprises 52 nodes. The first graph 304B also comprises a set of edges such that every node in the set of nodes is connected to all immediately adjacent neighbouring nodes.

[0041] Also shown in figure 3B(b) is a first set of nodes 304B, which is an example of a set of input nodes 320. The first set of nodes 304B comprises node 29, as an active node, and immediately neighbouring nodes; namely, nodes 21 , 22, 28, 30, 37 and 38. An “active node” is also known as a “current node” since it is the node in respect of which a classification is being determined. Figure 3B(d) shows the adjacency matrix corresponding to the set of nodes 304B. Each node in the first set of nodes 304B has a respective node feature, as indicated in figure 3B(e). Each node feature comprises information relating to a respective node. It can be seen that node 21 comprises node feature x21, node 22 comprises node feature x22and so on such that node pq comprises node feature xpq.

[0042] A set of arrows between nodes 21 , 22, 28, 30, 37 and 38 that are directed towards the active node 29 represent a first round of message passing between the nodes 21 , 22, 28, 30, 37 and 38 and node 29, including self-message passing between node 29 and itself, as can be appreciated from the “1” entry in the adjacency matrix at row 21 and column 21 . The first round of message passing is realised by the first graph layer 322. The result, zlt326 of that first round of message passing is subjected to the respective activation function, a, 327 to form the input vector, hltto the second graph layer 328 for a second round of message passing between nodes.

[0043] Figure 3 B(f) shows a first set of edges. Each edge in the first set of edges has a respective edge feature. Each edge feature comprises information relating to a respective edge. It can be seen that edge 21-29 comprises edge feature xe,2i_29, edge 22-29 comprises edge feature xe 22-2gand so on such that edge p - q comprises edge feature xep-q.

[0044] Therefore, the input 320 to the model 302 comprises the graph G(V, )~ defined by the first set of nodes 304B and the first set of edges, the set of nodes features 3B(e) and the set of edge features 3B(f).

[0045] Figure 3B(c) shows such a second set of nodes 306B. The second set of nodes 306B comprises the first set of nodes 304B and an additional plurality of nodes. In the example depicted the additional plurality of nodes comprises nodes that are adjacent to the nodes in the first set of nodes 304B; namely, nodes 12, 13, 24, 20, 23, 27, 31 , 36, 39, 43, 44, and 45. The solid arrows between the nodes of the second set of nodes 306B represent the above mentioned second round of message passing that is realised by the second graph layer 328. It can be seen that the second round of message passing is comparable or equivalent to repeatedly applying a message passing kernel comprising a central node and immediate neighbouring nodes to each node in the first set of nodes 304B. For example, applying such a message passing kernel to node 37 results in message passing between node 37 and itself and nodes 28, 29, 36, 38, 43, 44 and node 37. Similarly, applying such a message passing kernel to node 38 results in message passing between node 38 and itself as well as between the neighbouring nodes 29, 30, 37, 39, 44, 45 and node 38. In essence, the second graph layer 328 implements message passing between the nodes of the second set of nodes. The result, z2, 330 of that second round of message passing is subjected to a respective activation function, a, 331 to form the input vector, h2, to the feedforward network 332. The broken arrows between node 29 and its neighbouring nodes corresponding the first round of message passing.

[0046] It will be appreciated that each node in the graph will be an active node relative to the neighbouring nodes of that set of nodes. It will be appreciated that the input graph 320 defines a kernel of nodes that are taken into account when classifying an active node. The trained weights and biases of the train graph are configured, or otherwise arranged, to operate on the graph structure to influence, such as modulate, data flow across the sets of nodes and edges. The processing to classify each node in the overall graph such as the graph shown in figure 3B(b) uses the kernel of nodes to define the nodes to be taken into account when classifying each active node and classifying each active node is performed in parallel.

[0047] Referring to figure 3C, there is shown a view 300C of a single track single layer distribution of portions of the material bed 106. The laser path 301 C is shown as comprising three sections 302C, 304C and 306C. Each of the three sections 302C to 306C bears a respective plurality of portions or regions of build material of the build material bed 106.

[0048] The central section 302C has a set of such portions comprising a portion of interest, that is, an active node, 308C, together with a first set of adjacent nodes. The adjacent nodes can comprise immediately adjacent nodes such as, for example, nodes 310C and 312C. The set of adjacent nodes can also comprise further nodes such as, for example, nodes 314C and 316C that are disposed adjacent to the first set of adjacent nodes but not being immediately adjacent to the central active node. Nodes of such a set of adjacent further nodes can be known as second order neighbour nodes or second-degreenodes of a network of portions or regions of the material bed 106. The set of adjacent nodes can be thought of as comprising a set of first order nodes that are part of the same track and that are immediately adjacent to the central active node 308C. In the example depicted in figure 3C, a pair of nodes 310C and 312C are examples of such first order nodes. Similarly, the set of adjacent nodes can be thought of as comprising a set of second order nodes that are, again, part of the same central track 302C but that are one node removed from the central active node 308C. In the example shown in figure 3C, a pair of such nodes 314C and 316C that are one removed from the central active node 308C are shown.

[0049] The first section 304C of the laser path 301 C is adjacent to, but preceding, the central section 302C. The first section 304C comprises a respective set of portions of the material bed 106. The respective set of portions of the material bed comprises a plurality of nodes 318C to 326C. The set of nodes 318C to 326C on the immediately preceding section 304C of the laser path 301 C are also known as second order nodes.

[0050] The third section 306C of the laser path 301 C is adjacent to, but succeeding, the central section 302C. The third section 306C comprises a respective set of portions of the material bed 106. The respective set of portions of the material bed comprises a plurality of portions 328C to 336C. The set of nodes 328C to 336C on the immediately succeeding section 306C of the laser path 301 C are also known as second order nodes.

[0051] Connections between the portions or regions / nodes can define a graph. In the example depicted in figure 300C, in a single track, such as, for example, the current track 302C, the set of nodes 308C to 316C are connected by a set of edges 338C to 344C. The set of edges 338C to 334C can comprise edges that connect any immediately adjacent, or first order, nodes to the active node such as, for instance, edges 338C and 340C that connect nodes 310C and 312C to the current or active node 308C. Additionally, the set of edges can comprise further nodes such as, for example, one or more than one of the second order nodes 314C and 316C. In the example depicted, the set of edges comprises four edges 338C to 344C.

[0052] Referring to figure 3D, there is shown a view 300D of a multi-track single layer distribution of portions of the material bed 106. The laser path 301 D is shown as comprising three sections 302D, 304D and 306D. Each of the three sections 302D to 306D bears a respective plurality of portions or regions of build material of the build material bed 106.

[0053] The central section 302D has a set of such portions comprising a portion of interest, that is, an active node, 308D, together with a first set of adjacent nodes. The adjacent nodes can comprise immediately adjacent nodes such as, for example, nodes 310D and 312D. The set of adjacent nodes can also comprise further nodes such as, for example, nodes 314D and 316D that are disposed adjacent to the first set of adjacent nodes but not being immediately adjacent to the central active node. Nodes of such a set of adjacent further nodes can be known as second order neighbour nodes or second-degree nodes of a network of portions or regions of the material bed 106. The set of adjacent nodes can bethought of as comprising a set of first order nodes that are part of the same track and that are immediately adjacent to the central active node 308D. In the example depicted in figure 3D, a pair of nodes 31 OD and 312D are examples of such first order nodes. Similarly, the set of adjacent nodes can be thought of as comprising a set of second order nodes that are, again, part of the same central track 302D but that are one node removed from the central active node 308. In the example shown in figure 3D, a pair of such nodes 314D and 316D that are one removed from the central active node 308D are shown.

[0054] The first section 304D of the laser path 301 D is adjacent to, but preceding, the central section 302D. The first section 304D comprises a respective set of portions of the material bed 106. The respective set of portions of the material bed comprises a plurality of nodes 318D to 326D. The set of nodes 318D to 326D on the immediately preceding section 304D of the laser path 301 D are also known as second order nodes.

[0055] The third section 306D of the laser path 301 D is adjacent to, but succeeding, the central section 302D. The third section 306D comprises a respective set of portions of the material bed 106. The respective set of portions of the material bed comprises a plurality of portions 328D to 336D. The set of nodes 328D to 336D on the immediately succeeding section 306D of the laser path 301 D are also known as second order nodes.

[0056] Connections between the portions or regions / nodes can define a graph. In the example depicted in figure 300D, nodes 308D to 336D of multiple tracks, such as, for example, the tracks 302D to 306D, of a single layer are connected by a set of edges. The set of edges are such that a given node is connected to predetermined first and second order adjacent nodes. The set of edges is such that each node is connected to adjacent first order nodes on the same track and that each node is connected to a corresponding node in any an adjacent track or tracks and is also connected to any further nodes that are adjacent to the corresponding node. For example, taking node 328 on track 306D, since nodes 328D and 330D are on the same track, the set of edges connects node 328D to node 330D. The corresponding node to node 328D on the adjacent track 302D is node 314D. Therefore, the set of edges comprises an edge between nodes 328D and 314D. Node 310D is adjacent to node 314D. Therefore, the set of edges comprises an edge connecting node 328D to node 310D. Similarly, it can be appreciated that the set of edges associated with the current or active node 308D connects node 308D to nodes 310D and 312D on the same track, and nodes 320D, 322D, 324D on the immediately preceding track 304D and nodes 330D, 332D, 334D on the immediately succeeding track.

[0057] Referring to figure 3E, there is shown a view 300E of a single track multi-layer distribution of portions of the material bed 106. A first laser path 301 E of a respective first layer is shown as comprising three sections 302E, 304E and 306E. Each of the three sections 302E to 306E bears a respective plurality of portions or regions of build material of the build material bed 106. A second laser path 301 E’ of a respective second layer is shown as comprising three sections 302E’, 304E’ and 306E’. Each of the threesections 302E’ to 306E’ bears a respective plurality of portions or regions of build material of the build material bed 106

[0058] In addition to nodes 308E to 336E in a first or current layer 106 of build material, figure 3E shows a set of nodes 308E’ to 336E’ associated with a subsequent layer of build material. The central section 302E of the first or current layer has a set of such portions comprising a portion of interest, that is, an active node, 308E, together with a set of adjacent nodes 310E, 312E in the same layer and a set of adjacent nodes 308E’, 310E’, 312E’ in the subsequent or immediately adjacent layer

[0059] Although the example depicted in figure 3E shows the adjacent nodes to the current node 308E as being associated with the subsequent adjacent layer, examples are not limited thereto. Examples can be realised in at least one or, or both, of: (a) further nodes in the adjacent subsequent layer, such as one or more of the second order nodes, and (b) at least one, or both, of: any of the first order nodes (taken jointly and severally in any and all permutations) and any of the second order nodes (taken jointly and severally in any and all permutations), of the same layer as the current node 308E.

[0060] Connections between the current node 308E and any of the nodes of the sets of adjacent nodes can define a graph comprising those nodes as a set and corresponding set of edges connecting the nodes in the set of nodes. In the examples shown in figure 3E, the set of nodes comprises nodes 308E, 310E, 312E and nodes 308E’, 310E’, 312E’ and the set of edges comprises edges 309E, 311E, 317.1 E’, 317.2E’, 317.3E’.

[0061] Although the example has been illustrated as defining a graph comprising six nodes and five edges, examples are not limited to such an arrangement. Examples can be realised in which the set of nodes comprises the current or active node 308 together with a set of connected nodes comprising any one or more than one other node and in which the set of edges comprises connections between the active node 308 and any node of the set of connected nodes.

[0062] Referring to figure 3F, there is shown a view 300F of a multi-track multi-layer distribution of portions of the material bed 106. A first laser path 301 F of a respective first layer is shown as comprising three sections 302F, 304F and 306F. Each of the three sections 302F to 306F bears a respective plurality of portions or regions of build material of the build material bed 106. A second laser path 301 F’ of a respective second layer is shown as comprising three sections 302F’, 304F’ and 306F’. Each of the three sections 302F’ to 306F’ bears a respective plurality of portions or regions of build material of the build material bed 106.

[0063] In addition to nodes 308F to 336F in a first or current layer 106 of build material, figure 3F shows a set of nodes 308F’ to 336F’ of a subsequent layer of build material associated with the second laser path 301 F. The central section 302F of the first or current layer has a set of such portions comprising a portion of interest, that is, an active node, 308F, together with a set of adjacent nodes in the same layer and a set of adjacent nodes in the subsequent adjacent layer.

[0064] The above examples demonstrate that a graph, G, can be constructed that comprises a node set, V, comprising nodes and an edge set, E, comprising edges between the nodes of the node set in which the graph represents, or is otherwise associated with, an underlying physical system. In the examples described herein the underlying physical system comprises the processing of build material of the material bed 106. The terms node set and set of nodes, and edge set and set of edges will be used synonymously.

[0065] Examples can be realised in which the node set can comprise a node of interest, that is, the current or active node, together with a set of adjacent nodes. Such a set of adjacent nodes can also be known as a set of connected nodes. Such a set of connected nodes can comprise any one or more than one additional node. The set of adjacent nodes can comprise at least one or more than one of the following taken jointly and severally in any and all permutations: a set of adjacent nodes within the same layer as the active node and a set of nodes within at least one adjacent layer to the layer containing the active node. The least one adjacent layer can comprise at least one, or both, of: (a) one or more than one preceding adjacent layer and (b) one or more than one succeeding adjacent layer. The condition of an active node can be influenced by adjacent nodes.

[0066] The distributions of the portions or regions of the build material bed are examples of spatially distributed portions of a material, such as the build material, associated with a product.

[0067] In each of the four arrangements of portions or regions of the powder bed 106 showing in figures 3C to 3F, each of the arrangements have a portion of interest that is surrounded by a set of adjacent portions. The portion of interest is known as an active node. Examples can be realised in which the set of adjacent portions comprises portions or regions of the material bed 106 that have a predetermined proximity to the portion of interest. For instance, examples can be realised in which the predetermined proximity is immediately adjacent, that is, without any intervening portions between the portion of interest and any surrounding portions of the material bed. Examples can be realised in which the portion of interest comprises any portions that are within a predetermined distance from the portion of interest. The size of each portion is defined by the resolution of the laser 110 at the point of contact 114 with the material bed. Therefore, the set of adjacent portions comprises portions that are immediately adjacent to the portion of interest and portions that are next most proximal. It can be appreciated that the set of adjacent portions can encompass progressively more distal portions of the material bed 106 relative to a portion of interest. The size of each portion is governed by at least one, or more than one, of: the sample rate, the resolution vision system 118, the resolution of the laser 110, the resolution of the movement of the scan head 116, taken jointly and severally in any and all permutations.

[0068] Referring to figure 3G, the graph neural network 302 is trained using graph training data. Examples can be realised in which the graph training data is derived from actual material bed measurement data and data associated with an analysis of the resulting product using, for example, micro computed tomography, .CT, with the resulting product having been designed to contain voids thatsimulate or represent defects. The voids can be realised by arranging for the laser to be turned off, or at least having the laser intensity reduced to interfere adversely with sufficient melting, in respect of a set of portions of the build material.

[0069] The product fabricated in the example depicted in figure 3G was cylinder 301 G having a 5mm diameter and a height of 17.8mm. The cylinder was designed to have a number of voids. In the example, the cylinder comprised eight voids 302G to 316G. The defects were arranged to span different numbers of layers. Examples were realised in which such a cylinder was fabricated each containing the eight voids with each void having been arranged to span two, four and six layers. The depth of each layer was 50 pm. Therefore, the voids were 100 / / m, 200 / , and 300 / . Each void or defect was arranged to be cylindrical too. The diameters of the eight voids 302G to 316G had diameters of 0.1 , 0.15, 0.2, 0.3, 0.4, 0.5, 0.6 mm respectively. In the example described, the build material was 106 stainless steel with a particle diameter size of 10-45 / / m. The cylinder was fabricated using a Renishaw AM250, which uses a PWM laser having associated parameters of 200W, pulse gap of 60 / / m, laser exposure time of 80 ps and a height of 50 / . The pCT scan was taken at a 3 pm resolution.

[0070] In one example, graph training data was constructed from measurement data comprising a set of X-Y coordinates of camera observed portions of build material of a layer of build material associated with the product together with the emission of those camera observed portions of build material. Each camera observed portion was correlated with respective portions in the pCT scan and labelled as being either a defect or not a defect (ground truth). Therefore, in its most basic form, the graph training data comprises a set of thermal emission measurements of portions of build material of a layer where each portion of build material was labelled as a defect or not a defect. For instance, examples can be realised in which the graph training data comprises a set of photodiode measurements of portions of build material of a layer where each portion of build material was labelled as a defect or not a defect.

[0071] Other examples can be realised in which the input data was constructed from a set of features extracted from images provided by one, or both, of the cameras. The features extracted from one, or both, of the cameras can comprise at least one or more than one of the following features taken jointly and severally in any and all permutations: maximum intensity, area, major axis length, minor axis length, number of spatter particles and linear dynamic signatures. Furthermore, additional features of track number and node number were added to encode the laser scan path direction and relative temporal position.

[0072] Figure 3G shows the pCT scan 318G though the cylinder 301 G at a corresponding layer (not shown) of the cylinder 301 G. It can be appreciated that a limited number of the intentionally created voids 302G to 316G were discernible; namely the fifth void 310G to the eighth void 316G.

[0073] Therefore, the data corresponding to the measurements relating to portions of the build material, the X-Y coordinates of the portions of the build material and the micro-CT scan form the basis for producing an example of training and ground truth data. The data is labelled according to whether or nota pixel is associated with a feature of interest in the product. The feature of interest in the product can be a manufacturing defect in the product. For example, the manufacturing defect can be a lack-of-fusion void within the product. Alternatively, or additionally, the manufacturing defect can be unprocessed build material designed to simulate this phenomenon.

[0074] Referring to figure 4, there is shown a view 400 of the defect mapper 336. The defect mapper 336 is arranged to receive from the GNN 302 the output data 334. The output data 334 is an indication of whether or not a current or active node or portion of a current build layer of the material bed 106 is a defect or not. Accordingly, the GNN 302 predicts whether or not the active node belongs to the class of “defects” or to the class of “not defects”. The classification can take the form of a classification that indicates if a node of interest is a “defect” or “not a defect”. Alternatively, or additionally, a respective probability can be output for each node of interest that indicates the probability of a respective node being a defect or not. The process of determining the class of a current or active node is performed until all data relating to a current build layer of the material bed has been processed. The classification data together with the coordinates of corresponding current or active nodes is stored. That data can be subjected to a number of processing algorithms such as, for example, generating a probability map 402 that indicates the probability that a given node at a X_Y coordinates is a defect. Alternatively, or additionally, the data can be subjected to a segmentation analysis to produce a segmentation plot 404 that shows, again, whether or not a node at given X_Y coordinates is a defect or not.

[0075] Examples can be realised in which the defect mapper 336 is arranged to receive the output 334 of the model in the form of a set of probabilities that indicate the probability of a corresponding node being a defect or not a defect. Also received by the defect mapper 336 is a 3D point cloud 406 associated with the product.

[0076] The defect mapper 336 comprises a segmentation network 408 arranged to produce a segmented view from the received model defect probability data 334. The segmented view presents a binary mask according to a given node being a defect or not a defect. The mask is used by a 3D point cloud masker 410 to create a subset of the 3D point cloud containing points relating to regions of the product associated with any defect or defects.

[0077] A cluster analyser 412 is arranged to process the subset of masked 3D point cloud points to identify clusters of any such points. The cluster analysis can be at least one, or both, of: a 3D cluster analysis that groups 3D point cloud points in three dimensions or a 2D cluster analysis that groups 2D point cloud points in two dimensions.

[0078] The clustered points can be processed by a metric analyser 414 to identify metrics associated with each cluster. The metrics can comprise at least one, or more than one, of the following taken jointly and severally in any and all permutations: the location of a defect, the size of a defect, the radius or diameter of a defect, the dimensions of a defect, the volume of a defect, or a figure of merit derived from any permutation of the foregoing.

[0079] The defect mapper 336 can produce a defect map 416. The defect map 416 can comprise data relating to at least one or more of the following: metrics associated with any defects or cluster of defects, dimensions of any such defects, positions of any such defects, and the like.

[0080] FIG. 5 illustrates a view 500 of a flowchart for training the graph neural network 302. Training data 502 to 506 is input to the graph neural network. In the example shown in figure 5, the training data comprises sensor data from a set of sensors. As indicated above, the set of sensors can comprise at least one, or more than one, of the following taken jointly and severally in any and all permutations: camera data, optical data, IR data, temperature data, laser position measurement data and micro-CT data. Examples can be implemented in the set of sensor data comprises data from a photodiode measuring light from the melt point, that is, the point of contact of the laser with a current portion of the material bed 106 being melted by the laser to derive a measure of emissivity associated with that laser contact point.

[0081] Depending on the format of any sensor data, the sensor data can be processed at 508. The processing at 508 is arranged to convert raw sensor data into a format suitable for use as graph input data for the input graph to the model 302. Examples can be realised in which the node features of the input graph are derived from the raw sensor data. For instance, an output signal from a photodiode observing the melt point, at a respective position determined from position data, can be processed to determine a corresponding temperature of the melt point, which is then the corresponding temperature of the respective portion of the material bed 106, and to map the position of the corresponding temperature reading into a common frame of reference. The position data can be processed at 510 and the micro-CT data can be pre-processed at 512. Processing the position data and the micro-CT data can be undertaken to ensure that the position coordinate data and the micro-CT data, which can include defect / no defect position data, are aligned within a common frame of reference.

[0082] The sensor input data is aligned within the common frame of reference and vectorised into a node feature vector, X, at 514. The node feature vector comprises a predetermined number of features. Examples can be realised in which the node feature vectors derived from the sensor data comprise a predetermined number of node features.

[0083] At 516, the input graph 320 is constructed. The input graph 320 is structured, as indicated above, to reflect the underlying physical system. An adjacency matrix is constructed that reflects the relationships between the portions of the material bed relative to an active node. Therefore, depending on the model selected to represent the underlying physical system, the adjacent matrix could represent one of the four possible relationships shown in, and described with reference to, figures 3C to 3F, or some other combination of nodes. Figure 3C contains an example of an adjacency matrix.

[0084] Although the examples described herein can create an adjacency matrix representing the portions of the material bed according to any of figures 3C to 3F, examples are not limited to such arrangements of portions of the material bed. Examples can be realised in which different sets ofneighbouring portions of the material bed are taken into account within the input graph when classifying a current or active portion as a defect or not a defect.

[0085] At 518 the micro-CT data is aligned with the graph to provide an indication of a ground truth prediction of a current or active node given the input position data and corresponding melt measurement data.

[0086] The graph neural network is trained at 520 using a parameterised model comprising a weighting matrix, W, and the adjacency matrix, A, as

[0087]

[0088] where htare the input node feature vectors, h- are the output node features and fwis the model 302 parameterised by the weighting matrix, W. It will be appreciated that each htis an example of the above-described X.

[0089] Although the foregoing example is relatively straight-forward, more complex examples can be realised that comprise an attention mechanism. Example graph neural networks that use attention are known as graph attention networks or graph attention layers. In the case of examples that use attention, each GNN layer, that is, each graph attention (GAT) layer can be described mathematically as,

[0090] h- = (T^jeNQQ aijWhi),

[0091] where ai:jis the attention mechanism, W is a learnable weight matrix and a is an activation function such as a non-linear activation function. Therefore, it can be appreciated that each node’s features comprises influences from both the current node features, h and an aggregation of neighbouring node features, hj.

[0092] Examples can be realised in which the graph neural network 302 is realised using the two graph layers 322, 328 followed by a feedforward network 332. A linear mapping can be provided to map the output of the feedforward network 332 to a classification. In the example depicted, the mapping is to a binary classification in which a current or active node is classified as either being a defect or not a defect.

[0093] Although the examples described herein refer to a binary classification, examples are not limited thereto. Examples can be realised in which the output of the feedforward layer is a vector comprising a set of entries. Each entry in the set of entries can correspond to a respective classification. The respective classification can be a determination that that entry has been identified or otherwise detected as being a fault or not a fault. Examples can be realised in which each classification can be represented by a respective probability. The probability associated with each classification provides a measure of confidence with which a respective class or feature has been identified.

[0094] The two graph layers 332 and 328 can be realised as such graph attention layers. A first graph attention layer 332 comprises a predetermined number of attention heads. Examples can be realised in which the first graph attention layer comprises three attention heads. A second graph attention layer 328comprises a predetermined number of attention heads. Examples can be realised in which the second graph attention layer 328 comprises a single attention head. Therefore, examples can be realised in which the first and second graph attention layers comprise three attention heads and one attention head respectively. Examples can be realised in which the first graph attention layer comprises a respective set of attention heads and in which the second graph attention layer comprises a respective set of attention heads. Examples can be realised in which the set of attention heads of the first attention layer 322 comprises one or a plurality of attention heads and in which the set of attention heads of the second attention layer 328 comprises one or a plurality of attention heads.

[0095] The model 302 can comprise one or more than one hidden layer. Examples can be realised in which each node of the input graph is mapped to a respective set of a predetermined number of hidden nodes. In the example shown in figure 3A, each node of the input graph is mapped to 96 hidden nodes. Accordingly, the set of outputs from the first graph layer 332 can comprise a predetermined number of nodes given by: the product of (a) the number of features of each node of the input graph, (b) the number of nodes of the input graph 320 and (c) the number of hidden nodes.

[0096] The set of outputs from the first graph layer 332 are mapped to input nodes of the second input layer 328. The structure of the graph for the second graph layer 328 remains the same as the input graph structure. However, each of the predetermined number of outputs per node of the first graph layer 332 is mapped to a predetermined number of hidden nodes per node of the input graph 320. Examples can be realised in which the predetermined number of nodes is 32, that is, each node of the graph in the second graph layer comprises 32 hidden nodes.

[0097] The feed forward layer 332 comprises a predetermined number of units and a predetermined number of layers. The predetermined number of units comprises a set of one or more units. In the example shown, the predetermined number of units comprises an array of units. Examples can be realised in which the array of units comprises 32 units. Examples can be realised in which the predetermined number of layers comprises one or more than one layer. In the example depicted in figure 3A, the predetermined number of layers is three.

[0098] Having received the input graph training data, the graph neural network 302 is trained at 520 using the graph training data. Training the graph neural network 302 comprises producing forward propagation estimates of the output graph data, that is, the predictions 334, which, in the example depicted in figure 3, comprises classifications of an active node, at 522, which can be expressed as

[0099] y = f G,X),

[0100] where G is the graph, as indicated above, and X are the input node feature vectors for each node in the graph. The initial estimate, y, is used to minimise an overall loss, using a loss function, J(y, y), at 524. The loss is used during backpropagation to adjust the weights within the weight matrix, W, and biases. It can be appreciated that repeatedly receiving input graph training data, calculating the loss andadjusting the weights will progressively minimise the loss over multiple training epochs. The resulting trained model can be evaluated at 526. Evaluating the resulting training graph neural network 302 can comprise at least one, or both, of: validating the model 302 using a set of validation data and testing the model 302 using previously unseen test data.

[0101] Therefore, the model 302 is trained to predict the class of a set of nodes of the graph as the output. In the example depicted, the class is {defect, no defect}. As indicated, back-propagation is used to minimise the loss function. The model can then predict the output class of an active or current node given a set of input features and a graph structure. Defect morphology can be then estimated by the defect mapper 336. It will be appreciated that the defect mapper 336 is a specific implementation of a feature mapper that can predict or map features of the active node other than defects. In the implementation described, the feature mapper has been realised as a defect mapper 336 due to the training data using a binary classification of defect or not defect. Examples can be realised in which the classification would relate to one or more than one feature other than a defect. The number of classifications and the types of features predicted depends on the training data, that is, the ground truth data containing a mapping between input data and the number and types of classifications to be predicted. In the example depicted, and as described with reference to figure 5, the node classifications can be used with a segmentation algorithm to provide a segmentation map relating to a respective layer of processed build material of the material bed 106.

[0102] As indicated above, the model 302 is trained to predict the class of a set of nodes of the graph as the output. The set of nodes of the graph classified according to a respective classification, or according to a set of classifications, can comprise a single node of the graph or a number of nodes of the graph. Examples can be realised in which the single node corresponds to a current or active node. Alternatively, examples can be realised in which a subset of nodes of the graph are classified according to the available classes. Examples can be realised in which every node of the graph is classified according to the set of classes. In the example shown in figure 3A, it can be appreciated a subset 340 of the nodes of the output graph 334 have been classified as having a corresponding class such as, for example, defect. Examples can be realised in which every node of the output graph 340 is classified as belonging to a corresponding class.

[0103] The training at 520 can comprise a number of sub-features. At 522, the input graph together with populated node features is input to the model 302. A set of one or more than one estimate is produced via forward pass though the model 302. At 524, a loss function is applied, using backpropagation, to adjust the model 302 according to the difference between the set of one or more than one estimate and the set of one or more than one corresponding ground truth. The model 302 is repeatedly applied to successive sets of graph input features and corresponding ground truth output data for a predetermined number of training epochs.

[0104] At 526, optionally, the performance of the model can be validated and tested using respective validation data and test data.

[0105] The result of the training is a trained graph neural network comprising trained weights and biases according to the training data. For examples in which the attention mechanisms were included, the trained graph neural network also comprises trained attention mechanisms.

[0106] FIG. 6 shows a view 600 of a flowchart 602 for predicting a feature of a product using the graph neural network 302. At 604, a set of sensor data is received or accessed. As indicated above, the set of sensor data can comprise sensor data from a set of sensors. The set of sensors can comprise one sensor or from number of sensors. At 606, position data corresponding to the sensor data is received or accessed.

[0107] At 608 and 610 the sensor data and the position data can be processed to render them in a form suitable for input as features of the input graph 320, unless at least one, or both, of the sensor data and the position data are already in that form.

[0108] The sensor data can be aligned with a predetermined frame of reference at 612. At 614 the graph 320 is formed corresponding to the received input data and the position data. The graph can be based on one of the above described arrangements of the underlying physical system shown in and described with reference to figures 3B to 3F. The graph comprising a predetermined set of node and a predetermined set of edges.

[0109] At 616, the graph is populated with respective node features derived from, or associated with, the sensor data and subjected to the model 302, which produces an output graph 340.

[0110] The prediction or output graph 340 can be subjected to further processing at 618. The further processing at 618 can comprise processing to generate macro-features derived from one or more than one set of classified nodes. The macro-features can relate to at least one, or both, of: a defect and a corresponding defect shape.

[0111] Any extracted features can be visualised at 620.

[0112] Figure 7 illustrates a view 700 of a flowchart 702 to generate a graph for the graph neural network or graph network. The flowchart 702 for generating the graph network or graph neural network can be used in the above described flowcharts at 516 and 614.

[0113] At 704, the processed position data 706 from, for example, 606 and 610, is received. An initial list of nodes, V, of the input graph, G(V,E), 320 is defined from the position data.

[0114] At 706, a set of neighbouring nodes is determined. Examples can be realised in which the set of neighbouring nodes comprises a set of the N nearest neighbour nodes.

[0115] Alternatively, examples can be realised in which a set of parameters 708 can be used to indicate which portions or nodes should be used to form the adjacency matrix. The set of parameters 708 cancomprise one or more than one parameter that defines a set or a respective set of portions or nodes of the material bed 106 to be taken into account when classifying the current or active node, a subset of nodes, or all nodes of a graph. In the example depicted, the set of parameters 708 comprises three parameters that are selectable jointly and severally in any and all permutations. Each parameter can have a respective set of portion or nodes to form the, or to form at least part of the, adjacency matrix. The respective sets of portions or nodes associated with each parameter can be concatenated to form a larger overall, or composite, adjacency matrix. It can be seen from figure 7 that the set of parameters comprise a set of radii rl tr2and r3. The set of parameters define the number of adjacent nodes in any of the x, y and z planes that form the kernel of nodes having the active node at the centre from which data is derived during message passing.

[0116] At 710, the set of edges, E, of the graph, G(V, E), is determined in response to the set of nodes being defined at 706.

[0117] At 712, each edge in the set of edges, is labelled. Examples can be realised in which the set of edges is labelled according to if an edge relates to (1) a previous track, (2) a next track, (3) a current track, (4) a next layer or (5) a previous layer, taken jointly and severally in any and all permutations. The labels for each edge comprise part of, or represent a part of, edge feature vectors for respective edges.

[0118] At 714, the definition of the graph, G(V,E), together with the edge features, Xe, are output.

[0119] Figure 8 shows a view 800 of a flowchart 802 for classifying a current or active node using the model 302 according to an example. The set of sensors comprises two cameras. Accordingly, sensor data 134 and 136, received at 804 and 806, will take the form of images, which can take the form of, or be extracted from, respective video streams. Position data is received at 808 corresponding to the images 134 and 136.

[0120] The images 134 and 136 are processed at 810 to identify node features. Examples can be realised in which the node features comprise one or more than one melt pool feature. Alternatively, rather than receiving raw images 134 and 136, examples can be realised in which the node features have already been identified or otherwise derived from the received sensor data, that is, from images 134 and 136 in the present example.

[0121] The position data can be processed, at 812, to label each track and filter each position.

[0122] At 814, sensor alignment is performed, that is, the sensor data from each camera is mapped into a common reference frame, and the node features are vectorised to form a node vector, X.

[0123] At 816, the graph 320 is generated as G(V,E) and the graph model 302 corresponding to the spatial distribution of portions of the material bed 106 is accessed.

[0124] The graph 320 is processed at 818 to generate output classification estimates, y, from y = KG.x

[0125] Characteristics associated with any predicted defects can be identified at 820. For instance, examples can be realised in which the location and shape of any defects or clusters of defects can be determined.

[0126] Any determined characteristics associated with any predicted defects can be visualised and / or reported at 822.

[0127] Figure 9 shows a view 900 of a flowchart 902 for classifying a current or active node using the model 302 according to an example. The set of sensors comprises an optical layer camera and a photodiode. Accordingly, a set of optical layer camera data is received at 904 and a set of photodiode data is received at 906. Position data is received at 908 corresponding to the received optical layer camera data and the set of photodiode data.

[0128] The sets of optical layer camera data and the set of photodiode data are processed at 910 and 912 to identify node features. Examples can be realised in which the node features comprise one or more than one melt pool feature. Alternatively, rather than receiving raw sensor, examples can be realised in which the node features have already been identified or otherwise derived from the received sensor data.

[0129] The position data can be processed, at 914, to label each track and filter each position.

[0130] At 916, sensor alignment is performed, that is, the sensor data from each sensor is mapped into a common reference frame, and the node features are vectorised to form an input node feature vector, X.

[0131] At 918, the graph 320 is generated as G(V, E) and the graph model 302 corresponding to the spatial distribution of portions of the material bed 106 accessed.

[0132] The graph 320 is processed at 920 to generate output classification estimates, y, from y = f .x

[0133] Characteristics associated with any predicted defects can be identified at 922. For instance, examples can be realised in which the location and shape of any defects or clusters of defects can be determined.

[0134] Any determined characteristics associated with any predicted defects can be visualised and / or reported at 924.

[0135] Figure 10 shows a view 1000 of a flowchart 1002 for classifying a current or active node using the model 302 according to an example. The set of sensors comprises simulation data and physical measurement data. In the particular example depicted, the physical measurement data comprises a set of photodiode measurements. Accordingly, a set of simulation data is received at 1004 and a set of photodiode data is received at 1006. Position data is received at 1008 corresponding to the received set of photodiode data.

[0136] The simulation data can represent, for example, data relating to a set of simulated characteristics associated with the design of the product to be produced using the additive manufacturing system

[0137] The sets of simulation data and the set of photodiode data are processed at 1010 and 1012 to identify node features. Examples can be realised in which the node features comprise one or more than one melt pool feature. Alternatively, rather than receiving raw sensor, examples can be realised in which the node features have already been identified or otherwise derived from the received sensor data.

[0138] The position data can be processed, at 1014, to label each track and filter each position.

[0139] At 1016, sensor alignment is performed, that is, the sensor data from each sensor is mapped into a common reference frame, and the node features are vectorised to form a node vector, X.

[0140] At 1018, the graph 320 is generated as G(V, E) and the graph model 302 corresponding to the spatial distribution of portions of the material bed 106 accessed.

[0141] The graph 320 is processed at 1020 to generate output classification estimates, y, from y = f .x

[0142] Characteristics associated with any predicted defects can be identified at 1022. For instance, examples can be realised in which the location and shape of any defects or clusters of defects can be determined.

[0143] Any determined characteristics associated with any predicted defects can be visualised and / or reported at 1024.

[0144] Figure 11 shows a view 1100 of a flowchart 1102 for classifying a current or active node using the model 302 according to an example. The set of sensors comprises physical measurement data. In the particular example depicted, the physical measurement data comprises a set of photodiode measurements. Accordingly, a set of photodiode data is received at 1104. Position data is received at 1108 corresponding to the set of photodiode data.

[0145] The set of photodiode data is processed at 1110 to identify node features. Examples can be realised in which the node features comprise one or more than one melt pool feature. Alternatively, rather than receiving raw sensor, examples can be realised in which the node features have already been identified or otherwise derived from the photodiode data.

[0146] The position data can be processed, at 1114, to label each track and filter each position.

[0147] At 1116, sensor alignment is performed, that is, the sensor data from each sensor is mapped into a common reference frame, and the node features are vectorised to form a node vector, X.

[0148] At 1118, the graph 320 is generated as G(V, E) and the graph model 302 corresponding to the spatial distribution of portions of the material bed 116 accessed.

[0149] The graph 320 is processed at 1120 to generate output classification estimates, y, from y = KG.x

[0150] Characteristics associated with any predicted defects can be identified at 1122. For instance, examples can be realised in which the location and shape of any defects or clusters of defects can be determined.

[0151] Any determined characteristics associated with any predicted defects can be visualised and / or reported at 1124.

[0152] Figure 12 shows a view 1200 of a flowchart 1202 for classifying a current or active node using the model 302 according to an example. The set of sensors comprises an optical layer camera and a photodiode. Accordingly, a set of optical layer camera data is received at 1204 and a set of photodiode data is received at 1206. Position data is received at 1208 corresponding to the received optical layer camera data and the set of photodiode data.

[0153] The sets of optical layer camera data and the set of photodiode data are processed at 1210 and 1212 to identify node features. Examples can be realised in which the node features comprise one or more than one melt pool feature. Alternatively, ratherthan receiving raw sensor, examples can be realised in which the node features have already been identified or otherwise derived from the received sensor data.

[0154] The position data can be processed, at 1214, to label each track and filter each position.

[0155] At 1216, sensor alignment is performed, that is, the sensor data from each sensor is mapped into a common reference frame, the node features are vectorised to form an input node feature vector, Xl tand an embedding, gl tis derived from the node feature vector as gx(X .

[0156] At 1217, sensor alignment is performed, that is, the sensor data from each sensor is mapped into a common reference frame, the extracted node features are vectorised to form an input node feature vector, X2, and an embedding, g2, is derived from the node feature vector as

[0157] The embeddings g (Xi) and ,g2(X2) can be produced using respective embedders. An embedder is an example of an encoder that maps an input tensor, such as an input vector, of respective dimensions to another tensor, such as another vector, of different dimensions; the different dimensions can be higher or lower dimensions. Therefore, the respective embedders can be realised as, for example, trained neural networks that map input node feature vectors to different dimension vectors such as, higher or lower dimension vectors.

[0158] At 1218, the graph 320 is generated as G(V, E) and the graph model 302 corresponding to the spatial distribution of portions of the material bed 126 accessed.

[0159] At 1219, the embeddings g±and g2are combined. Examples can be realised in which the embeddings g±and g2are combined via a concatenation, Z = concat g^X^)' , ^2(X2)].

[0160] The graph 320 is processed at 1220 to generate output classification estimates, y, from y = KG. z

[0161] Characteristics associated with any predicted defects can be identified at 1222. For instance, examples can be realised in which the location and shape of any defects or clusters of defects can be determined.

[0162] Any determined characteristics associated with any predicted defects can be visualised and / or reported at 1224.

[0163] Figure 13 shows a view 1300 of a flowchart 1302 for classifying a current or active node using the model 302 according to an example. The set of sensors comprises an optical layer camera and a photodiode. Accordingly, a set of optical layer camera data is received at 1304 and a set of photodiode data is received at 1306. Position data is received at 1308 corresponding to the received optical layer camera data and the set of photodiode data.

[0164] The set of optical layer camera data and the set of photodiode data are processed at 1310 and 1312 to identify node features. Examples can be realised in which the node features comprise one or more than one melt pool feature. Alternatively, ratherthan receiving raw sensor, examples can be realised in which the node features have already been identified or otherwise derived from the received sensor data.

[0165] The position data can be processed, at 1314, to label each track and filter each position. However, examples can be realised in which the position data has already been labelled.

[0166] At 1316, sensor alignment is performed, that is, the sensor data from each sensor is mapped into a common reference frame, the node features are vectorised to form a node feature vector, Xl tand an embedding, gl tis derived from the node feature vector as gx

[0167] At 1317, sensor alignment is performed, that is, the sensor data from each sensor is mapped into a common reference frame, the extracted node features are vectorised to form a node feature vector, X2, and an embedding, g2, is derived from the node feature vector as g^ X .

[0168] At 1318, the graph 320 is generated as G(V, E) and the graph model 302 corresponding to the spatial distribution of portions of the material bed 136 accessed.

[0169] At 1319A, an instance of the graph 320 is processed generate output classification estimates, yl tfromembedding.

[0170] At 1319B, an instance of the graph 320 is processed generate output classification estimates, y2, from y2= g2(G,f(.X2y), where g2is an embedding.

[0171] At 1320, an overall prediction is generated from the above estimates as output classification estimates, y, from y = f(y1, y2).

[0172] Characteristics associated with any predicted defects can be identified at 1322. For instance, examples can be realised in which the location and shape of any defects or clusters of defects can be determined.

[0173] Any determined characteristics associated with any predicted defects can be visualised and / or reported at 1324.

[0174] Referring to figures 6, 7, 9, 10, 11 , 12, and 13, each has a feature of “Extract defect location and shape" in which at least one, or both, of: a set of defect locations is determined and a set of defect shapes is determined. The set of defect locations can comprise one or more than one defect. The set of defect shapes can comprise data relating to the shape of one or more than one defect. The at least one, or both, of: a set of defect locations is determined and a set of defect shapes can be known as a defect map.

[0175] Figure 14 shows a view 1400 of a flowchart 1402 for determining a defect map of a current product.

[0176] At 1402, the output data 334, in the form of probabilities such as, for example, the probability map 502, relating to the defects predicted in the product is received from the model 302 and processed to produce the segmentation map 340 / 504.

[0177] The segmentation map 504 is used as a mask to produce a subset of point cloud data relating to the defects at 1404 from a received set of point cloud data 1403 relating to the product. The point cloud data 1403 is an example of the above-described point cloud data 406.

[0178] At 1406, an analysis of the subset of point cloud data is performed to identify regions associated with defects. The analysis can take any form of analysis such as, for example, a clustering analysis aimed at determining or identifying any clusters of points in the subset of point cloud data that might form respective groups associated with respective defects in the product. In the example depicted in figure 14, two types of cluster analysis are performed; namely, a 3D cluster analysis 1408 and a 2D cluster analysis 1410. Examples can be realised in which the cluster analysis comprises at least one, or both, of: the 3D cluster analysis 1408 and the 2D cluster analysis 1410.

[0179] Having performed the analysis on the subset of point cloud data, any identified regions are processed at 1412, using, for example, regionprop, to extract a set of metrics associated with each region. The set of metrics associated with a region can comprise one or more than one metric. For example, such a set of metrics can comprise an indication of at least one or more than one of the following taken jointly and severally in any and all permutations: the location of a defect, the size of a defect, the radius or diameter of a defect, the dimensions of a defect, the volume of a defect, or a figure of merit derived from any permutation of the foregoing.

[0180] At 1422, a defect map or report 338 / 1552 can be formed from the extracted metrics.

[0181] FIG. 15 depicts a view 1500 of machine-instructions 1502 according to examples. The machine instructions can be arranged to implement a system as described herein such as the system 302, or any part thereof. The machine instructions can be arranged to implement the flowcharts described herein. The machine-instructions 1502 can be stored using machine readable storage 1504. The machineinstructions 1502 can be executed, processed or interpreted by one or more processors, virtual machines or interpreters 1506 to produce the output data such as, for example, output data 334.

[0182] As an example, the machine instructions can comprise:

[0183] - instructions 1508 to receive the input graph 320 including the input node features and edge features,

[0184] - instructions 1510 to process the input graph 320 to produce the output data 334, and

[0185] - instructions 1512 to produce a defect report / defect map338 from the output data 334.

[0186] Although the examples described herein have been given in the context of an additive manufacturing process that uses a laser, examples are not limited thereto. Examples can be realised in which other additive manufacturing processes are used such as, for example, Electron beam melting, Multi-laser PBF machines or multiple locations of melting (Electron beam can have this too) and Directed energy deposition methods (such as, for example, wire arc additive manufacturing, wire / laser additive manufacturing and blown powder deposition additive manufacturing).

[0187] Although examples have been described with reference to deriving ground truth data from X- ray CT data, which supports identifying voids and / or variations in density, examples are not limited thereto. Examples can be realised in which ground truth data is derived using other technologies and other labelling. For instance, examples can be realised in which ground truth data comprises, or is derived from, at least one or more of the following taken jointly and severally in any and all permutations:

[0188] - Micrograph data of the product or of a section of the product, with a view to labelling at least one, or both, of: voids and microstructures;

[0189] - Electron backscatter diffraction data or other microstructure information for labelling at least one, or more than one, of any and all permutations of: phases, grain size, grain morphology, crystal orientation, crystal texture, boundaries, and strain;

[0190] - Known defect location via other means such as, for instance, a camera measuring surface contamination or a-priori defect formation knowledge;

[0191] - Mechanical data such as, for example, one or more than one of: micro-hardness, tensile strength, fatigue strength in any and all permutations;

[0192] - Simulation data that may simulate mechanical properties or measured mechanical properties such as, for instance, distortion based on thermal history and measurements; and

[0193] - Continuous measurements such as melt track penetration depth or width.

[0194] The examples described herein use terms defining the “order” of a node. The order of a node is an indication of the minimum number of messages that would need to be exchanged for a given pairof nodes to influence one another’s feature vectors. For example, a given pair of nodes would be first order nodes relative to one another if data would be exchanged in a single or first round of message passing. A given pair of nodes would be second order nodes relative to one another if data would be exchanged between the nodes in two rounds of message passing. Consequently, a given pair of nodes would be nttlorder nodes if data would be exchanged between the nodes in n rounds of message passing.

[0195] Examples can be realised in according with any of the following clauses:Training

[0196] Clause 1 : A system for generating a feature detection system for generating a prediction of a feature of a product produced by an additive manufacturing system; the system for training comprising circuitry for: accessing a graph comprising a set of nodes and a set of edges; the sets of nodes and edges defining a structure associated with a set of spatially distributed portions of a material associated with the product; each node of the set of nodes having a respective feature vector for storing a respective set of node features associated with a respective portion of the set of spatially distributed portions of the material associated with the product; an input interface for accessing a set of graph network configuration data; the graph network configuration data comprising: a set of input node features for each node of the set of nodes and corresponding training output data; the training output data being associated with the prediction of the feature of the product; generating a trained graph network using the graph training data; the trained graph network comprising: trained graph network data comprising at least one, or both, of: trained weights and trained biases associated with the sets of nodes and edges; the trained graph network data associated with the sets of nodes and edges supporting generating, in response to further input node features for each node in the set of nodes, further output data comprising a further prediction associated with a predefined portion of the set of spatially distributed portions of the material associated with the product; the predefined portion corresponding to a predefined node of the set of nodes.Feedforward layers

[0197] Clause 2: The system as in clause 1 , in which the circuitry for generating a trained graph network comprises: a feedforward network for generating the further output data associated with at least one node of the set of nodes; the feedforward network comprising a set of trained weights and biases for each layer in the set of feedforward layers.

[0198] Clause 3: The system as in clause 2, in which the feedforward network comprises at least a pair of feedforward layers, optionally, the feedforward network comprises a number of fully connected layers.

[0199] Clause 4: The system as in any of clauses 1 to 3, in which the circuitry for generating the further output data comprises:

[0200] circuitry for generating the further prediction associated with a predefined portion of the set of spatially distributed portions of the material associated with the product; the predefined portion corresponding to a predefined node of the set of nodes.STSL, MTSL, STML, MTML

[0201] Clause 5: The system as in any preceding clause, in which the set of spatially distributed portions of the material associated with the product comprises: a set of single dimension spatially distributed portions of the material associated with the product, wherein the set of nodes and edges comprises an active node connected to at least one, or both, of: a set of preceding nodes and a set of succeeding nodes; optionally, the set of preceding nodes comprises at least one immediately adjacent preceding node, the set of succeeding nodes comprises at least one immediately adjacent succeeding node.

[0202] Clause 6: The system as in any preceding clause, in which the set of spatially distributed portions of the material associated with the product comprises: a set of 2D spatially distributed portions of the material associated with the product, wherein the set of nodes and edges comprises an active node connected to a set of surrounding nodes distributed in a common plane; optionally, the set of surrounding nodes distributed in the common plane comprises at least one, or more than one, of: a set of coplanar preceding nodes, optionally comprising at least one immediately adjacent preceding node, a set of coplanar succeeding nodes, optionally comprising at least one immediately adjacent succeeding node, a set of coplanar transverse nodes, optionally comprising at least one, or both, of: a set of right disposed adjacent nodes and a set of left disposed adjacent nodes.

[0203] Clause 7: The system as in any preceding clause, in which the set of spatially distributed portions of the material associated with the product comprises: a set of 3D spatially distributed portions of the material associated with the product, wherein the set of nodes and edges comprises an active node connected to a set of surrounding nodes distributed in a volume;optionally, the set of surrounding nodes distributed in the volume comprises at least one, or more than one, of: at least one set, or a plurality of sets, of coplanar preceding nodes, optionally comprising at least one immediately adjacent preceding node, at least one set, or a plurality of sets, of coplanar succeeding nodes, optionally comprising at least one immediately adjacent succeeding node, at least one set, or a plurality of sets, of coplanar transverse nodes, optionally comprising at least one, or both, of: a set of right disposed adjacent coplanar node and a set of left disposed adjacent coplanar nodes.Edges & attention coefficients

[0204] Clause 8: The system of any preceding clause, in which: each edge of the set of edges comprises respective edge storage for storing a respective edge feature of a set of edge features associated with a connection between respective portions of the set of spatially distributed portions of the material associated with the product; the graph training data additionally comprising: training edge data for each edge of the set of edges; and in which circuitry to generate the trained graph network comprises: circuitry for generating the trained graph network using the graph training data; the trained graph network comprising trained graph data to generate a respective measure of importance for each edge of the set edges; the trained graph network data to generate the respective measure of importance for each edge of the set edges supporting generating the further output data in response to: the further input node features and further input edge features for each node and edge in the sets of nodes and edges.Possible edge features

[0205] Clause 9: The system as in clause 8, in which the set of edge features associated with a connection between respective portions of the set of spatially distributed portions of the material associated with the product comprises at least one or more than one of the following taken jointly and severally in any and all permutations: a label providing an indication of a connection type of a respective edge and a distance metric associated with a distance between respective node pairs of the set of nodes.

[0206] Clause 10: The system as in clause 9, in which the label providing an indication of a connection type of a respective edge comprises one or more than one of the following taken jointly and severally in any and all permutations: a label indicating a connection with a preceding track, a connection with a current track, a connection with a subsequent track,a connection with a preceding layer, a connection with a current layer, and a connection with a subsequent layer.Include interface for receiving set of edge feature vectors

[0207] Clause 11 : A system as in any preceding clause, comprising an input interface for receiving the set of edge features, and an encoder for mapping the received set of edge features to respective edge storage of respective edges of the set of edges.Detail of possible node featuresMeasurement

[0208] Clause 12: The system of any preceding clause, the set of node features associated with the respective portion of the set of spatially distributed portions of the material comprises: a measurement associated with the respective portion, optionally the measurement is an optical measurement, optionally the measurement relates to the temperature of the respective portion of the set of spatially distributed portions of the material.Position data

[0209] Clause 13: The system of clause 12, in which the set of nodes features comprises position data relating to the position of the respective portion withing a coordinate system associated with the material.Other possible features

[0210] Clause 14: The system of either of clauses 12 to 13, in which the set of node features comprises at least one or more than one of the following elements taken jointly and severally in any and all permutations, but not limited to: { light intensity, maximum light intensity, an area of the respective portion, a dimension of the respective portion, a major axis length of the respective portion, a minor axis length of the respective portion, a number of spatter particles, dynamic signature, scan direction, relative temporal position, the track number, node number, relative build layer to a feature / defect}.Include interface for receiving set of node feature vectors

[0211] Clause 15: The system as in any preceding clause, comprising an input interface for receiving the set of node features, and an encoder for mapping the received set of node features to respective node embeddings of respective nodes of the set of nodes.Attention network / attention encoder

[0212] Clause 16: The system of any preceding clause, comprising an attention network; the attention network comprising learnable attention parameters to specify attention associated with pairs of features of the graph.

[0213] Clause 17: The system of clause 16, in which the attention associated with pairs of features of the graph comprises attention between at least two nodes of the graph.Data Structure clauses

[0214] Clause 18: A data structure storing data defining a graph network; the graph network being arranged to generate a prediction of a feature of a product produced by an additive manufacturing system, the graph network comprising: a set of nodes and a set of edges; the sets of nodes and edges defining a structure associated with a set of spatially distributed portions of a material associated with the product; each node of the set of nodes having a respective feature vector for storing a respective set of node features associated with a respective portion of the set of spatially distributed portions of the material associated with the product; and graph network configuration data associated with the sets of nodes and edges; the graph network configuration data associated with the sets of nodes and edges supporting generating, in response to input node features for each node in the set of nodes, output data comprising a prediction associated with a predefined portion of the set of spatially distributed portions of the material associated with the product; the predefined portion corresponding to a predefined node of the set of nodes.

[0215] Clause 19: The data structure as in clause 18, further comprising: a set of at least one, or both, of: weights and biases for each layer in a set of feedforward layers for generating the further output data associated with at least one node of the set of nodes; optionally, the set of at least one, or both, of the: weights and biases comprising: a set of at least one, or both, of: trained weights and trained biases for each layer in a set of feedforward layers for generating the further output data associated with at least one node of the set of nodes.

[0216] Clause 20: The data structure as in clause 19, in which the set of at least one, or both, of: weights and biases for each layer in the set of feed forward layers comprises: at least one, or both, of: weights and biases associated with a number of fully connected layers; optionally, at least one, or both, of: trained weights and trained biases associated with a number of fully connected layers.STSL, MTSL, STML, MTML

[0217] Clause 21 : The data structure of any of clauses 18 to 20, in which the set of spatially distributed portions of the material associated with the product comprises: a set of single dimension spatially distributed portions of the material associated with the product, wherein the set of nodes and edges comprises an active node connected to at least one, or both, of: a set of preceding nodes and a set of succeeding nodes; optionally, the set of preceding nodes comprises at least one immediately adjacent preceding node, the set of succeeding nodes comprises at least one immediately adjacent succeeding node.

[0218] Clause 22: The data structure as in any of clauses 18 to 21 , in which the set of spatially distributed portions of the material associated with the product comprises: a set of 2D spatially distributed portions of the material associated with the product, wherein the set of nodes and edges comprises an active node connected to a set of surrounding nodes distributed in a common plane; optionally, the set of surrounding nodes distributed in the common plane comprises at least one, or more than one, of: a set of coplanar preceding nodes, optionally comprising at least one immediately adjacent preceding node, a set of coplanar succeeding nodes, optionally comprising at least one immediately adjacent succeeding node, a set of coplanar transverse nodes, optionally comprising at least one, or both, of: a set of right disposed adjacent nodes and a set of left disposed adjacent nodes.

[0219] Clause 23: The data structure as in any of clauses 18 to 22, in which the set of spatially distributed portions of the material associated with the product comprises: a set of 3D spatially distributed portions of the material associated with the product, wherein the set of nodes and edges comprises an active node connected to a set of surrounding nodes distributed in a volume; optionally, the set of surrounding nodes distributed in the volume comprises at least one, or more than one, of: at least one set, or a plurality of sets, of coplanar preceding nodes, optionally comprising at least one immediately adjacent preceding node, at least one set, or a plurality of sets, of coplanar succeeding nodes, optionally comprising at least one immediately adjacent succeeding node, at least one set, or a plurality of sets, of coplanar transverse nodes, optionally comprising at least one, or both, of: a set of right disposed adjacent coplanar node and a set of left disposed adjacent coplanar nodes.Edges & attention coefficients

[0220] Clause 24: The data structure of any of clauses 18 to 23, comprising: graph configuration data to generate a respective measure of importance for each edge of the set edges; the graph configuration data to generate the respective measure of importance for each edge of the set edges supporting generating the further output data in response to: the further input node features and further input edge features for each node and edge in the sets of nodes and edges; optionally, the graph configuration data to generate a respective measure of importance for each edge of the set edges comprises: trained graph data to generate a respective measure of importance for each edge of the set edges; the trained graph data to generate the respective measure of importance for each edge of the set edges supporting generating the further output data in response to: the further input node features and further input edge features for each node and edge in the sets of nodes and edges.Possible edge features

[0221] Clause 25: The data structure as in clause 24, in which the set of edge features associated with a connection between respective portions of the set of spatially distributed portions of the material associated with the product comprises at least one or more than one of the following taken jointly and severally in any and all permutations: a label providing an indication of a connection type of a respective edge and a distance metric associated with a distance between respective node pairs of the set of nodes.

[0222] Clause 26: The data structure as in clause 25, in which the label providing an indication of a connection type of a respective edge comprises one or more than one of the following taken jointly and severally in any and all permutations: a label indicating a connection with a preceding track, a connection with a current track, a connection with a subsequent track, a connection with a preceding layer, a connection with a current layer, and a connection with a subsequent layer.Deployed NN

[0223] Clause 27: A feature detection system to generate a prediction of a feature of a product produced by an additive manufacturing system, the feature detection system comprising: an interface for receiving sensor data derived from a material bed associated with the product; circuitry realising a graph network comprising:a set of nodes and a set of edges; the sets of nodes and edges defining a structure associated with a set of spatially distributed portions of a material associated with the product; each node of the set of nodes having a respective feature vector for storing a respective set of node features associated with a respective portion of the set of spatially distributed portions of the material associated with the product; each feature vector being derived from said sensor data; and graph network configuration data associated with the sets of nodes and edges; the graph network configuration data associated with the sets of nodes and edges supporting generating, in response to input node features for each node in the set of nodes, output data comprising a prediction associated with a predefined portion of the set of spatially distributed portions of the material associated with the product; the predefined portion corresponding to a predefined node of the set of nodes. optionally, graph network configuration data associated with the sets of nodes and edges comprises: trained graph network data comprising at least one, or both, of: trained weights and trained biases associated with the sets of nodes and edges; the trained graph network data associated with the sets of nodes and edges supporting generating, in response to input node features for each node in the set of nodes, output data comprising a prediction associated with a predefined portion of the set of spatially distributed portions of the material associated with the product; the predefined portion corresponding to a predefined node of the set of nodes.

[0224] Clause 28: The system as in clause 27, comprising: a feedforward network for generating the further output data associated with at least one node of the set of node; the feedforward network comprising: a set of at least one, or both, of: weights and biases for each layer in a set of feedforward layers for generating the further output data associated with at least one node of the set of nodes; optionally, the feedforward network comprises: at least one, or both, of: a set of trained weights and a set of trained biases for each layer in the set of feedforward layers.

[0225] Clause 29: The system as in clause 28, in which the feedforward network comprises at least a pair of feedforward layers, optionally, the feedforward network comprises a number of fully connected layer.

[0226] Clause 30: The system as in any of clauses 27 to 28, in which the circuitry for generating the further output data comprises: circuitry for generating the further prediction associated with a predefined portion of the set of spatially distributed portions of the material associated with the product; the predefined portion corresponding to a predefined node of the set of nodes.STSL, MTSL, STML, MTML

[0227] Clause 31 : The system as in any of clauses 27 to 30, in which the set of spatially distributed portions of the material associated with the product comprises:a set of single dimension spatially distributed portions of the material associated with the product, wherein the set of nodes and edges comprises an active node connected to at least one, or both, of: a set of preceding nodes and a set of succeeding nodes; optionally, the set of preceding nodes comprises at least one immediately adjacent preceding node, the set of succeeding nodes comprises at least one immediately adjacent succeeding node.

[0228] Clause 32: The system as in any of clauses 27 to 31 , in which the set of spatially distributed portions of the material associated with the product comprises: a set of 2D spatially distributed portions of the material associated with the product, wherein the set of nodes and edges comprises an active node connected to a set of surrounding nodes distributed in a common plane; optionally, the set of surrounding nodes distributed in the common plane comprises at least one, or more than one, of: a set of coplanar preceding nodes, optionally comprising at least one immediately adjacent preceding node, a set of coplanar succeeding nodes, optionally comprising at least one immediately adjacent succeeding node, a set of coplanar transverse nodes, optionally comprising at least one, or both, of: a set of right disposed adjacent nodes and a set of left disposed adjacent nodes.

[0229] Clause 33: The system as in any of clause 27 to 32, in which the set of spatially distributed portions of the material associated with the product comprises: a set of 3D spatially distributed portions of the material associated with the product, wherein the set of nodes and edges comprises an active node connected to a set of surrounding nodes distributed in a volume; optionally, the set of surrounding nodes distributed in the volume comprises at least one, or more than one, of: at least one set, or a plurality of sets, of coplanar preceding nodes, optionally comprising at least one immediately adjacent preceding node, at least one set, or a plurality of sets, of coplanar succeeding nodes, optionally comprising at least one immediately adjacent succeeding node, at least one set, or a plurality of sets, of coplanar transverse nodes, optionally comprising at least one, or both, of: a set of right disposed adjacent coplanar node and a set of left disposed adjacent coplanar nodes.Edges & attention coefficients

[0230] Clause 34: The system of any of clauses 27 to 33, in which:each edge of the set of edge comprises respective edge storage for storing a respective edge feature of a set of edge features associated with a connection between respective portions of the set of spatially distributed portions of the material associated with the product; the graph network configuration data additionally comprising: edge configuration data for each edge of the set of edges to provide or generate a respective measure of importance for each edge of the set edges; the graph network configuration data to provide or generate the respective measure of importance for each edge of the set edges supporting generating the further output data in response to: the further input node features and further input edge features for each node and edge in the sets of nodes and edges. optionally, the graph network configuration data comprising graph training data additionally comprising: training edge data for each edge of the set of edges; and in which circuitry to generate the trained network comprises: circuitry for generating the trained graph using the graph training data; the trained graph comprising trained graph data to generate a respective measure of importance for each edge of the set edges; the trained graph data to generate the respective measure of importance for each edge of the set edges supporting generating the further output data in response to: the further input node features and further input edge features for each node and edge in the sets of nodes and edges.Possible edge features

[0231] Clause 35: The system as in clause 34, in which the set of edge features associated with a connection between respective portions of the set of spatially distributed portions of the material associated with the product comprises at least one or more than one of the following taken jointly and severally in any and all permutations: a label providing an indication of a connection type of a respective edge and a distance metric associated with a distance between respective node pairs of the set of nodes.

[0232] Clause 36: The system as in clause 35, in which the label providing an indication of a connection type of a respective edge comprises one or more than one of the following taken jointly and severally in any and all permutations: a label indicating a connection with a preceding track, a connection with a current track, a connection with a subsequent track, a connection with a preceding layer, a connection with a current layer, and a connection with a subsequent layer.Include interface for receiving set of edge feature vectors

[0233] Clause 37: A system as in any of clause 27 to 36, comprising an input interface for receiving the set of edge features, and an encoder for mapping the received set of edge features to respective edge storage of respective edges of the set of edges.Detail of possible node featuresMeasurementClause 38: The system of any of clauses 27 to 37, the set of node features associated with the respective portion of the set of spatially distributed portions of the material comprises: a measurement associated with the respective portion, optionally, the measurement is an optical measurement, optionally, the measurement relates to the temperature of the respective portion of the set of spatially distributed portions of the material.Position data

[0234] Clause 39: The system of clause 38, in which the set of nodes features comprises position data relating to the position of the respective portion withing a coordinate system associated with the material.Other possible features

[0235] Clause 40: The system of either of clauses 38 to 39, in which the set of node features comprises at least one or more than one of the following elements taken jointly and severally in any and all permutations, but not limited to: { light intensity, maximum light intensity, an area of the respective portion, a dimension of the respective portion, a major axis length of the respective portion, a minor axis length of the respective portion, a number of spatter particles, linear dynamic signature, scan direction, relative temporal position, the track number, node number, relative build layer to a feature / defect}.Include interface for receiving set of node feature vectors

[0236] Clause 41 : A system as in any of clauses 27 to 40, comprising an input interface for receiving the set of node features, and an encoder for mapping the received set of node features to respective node embeddings of respective nodes of the set of nodes.Attention network / attention encoder

[0237] Clause 42: The system of any of clauses 27 to 41 , comprising an attention network; the attention network comprising learnable attention parameters to specify attention associated with pairs of features of the graph.

[0238] Clause 43: The system of clause 42, in which the attention associated with pairs of features of the graph comprises attention between at least two nodes of the graph.

Claims

1. CLAIMS1 . A feature detection system to generate a prediction of a feature of a product produced by an additive manufacturing system to identify faults in additive manufacturing products, the feature detection system comprising: a. an interface for receiving sensor data derived from a material bed associated with the product; b. circuitry realising a graph network comprising: i. a set of nodes and a set of edges; the sets of nodes and edges defining a structure associated with a set of spatially distributed portions of a material associated with the product; ii. each node of the set of nodes having a respective feature vector for storing a respective set of node features associated with a respective portion of the set of spatially distributed portions of the material associated with the product; each feature vector being derived from said sensor data; andHi. graph network configuration data associated with the sets of nodes and edges; the graph network configuration data associated with the sets of nodes and edges supporting generating, in response to input node features for each node in the set of nodes, output data comprising a prediction associated with a predefined portion of the set of spatially distributed portions of the material associated with the product; the predefined portion corresponding to a predefined node of the set of nodes.

2. The system as claimed in claim 1 , wherein graph network configuration data associated with the sets of nodes and edges comprises: trained graph network data comprising at least one, or both, of: trained weights and trained biases associated with the sets of nodes and edges; the trained graph network data associated with the sets of nodes and edges supporting generating, in response to input node features for each node in the set of nodes, output data comprising a prediction associated with a predefined portion of the set of spatially distributed portions of the material associated with the product; the predefined portion corresponding to a predefined node of the set of nodes.

3. The system as claimed in claim 1 or 2, comprising: a. a feedforward network for generating the further output data associated with at least one node of the set of node; the feedforward network comprising: i. a set of at least one, or both, of: weights and biases for each layer in a set of feedforward layers for generating the further output data associated with at least one node of the set of nodes;b. optionally, the feedforward network comprises: i. at least one, or both, of: a set of trained weights and a set of trained biases for each layer in the set of feedforward layers.

4. The system as claimed in claim 3, in which the feedforward network comprises at least a pair of feedforward layers, optionally, the feedforward network comprises a number of fully connected layer.

5. The system as claimed in any of claims 1 to 4, in which the circuitry for generating the further output data comprises: c. circuitry for generating the further prediction associated with a predefined portion of the set of spatially distributed portions of the material associated with the product; the predefined portion corresponding to a predefined node of the set of nodes.

6. The system as claimed in any of claims 1 to 5, in which the set of spatially distributed portions of the material associated with the product comprises: d. a set of single dimension spatially distributed portions of the material associated with the product, e. wherein the set of nodes and edges comprises an active node connected to at least one, or both, of: a set of preceding nodes and a set of succeeding nodes; i. optionally,1 . the set of preceding nodes comprises at least one immediately adjacent preceding node,2. the set of succeeding nodes comprises at least one immediately adjacent succeeding node.

7. The system as claimed in any of claims 1 to 6, in which the set of spatially distributed portions of the material associated with the product comprises: f. a set of 2D spatially distributed portions of the material associated with the product, g. wherein the set of nodes and edges comprises an active node connected to a set of surrounding nodes distributed in a common plane; i. optionally, the set of surrounding nodes distributed in the common plane comprises at least one, or more than one, of:1 . a set of coplanar preceding nodes, optionally comprising at least one immediately adjacent preceding node,2. a set of coplanar succeeding nodes, optionally comprising at least one immediately adjacent succeeding node,3. a set of coplanar transverse nodes, optionally comprising at least one, or both, of: a set of right disposed adjacent nodes and a set of left disposed adjacent nodes.

8. The system as claimed in any of claim 1 to 7, in which the set of spatially distributed portions of the material associated with the product comprises: h. a set of 3D spatially distributed portions of the material associated with the product, i. wherein the set of nodes and edges comprises an active node connected to a set of surrounding nodes distributed in a volume; i. optionally, the set of surrounding nodes distributed in the volume comprises at least one, or more than one, of:

1. at least one set, or a plurality of sets, of coplanar preceding nodes, optionally comprising at least one immediately adjacent preceding node,2. at least one set, or a plurality of sets, of coplanar succeeding nodes, optionally comprising at least one immediately adjacent succeeding node,3. at least one set, or a plurality of sets, of coplanar transverse nodes, optionally comprising at least one, or both, of: a set of right disposed adjacent coplanar node and a set of left disposed adjacent coplanar nodes.

9. The system of any of claims 1 to 8, in which: j. each edge of the set of edge comprises respective edge storage for storing a respective edge feature of a set of edge features associated with a connection between respective portions of the set of spatially distributed portions of the material associated with the product; k. the graph network configuration data additionally comprising: i. edge configuration data for each edge of the set of edges to provide or generate a respective measure of importance for each edge of the set edges; the graph network configuration data to provide or generate the respective measure of importance for each edge of the set edges supporting generating the further output data in response to:1 . the further input node features and2. further input edge features for each node and edge in the sets of nodes and edges. l. optionally, the graph network configuration data comprising graph training data additionally comprising: training edge data for each edge of the set of edges; and m. in which circuitry to generate the trained network comprises:i. circuitry for generating the trained graph using the graph training data; the trained graph comprising trained graph data to generate a respective measure of importance for each edge of the set edges; the trained graph data to generate the respective measure of importance for each edge of the set edges supporting generating the further output data in response to:1 . the further input node features and2. further input edge features for each node and edge in the sets of nodes and edges.

10. The system as claimed in claim 9, in which the set of edge features associated with a connection between respective portions of the set of spatially distributed portions of the material associated with the product comprises at least one or more than one of the following taken jointly and severally in any and all permutations: n. a label providing an indication of a connection type of a respective edge and o. a distance metric associated with a distance between respective node pairs of the set of nodes.11 . The system as claimed in claim 10, in which the label providing an indication of a connection type of a respective edge comprises one or more than one of the following taken jointly and severally in any and all permutations: p. a label indicating a connection with a preceding track, q. a connection with a current track, r. a connection with a subsequent track, s. a connection with a preceding layer, t. a connection with a current layer, and u. a connection with a subsequent layer.

12. A system as claimed in any of claim 1 to 11 , comprising an input interface for receiving the set of edge features, and an encoder for mapping the received set of edge features to respective edge storage of respective edges of the set of edges.

13. The system of any of claims 1 to 12, the set of node features associated with the respective portion of the set of spatially distributed portions of the material comprises: v. a measurement associated with the respective portion, w. optionally, the measurement is an optical measurement, x. optionally, the measurement relates to the temperature of the respective portion of the set of spatially distributed portions of the material.

14. The system of claim 13, in which the set of nodes features comprises position data relating to the position of the respective portion withing a coordinate system associated with the material.

15. The system of either of claims 13 to 14, in which the set of node features comprises at least one or more than one of the following elements taken jointly and severally in any and all permutations, but not limited to: { y. light intensity, z. maximum light intensity, aa. an area of the respective portion, bb. a dimension of the respective portion, cc. a major axis length of the respective portion, dd. a minor axis length of the respective portion, ee. a number of spatter particles, ff. linear dynamic signature, gg. scan direction, hh. relative temporal position, ii. the track number, jj. node number, kk. relative build layer to a feature / defect}.

16. A system as claimed in any of claims 1 to 15, comprising an input interface for receiving the set of node features, and an encoder for mapping the received set of node features to respective node embeddings of respective nodes of the set of nodes.

17. The system of any of claims 1 to 16, comprising an attention network; the attention network comprising learnable attention parameters to specify attention associated with pairs of features of the graph; optionally, the attention associated with pairs of features of the graph comprises attention between at least two nodes of the graph.

18. A system for generating a feature detection system for generating a prediction of a feature of a product produced by an additive manufacturing system; the system for training comprising circuitry for: accessing a graph comprising a set of nodes and a set of edges; the sets of nodes and edges defining a structure associated with a set of spatially distributed portions of a material associated with the product;each node of the set of nodes having a respective feature vector for storing a respective set of node features associated with a respective portion of the set of spatially distributed portions of the material associated with the product, each feature vector being derived from sensor data derived from a material bed associated with the product; an input interface for accessing a set of graph network configuration data; the graph network configuration data comprising: a set of input node features for each node of the set of nodes and corresponding training output data; the training output data being associated with the prediction of the feature of the product; generating a trained graph network using the graph training data; the trained graph network comprising: trained graph network data comprising at least one, or both, of: trained weights and trained biases associated with the sets of nodes and edges; the trained graph network data associated with the sets of nodes and edges supporting generating, in response to further input node features for each node in the set of nodes, further output data comprising a further prediction associated with a predefined portion of the set of spatially distributed portions of the material associated with the product; the predefined portion corresponding to a predefined node of the set of nodes.

19. The system as claimed in claim 18, in which the circuitry for generating a trained graph network comprises: a feedforward network for generating the further output data associated with at least one node of the set of nodes; the feedforward network comprising a set of trained weights and biases for each layer in the set of feedforward layers.

20. The system as claimed in claim 19, in which the feedforward network comprises at least a pair of feedforward layers, optionally, the feedforward network comprises a number of fully connected layers.21 . The system as claimed in any of claims 18 to 20, in which the circuitry for generating the further output data comprises: circuitry for generating the further prediction associated with a predefined portion of the set of spatially distributed portions of the material associated with the product; the predefined portion corresponding to a predefined node of the set of nodes.

22. The system as claimed in any one of claims 18 to 21 , in which the set of spatially distributed portions of the material associated with the product comprises: a set of single dimension spatially distributed portions of the material associated with the product,wherein the set of nodes and edges comprises an active node connected to at least one, or both, of: a set of preceding nodes and a set of succeeding nodes; optionally, the set of preceding nodes comprises at least one immediately adjacent preceding node, the set of succeeding nodes comprises at least one immediately adjacent succeeding node.

23. The system as claimed in any one of claims 18 to 22, in which the set of spatially distributed portions of the material associated with the product comprises: a set of 2D spatially distributed portions of the material associated with the product, wherein the set of nodes and edges comprises an active node connected to a set of surrounding nodes distributed in a common plane; optionally, the set of surrounding nodes distributed in the common plane comprises at least one, or more than one, of: a set of coplanar preceding nodes, optionally comprising at least one immediately adjacent preceding node, a set of coplanar succeeding nodes, optionally comprising at least one immediately adjacent succeeding node, a set of coplanar transverse nodes, optionally comprising at least one, or both, of: a set of right disposed adjacent nodes and a set of left disposed adjacent nodes.

24. The system as claimed in any one of claims 18 to 23, in which the set of spatially distributed portions of the material associated with the product comprises: a set of 3D spatially distributed portions of the material associated with the product, wherein the set of nodes and edges comprises an active node connected to a set of surrounding nodes distributed in a volume; optionally, the set of surrounding nodes distributed in the volume comprises at least one, or more than one, of: at least one set, or a plurality of sets, of coplanar preceding nodes, optionally comprising at least one immediately adjacent preceding node, at least one set, or a plurality of sets, of coplanar succeeding nodes, optionally comprising at least one immediately adjacent succeeding node, at least one set, or a plurality of sets, of coplanar transverse nodes, optionally comprising at least one, or both, of: a set of right disposed adjacent coplanar node and a set of left disposed adjacent coplanar nodes.

25. The system of any one of claim 18 to 24, in which: each edge of the set of edges comprises respective edge storage for storing a respective edge feature of a set of edge features associated with a connection between respective portions of the set of spatially distributed portions of the material associated with the product; the graph training data additionally comprising: training edge data for each edge of the set of edges; and in which circuitry to generate the trained graph network comprises: circuitry for generating the trained graph network using the graph training data; the trained graph network comprising trained graph data to generate a respective measure of importance for each edge of the set edges; the trained graph network data to generate the respective measure of importance for each edge of the set edges supporting generating the further output data in response to: the further input node features and further input edge features for each node and edge in the sets of nodes and edges.

26. The system as claimed in claim 25, in which the set of edge features associated with a connection between respective portions of the set of spatially distributed portions of the material associated with the product comprises at least one or more than one of the following taken jointly and severally in any and all permutations: a label providing an indication of a connection type of a respective edge and a distance metric associated with a distance between respective node pairs of the set of nodes.

27. The system as claimed in claim 26, in which the label providing an indication of a connection type of a respective edge comprises one or more than one of the following taken jointly and severally in any and all permutations: a label indicating a connection with a preceding track, a connection with a current track, a connection with a subsequent track, a connection with a preceding layer, a connection with a current layer, and a connection with a subsequent layer.

28. A system as claimed in any one of claim 1 to 27, comprising an input interface for receiving the set of edge features, and an encoder for mapping the received set of edge features to respective edge storage of respective edges of the set of edges.

29. The system of any one of claims 1 to 28, the set of node features associated with the respective portion of the set of spatially distributed portions of the material comprises: a measurement associated with the respective portion, optionally the measurement is an optical measurement, optionally the measurement relates to the temperature of the respective portion of the set of spatially distributed portions of the material.

30. The system of claim 29, in which the set of nodes features comprises position data relating to the position of the respective portion withing a coordinate system associated with the material.31 . The system of either of claims 29 to 30, in which the set of node features comprises at least one or more than one of the following elements taken jointly and severally in any and all permutations, but not limited to: { light intensity, maximum light intensity, an area of the respective portion, a dimension of the respective portion, a major axis length of the respective portion, a minor axis length of the respective portion, a number of spatter particles, dynamic signature, scan direction, relative temporal position, the track number, node number, relative build layer to a feature / defect}.

32. The system as claimed in one of claims 18 to 31 , comprising an input interface for receiving the set of node features, and an encoder for mapping the received set of node features to respective node embeddings of respective nodes of the set of nodes.

33. The system of any one of claims 18 to 32, comprising an attention network; the attention network comprising learnable attention parameters to specify attention associated with pairs of features of the graph.

34. The system of claim 34, in which the attention associated with pairs of features of the graph comprises attention between at least two nodes of the graph.

35. A data structure storing data defining a graph network; the graph network being arranged to generate a prediction of a feature of a product produced by an additive manufacturing system to identify faults in additive manufacturing products, the graph network comprising: a. a set of nodes and a set of edges; the sets of nodes and edges defining a structure associated with a set of spatially distributed portions of a material associated with the product; b. each node of the set of nodes having a respective feature vector for storing a respective set of node features associated with a respective portion of the set of spatially distributed portions of the material associated with the product, each feature vector being derived from sensor data derived from a material bed associated with the product; and i. graph network configuration data associated with the sets of nodes and edges; the graph network configuration data associated with the sets of nodes and edges supporting generating, in response to input node features for each node in the set of nodes, output data comprising a prediction associated with a predefined portion of the set of spatially distributed portions of the material associated with the product; the predefined portion corresponding to a predefined node of the set of nodes.

36. The data structure as claimed in claim 35, wherein graph network configuration data associated with the sets of nodes and edges comprises: trained graph network data comprising at least one, or both, of: trained weights and trained biases associated with the sets of nodes and edges; the trained graph network data associated with the sets of nodes and edges supporting generating, in response to input node features for each node in the set of nodes, output data comprising a prediction associated with a predefined portion of the set of spatially distributed portions of the material associated with the product; the predefined portion corresponding to a predefined node of the set of nodes.

37. The data structure as claimed in claim 35 or 36, further comprising: a. a set of at least one, or both, of: weights and biases for each layer in a set of feedforward layers for generating the further output data associated with at least one node of the set of nodes; b. optionally, the set of at least one, or both, of the: weights and biases comprising: i. a set of at least one, or both, of: trained weights and trained biases for each layer in a set of feedforward layers for generating the further output data associated with at least one node of the set of nodes.

38. The data structure as claimed in claim 37, in which the set of at least one, or both, of: weights and biases for each layer in the set of feed forward layers comprises: a. at least one, or both, of: weights and biases associated with a number of fully connected layers; b. optionally, at least one, or both, of: trained weights and trained biases associated with a number of fully connected layers.

39. The data structure of any of claims 35 to 38, in which the set of spatially distributed portions of the material associated with the product comprises: a. a set of single dimension spatially distributed portions of the material associated with the product, b. wherein the set of nodes and edges comprises an active node connected to at least one, or both, of: a set of preceding nodes and a set of succeeding nodes; i. optionally,1 . the set of preceding nodes comprises at least one immediately adjacent preceding node,2. the set of succeeding nodes comprises at least one immediately adjacent succeeding node.

40. The data structure as claimed in any of claims 35 to 39, in which the set of spatially distributed portions of the material associated with the product comprises: a. a set of 2D spatially distributed portions of the material associated with the product, b. wherein the set of nodes and edges comprises an active node connected to a set of surrounding nodes distributed in a common plane; i. optionally, the set of surrounding nodes distributed in the common plane comprises at least one, or more than one, of:1 . a set of coplanar preceding nodes, optionally comprising at least one immediately adjacent preceding node,2. a set of coplanar succeeding nodes, optionally comprising at least one immediately adjacent succeeding node,3. a set of coplanar transverse nodes, optionally comprising at least one, or both, of: a set of right disposed adjacent nodes and a set of left disposed adjacent nodes.41 . The data structure as claimed in any of claims 35 to 40, in which the set of spatially distributed portions of the material associated with the product comprises: a. a set of 3D spatially distributed portions of the material associated with the product,b. wherein the set of nodes and edges comprises an active node connected to a set of surrounding nodes distributed in a volume; i. optionally, the set of surrounding nodes distributed in the volume comprises at least one, or more than one, of:

1. at least one set, or a plurality of sets, of coplanar preceding nodes, optionally comprising at least one immediately adjacent preceding node,2. at least one set, or a plurality of sets, of coplanar succeeding nodes, optionally comprising at least one immediately adjacent succeeding node,3. at least one set, or a plurality of sets, of coplanar transverse nodes, optionally comprising at least one, or both, of: a set of right disposed adjacent coplanar node and a set of left disposed adjacent coplanar nodes.

42. The data structure of any of claims 35 to 41 , comprising: a. graph configuration data to generate a respective measure of importance for each edge of the set edges; the graph configuration data to generate the respective measure of importance for each edge of the set edges supporting generating the further output data in response to:1 . the further input node features and2. further input edge features for each node and edge in the sets of nodes and edges; b. optionally, the graph configuration data to generate a respective measure of importance for each edge of the set edges comprises: i. trained graph data to generate a respective measure of importance for each edge of the set edges; the trained graph data to generate the respective measure of importance for each edge of the set edges supporting generating the further output data in response to:1 . the further input node features and2. further input edge features for each node and edge in the sets of nodes and edges.

43. The data structure as claimed in claim 42, in which the set of edge features associated with a connection between respective portions of the set of spatially distributed portions of the material associated with the product comprises at least one or more than one of the following taken jointly and severally in any and all permutations: a. a label providing an indication of a connection type of a respective edge andb. a distance metric associated with a distance between respective node pairs of the set of nodes.

44. The data structure as claimed in claim 43, in which the label providing an indication of a connection type of a respective edge comprises one or more than one of the following taken jointly and severally in any and all permutations: a. a label indicating a connection with a preceding track, b. a connection with a current track, c. a connection with a subsequent track, d. a connection with a preceding layer, e. a connection with a current layer, and f. a connection with a subsequent layer.