METHOD AND SYSTEM FOR AUTHORIZING A PRODUCT BEARING A MARKING

The method and system improve product authentication by using laser-engraved minutiae matrices and neural networks to enhance the reliability of distinguishing genuine products from counterfeits, addressing the limitations of existing authentication methods.

FR3167228A1Pending Publication Date: 2026-04-10ADVANCED TRACK & TRACE SA
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
FR · FR
Patent Type
Applications
Current Assignee / Owner
ADVANCED TRACK & TRACE SA
Filing Date
2024-10-03
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

Existing methods for authenticating products with markings, such as holograms and QR codes, have reliability issues in distinguishing genuine from counterfeit items, particularly in luxury goods and spirits sectors, with a 95% reliability rate that is not sufficient for industries seeking higher accuracy.

Method used

A method and system utilizing laser-engraved markings with unique minutiae matrices, processed by an artificial neural network, to extract a digital fingerprint for product authentication, involving image capture, minutiae selection, alignment, similarity measurement, and classification using a trained neural network.

Benefits of technology

Enhances the reliability of product authentication by improving the differentiation between genuine and counterfeit products, achieving higher accuracy through the use of a digital fingerprint based on minutiae matrices and neural network processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000028_0000
    Figure 00000028_0000
  • Figure 00000029_0000
    Figure 00000029_0000
  • Figure 00000030_0000
    Figure 00000030_0000
Patent Text Reader

Abstract

TITLE OF THE INVENTION: METHOD AND SYSTEM FOR AUTHORIZING A PRODUCT BEARING A MARKING The method (100) for authenticating a product bearing a marking defined according to a pattern comprising a plurality of predetermined minutiae includes: - an initial step (105) of capturing an image of the marking, - a subsequent step (110) of capturing an image of the marking, - a step (115) of selecting at least a portion of the marking minutiae from the image captured during the subsequent capture step, - for each selected marking minutiae, a step (120) of measuring the similarity between said marking minutiae captured during the initial capture step and the subsequent capture step, - a step (125) of forming a matrix of similarity measures, in which the position of a similarity measure of a given marking minutiae is representative of the geometric position of said marking minutiae among the others selected details,- a step (130) of implementing an artificial neural network trained to associate a product authenticity class with a similarity measures matrix and - a step (135) of providing the product authenticity class obtained by implementing the artificial neural network. Figure for the abstract: Figure 1,
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: METHOD AND SYSTEM FOR AUTHORIZING A PRODUCT BEARING A MARKING Technical field of the invention

[0001] The present invention relates to a method for authenticating a product bearing a marking and a system for authenticating a product bearing a marking. It is applicable, in particular, to the field of combating counterfeiting, for example in the luxury goods and spirits sectors. State of the art

[0002] The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section constitutes prior art simply because of its inclusion in this section.

[0003] Product marking is one of the oldest forms of combating counterfeiting: it consists of affixing a recognizable sign to a product, enabling a consumer to determine the origin of the product, thus ensuring its authenticity.

[0004] Such signs are easily copied, so that the markings affixed have gradually become more complex and have been made independent of signs representing trademarks.

[0005] Among these markings, examples include hologram markings, radio-frequency identification chip markings, and chemical markings. In particular, with regard to the present invention, markings by application of minutiae matrices are also known. These minutiae matrices correspond to small matrices of contrasting dots (similar to pixels) and form codes similar in appearance to a simplified version of QR codes.

[0006] Such matrices, affixed in large numbers, are difficult to reproduce without error.

[0007] In known practices, for each minutiae, a comparison is made image comparison between the original minutiae (as applied to the product) and a captured minutiae (which may not correspond to the applied minutiae), and the determination of an acceptable or unacceptable similarity between these two minutiae. The distribution of these similarities is usually represented by a normal curve whose midpoint varies depending on whether the minutiae matrix was reproduced or whether this matrix corresponds to the origin. Measuring this distribution allows us to determine that a product is counterfeit with a reliability rate of 95%.

[0008] While this measure is high, it is not sufficient for many industries that seek to maximize the reliability of counterfeit detection. Presentation of the invention

[0009] The present invention aims to remedy all or part of these drawbacks.

[0010] The object of the present invention is to provide a solution for identifying laser-engraved, printed, or woven products, based on the identification of defects induced by a marking consisting of a regular matrix of points of the same size.

[0011] The present invention makes it possible to extract a digital fingerprint which makes it possible to identify a precise marking and therefore a precise product.

[0012] This capability is achieved by extracting unique characteristics from each of the protected products, which act as fingerprints, similar to fingerprints for humans. This fingerprint extraction is itself broken down into the extraction of significant sub-parts, which are not sufficient on their own to determine the object's identification.

[0013] These sub-parts are called "minutiae" by analogy with the role of such sub-parts in human biometrics: they are local areas (matrices of points on an image) that are compared with their corresponding references. This comparison is performed using a metric, and the fusion of the metrics is provided by an artificial neural network, which makes it possible to obtain an overall decision from local metrics.

[0014] The first operational constraint to the use of this technique is that it requires processing of each object, which must be enrolled by means of establishing a link between the object's identifier (for example, a barcode or a QR code) and the set of physical characteristics retained as relevant to uniquely identify it.

[0015] This is achieved, for example, in a laser engraving process by: - the variations specific to distinguishing each object thanks to irregularities in the laser, the material, the operating conditions and - a marking grid to precisely measure these irregularities which serve to characterize the instance of the product.

[0016] Thus, a unique marking is applied to an object according to a registration grid and the conditions of application lead to the generation of minutiae in the “real” marking (compared to the theoretical marking scheme) and it is the information contained in this combination that serves as the imprint for the product.

[0017] The second constraint consists of qualifying the characteristics that allow for good differentiation between objects and between an object and a copy thereof, while taking into account the variability of the acquisition methods that can be performed (scanning by smartphone, production line cameras, flatbed scanner, etc.). This involves a confusion matrix analysis and the measurement of rates such as precision or recall, focusing on false positives and false negatives. The objective is to have the most robust method possible. To achieve this, we primarily used the Fl metric as a constraint for the associated image processing.

[0018] The third constraint is the durability over time and throughout the life cycle of the selected product characteristics.

[0019] Finally, the last constraint is that the disadvantage of feature extraction approaches is linked to the specificities of the object and its manufacturing context.

[0020] To this end, according to a first aspect, the present invention relates to a method for authenticating a product bearing a marking defined according to a pattern comprising a plurality of predetermined minutiae, which comprises: - an initial step of capturing an image of the marking, - a subsequent step of capturing an image of the marking, - a step of selecting at least a portion of the minutiae of the marking from the image captured during the subsequent capture step, - for each selected minutia of the marking, a step of measuring the similarity between said minutia of the marking captured during the initial capture step and the subsequent capture step, - a step of forming a matrix of similarity measures, in which the position of a similarity measure of a given marking minutia is representative of the geometric position of said marking minutia among the other selected minutiae, - a step involving the implementation of an artificial neural network trained to associate a product authenticity class with a matrix of similarity measures and - a step of providing the product authenticity class obtained by implementing the artificial neural network.

[0021] Such provisions considerably improve the reliability of determining the authenticity of a product associated with a marking.

[0022] In particular embodiments, the process of the present invention comprises, upstream of the measurement step, for each selected marking minutia, a step of aligning said marking minutia with the corresponding predetermined minutia of the pattern.

[0023] These embodiments increase the reliability of the similarity measurement carried out subsequently.

[0024] In particular embodiments, the process of the present invention comprises, downstream of the alignment step, a retention step of at least a part of the aligned minutiae, the forming step being carried out on the retained minutiae.

[0025] These embodiments increase the reliability of the similarity measurement carried out subsequently.

[0026] In particular embodiments, at the output of the retention step, at least ten times fewer minutiae are retained than minutiae captured during the image capture.

[0027] In particular embodiments, at the output of the retention step, between 50 and 150 minutiae are retained.

[0028] In particular embodiments, at the output of the selection step, at least five times fewer minutiae are selected than minutiae captured during the image capture.

[0029] In particular embodiments, the process of the present invention comprises a step of training an artificial neural network trained to associate a product authenticity class with a similarity measurement matrix, comprising: - a step of collecting matrices of similarity measures representative of empirical similarity measures, between marking minutiae captured during an initial capture step and a subsequent capture step, and, associated with at least a part of the collected measurement matrices, a numerical indicator representative of an empirical authenticity of a product associated with said matrices, to form a training set, - a step of providing the training set to an artificial neural network to associate a product authenticity class with a matrix of similarity measures and - a step of obtaining the trained artificial neural network.

[0030] In particular embodiments, the process that is the subject of the present invention comprises: - an initial step of capturing an image of the marking, - a subsequent step of capturing an image of the marking, - a step to measure the similarity between at least one minutiae of the marking captured during the initial capture step and the subsequent capture step and - a step involving the creation of a database of similarity measure matrices representative of empirical similarity measures, the database being created is implemented during the collection stage.

[0031] According to a second aspect, the present invention relates to a product authentication system supporting a marking defined according to a pattern comprising a plurality of predetermined minutiae, which includes: - a means of initially capturing an image of the marking, - a means of subsequently capturing an image of the marking, - a means of selecting at least some of the minutiae of the image marking captured during the subsequent capture stage, - a means of measuring, for each selected marking detail, the similarity between said marking detail captured by the initial capture means and by the subsequent capture means, - a means of forming a similarity measure matrix, in which the position of a similarity measure of a given marking minutiae is representative of the geometric position of said marking minutiae among the other selected minutiae, - a means of implementing an artificial neural network trained to associate a product authenticity class with a matrix of similarity measures and - a means of providing the product authenticity class obtained by implementing the artificial neural network.

[0032] The advantages of the system which is the subject of the present invention are similar to those of the process which is the subject of the present invention. Brief description of the figures

[0033] Other advantages, purposes and particular features of the invention will become apparent from the following non-limiting description of at least one particular embodiment of the process and system that are the subject of the present invention, with reference to the accompanying drawings, in which: [Fig. 1] represents, schematically and in the form of a flowchart, a particular sequence of steps in the process that is the subject of the present invention, [Fig.2] schematically represents a computing device capable of implementing the process that is the subject of the present invention and [Fig.3] schematically represents a particular embodiment of the system which is the subject of the present invention. Description of the implementation methods

[0034] The present description is given by way of non-limiting grammar, each feature of an embodiment being able to be advantageously combined with any other feature of any other embodiment.

[0035] It should be noted from the outset that the figures are not to scale.

[0036] As can be understood from reading the present description, various concepts Inventive features can be implemented by one or more methods or devices described below, several examples of which are provided here. The actions or steps carried out in implementing the method or device may be ordered in any appropriate manner. Consequently, it is possible to construct embodiments in which the actions or steps are executed in a different order than illustrated, which may include the execution of certain acts simultaneously, even if they are presented as sequential acts in the illustrated embodiments.

[0037] The expression "and / or", as used in this document, shall be understood as meaning "either or both" of the elements thus joined, that is, elements that are present conjunctively in some cases and disjunctively in others. Multiple elements listed with "and / or" shall be interpreted in the same way, that is, "one or more" of the elements thus joined. Other elements may also be present, other than those specifically identified by the "and / or" clause, whether or not they are related to those specifically identified elements.Thus, by way of non-limiting example, a reference to "A and / or B", when used in conjunction with an open language such as "including", may refer, in one embodiment, to A only (possibly including elements other than B); in another embodiment, to B only (possibly including elements other than A); in yet another embodiment, to A and B (possibly including other elements); etc.

[0038] As used herein in the description, "or" is to be understood inclusively.

[0039] As used in this description, the expression "at least one," with reference to a list of one or more elements, is to be understood as meaning at least one element chosen from one or more elements in the list of elements, but not necessarily including at least one of each element specifically enumerated in the list of elements and not excluding any combination of elements in the list of elements. This definition also allows for the optional presence of elements other than the elements specifically identified in the list of elements to which the expression "at least one" refers, whether or not they are related to those specifically identified elements.Thus, by way of non-limiting example, "at least one of A and B" (or, equivalently, "at least one of A or B", or, equivalently, "at least one of A and / or B") may refer, in one embodiment, to at least one, possibly including more than one, A, without B present (and possibly including elements other than B); in another embodiment, to at least one, possibly including more than one, B, without A present (and possibly including elements other than A); in yet another embodiment, to at least one, possibly including more than one, A, and at least one, possibly including more than one, B (and possibly including other elements); etc.

[0040] In the description below, all transitory expressions such as "comprising", "including", "carrying", "having", "containing", "implying", "holding", "Composed of", and others, should be understood as open, that is, as meaning including but not limited to. Only the transitive expressions "consisting of" and "consisting essentially of" should be understood as closed or semi-closed transitive expressions, respectively.

[0041] Figure 1 shows a schematic view of an embodiment of the method 100 of the present invention. This method 100 for authenticating a product bearing a marking defined according to a pattern comprising a plurality of predetermined minutiae includes: - an initial step 105 of capturing an image of the marking, - a subsequent step 110 of capturing an image of the marking, - a step 115 of selecting at least a portion of the marking minutiae from the image captured during the subsequent capture step, - for each selected marking minutiae, a step 120 of measuring the similarity between said marking minutiae captured during the initial capture step and the subsequent capture step, - a step 125 of forming a similarity measure matrix, in which the position of a similarity measure of a given marking minutiae is representative of the geometric position of said marking minutiae among the other selected minutiae, - a step 130 of implementing an artificial neural network trained to associate a product authenticity class with a matrix of similarity measures and - a step 135 of providing the product authenticity class obtained by implementing the artificial neural network.

[0042] Before marking the product, a selection of optimal patterns can be made. Such optimal patterns correspond to statistically predetermined information: the different patterns imply different constraints on the marking method (such as a laser during engraving). For example, if there is only one engraved dot on a 3x3 matrix, the variability of this element is less rich than when there are 5 engraved dots. Depending on the marking method, the patterns can be different; for example, for a laser that makes small, non-overlapping dots, the optimum in terms of pattern variability is for the largest number of dots because there are more opportunities for variations, therefore 9 dots on a 3x3 pattern (the complete pattern). On the other hand, when the laser causes the dots to overlap, the presence of spaces between the engraved dots can increase variability, and therefore one out of every two dots is optimal.The choice of patterns is made by means of a preliminary test with the marking method on the different patterns.

[0043] Upstream or downstream of the product marking, minutiae can be selected and positioning identifiers and characteristics relating to These selected minutiae can be stored in computer memory, for example. This allows for the creation of a unique digital fingerprint of a product, the combination of minutiae and their characteristics being equivalent to a digital fingerprint. Such characteristics correspond, for example, to the nature of the impacts produced by the marking method on the material: shape of the impact crater, depth, barb, and any other type of impact.

[0044] The initial step 105 of capturing an image of the marking can be carried out with any known image capture device. Such an image sensor corresponds, for example, to a sensor: - with coupled load ("Charge-coupled device" in English), - complementary metal-oxide-semiconductor (in English), - indium-gallium-arsenide, - thermal, - time of flight (in English), - spectral or multispectral and / or - to ultraviolet.

[0045] The nature of the image sensor device depends on the type of marking performed and the marking technology implemented. The association between marking technology and sensor type is widely known in the field of industrial marking.

[0046] For example, in the context of the present invention, this association may correspond to a laser, on the one hand, and to image capture in the visible optical band, on the other hand.

[0047] The initial step 105 is preferably carried out in a controlled environment ensuring high image quality and high reliability in image capture. The images thus captured serve as a reference point to determine whether a product is genuine or counterfeit.

[0048] The subsequent capture step 110 can be carried out with any known image capture device. Preferably, the same type of capture device is implemented during the initial capture step 105 and the subsequent capture step 110.

[0049] Such a subsequent capture step 110 takes place downstream of the initial capture step 105 and, typically, in an uncontrolled environment (which may correspond to a customs control or an in-situ quality control).

[0050] The selection step 115 is carried out by the execution of instructions, corresponding to computer software, by a microprocessor-type computing device for example.

[0051] During this selection step 115, an image processing algorithm is implemented. This image processing algorithm is configured to associate a score with each captured minutia based on criteria representative of the ability to perform a high-performance similarity measurement for that captured minutiae.

[0052] Each criterion is thus associated with a rule corresponding to a calculation carried out during the execution of the image processing algorithm.

[0053] This selection step 115 aims to consider a sufficient number of minutiae to make a decision while limiting the computation time required.

[0054] Depending on the specific needs of the use case, a number of minutiae is determined to achieve a given level of accuracy / recall. To determine this number, an analysis of a few samples can be performed to select the number K of minutiae to be retained.

[0055] Regarding the choice of minutiae: their location obviously impacts their quality, and a preliminary analysis can therefore be carried out to determine the optimal locations. However, another approach consists of dividing the marking area into K equivalent surfaces and randomly selecting a minutiae from each of these surfaces, in order to obtain uniform coverage of the marking in the event of scratches or soiling that would only affect part of the surface, so as to have other areas with sufficient minutiae.

[0056] Selection step 115 can be implemented to extract minutiae from the captured image corresponding to predetermined minutiae, upstream or downstream of the product marking. These minutiae are associated with positioning identifiers and features stored in computer memory, for example.

[0057] In particular examples, an initial marking may comprise thirty thousand minutiae, each formed of a three-by-three-bit matrix (corresponding to a mark or the absence of a mark). A minutiae may correspond to any matrix of N x M points. Preferably, a minutiae corresponds to a matrix of N x N points.

[0058] In particular examples, only a few thousand minutiae are selected during selection step 115. For example, less than 50%, 40%, 35%, 30%, 25%, 20%, 15%, 10%, 5%, 3% or 1% of the number of minutiae in the original pattern are selected.

[0059] In optional embodiments, the method 100 of the present invention includes, upstream of the measurement step 120, for each selected marking minutia, a step 140 of alignment (or straightening) of said marking minutia with the corresponding predetermined minutia of the pattern.

[0060] The alignment step 140 is carried out by the execution of instructions, corresponding to computer software, by a microprocessor-type computing device for example.

[0061] Such an alignment step 140 implements, for example, a known algorithm for aligning two images of the same object taken under distinct conditions. Such an algorithm corresponds, for example, to the SIFT, SURF, ORB or YOLO algorithm applied to the sparse matrix that is a binary matrix marking.

[0062] In optional embodiments, the process 100 of the present invention includes a step 145 of retaining at least a portion of the aligned minutiae, the formation step 125 being carried out on the retained minutiae.

[0063] The carry-over step 145 is carried out by the execution of instructions, corresponding to computer software, by a microprocessor-type computing device for example.

[0064] During this retention step 145, an image processing algorithm is implemented. This image processing algorithm is configured to associate a score with each captured minutia based on criteria representative of the ability to perform a high-performance similarity measurement for that captured minutiae.

[0065] Each criterion is thus associated with a rule corresponding to a calculation carried out during the execution of the image processing algorithm.

[0066] The selection of minutiae preferably begins with a preliminary phase of qualifying the most useful patterns for characterization, using a few representative samples from the production. On these samples, the distance L2 is determined between different photographs of the same minutiae and different photographs of other minutiae possessing the same pattern. The most representative patterns are those that best separate these two sets. From among these patterns, an arbitrary number N (for example, 50) of the most representative patterns are selected. This phase can be carried out only once. A redundancy parameter K (for example, 3) is then defined to ensure sufficient pattern redundancy based on the need for robustness against the risks of degradation presented by the object to be identified.

[0067] Then, for any image for which a fingerprint must be generated, the following algorithm can be applied: - the image is divided into NxK equal parts, for example into regular tiles, - in each part, a pattern from the set of N is randomly sought and iteratively, another (still randomly chosen) is sought until K is found and the positions of its endpoints are recorded, and - the image pieces corresponding to the space between these ends are cut out and saved as minutiae.

[0068] In optional embodiments, at the output of the retention step 145, at least ten times fewer minutiae are retained than minutiae captured during the image capture.

[0069] In optional embodiments, at the output of the retention step 145, between 50 and 150 minutiae are retained.

[0070] In optional embodiments, at the output of the selection step 115, at least five times fewer minutiae are selected than minutiae captured during the image 110 capture.

[0071] Step 120 of measuring similarity is carried out by executing instructions, corresponding to computer software, by a microprocessor-type computing device for example.

[0072] During this measurement step 120, an algorithm for calculating a distance between images is implemented and applied to the image of a minutiae obtained during the initial capture step 105 and to the image of the same minutiae obtained during the subsequent capture step 110.

[0073] Such an algorithm implements, for example, the calculation of a so-called "L2" distance, corresponding to an average Euclidean distance between points of the same minutiae.

[0074] Step 125 of forming a similarity measurement matrix is ​​carried out by executing instructions corresponding to computer software, by a microprocessor-type computing device for example.

[0075] During this training step 125, the different measured similarity values ​​are concatenated to form a matrix whose relative positioning of the similarity values ​​with respect to each other is representative of the positioning of the matrices.

[0076] Step 130 of the implementation of a trained artificial neural network is carried out by the execution of instructions, corresponding to computer software, by a microprocessor-type computing device for example.

[0077] During implementation step 130, the similarity measures matrix is ​​provided to the artificial neural network previously trained to associate one of two classes ("true product" and "false product") with a similarity measures matrix.

[0078] Step 135 of providing the product authenticity class obtained is carried out, by the execution of instructions, corresponding to computer software, by a microprocessor-type computing device for example.

[0079] Step 135 of supply may implement a graphical user interface (or "GUI", for "Graphic User Interface" in English) or a software interface (or "API", for "Application Programming Interface" in English).

[0080] This supply step 135 allows a computer system or a user to become aware of the class predicted by the artificial neural network.

[0081] In optional embodiments, the method 100 of the present invention comprises a step 150 of training an artificial neural network trained to associate a product authenticity class with a similarity measurement matrix, comprising: - a step 155 of collecting matrices of similarity measures representative of empirical similarity measures, between marking minutiae captured during an initial capture step and a subsequent capture step, and, associated with at least a part of the collected measurement matrices, a numerical indicator representative of an empirical authenticity of a product associated with said matrices, to form a training set, - a step 160 of providing the training set to an artificial neural network to associate a product authenticity class with a matrix of similarity measures and - a step 165 of obtaining the trained artificial neural network.

[0082] The training 150, collection 155, supply 160 and obtaining 165 steps are carried out, by the execution of instructions, corresponding to computer software, by a microprocessor-type computing device for example.

[0083] During step 155 of data collection, a plurality of similarity measure matrices and the authenticity classes associated with these measure matrices are collected. Such collection is carried out, for example, in a database of measure matrices and in a database of product authenticity classes.

[0084] Step 160 of supply is carried out, for example, by the implementation of a communication network, such as the internet for example, or by the implementation of an electronic bus to communicate data from a computing site of a computing device to another computing site.

[0085] Step 165 of obtaining is carried out, for example, by the implementation of a communication network, such as the internet for example, or by the implementation of an electronic bus to communicate data from a computing site of a computing device to another computing site.

[0086] In optional embodiments, the process 100 which is the subject of the present invention comprises: - an initial step 170 of capturing an image of the marking, - a subsequent step 175 of capturing an image of the marking, - a step 180 of measuring a similarity between at least one minutiae of the marking captured during the initial capture step and the subsequent capture step and - a step 185 of establishing a database of similarity measure matrices representative of empirical similarity measures, the database being implemented during the collection step 155.

[0087] The initial capture 170, subsequent capture 175 and measurement 180 steps are carried out in a similar manner to the initial capture 105, subsequent capture 110 and similarity measurement 120 steps.

[0088] Step 185 of constitution is carried out, by the execution of instructions, corresponding to computer software, by a microprocessor-type computing device for example.

[0089] During this step 185 of constitution, a database population algorithm is implemented, for example.

[0090] A particular embodiment of a system 300, the subject of the present invention, is shown schematically in [Fig. 3]. This system 300 for authenticating a product bearing a marking defined according to a pattern comprising a plurality of predetermined minutiae includes: - a means 305 for initial image capture of the marking, - a means 310 for subsequent capture of an image of the marking, - a means 315 for selecting at least a portion of the minutiae of the image marking captured during the subsequent capture step, - a 320 means for measuring, for each selected marking minutiae, the similarity between said marking minutiae captured by the initial capture means and by the subsequent capture means, - a means 325 for forming a matrix of similarity measures, in which the position of a similarity measure of a given marking minutiae is representative of the geometric position of said marking minutiae among the other selected minutiae, - a means 330 of implementing an artificial neural network trained to associate a product authenticity class with a matrix of similarity measures and - a means 335 of providing the product authenticity class obtained by implementing the artificial neural network.

[0091] Particular embodiments of the different means are described with reference to Figures 1 and 2.

[0092] In particular, [Fig.3] shows an example of a minutiae matrix 301 as captured during the initial capture step, an example of the same matrix 302 as captured during the subsequent capture step, and an example of a similarity measures matrix 303 obtained by comparing the minutiae of the images, 301 and 302, of the minutiae matrix.

[0093] Figure 2, which is not to scale, shows a functional diagram illustrating an example of a computer system with which an embodiment of a method of the present invention can be implemented. In the example of Figure 2, a computer system 205 and instructions for implementing the disclosed technologies in the hardware, software, or a combination of hardware and software, are represented schematically, for example in the form of boxes and circles, at the same level of detail commonly used by persons with ordinary competence in the art to which this disclosure relates for communicating about computer architecture and computer system implementations.

[0094] The computer system 205 includes an input / output subsystem (referred to as "FO," for "Input / Output") 220 which may include a bus and / or one or more other communication mechanisms for communicating information and / or instructions between the components of the computer system 205 over electronic signal paths. The input / output subsystem 220 may include an input / output controller, a memory controller, and at least one input / output port. The electronic signal paths are represented schematically in the drawings, for example, as lines, unidirectional arrows, or bidirectional arrows.

[0095] At least one processor 210, or computing device, is coupled to the I / O subsystem 220 for processing information and instructions. The processor 210 may include, for example, a general-purpose microprocessor or microcontroller and / or a special-purpose microprocessor such as an integrated system or a graphics processing unit (GPU) or a digital signal processor or an ARM processor. The processor 210 may include an integrated arithmetic logic unit (ALU) or may be coupled to a separate ALU.

[0096] The computer system 205 includes one or more memory 225s, such as main memory, which is coupled to the I / O subsystem 220 for electronically and digitally storing data and instructions to be executed by the processor 210. The memory 225 may include volatile memory such as various forms of random access memory (RAM) or any other dynamic storage device. The memory 225 may also be used to store temporary variables or other intermediate information during the execution of instructions to be executed by the processor 210. Such instructions, when stored in a non-transient, computer-readable storage medium accessible to the processor 210, can transform the computer system 205 into a special-purpose machine that is customized to perform the operations specified in the instructions.

[0097] The computer system 205 further includes non-volatile memory such as read-only memory (ROM) 230 or other static storage device coupled to the I / O subsystem 220 for storing information and instructions for the processor 210. The ROM 230 may include various forms of programmable ROM (PROM) such as erasable PROM (EPROM) or electrically erasable PROM (EEPROM). A persistent storage unit 215 may include various forms of non-volatile random-access memory (NVRAM), such as FLASH memory, or solid-state storage, a magnetic disk, or an optical disk such as a CD-ROM or DVD-ROM, and may be coupled to the I / O subsystem 220 for storing information and instructions.Memory 215 is an example of non-transient computer-readable media that can be used to store instructions and data which, when executed by processor 210, cause the execution of computer-implemented methods to carry out the techniques of this document.

[0098] The instructions in memory 225, ROM 230, or storage 215 may comprise one or more sets of instructions that are organized into modules, methods, objects, functions, routines, or calls. The instructions may be organized as one or more computer programs, operating system services, or application programs, including mobile applications. The instructions may include an operating system and / or system software; one or more libraries to support multimedia, programming, or other functions; instructions or data protocol stacks to implement TCP / IP, HTTP, or other communication protocols; file format processing instructions to parse or render files encoded using HTML, XML, JPEG, MPEG, or PNG;user interface instructions to render or interpret commands for a graphical user interface (GUI, for "Graphics User Interface"), a command line interface, or a text-based user interface;Application software such as an office suite, Internet access applications, design and manufacturing applications, graphics applications, audio applications, software engineering applications, educational applications, games, or miscellaneous applications. The instructions may implement a web server, a web application server, or a web client. The instructions may be organized as a presentation layer, an application layer, and a data storage layer such as a relational database system using a structured query language (SQL) or no SQL, an object store, a graph database, a flat file system, or any other data storage.

[0099] The computer system 205 can be coupled via the I / O subsystem 220 to at least one output device 235. In one embodiment, the output device 235 is a digital computer display. Examples of displays that can be used in various embodiments include a touchscreen, a light-emitting diode (LED) display, a liquid crystal display (LCD), or an electronic paper display. The computer system 205 may include one or more other types of output devices 235, either as a replacement for or in addition to a display device. Examples of other output devices 235 include printers, ticket printers, plotters, projectors, sound or video cards, loudspeakers, buzzers or piezoelectric or other audible devices, LED or LCD lamps or indicators, haptic devices, actuators, or servos.

[0100] At least one input device 240 is coupled to the I / O subsystem 220 to communicate signals, data, command selections, or gestures to the processor 210. Examples of input devices 240 include touch screens, microphones, digital still and video cameras, alphanumeric and other keys, keyboards, graphics tablets, image scanners, joysticks, clocks, switches, buttons, dials, sliders.

[0101] Another type of input device is a control device 245, which can perform cursor control or other automated control functions such as navigating a graphical interface on a display screen, either alternatively or in addition to the input functions. The control device 245 can be a touchpad, a mouse, a trackball, or cursor direction keys to communicate direction information and control selections to the processor 210 and to control cursor movement on the screen 235. The input device can have at least two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), which allows the device to specify positions in a plane.Another type of input device is a wired, wireless, or optical control device, such as a joystick, wand, console, steering wheel, pedal, gear shifter, or any other type of control device. A 240 input device may include a combination of several different input devices, such as a video camera and a depth sensor.

[0102] In another embodiment, the computer system 205 may include an Internet of Things (IoT) device in which one or more of the output device 235, input device 240, and control device 245 are omitted. Or, in such an embodiment, the input device 240 may include one or more cameras, motion detectors, thermometers, microphones, seismic detectors, other sensors or detectors, measuring devices or encoders and the output device 235 may include a special purpose display such as a single line LED or LCD display, one or more indicators, a display panel, a counter, a valve, a solenoid, an actuator or a servomotor.

[0103] The output device 235 may include hardware, software, firmware, and interfaces for generating position report packets, notifications, pulse or heartbeat signals, or other recurring data transmissions that specify a position of the computer system 205, alone or in combination with other application-specific data, directed to the host 250 or server 255.

[0104] The computer system 205 can implement the techniques described herein by using custom hardwired logic, at least one ASIC (Application-Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array), firmware, and / or program instructions or logic that, when loaded and used or executed in combination with the computer system, cause or program the computer system to function as a purpose-specific machine. In one embodiment, the techniques described herein are executed by the computer system 205 in response to the processor 210, which executes at least one sequence of at least one instruction contained in the main memory 225.These instructions can be read from main memory 225 from another storage medium, such as memory 215. Executing the instruction sequences contained in main memory 225 causes the processor 210 to execute the steps of the process described in this document. In other embodiments, hardwired circuits may be used instead of, or in combination with, software instructions.

[0105] The term "storage medium," as used in this document, means any non-transient medium that stores data and / or instructions enabling a machine to operate in a specific manner. Such storage media may include non-volatile and / or volatile media. Non-volatile media include, for example, optical or magnetic disks, such as 215 memory. Volatile media include dynamic memory, such as 225 memory. Common forms of storage media include, for example, a hard disk drive, a solid-state drive, a flash drive, and a storage medium. magnetic data, any optical or physical data storage medium, a memory chip, etc.

[0106] Storage media are distinct from transmission media, but can be used in conjunction with them. Transmission media participate in the transfer of information between storage media. For example, transmission media include coaxial cables, copper wires, and optical fibers, including the wires that constitute a bus in the I / O 220 subsystem. Transmission media can also take the form of acoustic or light waves, such as those generated during data communications via radio waves and infrared waves.

[0107] Various forms of media can be involved in transporting at least one sequence of at least one instruction to the processor 210 for execution. For example, the instructions can initially be transported on a magnetic disk or solid-state drive of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a communication link such as a fiber optic or coaxial cable or a telephone line using a modem. A modem or router local to the computer system 205 can receive the data over the communication link and convert the data into a format that can be read by the computer system 205.For example, a receiver such as a radio frequency antenna or an infrared detector can receive data carried in a wireless or optical signal, and a suitable circuit can provide the data to the I / O subsystem 220, for example by placing the data on a bus. The I / O subsystem 220 carries the data to memory 225, from which the processor 210 retrieves and executes instructions. Instructions received by memory 225 may optionally be stored in memory 215 before or after execution by the processor 210.

[0108] The computer system 205 also includes a communication interface 260 coupled to a bus 220. The communication interface 260 provides bidirectional data communication coupling to the network link(s) 265 that are directly or indirectly connected to at least one communication network, such as a network 270 or a public or private cloud on the Internet. For example, the communication interface 260 may be an Ethernet network interface, an Integrated Services Digital Network (ISDN) card, a cable modem, a satellite modem, or a modem for providing a data communication connection to a corresponding type of communication line, for example, an Ethernet cable, a metallic cable of any type, a fiber optic line, or a telephone line. The network 270 broadly represents a local area network (LAN), a wide area network (WAN), a a campus network, an Internet network, or any combination thereof. The 260 communication interface may include a LAN card to provide a data communication connection to a compatible LAN, or a cellular radiotelephone interface that is wired to send or receive cellular data according to cellular radiotelephone wireless network standards, or a satellite radio interface that is wired to send or receive digital data according to satellite wireless network standards. In any such implementation, the 260 communication interface sends and receives electrical, electromagnetic, or optical signals over signal paths that carry digital data streams representing various types of information.

[0109] The network link 265 typically provides electrical, electromagnetic, or optical data communication directly or through at least one network to other data devices, using, for example, satellite, cellular, Wi-Fi, or Bluetooth technology. For example, the network link 265 can provide a connection through a network 270 to a host computer 250.

[0110] In addition, the network link 265 can provide a connection via the network 270 or to other computing devices via interconnect devices and / or computers that are operated by an Internet Service Provider (ISP) 275. The ISP 275 provides data communication services via a global packet-switched data communication network represented by the Internet 280. A server computer 255 can be coupled to the Internet 280. The server 255 broadly represents any computer, data center, virtual machine or virtual computing instance with or without a hypervisor, or computer running a containerized program system such as Docker or Kubernetes.Server 255 can represent an electronic digital service that is implemented using more than one computer or instance and is accessed and used by transmitting web service requests, Uniform Resource Locator (URL) strings with parameters in HTTP (Hypertext Transfer Protocol) payloads, API (Application Programming Interface) calls, application service calls, or other service calls. Computer system 205 and server 255 can form elements of a distributed computing system that includes other computers, a processing partition, a server farm, or another organization of computers that cooperate to perform tasks or run applications or services.Server 255 can contain one or more sets of instructions that are organized as modules, methods, objects, functions, routines, or calls. Instructions can... be organized as one or more computer programs, operating system services, or application programs, including mobile applications. Instructions may include an operating system and / or system software; one or more libraries to support multimedia, programming, or other functions; instructions or data protocol stacks to implement TCP / IP (Transmission Control Protocol / Internet Protocol), HTTP, or other communication protocols;file format processing instructions to parse or render files encoded using HTML (for "Hypertext markup language"), XML (for "Extensible markup language"), JPEG (for "Joint Photography Experts Group"), MPEG (for "Moving picture experts group") or PNG (for "Portable Networks Graphie"); user interface instructions to render or interpret commands for a graphical user interface (GUI), a command-line interface or a text-based user interface;Application software such as an office suite, Internet access applications, design and manufacturing applications, graphics applications, audio applications, software engineering applications, educational applications, games, or miscellaneous applications. The 255 server may include a web application server that hosts a presentation layer, an application layer, and a data storage layer such as a relational database system using a structured query language (SQL, for "Structured Query Language") or no SQL, an object store, a graphics database, a flat file system, or any other data storage.

[0111] The computer system 205 can send messages and receive data and instructions, including program code, via the network(s), the network link 265, and the communication interface 260. In the Internet example, a server 255 can transmit requested code for an application program via the Internet 280, the ISP 275, the local network 270, and the communication interface 260. The received code can be executed by the processor 210 as it is received, and / or stored in memory 215, or in other non-volatile memory for later execution.

[0112] The execution of instructions as described in this section may implement a process in the form of an instance of a running computer program consisting of program code and its current activity. Depending on the operating system (OS), a process may beA computer system consists of multiple threads that execute instructions simultaneously. In this context, a computer program is a passive collection of instructions, while a process can be the actual execution of those instructions. Multiple processes can be associated with the same program; for example, opening multiple instances of the same program often means that more than one process is running. Multitasking can be implemented to allow multiple processes to share the CPU. Although each CPU core executes only one task at a time, the computer system can be programmed to implement multitasking to allow each processor to switch between running tasks without having to wait for each task to finish.In one embodiment, switching can occur when tasks perform input / output operations, when a task indicates it can be switched, or on hardware interrupts. Time-sharing can be implemented to enable rapid response to interactive user applications by quickly performing context switching to give the impression of multiple processes running concurrently. In one embodiment, for security and reliability reasons, an operating system can prevent direct communication between independent processes by providing strictly mediated and controlled interprocess communication functionality.

[0113] In particular embodiments, the process which is the subject of the present invention can be carried out in the following manner:

[0114] The problem to be solved deals with the relationship between three types of objects. First, there is a binary matrix X, which is a binary image made up of black and white squares, each square having a size of bxb pixels. Second, there is a physical object, namely the engraving E(X) obtained by engraving the binary matrix onto a product label. The same binary matrix X can be engraved several times, to obtain different physical objects E(X), ~E(X), ~~E(X), and so on. Finally, there are the images A(E(X)) obtained by scanning the physical objects E(X). For simplicity, it is possible to assume that the acquisition operators A record each image on the original grid of the image X.

[0115] If the engraving and scanning operations were perfect, then the images X and A(E(X)) would be identical. In practice, they are very different. Most of the differences arise from the instability and unpredictability of the scanning operation A, which is affected by the position of the camera and the object, camera blur, lighting conditions, sensor noise, and recording errors. A small part of the differences, however, is due to the fact that each engraving E(X) is a slightly different physical object, due to irregularities in the base material, random vibrations of the engraving head, and so on. The goal is therefore to robustly identify each physical object E(X) through successive scans. This is a difficult problem, as it requires detecting minute variations within significant changes. However, these small variations can be detected in a statistically significant way.

[0116] To achieve this, it is necessary to define a function ô that allows us to distinguish different physical objects while being robust to acquisition variations. More formally, let e be the set of all engraving operators E and a the set of all acquisition operators A. Then, the function A is such that: AAE(X),À(~E(X) ) = lsiE(X)=^E(X) 0 otherwise

[0117] Where X e {0,1}NxN, a binary matrix of size NxN, with E, ~E ee and A, À e a.

[0118] For the remainder, we note that A and À denote the images of the same marked object.

[0119] The construction of ô, an approximation of the function A, is based on Sets of sub-images containing (n, n) modules extracted from images A and ~A. These sub-images are designated by Ap, where p is the position of the (n, n) module in the binary matrix. Different captures of the same (n, n) module from the same engraving are more likely to produce a similar image; that is, Ap is similar to ~AP. To facilitate comparison, the (n, n) modules are extracted from images with a constant size of (nxb, nxb). This is achieved by aligning the binary matrix it contains, using the SIFT algorithm. Furthermore, the intensity of each (n, n) module is normalized to fit the interval [0, 1]. In this variant, only (n, n) modules of size n = 3 are considered, because for n = 1 or 2, the module does not contain enough information, and for larger n values, they are more likely to be altered by scratches.

[0120] Given x and y, two aligned and normalized images of moduli (n, n) to a At position p, we define a comparator function (xy), which can be based on a simple π / 2 distance between the images, or be the result of a small neural network: '^(x, y) = l« / (x, J) <tp 0 sinon

[0121] where tp is a threshold which must be calibrated and which may depend on the characteristics of x and y (i.e. it may depend on the position p or the pattern). xyj is the comparator obtained when the distance f is learned using a small neural network and "ôp(x, y) the comparator obtained with f(x,y)= llx-yll2 (i.e. the L2 distance).

[0122] In the case of a small network, f(x,y) is obtained as the average of g(x,y), where g(x,y) is implemented using a convolutional neural network (CNN). Function g concatenates the inputs, then applies two 3x3 convolution layers with 16 and 32 output channels respectively, each followed by a ReLU activation function and a 2x2 max pooling. Subsequently, four fully connected layers with ReLU activations produce outputs of dimensions 32, 16, 8, and 1. Function f is trained using the binary cross-entropy loss function and optimized with the AdamW optimizer.

[0123] Several comparisons of corresponding (n, n) moduli can then be combined by a voting system into a global predictive function, approximating A in the above equation as follows:

[0124] *àf(A,Â,P) Or: 1 if D? (A, Â,P) >t 0 otherwise d' (Aip) = â,) et - P is a list of positions corresponding to the modules (n, n) which are used in the definition of the fingerprint.

[0125] "A and D denote the predictor and score obtained with comparator "ôp, and by "Af and Df the predictor and score obtained with comparator ^f. In this equation, the average of the comparators is performed, considering that each comparator term has the same decision power.

[0126] It remains to define the set of positions P to be used in the fingerprint as well as the thresholds {tp} for pe P, and r. These are determined by a calibration process.

[0127] To complete the definition of this fingerprint function, the thresholds {tp} for pe P, as well as r, must be calibrated, and the positions of the best (n, n) module patterns to be compared must be selected. The Fl score (the harmonic mean of accuracy and recall) is used as a measure of success for a comparator function. The Fl score distinguishes between correctly predicted matches for two images of the same engraved (n, n) module, and incorrect matches corresponding to two different engraved (n, n) modules.

[0128] For this calibration, for example, a dataset is constructed and composed of 9 engravings of the same binary matrix, etched on the same materials, with the same laser and the same settings. For each engraving, 8 images are taken with a fixed light source, using the same device, and considering 8 rotation angles relative to the light source, ranging from -30 degrees to +30 degrees. The objective is to be able to identify the images corresponding to the same engraving simply by comparing the images. The appearance of the same modulus pattern (n, n) can vary between the different engravings.

[0129] Calibrating the thresholds {tp} for pe P theoretically requires a different threshold for each module position (n, n). However, this is impractical, as many acquisitions of the same module are needed to establish a statistically significant threshold. Therefore, the threshold as calculated here depends only on the pattern and not on the module position (n, n). Thus, the modules are grouped by pattern to calculate a single threshold for each pattern.

[0130] To confirm that the grouping of thresholds by pattern is not influenced by location, a Kolmogorov-Smimov test is performed for all patterns to determine whether the distribution of xyp, where x and y represent two (n, n) modules of the same pattern at a given position, is independent of location. For almost all patterns, we obtained a p-value less than 0.05, except for patterns [1, 1, 0, 0, 1, 0, 1, 0, 0] and [1, 1, 0, 0, 1, 0, 1, 0, 1], for which we obtained p-values ​​of 0.214 and 0.119, respectively, which is probably due to instability in the statistical estimation.

[0131] It should be noted that the threshold cannot be the same for all patterns. The thresholds {tp} for pe P are thus calculated by maximizing the Fl score of Ag^(x, y) for each pattern.

[0132] Before calibrating the threshold r, the best set of modules (n, n) that will form the fingerprint must be determined, that is, the set of positions P in the equation above. For example, the Fl score for the different patterns can be used to identify the best performers. To choose the number m of modules (n, n) to retain in the fingerprint, m modules (n, n) can be selected from the 10 best patterns based on their Fl score, such that m is as small as possible while maximizing the Fl score of AA (as well as AAf).

[0133] After calibrating the thresholds {tp} for pe P, the threshold r, and the set P of m patterns to be used in the fingerprint, it is possible to retain only the selected modules (n, n) instead of retaining all the images of the data matrix. These fingerprints occupy only m(b2n2 + 4) bytes of information (approximately 14 kB) per engraving.

[0134] To authenticate an engraved label, an image of it is acquired and the m modules (n, n) are extracted at positions P. The equation above (using AA or AAf) is then used to compare the stored imprint with the newly acquired image, validating or not the authenticity of the product. Furthermore, the score D (or the score Df) in the equation above can be used as a confidence measure of the prediction.

Claims

Demands

1. A method (100) for authenticating a product bearing a marking defined according to a pattern comprising a plurality of predetermined minutiae, characterized in that it comprises: - an initial step (105) of capturing an image of the marking, - a subsequent step (110) of capturing an image of the marking, - a step (115) of selecting at least a portion of the marking minutiae from the image captured during the subsequent capture step, - for each selected marking minutiae, a step (120) of measuring a similarity between said marking minutiae captured during the initial capture step and the subsequent capture step, - a step (125) of forming a matrix of similarity measures, in which the position of a similarity measure of a given marking minutiae is representative of the geometric position of said marking minutiae among the other selected minutiae,- a step (130) of implementing an artificial neural network trained to associate a product authenticity class with a matrix of similarity measures and - a step (135) of providing the product authenticity class obtained by implementing the artificial neural network.

2. Method (100) according to claim 1, which includes, upstream of the measurement step (120), for each selected marking minutia, a step (140) of aligning said marking minutia with the corresponding predetermined minutia of the pattern.

3. Method (100) according to claim 2, which comprises, downstream of the alignment step (140), a retention step (145) of at least a portion of the aligned minutiae, the forming step being carried out on the retained minutiae.

4. Method (100) according to claim 3, wherein, at the output of the retention step (145), at least ten times fewer minutiae are retained than minutiae captured during the image capture.

5. Method (100) according to claim 3, wherein, at the exit of the retention step (145), between 50 and 150 minutiae are retained.

6. A method (100) according to any one of claims 1 to 5, wherein, at the output of the selection step (115), at least five times less minutiae are selected only from minutiae captured during the image (110) capture.

7. A method (100) according to any one of claims 1 to 6, comprising a step (150) of training an artificial neural network trained to associate a product authenticity class with a similarity measure matrix, comprising: - a step (155) of collecting similarity measure matrices representative of empirical similarity measures, between marking minutiae captured during an initial capture step and a subsequent capture step, and, associated with at least a part of the collected measure matrices, a numerical indicator representative of an empirical product authenticity associated with said matrices, to form a training set, - a step (160) of providing the training set to an artificial neural network to associate a product authenticity class with a similarity measure matrix and - a step (165) of obtaining the trained artificial neural network.

8. A method (100) according to claim 7, comprising: - an initial step (170) of capturing an image of the marking, - a subsequent step (175) of capturing an image of the marking, - a step (180) of measuring a similarity between at least one minutia of the marking captured during the initial capture step and the subsequent capture step and - a step (185) of constructing a database of similarity measurement matrices representative of empirical similarity measurements, the constructed database being implemented during the collection step.

9. A system (300) for authenticating a product bearing a marking defined according to a pattern comprising a plurality of predetermined minutiae, characterized in that it comprises: - a means (305) for initially capturing an image of the marking, - a means (310) for subsequently capturing an image of the marking, - a means (315) for selecting at least a portion of the marking minutiae from the image captured during the subsequent capture step, - a means (320) for measuring, for each selected marking minutiae, the similarity between said marking minutiae captured by the initial capture means and by the subsequent capture means, - a means (325) of forming a similarity measure matrix, in which the position of a similarity measure of a given marking minutiae is representative of the geometric position of said marking minutiae among the other selected minutiae, - a means (330) of implementing an artificial neural network trained to associate a product authenticity class with a matrix of similarity measures and - a means (335) of supplying the product authenticity class obtained by implementing the artificial neural network.

Citation Information

Patent Citations

  • improvements to shears, spanners, pliers and other similar tools

    FR220E

  • Laser label identification device and method

    EP4280198A1