WO2023200448A1 - Controlled object identification - Google Patents

Controlled object identification Download PDF

Info

Publication number
WO2023200448A1
WO2023200448A1 PCT/US2022/024901 US2022024901W WO2023200448A1 WO 2023200448 A1 WO2023200448 A1 WO 2023200448A1 US 2022024901 W US2022024901 W US 2022024901W WO 2023200448 A1 WO2023200448 A1 WO 2023200448A1
Authority
WO
WIPO (PCT)
Prior art keywords
vector
essential
data values
dimensional object
descriptors
Prior art date
Application number
PCT/US2022/024901
Other languages
French (fr)
Inventor
Yelena Helen BALINSKY
Ihar Volkau
Abdul MUJEEB
Original Assignee
Hewlett-Packard Development Company, L.P.
Nanyang Technological University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett-Packard Development Company, L.P., Nanyang Technological University filed Critical Hewlett-Packard Development Company, L.P.
Priority to PCT/US2022/024901 priority Critical patent/WO2023200448A1/en
Publication of WO2023200448A1 publication Critical patent/WO2023200448A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts

Definitions

  • Additive manufacturing processes enable the construction of three-dimensional objects from digital representations of the object.
  • additive manufacturing has advanced to the point that additive manufacturing processes are deployable at an industrial scale.
  • COs controlled objects
  • COs are objects that may be subject to copyright, licensing or regulations, or counterfeit or illegal goods according to local or international laws.
  • concerns have been over the proliferation of additively manufactured weapons and fake parts.
  • legal measures are being introduced to deter manufacturing of COs.
  • Figure 1 is a schematic diagram showing the obfuscation of a controlled object, according to an example
  • Figure 2 is a schematic diagram showing a modification to a controlled object, according to an example
  • Figure 3 is a block diagram showing a method for generating descriptors of a three- dimensional object, according to an example
  • Figure 4 is a block diagram showing a method for analysing a three-dimensional object, according to an example
  • Figure 5 is a schematic diagram showing a processor and memory, according to an example.
  • COs controlled objects
  • FIG. 1 is a schematic diagram 100 showing the obfuscation of a CO, according to an example.
  • a CO 110 which in this case is a handgun, is concealed in a bounding box 120.
  • other possibly random non-CO objects may be used to conceal the CO 110.
  • the bounding box 120 creates a visual appearance that the outer object is being manufactured. Once the attacker receives the object the outer shell may be removed to obtain the CO.
  • FIG. 2 is a schematic diagram 200 showing the obfuscation of a CO, according to a second example.
  • an attacker modifies or replace non- essential and non-functional surfaces to avoid recognition/detection by inspection, whilst preserving the core functionality.
  • the handgun 210 is concealed by being placed in an outer shell of a drill 220. This creates an appearance that the drill 220 is being produced during manufacturing.
  • the methods and systems described herein provide means for identifying modified or disguised objects, when an object that is to be manufactured, referred to herein as an Object Under Analysis (OUA) does not feature a full resemblance to a corresponding CO, but where the OUA retains the critical or essential functionality of the CO.
  • OUA Object Under Analysis
  • the methods described herein enable identification of a partial match between an OUA and a CO, where matching occurs with fragments that encapsulate the CO’s core functionality.
  • Any object may be considered as a group of components where each component has a certain purpose: either utilitarian or decorative, or both. Design of certain components is fixed as they represent the core functionality of the object itself. Such components are referred to herein as essential surfaces of the CO. Essential surfaces encompass the portions of the CO which may not be modified without impeding the CO’s functionality. For example, in the case of a handgun an object that matches the handle, which is not an essential surface of a gun might not be an object of concern, whilst an object that matches the gun barrel would be considered an object of concern.
  • the methods described herein may be applied in situations where non-essential surfaces of a CO are modified, where a CO is intentionally concealed inside another benign object as shown in Figure 1 , or where a CO is designed with a different benign shape as shown in Figure 2.
  • Information specifying which surfaces of a CO are essential surfaces may be provided with human input from an expert or generated through a detection process using, for example, artificial intelligence.
  • Three-dimensional objects comprise of surfaces which may be classified into different types. At the top level of taxonomy, these surfaces may be described as having planar and non-planar geometry. A more elaborate taxonomy of surface may include planar, swept, revolved, and other types of surfaces possessing common properties. Distinctive classes of surfaces may specify a surface property. For example, a classification of surfaces may include the following:
  • Figure 3 is a schematic diagram showing a method 300 for generating and storing descriptors of a three-dimensional object, according to an example.
  • the method 300 may be used in conjunction with the other methods and systems described herein.
  • the method 300 may be used to generate descriptors of a CO at a dedicated secure facility which may be used in a method to identify a concealed essential surface of a CO in an object.
  • the method 300 comprises obtaining a digital representation of a three- dimensional object.
  • the three-dimensional object may be a CO as described herein.
  • the digital representation may be uploaded to a computing system in a dedicated secure facility that handles data relating to COs.
  • the representation may be partitioned into a set of surfaces. Partitioning of the object into surfaces may be performed automatically and, in some cases, using a taxonomy as previously described. For example, the surfaces may be arranged according to curvature or where edges of the object meet. According to examples, adjacent surfaces may be combined according to functionality groups.
  • the method 300 comprises identifying essential surfaces of the three- dimensional object from the digital representation.
  • Each of the essential surfaces corresponds to a functional element of the three-dimensional object.
  • identification of essential surfaces may be aided with human input. In other examples, identification of essential surfaces may be fully automated.
  • the essential surfaces may be identified as a common set of surfaces shared by the group.
  • the method 300 comprises generating a vector for each of the essential surfaces.
  • the vectors comprise data values where each data value comprises a descriptor of the essential surface.
  • descriptors may be parameters of the essential surface, or some other data values derived from the surface.
  • Descriptors may be assigned on the basis of a distinctive class the surface belongs to.
  • the vector of data values may comprise the following descriptor: area of S, perimeter length, number of holes in S, area of convex hull of S, open area of S, circularity or solidity of S where circularity is a shape descriptor indicating the degree of similarity to a perfect circle and solidity numerically describes whether a shape is convex or concave.
  • the method may comprise generating a further data value indicative of a tolerance threshold which may be used to identify the presence of the essential surface on or within another object. For example, where a descriptor specifies a number, A/, of holes of a planar surface, a threshold allow /V + 1 or N-1 holes.
  • the method 300 may further comprise a validation of descriptors.
  • the method may comprise validating the accuracy of the descriptors and/or the confidentiality of the descriptors.
  • the vectors of descriptors are stored securely in a database.
  • the vectors may be stored in a database in a secure facility. Storing the vectors of descriptors may comprise encoding the data values of the vectors according to an encoding scheme.
  • Figure 4 is a block diagram showing a method 400 for analysing a three-dimensional object, according to an example.
  • the method 400 may be used in conjunction with the other methods and systems described herein.
  • the method 400 may be used to analyse an object at an additive manufacturing site.
  • the method 400 may be implemented in, for example, a three-dimensional printing system.
  • the method 400 comprises obtaining a digital representation of a first three-dimensional object.
  • a digital representation may comprise a computer aided design of the object.
  • Obtaining a digital representation may comprise receiving object data at an additive manufacturing site and obtaining a digital representation of the object from the object data.
  • the method 400 comprises identifying a surface of the first three- dimensional object from the digital representation.
  • the representation of the first object may be partitioned into a set of surfaces, automatically, based on a taxonomy.
  • the identified surface may be determined from the set of surfaces.
  • the method 400 comprises generating a first vector of data values where each data value comprises a descriptor of the surface identified at block 420.
  • Descriptors may be calculated in a similar manner to the descriptors calculated for COs in the method 300. For example, descriptors may be determined on the basis of a distinctive class the surface belongs to.
  • the method 400 comprises obtaining a second vector of data values where each data value of the second vector of data values comprises a descriptor of an essential surface of a second three-dimensional object.
  • the second object may be a CO.
  • the essential surface corresponds to a functional element of the second three-dimensional object.
  • the second vector may be received from a secure facility that stores vectors of descriptors of essential surfaces for objects in a secure database.
  • the descriptors may be confidentiality preserving descriptors that do not reveal sufficient information to enable reconstruction of the second object.
  • the method 400 comprises determining whether the surface corresponds to the essential surface based on a comparison of the first vector of data values and the second vector of data values.
  • determining whether the identified surface corresponds to the essential surface based on a comparison of the first vector of data values and the second vector of data values may comprise determining whether the data values of the first vector are within a threshold of corresponding data values of the second vector. In other words, where a descriptor of the first surface is considered sufficiently close to a descriptor of an essential surface of the second object, the first object may be considered to correspond to the second object.
  • the first object may comprise the second object embedded within a third object.
  • the first object may correspond to a modification of the second object such that the modifications do not alter the functionality of the second object.
  • the method 400 may be used to identify an essential surface of the first object.
  • the method 400 may be repeated for each surface of the first object. If one or more surfaces are identified as corresponding to any of the essential surfaces of the second object then the first object may be prevented from being printed at the additive manufacturing facility.
  • the methods described herein allow in-depth identification of the hidden functionality of three-dimensional objects before printing and may be used to prevent special types of attacks unidentifiable by other methods.
  • advanced methods for detecting and identifying COs in additive manufacturing jobs develop, attackers will try to evade detection by intentionally modifying and obfuscating objects of interest by for example, changing the shape or appearance, whilst trying to preserve the core functionality of the object.
  • the methods described may be used to determine a partial matching between an object-under-identification and a corresponding CO based on the use of descriptors.
  • the partial matching does not result in false positives because matching is based on identification of surfaces corresponding to essential surfaces of COs which represent the COs core functionality.
  • the methods are applicable in at least the following use cases: where non- essential surfaces of a CO are modified to conceal the nature of the object, where a CO is embedded or hidden inside another benign object, or where a different object is designed with a different benign shape and look, while maintaining the same core functionality as the CO.
  • 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.
  • a processor or processing apparatus may execute the machine-readable instructions.
  • 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.
  • the instructions may be provided on a non-transitory computer readable storage medium encoded with instructions, executable by a processor.
  • Figure 5 shows an example of a processor 510 associated with a memory 520.
  • the memory 520 comprises computer readable instructions 530 which are executable by the processor 510.
  • the instructions cause the processor to identify a surface of a three-dimensional object based on a digital representation of the three-dimensional object and generate a vector for the surface, each vector comprising one or more data values, each data value comprising a descriptor of the surface.
  • the instructions can further comprising instructions to retrieve a set of descriptors corresponding to an essential surface of a further three-dimensional object, the essential surface corresponding to a functional component of the further three-dimensional object, compare the each data value of vector of the surface with corresponding descriptors of the set of descriptors, and determine whether a surface corresponds to the essential surface based on the comparison.
  • the descriptors of the surface can comprise an area, a perimeter length, a number of holes in the surface, an area of a convex hull, an open area, a circularity and/or a solidity of the surface.
  • the object in the event that the surface does not correspond to the essential surface, the object can be printed or manufactured using an additive manufacturing apparatus, such as a 3D printer for example. If a correspondence between the surface and the essential surface is detected, additional evaluation of the three- dimensional object can be performed. For example, an alert may be triggered, which can be used to prompt user intervention to review the results of the comparison for example.
  • an additive manufacturing apparatus such as a 3D printer for example.
  • 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.
  • 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.

Abstract

A method is provided comprising obtaining a digital representation of a first three-dimensional object, identifying a surface of the first three-dimensional object from the digital representation, generating a first vector of data values, each data value of the first vector comprising a descriptor of the surface, obtaining a second vector of data values, each data value of the second vector of data values comprising a descriptor of an essential surface of a second three-dimensional object, the essential surface corresponding to a functional element of the second three-dimensional object and determining whether the surface corresponds to the essential surface based on a comparison of the first vector of data values and the second vector of data values.

Description

CONTROLLED OBJECT IDENTIFICATION
BACKGROUND
[0001] Additive manufacturing processes enable the construction of three-dimensional objects from digital representations of the object. In recent years additive manufacturing has advanced to the point that additive manufacturing processes are deployable at an industrial scale.
[0002] Additive manufacturing techniques enable the production of controlled objects (COs). COs are objects that may be subject to copyright, licensing or regulations, or counterfeit or illegal goods according to local or international laws. In recent years concerns have been over the proliferation of additively manufactured weapons and fake parts. In response, legal measures are being introduced to deter manufacturing of COs.
BRIEF DESCRIPTION OF THE DRAWINGS
[0003] Figure 1 is a schematic diagram showing the obfuscation of a controlled object, according to an example;
[0004] Figure 2 is a schematic diagram showing a modification to a controlled object, according to an example;
[0005] Figure 3 is a block diagram showing a method for generating descriptors of a three- dimensional object, according to an example;
[0006] Figure 4 is a block diagram showing a method for analysing a three-dimensional object, according to an example;
[0007] Figure 5 is a schematic diagram showing a processor and memory, according to an example.
DETAILED DESCRIPTION
[0008] 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.
[0009] Additive manufacturing has revolutionized manufacturing and has brought to life many new opportunities for individuals and industries. However, this has also brought new challenges. 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 or regulation such as copyrighted objects or weapons.
[0010] In the absence of technological solutions which identify infringing COs automatically, human validation of manufactured object becomes a necessity. This is neither particularly scalable nor reliable. In addition, in post-manufacturing validation, where an infringing object has already been produced, there is a need for the object’s safe processing and handling and eventually guaranteed destruction, which adds complexity, costs and risks.
[0011] An attacker may modify non-essential, non-functional parts of a CO in attempts to evade detection, such that the obfuscating addition can either be easily removed or ignored where such an addition does not affect the core functionality of the CO. Figure 1 is a schematic diagram 100 showing the obfuscation of a CO, according to an example. In the example shown in Figure 1 , a CO 110, which in this case is a handgun, is concealed in a bounding box 120. In other examples, other possibly random non-CO objects may be used to conceal the CO 110. The bounding box 120 creates a visual appearance that the outer object is being manufactured. Once the attacker receives the object the outer shell may be removed to obtain the CO.
[0012] Figure 2 is a schematic diagram 200 showing the obfuscation of a CO, according to a second example. In the example shown in Figure 2, an attacker modifies or replace non- essential and non-functional surfaces to avoid recognition/detection by inspection, whilst preserving the core functionality. In Figure 2 the handgun 210 is concealed by being placed in an outer shell of a drill 220. This creates an appearance that the drill 220 is being produced during manufacturing.
[0013] The methods and systems described herein provide means for identifying modified or disguised objects, when an object that is to be manufactured, referred to herein as an Object Under Analysis (OUA) does not feature a full resemblance to a corresponding CO, but where the OUA retains the critical or essential functionality of the CO. The methods described herein enable identification of a partial match between an OUA and a CO, where matching occurs with fragments that encapsulate the CO’s core functionality.
[0014] Any object may be considered as a group of components where each component has a certain purpose: either utilitarian or decorative, or both. Design of certain components is fixed as they represent the core functionality of the object itself. Such components are referred to herein as essential surfaces of the CO. Essential surfaces encompass the portions of the CO which may not be modified without impeding the CO’s functionality. For example, in the case of a handgun an object that matches the handle, which is not an essential surface of a gun might not be an object of concern, whilst an object that matches the gun barrel would be considered an object of concern.
[0015] The methods described herein may be applied in situations where non-essential surfaces of a CO are modified, where a CO is intentionally concealed inside another benign object as shown in Figure 1 , or where a CO is designed with a different benign shape as shown in Figure 2. Information specifying which surfaces of a CO are essential surfaces may be provided with human input from an expert or generated through a detection process using, for example, artificial intelligence.
[0016] Three-dimensional objects comprise of surfaces which may be classified into different types. At the top level of taxonomy, these surfaces may be described as having planar and non-planar geometry. A more elaborate taxonomy of surface may include planar, swept, revolved, and other types of surfaces possessing common properties. Distinctive classes of surfaces may specify a surface property. For example, a classification of surfaces may include the following:
• Surfaces with a planar geometry when both principal curvatures are close to zero.
• Surfaces with only one principal curvature is zero, and the second one is constant.
• Surfaces with only one principal curvature is zero, and the second one is non-zero and non-constant.
• Surfaces which are limited by boundaries (sharp edges) having high curvature above some threshold.
• Other ways to split the object surface into parts with common properties. Furthermore, adjacent surfaces can be combined in groups if they have common boundaries.
[0017] Figure 3 is a schematic diagram showing a method 300 for generating and storing descriptors of a three-dimensional object, according to an example. The method 300 may be used in conjunction with the other methods and systems described herein. In particular the method 300 may be used to generate descriptors of a CO at a dedicated secure facility which may be used in a method to identify a concealed essential surface of a CO in an object.
[0018] At block 310, the method 300 comprises obtaining a digital representation of a three- dimensional object. According to examples, the three-dimensional object may be a CO as described herein. The digital representation may be uploaded to a computing system in a dedicated secure facility that handles data relating to COs.
[0019] In some cases, once a digital representation of the object is uploaded or otherwise obtained for analysis, the representation may be partitioned into a set of surfaces. Partitioning of the object into surfaces may be performed automatically and, in some cases, using a taxonomy as previously described. For example, the surfaces may be arranged according to curvature or where edges of the object meet. According to examples, adjacent surfaces may be combined according to functionality groups.
[0020] At block 320 the method 300 comprises identifying essential surfaces of the three- dimensional object from the digital representation. Each of the essential surfaces corresponds to a functional element of the three-dimensional object. In some cases, identification of essential surfaces may be aided with human input. In other examples, identification of essential surfaces may be fully automated. In some examples, where a group of modified COs preserving core functionality are available, the essential surfaces may be identified as a common set of surfaces shared by the group.
[0021] At block 330 the method 300 comprises generating a vector for each of the essential surfaces. According to examples the vectors comprise data values where each data value comprises a descriptor of the essential surface. In additive manufacturing processes, taking into account considerations of security it may not be possible to store a complete description of essential surfaces of a CO. Hence, information relating to essential surfaces are stored in a lossy compressed and non-reversible form using descriptors. According to examples descriptors may be parameters of the essential surface, or some other data values derived from the surface. [0022] Descriptors may be assigned on the basis of a distinctive class the surface belongs to. For example, for a planar geometry surface S, the vector of data values may comprise the following descriptor: area of S, perimeter length, number of holes in S, area of convex hull of S, open area of S, circularity or solidity of S where circularity is a shape descriptor indicating the degree of similarity to a perfect circle and solidity numerically describes whether a shape is convex or concave.
[0023] In some examples, in addition to generating vectors of descriptors the method may comprise generating a further data value indicative of a tolerance threshold which may be used to identify the presence of the essential surface on or within another object. For example, where a descriptor specifies a number, A/, of holes of a planar surface, a threshold allow /V + 1 or N-1 holes.
[0024] The method 300 may further comprise a validation of descriptors. In particular, in some cases, the method may comprise validating the accuracy of the descriptors and/or the confidentiality of the descriptors.
[0025] At block 340, the vectors of descriptors are stored securely in a database. According to examples, the vectors may be stored in a database in a secure facility. Storing the vectors of descriptors may comprise encoding the data values of the vectors according to an encoding scheme.
[0026] Figure 4 is a block diagram showing a method 400 for analysing a three-dimensional object, according to an example. The method 400 may be used in conjunction with the other methods and systems described herein. In particular the method 400 may be used to analyse an object at an additive manufacturing site. In some cases, the method 400 may be implemented in, for example, a three-dimensional printing system.
[0027] At block 410 the method 400 comprises obtaining a digital representation of a first three-dimensional object. A digital representation may comprise a computer aided design of the object. Obtaining a digital representation may comprise receiving object data at an additive manufacturing site and obtaining a digital representation of the object from the object data.
[0028] At block 420, the method 400 comprises identifying a surface of the first three- dimensional object from the digital representation. As described in relation to the method 300, the representation of the first object may be partitioned into a set of surfaces, automatically, based on a taxonomy. The identified surface may be determined from the set of surfaces.
[0029] At block 430, the method 400 comprises generating a first vector of data values where each data value comprises a descriptor of the surface identified at block 420. Descriptors may be calculated in a similar manner to the descriptors calculated for COs in the method 300. For example, descriptors may be determined on the basis of a distinctive class the surface belongs to.
[0030] At block 440, the method 400 comprises obtaining a second vector of data values where each data value of the second vector of data values comprises a descriptor of an essential surface of a second three-dimensional object. The second object may be a CO. According to examples, the essential surface corresponds to a functional element of the second three-dimensional object. The second vector may be received from a secure facility that stores vectors of descriptors of essential surfaces for objects in a secure database. In particular, the descriptors may be confidentiality preserving descriptors that do not reveal sufficient information to enable reconstruction of the second object.
[0031] At block 450 the method 400 comprises determining whether the surface corresponds to the essential surface based on a comparison of the first vector of data values and the second vector of data values. According to examples, determining whether the identified surface corresponds to the essential surface based on a comparison of the first vector of data values and the second vector of data values may comprise determining whether the data values of the first vector are within a threshold of corresponding data values of the second vector. In other words, where a descriptor of the first surface is considered sufficiently close to a descriptor of an essential surface of the second object, the first object may be considered to correspond to the second object.
[0032] According to examples of the method 400, similarly to the example shown in Figure 1 , the first object may comprise the second object embedded within a third object. Alternatively, as shown in Figure 2, the first object may correspond to a modification of the second object such that the modifications do not alter the functionality of the second object. In both cases the method 400 may be used to identify an essential surface of the first object. [0033] The method 400 may be repeated for each surface of the first object. If one or more surfaces are identified as corresponding to any of the essential surfaces of the second object then the first object may be prevented from being printed at the additive manufacturing facility.
[0034] The methods described herein allow in-depth identification of the hidden functionality of three-dimensional objects before printing and may be used to prevent special types of attacks unidentifiable by other methods. As advanced methods for detecting and identifying COs in additive manufacturing jobs develop, attackers will try to evade detection by intentionally modifying and obfuscating objects of interest by for example, changing the shape or appearance, whilst trying to preserve the core functionality of the object.
[0035] The methods described may be used to determine a partial matching between an object-under-identification and a corresponding CO based on the use of descriptors. However, the partial matching does not result in false positives because matching is based on identification of surfaces corresponding to essential surfaces of COs which represent the COs core functionality. The methods are applicable in at least the following use cases: where non- essential surfaces of a CO are modified to conceal the nature of the object, where a CO is embedded or hidden inside another benign object, or where a different object is designed with a different benign shape and look, while maintaining the same core functionality as the CO.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] For example, the instructions may be provided on a non-transitory computer readable storage medium encoded with instructions, executable by a processor. Figure 5 shows an example of a processor 510 associated with a memory 520. The memory 520 comprises computer readable instructions 530 which are executable by the processor 510. The instructions cause the processor to identify a surface of a three-dimensional object based on a digital representation of the three-dimensional object and generate a vector for the surface, each vector comprising one or more data values, each data value comprising a descriptor of the surface.
[0040] According to an example, the instructions can further comprising instructions to retrieve a set of descriptors corresponding to an essential surface of a further three-dimensional object, the essential surface corresponding to a functional component of the further three-dimensional object, compare the each data value of vector of the surface with corresponding descriptors of the set of descriptors, and determine whether a surface corresponds to the essential surface based on the comparison. The descriptors of the surface can comprise an area, a perimeter length, a number of holes in the surface, an area of a convex hull, an open area, a circularity and/or a solidity of the surface.
[0041] In some examples, based on the comparison, in the event that the surface does not correspond to the essential surface, the object can be printed or manufactured using an additive manufacturing apparatus, such as a 3D printer for example. If a correspondence between the surface and the essential surface is detected, additional evaluation of the three- dimensional object can be performed. For example, an alert may be triggered, which can be used to prompt user intervention to review the results of the comparison for example.
[0042] 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.
[0043] 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.
[0044] 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.
[0045] 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.
[0046] The features of any dependent claim may be combined with the features of any of the independent claims or other dependent claims.

Claims

1. A method, comprising: obtaining a digital representation of a first three-dimensional object; identifying a surface of the first three-dimensional object from the digital representation; generating a first vector of data values, each data value of the first vector comprising a descriptor of the surface; obtaining a second vector of data values, each data value of the second vector of data values comprising a descriptor of an essential surface of a second three-dimensional object, the essential surface corresponding to a functional element of the second three-dimensional object; and determining whether the surface corresponds to the essential surface based on a comparison of the first vector of data values and the second vector of data values.
2. The method of claim 1 , wherein the first object comprises a modification of the second object.
3. The method of claim 1 , wherein the first object comprises the second object embedded in a third object.
4. The method of claim 1 , wherein obtaining the second vector comprises retrieving the second vector from a database that stores a plurality of vectors of data values, each vector of the plurality of vectors comprising descriptors of essential surfaces of the second three- dimensional object.
5. The method of claim 1 , wherein determining whether the surface corresponds to the essential surface based on a comparison of the first vector of data values and the second vector of data values comprises: determining whether the data values of the first vector are within a threshold of corresponding data values of the second vector.
6. The method of claim 1 , wherein the second vector of data values do not enable reconstruction of the essential surface.
7. A method, comprising: obtaining a digital representation of a three-dimensional object; identifying essential surfaces of the three-dimensional object from the digital representation, each of the essential surfaces corresponding to a functional element of the three-dimensional object; generating a vector for each of the essential surfaces, each vector comprising one or more data values, each data value comprising a descriptor of the respective essential surface; and storing the vectors of data values securely in a database.
8. The method of claim 7, comprising partitioning the digital representation into a set of surfaces.
9. The method of claim 8, wherein identifying the essential surfaces comprises combining adjacent surfaces based on functionality and/or partitioning the set of surfaces based on a classification.
10. The method of claim 9, wherein the descriptors are determined on the basis of the classification of the essential surface.
11. A non-transitory computer readable medium encoded with instructions which when executed by a processor, cause the processor to: identify a surface of a three-dimensional object based on a digital representation of the three-dimensional object; generate a vector for the surface, each vector comprising one or more data values, each data value comprising a descriptor of the surface.
12. The non-transitory computer readable medium of claim 11 , further comprising instructions to: retrieve a set of descriptors corresponding to an essential surface of a further three- dimensional object, the essential surface corresponding to a functional component of the further three-dimensional object; compare the each data value of vector of the surface with corresponding descriptors of the set of descriptors; and determine whether a surface corresponds to the essential surface based on the comparison.
13. The non-transitory computer readable medium of claim 11 , wherein the descriptors of the surface comprise an area, a perimeter length, a number of holes in the surface, an area of a convex hull, an open area, a circularity and/or a solidity of the surface.
14. The non-transitory computer readable medium of claim 12, further comprising instructions to: print the three-dimensional object using an additive manufacturing apparatus in the event that, based on the comparison, the surface does not correspond to the essential surface.
15. The non-transitory computer readable medium of claim 12, further comprising instructions to: perform additional evaluation of the three-dimensional object based on detecting a correspondence.
PCT/US2022/024901 2022-04-14 2022-04-14 Controlled object identification WO2023200448A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2022/024901 WO2023200448A1 (en) 2022-04-14 2022-04-14 Controlled object identification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2022/024901 WO2023200448A1 (en) 2022-04-14 2022-04-14 Controlled object identification

Publications (1)

Publication Number Publication Date
WO2023200448A1 true WO2023200448A1 (en) 2023-10-19

Family

ID=81595874

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2022/024901 WO2023200448A1 (en) 2022-04-14 2022-04-14 Controlled object identification

Country Status (1)

Country Link
WO (1) WO2023200448A1 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AITOR ALDOMA ET AL: "Tutorial: Point Cloud Library: Three-Dimensional Object Recognition and 6 DOF Pose Estimation", IEEE ROBOTICS & AUTOMATION MAGAZINE, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 19, no. 3, 11 September 2012 (2012-09-11), pages 80 - 91, XP011460474, ISSN: 1070-9932, DOI: 10.1109/MRA.2012.2206675 *

Similar Documents

Publication Publication Date Title
JP7376593B2 (en) Security system using artificial intelligence
Ma et al. Nic: Detecting adversarial samples with neural network invariant checking
US10614302B2 (en) Controlled authentication of physical objects
EP3736717A1 (en) Loop chain digital fingerprint method and system
Hashemi et al. Visual malware detection using local malicious pattern
Sadeghi et al. A system-driven taxonomy of attacks and defenses in adversarial machine learning
Davarzani et al. Perceptual image hashing using center-symmetric local binary patterns
Zhao et al. Robust hashing for image authentication using Zernike moments and local features
US10452935B2 (en) Spoofed face detection
Li et al. Defending against model stealing via verifying embedded external features
AU2020223632B2 (en) System and method for detecting data anomalies by analysing morphologies of known and/or unknown cybersecurity threats
EP2921989A1 (en) Method for object recognition and/or verification on portable devices
Braunegg et al. Apricot: A dataset of physical adversarial attacks on object detection
Yang et al. Mesh discriminative features for 3D steganalysis
Ji et al. Securing malware cognitive systems against adversarial attacks
Bhagtani et al. An overview of recent work in media forensics: Methods and threats
Liu et al. Data protection in palmprint recognition via dynamic random invisible watermark embedding
WO2023200448A1 (en) Controlled object identification
CA3125101A1 (en) System and method for detecting data anomalies by analysing morphologies of known and/or unknown cybersecurity threats
US20200264585A1 (en) Methods and Systems for Control of 3D Printing
Su et al. Robust 2D engineering CAD graphics hashing for joint topology and geometry authentication via covariance-based descriptors
Nazli et al. Comparison between image forgery detection algorithms
WO2023200449A1 (en) Identification of controlled objects in additive manufacturing
US20160325500A1 (en) Dna sequencing of 3d files
WO2023200447A1 (en) Confidentiality preserving descriptors

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22722381

Country of ref document: EP

Kind code of ref document: A1