Additive manufacturing (AM) is one of the fastest growth sectors in R&D and industrial manufacturing, and the trend is expected to continue in the near future. Among the most common forms of additive manufacturing are the various techniques that fall under the umbrella of “3D Printing”, including but not limited to stereolithography (SLA), digital light processing (DLP), fused deposition modelling (FDM), selective laser sintering (SLS), selective laser melting (SLM), electronic beam melting (EBM), and laminated object manufacturing (LOM). These methods variously “build” a three-dimensional physical model of a part, one layer at a time, providing significant efficiencies in rapid prototyping and small-batch manufacturing. AM also makes possible the manufacture of parts with features that conventional subtractive manufacturing techniques (for example CNC milling) are unable to create.
The AM process chain relies heavily on cloud-based resources and software programs that are connected to the Internet, and so cybersecurity is a growing concern. While network security is important and is the responsibility of information technology departments of corporations, a second line of defense is necessary to protect against the theft of Computer-Aided Design (CAD) files. Whereas conventionally manufactured parts typically rely on expensive equipment (CNC machines, lathes) or physical assets (molds) to reproduce, stolen CAD files can be used to print components relatively cheaply, in quality exactly the same as the original components.
Thus, there is a need in the art for a system and method for securing products made using AM processes in order to distinguish genuine products from illicit copies. The present invention satisfies this need.
In one aspect, a method of embedding an identifying feature into an additively-manufactured part, comprises the steps of splitting an image of an identifying feature into a plurality of segments, generating a CAD model of the identifying feature with each of the plurality of segments positioned in a different layer of the CAD model, incorporating the CAD model of the identifying feature into a CAD model of an additively-manufactured part, and printing an additively-manufactured part containing a three-dimensional representation of the identifying feature, using the CAD model of the additively-manufactured part.
In one embodiment, the identifying feature is a QR code. In one embodiment, the identifying feature is a linear barcode. In one embodiment, the entirety of the identifying feature fits within a region of the additively-manufactured part having a size no larger than 5 mm×5 mm×5 mm. In one embodiment, the entirety of the identifying feature fits within a region of the additively-manufactured part having a size no larger than 1 mm×1 mm×1 mm. In one embodiment, the additively-manufactured part comprises a photopolymer. In one embodiment, the additively-manufactured part comprises aluminum. In one embodiment, the identifying feature comprises a plurality of black elements and a plurality of white elements. In one embodiment, the regions of the three-dimensional representation of the identifying feature corresponding to the black elements are filled with material, and the regions corresponding to the white elements are empty. In one embodiment, the regions of the three-dimensional representation of the identifying feature corresponding to the black elements are filled with a first material, and the regions corresponding to the white elements are filled with a second material. In another aspect, a method of authenticating an additively manufactured part comprises the steps of obtaining a series of internal images of an additively manufactured part, selecting a subset of the series of internal images that constitute a region in which the identifying feature is embedded, scaling and rectifying the subset of the series of internal images to form a two-dimensional representation of the identifying feature, producing a processed image of the embedded identifying feature, by performing a set of image processing steps on the two-dimensional representation having a plurality of pixels at different greyscale intensities, comprising increasing the contrast of the two-dimensional representation, calculating a threshold value based on the greyscale intensities, assigning each pixel with a value above the threshold to be white, and assigning each pixel with a value below the threshold to be black, calculating a discrepancy between the thresholded two-dimensional representation of the identifying feature an original image of the identifying feature, and if the discrepancy is less than a threshold value, authenticating the additively manufactured part.
In one embodiment, the identifying feature is a QR code having at least one position identifying feature. In one embodiment, the set of image processing steps further comprises the steps of detecting contours within the two-dimensional representation, determining position and orientation of the at least one position identifying features based on the contours, generating a grid having a plurality of cells within the two-dimensional representation based on the position and orientation of the at least one position identifying features, and assigning each grid cell a value of black or white based on the values of the pixels within the grid cell.
In one embodiment, the identifying feature is a linear barcode. In one embodiment, the identifying feature is divided into a plurality of segments, each of the plurality of segments printed into a different layer of the additively manufactured part, and the method further comprises the step of combining a set of images taken at different layers of the additively manufactured part to form a single two-dimensional representation of the identifying feature. In one embodiment, the series of internal images is obtained via a CT scan. In one embodiment, the additively manufactured part is substantially transparent and the series of internal images are obtained via digital imaging. In one embodiment, the contrast is increased using multiple iterations of a contrast limited adaptive histogram equalization (CLAHE) algorithm. In one embodiment, at least five iterations of the CLAHE algorithm are performed. In one embodiment, the series of internal images is obtained via an ultrasonic scan.
In another aspect, a product made from a process of the invention is created by an additive manufacturing process, and contains a region beneath the surface of the part comprising a three-dimensional representation of an identifying feature. In one embodiment, the identifying feature is a QR code. In one embodiment, the three-dimensional representation of the identifying feature comprises a plurality of cavities.
In another aspect, a product printed using an additive manufacturing process comprises a three-dimensional representation of a QR code positioned wholly within the product, beneath the surface of the product. In one embodiment, the product comprises ABS. In one embodiment, the product comprises titanium.
The foregoing purposes and features, as well as other purposes and features, will become apparent with reference to the description and accompanying figures below, which are included to provide an understanding of the invention and constitute a part of the specification, in which like numerals represent like elements, and in which:
It is to be understood that the figures and descriptions of the present invention have been simplified to illustrate elements that are relevant for a clear understanding of the present invention, while eliminating, for the purpose of clarity, many other elements found in related systems and methods. Those of ordinary skill in the art may recognize that other elements and/or steps are desirable and/or required in implementing the present invention. However, because such elements and steps are well known in the art, and because they do not facilitate a better understanding of the present invention, a discussion of such elements and steps is not provided herein. The disclosure herein is directed to all such variations and modifications to such elements and methods known to those skilled in the art.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Although any methods and materials similar or equivalent to those described herein can be used in the practice or testing of the present invention, exemplary methods and materials are described.
As used herein, each of the following terms has the meaning associated with it in this section.
The articles “a” and “an” are used herein to refer to one or to more than one (i.e., to at least one) of the grammatical object of the article. By way of example, “an element” means one element or more than one element.
“About” as used herein when referring to a measurable value such as an amount, a temporal duration, and the like, is meant to encompass variations of ±20%, ±10%, ±5%, ±1%, and ±0.1% from the specified value, as such variations are appropriate.
Throughout this disclosure, various aspects of the invention can be presented in a range format. It should be understood that the description in range format is merely for convenience and brevity and should not be construed as an inflexible limitation on the scope of the invention. Accordingly, the description of a range should be considered to have specifically disclosed all the possible subranges as well as individual numerical values within that range. For example, description of a range such as from 1 to 6 should be considered to have specifically disclosed subranges such as from 1 to 3, from 1 to 4, from 1 to 5, from 2 to 4, from 2 to 6, from 3 to 6 etc., as well as individual numbers within that range, for example, 1, 2, 2.7, 3, 4, 5, 5.3, 6 and any whole and partial increments therebetween. This applies regardless of the breadth of the range.
In some aspects of the present invention, software executing the instructions provided herein may be stored on a non-transitory computer-readable medium, wherein the software performs some or all of the steps of the present invention when executed on a processor. Aspects of the invention relate to algorithms executed in computer software. Though certain embodiments may be described as written in particular programming languages, or executed on particular operating systems or computing platforms, it is understood that the system and method of the present invention is not limited to any particular computing language, platform, or combination thereof. Software executing the algorithms described herein may be written in any programming language known in the art, compiled or interpreted, including but not limited to C, C++, C #, Objective-C, Java, JavaScript, Python, PHP, Perl, Ruby, or Visual Basic. It is further understood that elements of the present invention may be executed on any acceptable computing platform, including but not limited to a server, a cloud instance, a workstation, a thin client, a mobile device, an embedded microcontroller, a television, or any other suitable computing device known in the art.
Parts of this invention are described as software running on a computing device. Though software described herein may be disclosed as operating on one particular computing device (e.g. a dedicated server or a workstation), it is understood in the art that software is intrinsically portable and that most software running on a dedicated server may also be run, for the purposes of the present invention, on any of a wide range of devices including desktop or mobile devices, laptops, tablets, smartphones, watches, wearable electronics or other wireless digital/cellular phones, televisions, cloud instances, embedded microcontrollers, thin client devices, or any other suitable computing device known in the art.
Similarly, parts of this invention are described as communicating over a variety of wireless or wired computer networks. For the purposes of this invention, the words “network”, “networked”, and “networking” are understood to encompass wired Ethernet, fiber optic connections, wireless connections including any of the various 802.11 standards, cellular WAN infrastructures such as 3G or 4G/LTE networks, Bluetooth®, Bluetooth® Low Energy (BLE) or Zigbee® communication links, or any other method by which one electronic device is capable of communicating with another. In some embodiments, elements of the networked portion of the invention may be implemented over a virtual Private Network (VPN).
Additive manufacturing (AM) is one of the fastest growing industries and has been widely adopted by the aerospace, automotive, medical, and dental fields. A typical AM process chain is illustrated in the flow diagram presented in
It is understood that the system and methods of the present invention may be used with any material suitable for use in additive manufacturing. This includes, but is not limited to, polymers, including syntactic foam and ABS; metals, including aluminum, stainless steel, and titanium; minerals, including marble, granite, or quartz; or tissue, including muscle tissue, bone, or cartilage.
Aspects of the present invention are directed to various security measures to be implemented in AM and the parts created by AM in order to evaluate the genuineness of 3D printed parts and to detect counterfeit parts or parts made from misappropriated CAD files. Broadly, one aspect of the invention is directed to exploiting the layer-by-layer process of AM to embed a code or proprietary feature inside an AM part. In some embodiments, if not implemented carefully, an embedded code may act like a defect, reducing one or more mechanical properties of the part. In order to remedy this, in some embodiments, a code may be sliced or divided into multiple segments, and those segments spread out to different layers or different regions of the printed part. In one embodiment, for example, a square code may be divided along its height into three equally-sized segments, with each segment arranged in a different layer than the other segments. The divided internal code can then be read using an imaging device, including for example but not limited to an X-ray, a micro-CT scan, or ultrasonic imaging to obtain internal structural scans of the part. The code can then be reconstructed by combining the various slices and reading the resulting code.
In some embodiments, a code might be embedded in the original CAD model. In some embodiments, sections of the model containing the code may use a different material than the surrounding model. In other embodiments, the regions of the layer or layers containing the code may be printed at a different resolution or using a different printing technique than the surrounding CAD model. In some embodiments, the regions of the layer or layers containing the code may be printed using the same or a similar material but in a different color than the surrounding regions. In some embodiments, the CAD model is printed in a material that is substantially translucent or transparent, while the region or regions containing the code are substantially opaque. Whereas some 3D printed parts have simple geometries, many industrial component designs are very complex, making it difficult or impossible to embed security features without easy detection. Embedded codes of the present invention may have any suitable size, and may in some embodiments be smaller than about 30×30×5 mm, smaller than about 10×10×3 mm, or smaller than about 1×1×1 mm in size. In some embodiments, larger codes may be used, including codes about 50×50×10 mm, or 100×100×10 mm. It is understood that when a code is divided among multiple layers as described herein, the thickness of the region containing the printed code may increase to accommodate the additional layers, for example by 200%, 300%, 500%, or 1000%.
In experimental embodiments described below, a quick response (QR) code is used as the embedded security feature. A QR code is a type of two-dimensional barcode that is machine-readable and can be attached as an optical label to an item. Information is encoded in both vertical and horizontal directions, and a QR code therefore has the capacity to store several hundred times more data than a traditional barcode. The encoded information can be easily assessed by capturing an image of a QR code with a camera or other digital imager and processing that image with a QR code reader. Several online resources provide free generation of either static or dynamic QR codes. A static QR code refers to a QR code whose encoded data represents a fixed permanent address, while a dynamic QR code refers to a QR code whose encoded data points to a dynamic address, for example a short link or a redirectable URL. Dynamic QR codes thus allow users to change the final destination address represented by a QR code without changing the code itself. When a destination address is changed, a dynamic QR code will automatically redirect all future scans to the new content. In some embodiments, embedded QR codes of the present invention are static QR codes, but in other embodiments, dynamic QR codes may be used. In still other embodiments, QR codes of the present invention represent fixed text content, for example a unique serial number. In some embodiments, QR codes of the present invention may comprise a quantity of binary data encoded in BASE64 or some other suitable ASCII character encoding format.
QR codes are advantageous for security applications because individual codes can be designed with error correction and detection features built in. In some embodiments, the QR code is added to the final model design. In other embodiments, part or all of the QR code may be changed or incremented during manufacturing, in order to serve a dual function as a unique serial number for each part manufactured. In some embodiments, some or all of the QR code may be used to indicate the date and time of manufacture, the serial number of the printer used to manufacture the part, or any other information about manufacture desired to be embedded in the finished product. In this way, parts of the QR code may be used similarly to date stamps or mold IDs in existing, conventionally-manufactured parts. By embedding the code within a part, the security measures of the present invention are particularly resilient to reverse-engineering, for example by 3D scanners, stereoscopic imaging, or other methods of computer-aided capture of 3D models. If a counterfeiter were to image a part with the intention of creating a 3D model based the part's contours and appearance, the 3D imaging would fail to capture any internal features, including the QR code. The absence of the QR code in the illicitly-duplicated part could then be used as an indicator that the part is a counterfeit.
QR codes used in the present invention may have a variety of sizes, types, and data capacities, depending on the desired application. For example, a standard QR code as shown in
The maximum data capacity and error correction levels available for micro-QR codes is shown in Table 2 below. As shown, micro-QR codes are smaller and thus have lower data capacity than standard QR codes, but may still be viable for applications where a short code is needed inside a small physical envelope.
In some embodiments of the present invention, the embedded code is a conventional 1D zebra-stripe barcode, such as a UPC code used for commercial products. 1D barcodes encode data horizontally only using black bars on a white background, which are sufficient for storing information such as numbers or short tags. For a longer string field, however, such 1D codes are insufficient. Despite their limited information storage capability, one dimensional barcodes are still widely used, because readers are ubiquitous and the coding scheme is universally understood.
An example of a 1D barcode is shown in
Aspects of the present invention relate to methods of embedding CAD features in solid models. It should be understood that any introduced features must be included in the design of components with significant planning and forethought as to the potential impact on the structural integrity of the finished part. Only by using a careful combination of parameters and practices through the AM process chain can a CAD feature be added to an existing model while still producing a high quality component. The combination of parameters and practices serves as a second layer of security, because a counterfeiter copying a part without the proper process in place will necessarily produce a part of measurably lower quality. That lower quality can then further be used to separate genuine parts from counterfeits.
In some embodiments, methods of the present invention comprise the steps of generating and printing a QR code for use as an embedded security feature. Exemplary phases of a QR code generation process of the present invention are shown in
In some embodiments, the generated QR code requires some amount of manual clean-up prior to or during printing. Particularly in embodiments where the QR code is broken into slices, as shown generally in
In some embodiments, methods of the present invention comprise a step of splitting a code into several parts and embedding various parts in different print layers. This approach serves at least the following two purposes: (1) avoiding structural integrity issues, and (2) making sure that the code is imaged correctly only from a very specific angle. Such embedded codes will be invisible from the surface.
In some embodiments, methods of the present invention include imaging steps directed to extracting an embedded code from within a part created via an AM process. In some embodiments, a micro CT scanner is used to image and reconstruct codes embedded within a printed part. A micro CT scanner may be used to collect images from some or all of the regions of the printed part, or may alternatively only collect those CT scan image slices that contain the code information that will be separated and overlaid to reconstitute the code. It is understood that other methods of scanning suitable for the application could also be used, including but not limited to X-ray, Magnetic Resonance Imaging (MRI), ultrasonic, infrared or ultraviolet illuminated imaging.
In some embodiments, the reconstituted code is represented by a grayscale image, which may be an 8-bit grayscale image. In other embodiments, the reconstituted code may be a color image, or may alternatively be a 10-bit, 12-bit, 16-bit, or 32-bit grayscale image as needed.
In some embodiments, the reconstituted code derived from the CT scan may lack sufficient resolution or contrast to be simply scanned by a smartphone-based or other computer vision based scanner. An exemplary reconstituted QR code, shown in
Methods of the present invention may include one or more image processing steps, for example conversion of a grayscale image that might have low contrast into a binary image for easier processing. In some embodiments, one image processing step is to apply an adaptive histogram equalization, particularly if the color gamut of the grayscale image is low. One example of an adaptive histogram equalization method is the Contrast Limited Adaptive Histogram Equalization (CLAHE), provided by OpenCV. By applying multiple iterations of the CLAHE or other histogram equalization algorithm, an image having a tight histogram of color values may be usefully processed into an image with a wider gamut, showing two distinct peaks which can be used to differentiate between black and white points in the image. An example of such an image enhancement is shown in
In some embodiments, imaging and scanning methods of the present invention comprise steps of comparing an image of a code taken from within an AM part with the original code embedded within the part in order to validate it. This comparison step may comprise a contour detection step, for example to better determine in an automated fashion the sizes and positions of the position-detection features or other fixed position elements in order to better rectify the code image for comparison. In some embodiments, based on the size and position of the position detection features, a grid size is determined in order to translate or down-sample the pixel resolution of the taken image into the feature size of the original code. This allows for easy overlay of the original code onto the rectified image, in order to perform a comparison. In some embodiments, the comparison is conducted with multiple different grid sizes, and the results taken together, in order to calculate the comparison with higher confidence. In some embodiments, one region of a scanned code may be evaluated at one grid size, while another region is evaluated at another grid size. In some embodiments, the grid elements are squares, but in other embodiments the grid elements may have differing length and width, for example to correct for scanning orientation or non-uniform printer resolution.
Referring now to
The invention is further described in detail by reference to the following experimental examples. These examples are provided for purposes of illustration only, and are not intended to be limiting unless otherwise specified. Thus, the invention should in no way be construed as being limited to the following examples, but rather, should be construed to encompass any and all variations which become evident as a result of the teaching provided herein.
Without further description, it is believed that one of ordinary skill in the art can, using the preceding description and the following illustrative examples, make and utilize the system and method of the present invention. The following working examples therefore, specifically point out exemplary embodiments of the present invention, and are not to be construed as limiting in any way the remainder of the disclosure.
Materials and Methods SolidWorks 2015 is used in this example as the primary CAD solid modeling software. Depending on the type of 3D printer used, different slicing software preparation tools are used correspondingly. For parts that are 3D printed with a fused deposition modeling (FDM) printer Stratasys Dimension Elite, the part model material is acrylonitrile butadiene styrene (ABS) thermoplastic filament and CAD solid model development support material is a water-soluble material (SR-10TM/P400SRTM soluble support material-acrylic copolymer). In this embodiment, the CatalystEX slicing software is used for toolpath generation and encoder file preparation. Table 3 below shows two possible layer resolutions for use when slicing the model and generating the toolpath. Layer resolution refers to the thickness in the vertical Z direction of each layer during the deposition process, where lower layer resolution generally gives higher precision. In addition to layer resolution, the model interior may be printed in any of a variety of infill densities, including “solid”, “high-density”, and “low-density”. As used herein, the “solid” option provides 100% infill and therefore the densest part, and so therefore the “solid” model interior is chosen for all models processed in CatalystEX in this example.
In addition to FDM technology, the Polyjet technology with finer layer resolution (down to 16 microns) is also adopted in this work to facilitate higher precision fabrication and feature miniaturization. The Stratasys J750 Polyjet 3D Printer is used to produce multi-material parts with high resolution using VeroWhite and VeroBlack photopolymers. The Stratasys Objet30 Pro 3D printer is used to produce parts with embedded features in high resolution using VeroClear photopolymer.
The QR code was then generated as shown generally in
As discussed above, the example shown in
QR codes were printed using three widely-known 3D printing technologies: (a) polymer FDM using Stratasys Dimension printers, (b) photopolymer using Objet30 Pro and (c) AlSi10Mg using metal printer EOS M280. Each of these printers is capable of printing at a different resolution. The codes were printed in multiple sizes to determine the QR code line width capable of being scanned using a QR code reader.
Two examples of 3D printed QR codes are shown in
An example of a sliced, printed, and reconstituted code is shown in
As shown in
A micro CT scanner was used to image and reconstruct embedded codes. The preliminary result of a CT scan of an embedded code for one resin printed specimen of 1×1 mm size is shown in
It is also noted that the micro CT-scan can provide a 3D reconstruction of the entire code specimen. However, the actual readable QR code is only a 2D image. Therefore, only the CT-scan image slices that contain QR code information are separated and overlaid to construct the reconstituted code. This method reduces scan time and the total amount of data that needs to be stored and processed, by only using a limited set of scan images rather than the entire CT-scan output, which can be as large as 10-100 GB, or more.
To perform image processing, the two representative images shown in
Discrepancy Calculation
The reconstructed and processed QR code image was compared to the original QR code pattern to determine the level of similarity by calculating the discrepancy, i.e. the pixel-by-pixel differences between the original code pattern and the processed code image. First, a contour detection method is used to detect the three positioning markings by the unique contour hierarchy of these positioning squares. The contour detection method is applied to the processed image and the result shows that contours are detected indiscriminately, as shown in
Two 3D CAD models were created in SolidWorks 3D modelling software as shown in
Shown in
In order to be effective, embedded codes should have little or no impact on the structural and material properties of the part in which they are embedded. In order to test this, several tensile test specimens were designed with and without embedded codes. The various specimens were printed and mechanically tested in order to determine the effect of the presence of these codes on the tensile strength and modulus of the specimen.
A three-layer segmented code, similar to the one shown in
With a hardly recognizable difference in weight (0.05%), the tensile properties are not changed significantly by adding an embedded QR code. This proves that embedding identifying codes into a CAD model can serve as an authentication signature in the final product without compromising product quality.
This application claims priority to U.S. Provisional patent Application No. 62/599,285, filed on Dec. 15, 2017, incorporated herein by reference in its entirety.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US18/65635 | 12/14/2018 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
62599285 | Dec 2017 | US |