Additive manufacturing enables the construction of three-dimensional objects from digital representations of the objects. In recent years additive manufacturing has advanced to the point that additive manufacturing processes are deployable at an industrial scale.
Additive manufacturing techniques enable the production of controlled objects (COs). COs may be counterfeit or illegal goods or goods which are subject to copyright, licensing or regulations. In recent years concerns have been raised over the proliferation of additively manufactured weapons and fake parts. In response, measures are being introduced to deter manufacturing of COs.
In the following description, for purposes of explanation, numerous specific details of certain examples are set forth. Reference in the specification to “an example” or similar language means that a particular feature, structure, or characteristic described in connection with the example is included in at least that one example, but not necessarily in other examples.
Additive manufacturing has revolutionized industry and has brought many new opportunities for individuals and businesses. In recent years concerns have been raised among legislators and industry about the proliferation of so-called controlled objects (COs). COs are objects that may be subject to legal protection, regulation or restrictions such as objects protected by intellectual property or illicit objects such as weapons.
When a potential CO is encountered in a print job, a policy or action may be applied, for example, to prevent manufacturing of the identified CO or to alert factory operators or other authorities. In order to determine whether a given object in a print job is a CO, information about COs that is available locally in a printing system at the edge of the network may be used to enable comparison of the object with known COs. Unfortunately, in this scenario, if blueprints for a CO are stored in a readily obtainable and readable format then the CO could be extracted and leaked to an attacker.
Instead of storing CO blueprints at the printer itself, the blueprints may be replaced with data representative of the CO, referred to herein as confidentiality preserving descriptors (CPDs). CPDs have the following properties: CPDs are non-reversible representations of three-dimensional objects which prevent the COs being restored or reverse engineered with any accuracy. CPDs contain essential information about the geometry of the CO in a compressed low-data and low-dimensional form. CPDs are also quick to compute and efficient to match, being discriminative and invariant to rigid transformations. Furthermore, to ensure integrity and immutability CPDs are accompanied by a digital signature. This prevents accidental or intentional corruption or modification of the CPD.
Generally, the probability of encountering a CO during a print job is relatively low. Hence, the methods described herein may be used to ensure that productivity & throughput are not significantly impacted by the task of checking whether a given object is a CO.
The methods and system described herein provide a Multi-Layered System (MLS) framework for filtering out non-COs in an efficient manner. In particular, a system architecture for determination of multiple COs within a 3D printing system is described based on a multi-layered, hierarchical rejection/acceptance approach. The MLS may be optimized for each individual CO. Each layer of the MLS comprises a parallelizable set of determination/rejection processes which use CPDs to compare an object to CPDs of COs in a database. The accuracy of the determination/rejection processes increases from one layer to the next layer from fast rejection processes on initial layers to accurate determination but more computationally expensive processes on the latter layers. Processes on the same layer are of similar criticality and computational complexity. A decision whether to progress to the next layer is based on results of all processes on the current layer.
Some types of CPDs such as simple feature based CPDs enable rapid computation and rejection. For examples CPDs based on the computation of the volume of objects or object genus are relatively quick to compute. Other types of CPDs are more fine-grained and enable positive determination such as those based on Spherical Harmonic Transformation (SHT) or extended Gaussian images.
In addition to the MLS framework, a configurable strategy to define a subset of processes and related CPDs on each layer which are relevant and optimal for determination of a particular CO is provided. This allows omission of irrelevant or non-representative processes for a particular CO.
In
According to examples described herein, when the additive manufacturing apparatus 120 receives a data file to print an object, it first checks whether the three-dimensional object represented by the data file is a CO. The additive manufacturing apparatus 120 is communicatively coupled to a database 160. The database 160 is a secure trusted storage accessible by the additive manufacturing apparatus 120, during operations. Information relating to COs including CPDs, identification strategy and policy are stored in the database 160. The database 160 may function in an offline state after receiving updates from the secure entity 130.
The example of MLS 200 comprises three layers of processes: a first layer 210, a second 220 and a third layer 230. The number of layers and the number of processes in the layers may be any number and may depend on the complexity of the analysis for a specific CO. The arrow 240 is indicative of an increasing computational complexity of the processes. The connecting lines in
At block 420, the method comprises selecting a layer, L, of the MLS specified by the strategy, S. At block 425, all processes for the layer, L, are executed to determine CPDs for the object, B. At block 430, the CPDs for the object B are compared with the CPDs of the CO. At block 435, if the object B is determined to not be the same as the CO, then at block 440, it is determined whether there are more controlled objects in the database 160. If there are more controlled objects in the database 160, at block 445 the next CO is selected at the method returns to block 415. Else, if the object is determined to be the CO, then at block 450 it is reported that the object is the CO to the additive manufacturing apparatus 120. At block 455, if it is undetermined whether the object B is the CO then it is determined whether there are more layers in the MLS. If there are more layers in the MLS then the next layer is selected at block 460 and the method returns to block 425 so that the processes for the next layer are executed.
In
According to examples, authorities or copywrite owners may initiate a process of inclusion of an object as a controlled object into the database 160. The 3D description of the controlled object is processed to calculate the object's CPDs. CPDs for all or only relevant determination/rejection processes are computed. Keeping all relevant CPDs with diverse discriminative features increases robustness and accuracy of identification. In some cases, a determination of acceptability thresholds for identifying the controlled object may be made. The calculated CPDs are digitally signed by an authority, so prevent unauthorized modifications of descriptor. An identification strategy may also be determined for the object. This may include determining which processes are to be computed within each layer similar to the MLS shown in
The methods and systems described herein provide a Multi-Layered System (MLS) that provides parallelization in the identification of controlled objects. The determination/rejection processes on the same layer are of similar complexity and are computed simultaneously, thus efficiently utilizing available computational resources and minimizing response time. Use of multiple processes for determination of each CO provides a system with robustness and resilience against accidental or malicious modifications of design. The system provides fine-tuning for rapid rejection or rapid detection of an object as a particular CO, based on essential properties and attributes of the CO. The proposed system is easily extendable. New methods of identification and new COs can be added, when new threats are detected without re-training of the overall system. Furthermore, the system is easily customizable to be country-specific to reflect local legislation and to be fine-tuned to local threats.
The present disclosure is described with reference to flow charts and/or block diagrams of the method, devices and systems according to examples of the present disclosure. Although the flow diagrams described above show a specific order of execution, the order of execution may differ from that which is depicted. Blocks described in relation to one flow chart may be combined with those of another flow chart. In some examples, some blocks of the flow diagrams may not be necessary and/or additional blocks may be added. It shall be understood that each flow and/or block in the flow charts and/or block diagrams, as well as combinations of the flows and/or diagrams in the flow charts and/or block diagrams can be realized by machine readable instructions.
The machine-readable instructions may, for example, be executed by a general-purpose computer, a special purpose computer, an embedded processor or processors of other programmable data processing devices to realize the functions described in the description and diagrams. In particular, a processor or processing apparatus may execute the machine-readable instructions. Thus, modules of apparatus may be implemented by a processor executing machine-readable instructions stored in a memory, or a processor operating in accordance with instructions embedded in logic circuitry. The term ‘processor’ is to be interpreted broadly to include a CPU, processing unit, ASIC, logic unit, or programmable gate set etc. The methods and modules may all be performed by a single processor or divided amongst several processors.
Such machine-readable instructions may also be stored in a computer readable storage that can guide the computer or other programmable data processing devices to operate in a specific mode.
For example, the instructions may be provided on a non-transitory computer readable storage medium encoded with instructions, executable by a processor.
Such machine-readable instructions may also be loaded onto a computer or other programmable data processing devices, so that the computer or other programmable data processing devices perform a series of operations to produce computer-implemented processing, thus the instructions executed on the computer or other programmable devices provide an operation for realizing functions specified by flow(s) in the flow charts and/or block(s) in the block diagrams.
Further, the teachings herein may be implemented in the form of a computer software product, the computer software product being stored in a storage medium and comprising a plurality of instructions for making a computer device implement the methods recited in the examples of the present disclosure.
While the method, apparatus and related aspects have been described with reference to certain examples, various modifications, changes, omissions, and substitutions can be made without departing from the present disclosure. In particular, a feature or block from one example may be combined with or substituted by a feature/block of another example.
The word “comprising” does not exclude the presence of elements other than those listed in a claim, “a” or “an” does not exclude a plurality, and a single processor or other unit may fulfil the functions of several units recited in the claims.
The features of any dependent claim may be combined with the features of any of the independent claims or other dependent claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2022/024902 | 4/14/2022 | WO |