Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
OBJECT COMPARISON BASED ON CROSS-SECTIONS
Document Type and Number:
WIPO Patent Application WO/2023/200450
Kind Code:
A1
Abstract:
In examples, a method comprises obtaining a cross-section of a first three-dimensional object, based on an input comprising a digital representation of the first three-dimensional object, evaluating a function to generate a descriptor of the cross-section, based on an input comprising a digital representation of the cross-section of first three-dimensional object, accessing descriptors of cross-sections of a second three-dimensional object stored on a database, comparing the descriptors of the cross-section of the first three-dimensional object to the descriptors of cross-sections of the second three dimensional object to determine a similarity of the first three-dimensional object to the second three-dimensional object.

Inventors:
BALINSKY YELENA HELEN (GB)
VOLKAU IHAR (SG)
MUJEEB ABDUL (SG)
Application Number:
PCT/US2022/024904
Publication Date:
October 19, 2023
Filing Date:
April 14, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HEWLETT PACKARD DEVELOPMENT CO (US)
UNIV NANYANG TECH (SG)
International Classes:
G06V10/422; G06V10/42; G06V10/74; G06V20/64
Other References:
OHBUCHI R ET AL: "Shape-similarity search of three-dimensional models using parameterized statistics", COMPUTER GRAPHICS AND APPLICATIONS, 2002. PROCEEDINGS. 10TH PACIFIC CO NFERENCE ON BEIJING, CHINA 9-11 OCT. 2002, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 9 October 2002 (2002-10-09), pages 265 - 274, XP010624910, ISBN: 978-0-7695-1784-1, DOI: 10.1109/PCCGA.2002.1167870
BENJAMIN BUSTOS ET AL: "Feature-based similarity search in 3D object databases", ACM COMPUTING SURVEYS, ACM, NEW YORK, NY, US, US, vol. 37, no. 4, 4 December 2005 (2005-12-04), pages 345 - 387, XP058123417, ISSN: 0360-0300, DOI: 10.1145/1118890.1118893
Attorney, Agent or Firm:
MCFARLAND, Elena K. et al. (US)
Download PDF:
Claims:
CLAIMS

1 . A method, comprising: obtaining a cross-section of a first three-dimensional object, based on an input comprising a digital representation of the first three-dimensional object; evaluating a function to generate a descriptor of the cross-section, based on an input comprising a digital representation of the cross-section of first three-dimensional object; accessing descriptors of cross-sections of a second three-dimensional object stored on a database; comparing the descriptors of the cross-section of the first three-dimensional object to the descriptors of cross-sections of the second three-dimensional object to determine a similarity of the first three-dimensional object to the second three- dimensional object.

2. The method of claim 1 , comprising determining whether to print the first three- dimensional object on a three-dimensional printing device on the basis of the comparison.

3. The method of claim 1 , wherein the cross-sections of the second three dimensional object are based on principal axes, the longest and/or shortest dimensions, identifiable features, or the centre of mass of the second three- dimensional object and/or based on an output of a machine learning process and/or selected at random.

4. The method of claim 1 , wherein the cross-sections of the first and second three- dimensional objects are obtained based on intersections of the respective objects with surfaces.

5. The method of claim 1 , wherein the descriptors of cross-sections of the second- three-dimensional object comprise data indicative of the geometry of the corresponding cross-section.

6. The method of claim 1 , wherein the descriptors of cross-sections of the second three-dimensional object comprise data indicative of an intersection of a corresponding slicing surface of the second three-dimensional object.

7. The method of claim 1 , wherein the descriptors of cross-sections of the second three-dimensional object comprise threshold values, the threshold values determining ranges of acceptable deviations to determine a matching descriptor.

8. The method of claim 7, comprising determining that the first three-dimensional object is distinct from the second three-dimensional object when a descriptor of a cross section of the first three-dimensional object is above the threshold values.

9. The method of claim 7, wherein the second three-dimensional object is a controlled object.

10. The method of claim 1 , wherein the function is a non-reversible function.

11. A method comprising: obtaining a digital representational of a three-dimensional controlled object; obtaining a cross-section of the three-dimensional controlled object, based on an input comprising the digital representation; evaluating a function to generate a descriptor of the cross-section, based on an input comprising a digital representation of the cross-section; storing the descriptor securely in a database of descriptors of controlled objects.

12. A non-transitory computer readable medium encoded with instructions which when executed by a processor, cause the processor to: generate a cross-section of first three-dimensional object, based on an input comprising a digital representation of the first three-dimensional object; determine a descriptor of the cross-section based on an evaluation of a function; obtain descriptors of cross-sections of a second three-dimensional object stored on a three-dimensional printing device; compare the descriptors of the cross-section of the first three-dimensional object to the descriptors of cross-sections of the second three-dimensional object to determine a similarity of the first three-dimensional object to the second three- dimensional object.

13. An additive manufacturing apparatus, comprising: a processor; a memory coupled to the processor, the memory configured to store program code executable by the processor, the program code comprising one or more instructions executable by the processor, whereby to cause the processor to: generate a cross-section of first three-dimensional object, based on an input comprising a digital representation of the first three-dimensional object; determine a descriptor of the cross-section based on an evaluation of a function; obtain descriptors of cross-sections of a second three-dimensional object stored on the memory; compare the descriptors of the cross-section of the first three-dimensional object to the descriptors of cross-sections of the second three-dimensional object to determine a similarity of the first three-dimensional object to the second three- dimensional object.

14. The additive manufacturing apparatus as claimed in claim 13, wherein the descriptors of cross-sections of the second three-dimensional object comprise threshold values, the threshold values determining ranges of acceptable deviations to determine a matching descriptor, wherein the program code further comprises instructions executable by the processor, whereby to cause the processor to: determine that the first three-dimensional object is distinct from the second three-dimensional object when a descriptor of a cross section of the first three- dimensional object is above the threshold values.

15. The additive manufacturing apparatus as claimed in claim 13, the program code further comprising instructions executable by the processor, whereby to cause the processor to: determine whether to print the first three-dimensional object on the basis of the comparison.

Description:
OBJECT COMPARISON BASED ON CROSS-SECTIONS

BACKGROUND

[0001 ] 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.

[0002] 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.

BRIEF DESCRIPTION OF THE DRAWINGS

[0003] In order that the present disclosure may be more readily understood, examples will now be described with reference to the accompanying drawings, in which:

[0004] Figure 1 is a schematic diagram showing an additive manufacturing apparatus, according to an example;

[0005] Figure 2 is a diagram showing views of cross-sections of an object, according to an example;

[0006] Figure 3 is a block diagram showing a method for generating descriptors of a three-dimensional object, according to an example;

[0007] Figure 4 is a block diagram showing a method for comparing three-dimensional objects, according to an example; and [0008] Figure 5 is a schematic diagram showing a processor and memory, according to an example.

DETAILED DESCRIPTION

[0009] 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.

[0010] Additive manufacturing has brought to life new opportunities as well as new challenges. Additive manufacturing enables production of controlled objects (COs). COs are objects that may be subject to copyright or license infringements, other government regulations or objects that may be counterfeit or illegal by local and international laws.

[0011 ] In recent years, with the proliferation of 3D manufactured of weapons and fake parts, COs have become significant from a cybersecurity perspective. Legal measures are being introduced to deter manufacturing of COs. However, in the absence of technological methods to identify infringing parts automatically, human validation of manufactured objects is still the go-to option for identification of COs. Unfortunately, human identification is neither scalable nor reliable. In addition, post-manufacturing validation may be needed for a COs safe processing and handling and eventually guaranteed destruction.

[0012] The methods described herein enable object identification in a three- dimensional printing system. The methods are based on fast identification/rejection of COs using a slicing process which cuts or slices a 3D object using low- dimensionality surfaces such as a plane or a surface of a sphere or part thereof. A CO is intersected by low-dimensionality surfaces, creating a series of cut-through slices. An object which is similar to the CO will have similarly structured slices when intersected by the same surfaces. The methods described herein may be used at an early stage of comparison to enable fast rejection in the case where low-resolution slices of two objects are dissimilar. The methods may also be used at later stages where a larger number of accurate high resolution slices can be used to determine a match between two objects.

[0013] Figure 1 is a simplified schematic diagram 100 showing an apparatus for manufacturing an object, according to an example. In Figure 1 , a manufacturing facility 110 is shown. The manufacturing facility 110 may be, for example, a factory owned by a company or the home of an end user. In Figure 1 the manufacturing facility 110 contains at least one additive manufacturing apparatus 120. The additive manufacturing apparatus 120 may be a three-dimensional printing system. The additive manufacturing apparatus 120 receives an input or ‘print job’ comprising a representation of a three-dimensional object as a data file and generates an output comprising a printed version of the three-dimensional object.

[0014] In Figure 1 , the additive manufacturing apparatus 120 is arranged to communicate with a separate secure entity 130 via a network 140. The secure entity 130 may be arranged to generate, maintain and/or store data files 150 for one or more COs. COs may be, for example, weapons or other objects whose manufacturing might be illegal, infringe laws, authorship rights or other regulations which restrict the dissemination of the objects to third parties.

[0015] 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 of controlled objects 160. The database 160 is a secure trusted storage accessible by a the additive manufacturing apparatus 120, during operations. Information relating to COs including object descriptors are stored in the database 160.

[0016] Figure 2 is a diagram 200 showing an example of a CO. The first image 210 shown in Figure 2 shows the complete CO which in the example of Figure 2 is a wheel. There are several principal directions to cut the wheel which may be identified, as shown in image 220. Planar slices containing cross-section of the wheel are shown in image 230. Images 240 show close up views of the cross-sections. These crosssections comprise information about the internal design of the object.

[0017] Figure 3 is a schematic diagram of a method 300 for including a new CO in a database of controlled objects. The method 300 may be implemented on the apparatus shown in Figure 1 . In particular, the method 300 may be used in conjunction with the database 160 in Figure 1.

[0018] The blocks of the method shown in Figure 3 may be conducted at the secure entity 130. The representation of the CO may be selected in addition to or instead of other CO detection mechanisms.

[0019] At block 310 a digital representation of a CO is obtained. For example, the digital representation of the wheel 210 shown in Figure 2. At block 320 a cross-section of the controlled object is obtained based on the digital representation. Such a crosssection may be obtained by slicing the CO using a two-dimensional slicing surface. According to an example, such a two-dimensional slicing surface can comprise, e.g., a plane or a surface of a sphere or part thereof.

[0020] Cross-sections may be chosen In an automatic way, when the object is cut in some pre-defined manner. For example, the cuts could be defined through the center of mass or center of gravity of the object. In another example cross-sections may be orthogonal to the principal axes of inertia. In a third example, plane coefficients may be pre-defined in the chosen system of coordinates. In a fourth example, crosssections may be selected based on the longest or shortest dimensions of the object. In a further example, cross-sections may be chosen based on particular identifiable features of an object such as edges, comers or other geometric features.

[0021 ] In some cases, cross-sections are determined by a human or artificially intelligent agent. Cuts may be determined based on a system of coordinates naturally connected to the object under analysis, for example, the center of object’s coordinate system and axes are the center of mass/gravity and the principal axes of inertia, respectively. In another case cross-sections of a CO may be determined randomly. Some cross-sectional slices may be chosen randomly.

[0022] Information which determines the cross-sections may be kept in the database 160, confidentially, such that the cross-section may be reproduced. Prior to performing slicing, an object may be rotated and scaled in a particular pre-defined way to ensure alignment with a suspected CO.

[0023] At block 330, a function is evaluated to generate a descriptor of the crosssection. According to examples, the function may be lossy or non-lossy depending on confidentiality requirements. The descriptor may include information relating to a slicing surface that generated a cross section, such as geometry, parameters and plane orientation, information about intersection between the CO and slicing surface and information about acceptable deviations, if any, from the values of descriptors. This information may include a percentage of acceptability for full or partial match, such as 5-10%, related to some areas of a cross-section.

[0024] According to examples, a cross-section may be separated into connected components. For every connected component S, associated descriptors may include an area of S, perimeter length, number of holes (genus) in S, circularity or solidity of S, where circularity is a shape descriptor indicating the degree of similarity to a perfect circle i.e. 4nArea/Perimeter 2 , and solidity numerically describes a shape as convex or concave i.e. Area/(Convex area), area of convex hull of S or an open area of S.

[0025] In the example shown in Figure 2, there are three cross-sections. Corresponding descriptors for these cross-sections may include circularity and solidity together with the number of holes and ratio of the perimeter to the convex hull perimeter. At the same time, these descriptors do not provide enough information to reconstruct of the original CO. This coding of the components of the cross-section in the form of two-dimensional descriptors may also be done for an object before determining whether the object is a match it to the cross-section of the CO. [0026] At block 340 the descriptors are stored in the database 160. The generated information on COs may be delivered to all connected three-dimensional printing devices.

[0027] Figure 4 is a schematic diagram of a method 400 for comparing descriptors of an object, according to an example. The blocks of Figure 4 may be implemented at the manufacturing facility 110 for every object in a print job that is sent to printer 120.

[0028] At block 410 a cross-section of a first three-dimensional object is obtained, based on an input comprising a digital representation of the first three-dimensional object. As stated previously the first object may be any object in a print job. According to examples, the cross-section may be obtained based on information stored in the database 160 relating to a CO. In particular, the cross-section may be obtained using a slicing surface which matches a similar slicing surface used to obtain a cross-section of a CO in the database 160.

[0029] At block 420, a function is evaluated to generate a descriptor of the crosssection. According to examples, information from the database 160 relating to descriptors used for COs and their possible acceptable deviations may be obtained. At block 430 descriptors of corresponding cross-sections of a second three- dimensional object are accessed. The second three-dimensional object may be a CO.

[0030] At block 440 the descriptors of the cross-section of the first three-dimensional object are compared to the descriptors of cross-sections of the second three- dimensional object. A comparison may be performed on low and high resolutions of slices, where, for example, low-resolution slice comparison may be used for fast check for rough level similarity between a CO and an object under analysis to confirming a lack of similarity and a high-resolution slice comparison is used for accurate confirmation of a match.

[0031 ] The methods and systems described herein may be used in identification of a CO based on validation of the internal design and cross-sections of an object. The methods described utilize low-resolution and high-resolution cross sections for efficient decision making. The method can be used for making the fast rejection or final decision on the identification of an object under analysis as a CO. The ability of the method to select orientation of cross-sections differently every time based on the object design renders obfuscation and disguise attacks on object geometry inefficient and easily detectable. The method complements or may be used instead of other methods of identification of COs. In some object geometry, cross-sectional representation may be beneficial or preferred.

[0032] 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.

[0033] 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.

[0034] 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. [0035] 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 generate a cross-section of first three-dimensional object, based on an input comprising a digital representation of the first three-dimensional object, determine a descriptor of the cross-section based on an evaluation of a function, obtain descriptors of cross-sections of a second three- dimensional object stored on a three-dimensional printing device and compare the descriptors of the cross-section of the first three-dimensional object to the descriptors of cross-sections of the second three dimensional object to determine a similarity of the first three-dimensional object to the second three-dimensional object.

[0036] 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.

[0037] 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.

[0038] 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. [0039] 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.

[0040] The features of any dependent claim may be combined with the features of any of the independent claims or other dependent claims.