Method and system for authenticating a product carrying a marking
The method and system enhance product authentication reliability by extracting digital fingerprints from laser-engraved or printed products using minutiae matrices and neural networks, addressing the limitations of existing marking technologies.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-10-03
- Publication Date
- 2026-04-09
AI Technical Summary
Existing methods for authenticating products with markings, such as holograms and RFID chips, have reliability issues, with a 95% accuracy rate being insufficient for industries seeking higher reliability in counterfeit detection.
A method and system that extracts a digital fingerprint from laser-engraved or printed products using a regular matrix of dots, employing minutiae matrices, geometric positioning identifiers, and structural features, combined with an artificial neural network for authentication, to enhance reliability.
Significantly improves the reliability of determining product authenticity by using unique characteristics as fingerprints, achieving robust and durable authentication through a geometric distribution of minutiae and neural network analysis.
Smart Images

Figure EP2025078529_09042026_PF_FP_ABST
Abstract
Description
[0001] DESCRIPTION
[0002] TITLE OF THE INVENTION: METHOD AND SYSTEM FOR AUTHORIZING A PRODUCT BEARING A MARKING
[0003] TECHNICAL FIELD OF THE INVENTION
[0004] 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 particularly applicable to the field of combating counterfeiting, for example in the luxury goods and spirits sectors.
[0005] STATE OF THE ART
[0006] 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 stated, 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.
[0007] Product marking is one of the oldest forms of combating counterfeiting: it consists of affixing a recognizable sign to a product, allowing a consumer to determine the origin of the product, thus ensuring its authenticity.
[0008] Such signs are easily copied, so the markings affixed have gradually become more complex and have been made independent of representative trademark signs.
[0009] Among these markings, examples include hologram markings, radio-frequency identification (RFID) chip markings, and chemical markings. In particular, with regard to the present invention, markings by applying minutiae matrices are also known. These minutiae matrices consist of small matrices of contrasting dots (similar to pixels) that form codes similar in appearance to a simplified version of QR codes. Such matrices, when applied in large numbers, are difficult to reproduce without error.
[0010] In known practices, for each minutiae, an image comparison is performed between the original minutiae (as affixed to the product) and a captured minutiae (which may not correspond to the original minutiae), and an acceptable or unacceptable similarity is determined 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 original. Measuring this distribution makes it possible to determine that a product is counterfeit with a reliability corresponding to a rate of 95%. While this measure is high, it is insufficient for many industries that seek to maximize the reliability of counterfeit detection. PRESENTATION OF THE INVENTION
[0011] The present invention aims to remedy all or part of these drawbacks.
[0012] The aim of the invention is to provide a solution for identifying laser-engraved, printed, or woven products (or objects), based on the identification of defects caused by a marking consisting of a regular matrix of dots of the same size. The invention makes it possible to extract a digital fingerprint that allows for the identification of a precise marking and therefore a precise product.
[0013] This capability is achieved by extracting unique characteristics from each protected product, which act as fingerprints, similar to fingerprints for humans. This fingerprint extraction is itself broken down into the extraction of significant sub-parts, or "minutiae," but none of these are sufficient on their own to authenticate the candidate object.
[0014] These sub-components are called "minutiae" by analogy with their role in human biometrics: they are local areas (matrices of points on an image) that are compared with their digital references (the initial image) in the same location within the object's tagging matrix. This comparison is performed using a metric, and the metric fusion is preferentially fed to an artificial neural network, enabling a global decision to be derived from the local metrics.
[0015] 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, acronym for Quick Response) and the set of physical characteristics retained as relevant to uniquely identify it.
[0016] This is achieved, for example in a laser engraving process, by:
[0017] - the variations specific to distinguishing each object thanks to irregularities in the laser, the material, the operating conditions and
[0018] - a marking grid to precisely measure these irregularities which serve to characterize the instance of the product.
[0019] 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 fingerprint for the product.
[0020] The second constraint involves defining the characteristics that allow for accurate differentiation between objects and between an object and a copy of it, while taking into account the variability of acquisition methods (scans via smartphone, production line cameras, flatbed scanners, etc.). This entails a confusion matrix analysis and the measurement of metrics such as accuracy and recall, focusing on false positives and false negatives. The goal is to develop the most robust method possible. To achieve this, the F1 metric is primarily used as a constraint for the associated image processing.
[0021] The third constraint is the durability over time and throughout the product lifecycle of the selected characteristics.
[0022] Finally, the last constraint is that the disadvantage of feature extraction approaches is linked to the specificities of the object and its manufacturing context.
[0023] Accordingly to a first aspect, the present invention relates to an authentication method according to claim 1.
[0024] Such provisions significantly improve the reliability of determining the authenticity of a product associated with a marking.
[0025] In some embodiments, during the selection step, geometric positioning identifiers (i,j) and structural features k relating to the selected minutiae are associated with said minutiae.
[0026] In some embodiments, the groups of binary modules are groups of matrices of n times m binary modules, or (n,m)-modules, each of these matrices taking the form of one of two powers of n times m motifs consisting of possible combinations of binary values in these matrices.
[0027] In some embodiments, the process of the invention further comprises a pattern selection step, each minutiae selected during the selection step comprising at least one selected pattern.
[0028] In embodiments, each minutiae selected during the selection step comprises only selected motifs.
[0029] In some embodiments, during the selection step, the image is divided into a predetermined number of equal parts, and in each of these parts, a predetermined number of minutiae containing at least one selected pattern are chosen at random from groups of (n,n)-modules representing a selected pattern.
[0030] In some embodiments, during the selection step, each selected motif is found in a number of image parts equal to a predetermined value of redundancies.
[0031] In some embodiments, at the output of the selection step, less than ten times fewer minutiae are selected than minutiae captured during the initial image capture.
[0032] In embodiments, at the output of the selection stage, between 50 and 150 minutiae are selected.
[0033] In some embodiments, at the output of the selection step, less than five times fewer minutiae are selected than minutiae captured during the initial capture step.
[0034] In embodiments, the method of the invention further 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 representative similarity measurement matrices 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 a product authenticity associated with said matrices, to form a training set,
[0035] - 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
[0036] - a step of obtaining the trained artificial neural network.
[0037] In some embodiments, the process that is the subject of the invention further comprises:
[0038] - an initial step of capturing an image of the marking,
[0039] - a subsequent step of capturing an image of the marking,
[0040] - 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
[0041] - a step of constructing a database of matrices of similarity measures representative of similarity measures, the database being implemented during the collection step.
[0042] According to a second aspect, the present invention relates to a product authentication system supporting a marking defined according to a geometric distribution of a plurality of groups of binary modules, which comprises:
[0043] - a means of capturing an initial image of the marking,
[0044] - a means of selecting minutiae of the marking from among groups of binary modules,
[0045] - a means of capturing a subsequent image of marking on a candidate product,
[0046] - a means of measuring, for each selected marking minutiae, the similarity between an image fragment of said marking minutiae captured during the initial capture step and an image fragment of a minutiae of the same location in the image captured during the subsequent capture step,
[0047] - 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 in the initial image and of a characteristic (k) representative of the structure of the minutiae,
[0048] - a means of implementing an artificial neural network trained to associate a product authenticity class with a matrix of similarity measures and
[0049] - a means of providing the product authenticity class obtained by implementing the artificial neural network.
[0050] The advantages, purposes, and special features of the system that is the subject of the invention are similar to those of the process that is the subject of the invention. BRIEF DESCRIPTION OF THE FIGURES
[0051] 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:
[0052] Figure 1 schematically represents, in the form of a flowchart, a particular sequence of steps in the process that is the subject of the invention.
[0053] Figure 2 schematically represents a computing device capable of implementing the process that is the subject of the invention.
[0054] Figure 3 schematically represents a particular embodiment of the system that is the subject of the invention.
[0055] Figure 4 represents a binary matrix and a printed image of this binary matrix.
[0056] Figure 5 shows images of the same level of detail across different engravings, in lines and different orientations of light, in columns,
[0057] Figure 6 shows, for different patterns, values of a distance function for two images of the same engraving, and for images of different engravings, and
[0058] Figure 7 represents scores as a function of the pattern index, obtained for two distances, the horizontal axis representing the pattern index, where a higher index corresponds to a greater number of ones in the binary pattern.
[0059] DESCRIPTION OF IMPLEMENTATION METHODS
[0060] The present description is given by way of non-limiting attribution, each feature of an embodiment being able to be advantageously combined with any other feature of any other embodiment.
[0061] It should be noted from the outset that the figures are not to scale.
[0062] As can be understood from this description, various inventive concepts can be implemented by one or more of the methods or devices described below, several examples of which are provided herein. The actions or steps performed in the implementation of the method or device can be ordered in any appropriate manner. Consequently, it is possible to construct embodiments in which the actions or steps are performed in a different order than that illustrated, which may include performing certain acts simultaneously, even if they are presented as sequential acts in the illustrated embodiments.
[0063] The expression "and / or," as used in this document, should be understood as meaning "one or the other 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" should 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.
[0064] As used here in the description, "or" should be understood inclusively.
[0065] As used in this description, the expression "at least one," when referring to a list of one or more items, should be understood as meaning at least one item chosen from one or more items in the list of items, but not necessarily including at least one of each item specifically listed in the list of items and not excluding any combination of items in the list of items. This definition also allows for the optional presence of items other than those specifically identified in the list of items to which the expression "at least one" refers, whether or not they are related to those specifically identified items.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.
[0066] In the description below, all transitive 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.
[0067] To facilitate understanding of the invention, an example of its application to the authentication of a candidate (or "suspect") laser engraving is described below, as a preamble to the description of the figures. Schematically:
[0068] A module is a cell in the binary matrix used for laser engraving that is either engraved (to represent one binary value, for example, "1") or unengraved (to represent the other binary value, for example, "0"). Each site has a position in this matrix, for example, the row number and column number. A digital image of the laser engraving is captured with a resolution higher than that of the laser engraving itself, for example, q times higher in both rows and columns.
[0069] The image is aligned with respect to the binary matrix (with a magnification factor of m, i.e. that a module, black or white square, is represented by a square of q pixels by q pixels in the captured image),
[0070] We select about a hundred minutiae (sets of (n,n)-modules made up of matrices of n rows by n columns of binary modules) by a statistical method from the matrices of n by n engraved modules, using for example a prior calibration.
[0071] Throughout the rest of this description, we consider (n,n)-modules. Of course, the invention applies equally well to (n,m)-modules consisting of n-row by m-column matrices of binary modules. The term (n,n)-module used in the description thus covers, by extension, (n,m)-modules.
[0072] Only the selected (n,n)-module matrices are the minutiae. In the acquired images, a module occupies several pixels (here qxq pixels, with q usually equal to 2, 3, or 4). An (n,n)-module is a square neighborhood of nxn modules represented by a portion of the captured image of n*qxn*q pixels. The (n,n)-modules can take one of two different forms powered by n squared, that is, the number of different binary matrices of dimension nxn, for example, 512 for n=3. However, preferably, the (n,n)-modules cannot take forms consisting entirely of "0"s or entirely of "1"s.
[0073] To compare a candidate or suspect engraving (in the captured image) to a reference engraving (the original image of the engraving stored in memory), we compare the corresponding minutiae, that is, those occupying the same locations on the binary matrices in the captured image and in the reference stored in memory. To compare these minutiae, we use either standard metrics or a neural network.
[0074] Each comparison of these pairs of minutiae forms a value in a similarity matrix. If M is the similarity matrix, then M[i,j,k] is the comparison between the minutiae located at positions (i,j) of the matrix used for engraving, and k is a characteristic representing the structure of the minutiae, for example, the identifiers of the patterns, that is, the shape of each (n,n)-module among the two powers n squared, different shapes of the (n,n)-modules. For example, in the pair (i,j), i represents the row number in the engraving matrix or in the captured image, and j represents the column number in this engraving matrix or in the captured image.
[0075] From the similarity matrix M[i,j,k], a score is derived indicating whether the candidate engraving is authentic, i.e., the reference engraving, or not. To measure this score, a statistical method is applied to this similarity matrix using local calibrations linked to location (i,j) and the minutiae characteristic k. Alternatively, to measure this score, a neural network is implemented and trained on similarity matrices that also depend on the locations (is,js) and the minutiae characteristics ks.
[0076] Exploiting the relationship between the values of the similarity matrix M at coordinates (i,j) allows us to take advantage of the physical phenomena induced by laser engraving or a printing process in which the temporal and spatial proximity of manufacturing translates into a spatial proximity of the stresses experienced and therefore of the deformations carried by the minutiae. Using coordinates (i,j) allows us to focus solely on what matters for decision-making, which improves the overall quality of the method and reduces the amount of computing and storage resources required.
[0077] Figure 1 shows a schematic view of one embodiment of the process 100 which is the subject of the invention.
[0078] This method for authenticating a product bearing a marking defined according to a geometric distribution comprising a plurality of predetermined minutiae, begins with a training phase for an artificial neural network. It is applied to the printing, or marking, of a large number of groups of (n,n)-modules, each representing a pattern. Each pattern is one of the two n squared forms that an (n,n)-module can take, with the exception of patterns exhibiting only a single value ("0" or "1") for all their modules. The groups of (n,n)-modules typically comprise three to eight (n,n)-modules; for example, in Figure 3, two rows of three (n,n)-modules.
[0079] This large number can be several tens of thousands of (n,n)-module groups distributed across the product surface. Note that these (n,n)-module groups can be printed densely, for example, contiguously in both directions of the printing matrix within the surface of a logo, or in a disjointed and dispersed manner, covering only a small percentage of the product surface.
[0080] In step 170, an initial image of the marking is captured, as described opposite step 105. Step 170 is preferably performed during product manufacturing, in a controlled environment ensuring high image quality and reliability in image capture. The images thus captured serve as a reference stored in memory. Then, a subsequent step 175 captures a plurality of images of the same product and of different products, downstream of the initial capture step 170. The different products are, for example, copies of the product made by capturing an image of the original product, reconstructing a digital printing matrix, and printing with this reconstructed digital matrix. These different products correspond to the copies made by counterfeiters.
[0081] Step 175 can be performed with any known image capture device. The same type of capture device can be used in steps 170 and 175. However, such a subsequent capture step 175 also preferentially takes place in uncontrolled environments (lighting, product surface deformation, image sensor, etc.) (which may correspond to customs control or in-situ quality control on the production line). The initial and subsequent images have a resolution higher than the printing matrix resolution, for example, three times higher.
[0082] In step 180, a similarity measure is performed between each group of (n,n)-modules in the initial image and the group of (n,n)-modules with the same position in a subsequent image, after these (n,n)-modules have been aligned. For example, this similarity measure is the percentage of pixels in the images of these groups of (n,n)-modules that have the same binary value, either zero or one. Other examples of similarity measures are given later in the description.
[0083] In step 185, a database of similarity measure matrices M[i,j,k] is constructed, representing similarity measures along three dimensions, where i and j represent the position of the (n,n)-module group and k is a structural characteristic of this group, for example, the set of identifiers of the motifs corresponding to these (n,n)-modules in the initial image that constitute the minutiae. During this database construction step 185, a database population algorithm is implemented, for example.
[0084] The process 100 then includes a step 150 of training an artificial neural network to associate a product authenticity class with a similarity measure matrix. This step 150 includes a step 155 of collecting representative similarity measure matrices M[i,j,k] between image fragments of (n,n)-module groups captured during the initial capture step 170 and during the subsequent capture step 175. Each of these similarity matrices is associated with a numerical indicator representing the authenticity of the product associated with that matrix, to form a training set. The similarity matrices associated with the initial product have an indicator signifying that the product is authentic. The similarity matrices associated with a different product have an indicator signifying that this product is not authentic.
[0085] Step 150 is followed by step 160, which provides the training set to an artificial neural network to associate a product authenticity class with a matrix of similarity measures. In step 165, the artificial neural network is trained.
[0086] Optionally, during the training phase, for example following step 180 and before step 185, in step 182, the patterns that will serve as the (n,n)-modules constituting the selected groups of (n,n)-modules, or minutiae, as described at the end of this description, are selected. In this case, step 185 is performed only on the patterns selected during step 182.
[0087] Before product marking, a selection of optimal patterns can be made. Each pattern is one of two n-squared forms that an (n,n)-module can take. Such optimal patterns correspond to statistically predetermined information: 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 five 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 engraved dots because there are more opportunities for variation—nine dots on a 3x3 pattern, which is the complete pattern, or (3,3)-module.However, when laser engraving tends to cause overlapping engraved points, the presence of spaces between them can increase variability, and therefore every other engraved point is optimal. The choice of patterns is made through a preliminary test with the marking method on the various possible designs.
[0088] As explained at the end of the description, the selection of motifs begins preferably with a preliminary phase of qualifying the motifs most useful for characterization. This is done using a few representative samples of the production, on which a distance is determined, for example, a distance of 12, between different images of the same motif and between different images of images of different motifs. The "most representative" motifs are those that best separate these two sets (see Figure 6). From among the possible motifs, an arbitrary number N (for example, 50) of the most representative motifs are selected.
[0089] Optionally, the similarity matrices all have the same number of elements, with the groups of (n,n)-modules taken into account being drawn randomly from the surface of the product as shown opposite step 115.
[0090] During the production of a product, the process 100 of authenticating a product bearing a marking defined according to a geometric distribution comprising a plurality of predetermined minutiae, includes an initial step 105 of capturing an image of the marking on this product.
[0091] The initial step 105, capturing an image of the marking, can be performed with any known image capture device. Such an image sensor would be, for example, a sensor:
[0092] - with coupled charge (CCD, or "Charge-Coupled Device" in English),
[0093] - complementary metal-oxide semiconductor (C-MOS, or "complementary metal-oxide-semiconductor" in English),
[0094] - indium-gallium-arsenide,
[0095] - thermal,
[0096] - time of flight (in English),
[0097] - spectral or multispectral, and / or
[0098] - to ultraviolet.
[0099] The nature of the image sensor device depends on the type of marking performed and the marking technology used. The association between marking technology and sensor type is well-established in the field of industrial marking. For example, in the context of the invention, this association could involve a laser, on the one hand, and image capture in the visible optical band, on the other. The initial step 105 is preferably carried out during product manufacturing, in a controlled environment ensuring high image quality and high reliability in image capture. The images thus captured serve as a reference stored in memory to determine whether a product is authentic (or "genuine") or not (or "fake").
[0100] Generally, the product is then distributed, that is to say made available to users, for example through a commercial network.
[0101] Upstream or, as shown in Figure 1, downstream of product marking, positions of groups of (n,n)-modules are selected during step 115, these groups of (n,n)-modules then becoming "minutiae". Geometric positioning identifiers (i,j) and structural characteristics k (e.g., the identifiers of the patterns of the (n,n)-modules constituting the minutiae) relating to these selected minutiae are stored in computer memory. This makes it possible to create a unique digital fingerprint of a product, the combination of the positions (i,j) of the minutiae and their characteristics k being equivalent to a digital fingerprint.
[0102] This selection step 115 aims to consider a sufficient number of minutiae to make a decision while minimizing the computation time required. 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, a comparison of the image captured during step 105 and the digital printing matrix used for printing can be performed to identify groups of (n,n)-modules with the lowest similarity measure to the digital printing matrix, thus enabling the selection of the number of minutiae. Regarding the choice of minutiae, their location naturally impacts their quality, and a preliminary analysis can therefore be performed on the image captured during step 105 to determine the optimal (i,j) locations.
[0103] Another, simpler approach is to divide the marking's geometric space into a number of equivalent surfaces (sub-sections) and randomly select a minutiae from each of these surfaces. This achieves a practically uniform coverage (geometric distribution) of the marking by minutiae, thus limiting the impact of scratches or soiling that would only affect a portion of the marking space. This ensures that enough minutiae remain unaffected by such scratches or soiling. Of course, the number of minutiae randomly selected from each surface can be greater than one.
[0104] The P positions of the minutiae selected to form the digital fingerprint of the product can also be determined as described at the end of this description.
[0105] Selection step 115 can be implemented to extract minutiae from the captured image, corresponding to predetermined pattern combinations (shapes of (n,n)-modules), either upstream or downstream of the product marking. These minutiae are associated with representative positioning information (i,j) and features k (e.g., pattern identifiers) stored in computer memory. In specific examples, an initial marking might comprise thirty thousand minutiae, each consisting of six (3,3)-modules (or a matrix of three times three bits, each binary value corresponding to a mark or the absence of a mark). A minutiae can correspond to any matrix of modules, including square or rectangular ones. Preferably, a minutiae corresponds to a matrix of (n,n)-modules of binary values.
[0106] In particular examples, only a few thousand minutiae are selected during the 115 selection step. For example, less than 50%, 40%, 35%, 30%, 25%, 20%, 15%, 10%, 5%, 3%, or 1% of the (n,n)-module groups from the original geometric distribution of (n,n)-module groups are selected.
[0107] In optional embodiments, at the output of selection step 115, less than five times fewer minutiae are selected than groups of (n,n)-modules of which an image is captured during capture step 105.
[0108] Optionally, step 115 includes a step 182 for selecting the most representative patterns, as described above. This is particularly the case when no artificial neural network is implemented, but a distance threshold is used to discriminate between a genuine product and a counterfeit one.
[0109] For each pattern selected as one of the most representative (see figure 6), a redundancy parameter value is defined (for example, equal to three) to ensure good redundancy of these patterns according to the need for robustness against the risks of degradation that the object to be identified presents.
[0110] Then, for any image for which a digital fingerprint needs to be generated, the following algorithm can be applied:
[0111] - the image is divided into a predetermined number of equal parts, for example into regular tiles,
[0112] - in each of these parts, at least one minutiae containing at least one motif selected as one of the most representative is chosen at random from the groups of (n,n)- modules representing a selected motif (see step 182), with the constraint that each selected motif is found in a number of image parts equal to the value of the chosen redundancy parameter, and
[0113] - the geometric coordinates (i,j) and the image pieces corresponding to these groups of selected (n,n)-modules are cut out and saved as minutiae.
[0114] Of course, the number of minutiae randomly selected from each part of the image can be greater than one.
[0115] Preferably, the selected (n,n)-module groups, or minutiae, contain only patterns selected as most representative during step 182.
[0116] In optional embodiments, at the output of selection step 115, fewer than ten times fewer minutiae are selected than groups of (n,n)-modules whose image is captured during capture step 105. In optional embodiments, at the output of selection step 115, between 50 and 150 minutiae are selected.
[0117] In conclusion, following selection step 115, the patterns of the selected minutiae are preferentially among the most representative, or discriminating, patterns, and the positions (i,j) of the selected minutiae are obtained by a constrained random search. This randomness in the selection of minutiae prevents a counterfeiter from optimizing the reproduction of only the selected minutiae in the thousands or tens of thousands of groups of (n,n)-modules printed on the product. This randomness is preferentially constrained by a geometric distribution of the minutiae in each of the image parts, in order to ensure that this distribution is relatively uniform across the printed surface of the product.
[0118] Following step 115, a subsequent image capture of the marking formed on the product is performed in step 110. This subsequent capture step 110 takes place downstream of the initial capture step 105 and can be performed with any known image capture device. Preferably, the same type of capture device is used in both the initial capture step 105 and the subsequent capture step 110. However, such a subsequent capture step 110 can also take place in an uncontrolled environment (lighting, product surface deformation, image sensor, etc.) (which could correspond to customs control or in-situ quality control on the production line).
[0119] For each selected minutiae with geometric coordinates (i,j) in the initial image, the process 100 preferably includes a step 140 of aligning (or rectifying) the minutiae of the subsequent image with the corresponding reference minutiae in the initial image, that is, with the same location (i,j) in the initially captured image. The alignment step 140 is performed, by executing instructions corresponding to computer software, by a computing device such as a microprocessor. Such an alignment step 140 implements, for example, a known algorithm for aligning two images of the same object taken under different 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.
[0120] These acronyms mean:
[0121] SIFT: Scale-Invariant Feature Transform, in French transformation of invariant features at scale.
[0122] SURF: Speeded-Up Robust Features.
[0123] ORB: Oriented FAST and Rotated BRIEF, in French: oriented FAST detector and rotated BRIEF descriptor
[0124] Yolo: You Only Live Once, a Deep Learning algorithm for classifying and detecting objects in images.
[0125] Then, in step 120, a similarity measurement is performed between the image fragment of said minutiae captured during the initial capture step 105 and the image fragment (possibly aligned) of the corresponding minutiae captured during the subsequent capture step 110. Step 120, the similarity measurement, is performed by executing instructions corresponding to computer software, for example, using a microprocessor-type computing device. During this measurement step 120, an algorithm for calculating the distance between image fragments is implemented and applied to the image fragment of a minutiae obtained during the initial capture step 105 and to the image fragment of the corresponding minutiae obtained during the subsequent capture step 110.Such an algorithm implements, for example, the calculation of a so-called "12" distance, corresponding to an average Euclidean distance between pixel values of image segments representing the same minutiae. Other similarity measures are described at the end of this description.
[0126] Following step 120, a step 125 is performed to create a similarity measure matrix M[i,j,k], in which the position (i,j) of a similarity measure for a given selected marking minutiae represents the geometric position of said selected minutiae on the object's surface. Step 125, the creation of a similarity measure matrix M[i,j,k], is carried out by executing instructions corresponding to computer software, for example, using a microprocessor-type computing device. During this 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 associated with the positioning (i,j) of the minutiae and a structural characteristic k of that minutiae.
[0127] In step 130, the artificial neural network trained during the training phase is implemented to associate a product authenticity class with the similarity measure matrix M[i, j, k]. Then, in step 135, the product authenticity class obtained by implementing the artificial neural network is provided.
[0128] 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 computing device such as a microprocessor. During step 130, the matrix M[i,j,k] of similarity measures is provided to the artificial neural network which has been previously trained to associate one of two classes ("true product" and "false product") with a matrix of similarity measures M[i,j,k].
[0129] As an alternative to step 130, a decision step is carried out to determine whether the candidate product is authentic or not, by implementing a distance applied to the similarity matrix (similarity being, itself, a distance), and a limit value of distance beyond which the candidate product is determined to be inauthentic.
[0130] Step 135, which involves providing the resulting product authenticity class, is performed by executing instructions, corresponding to computer software, using a microprocessor-type computing device, for example. Step 135 can implement a graphical user interface (GUI) or an application programming interface (API). This step allows a computer system or a user to access the class determined by the artificial neural network.
[0131] Figure 3 schematically illustrates a particular embodiment of a system 300, the subject of the invention. This system 300 for authenticating a product bearing a marking defined according to a geometric distribution of a plurality of predetermined minutiae comprises:
[0132] - a means 305 for initial image capture of the marking,
[0133] - a means 310 for subsequent capture of an image of the marking,
[0134] - a means 315 for selecting at least a portion of the minutiae of the image marking captured during the subsequent capture step,
[0135] - 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,
[0136] - a means 325 of forming a similarity measure matrix M[i,j,k], in which the position (i,j) of a similarity measure of a given marking minutia is representative of the geometric position of said marking minutia among the selected minutiae and k is a structural characteristic of this minutia,
[0137] - a means 330 of implementing an artificial neural network trained to associate a product authenticity class with a matrix of similarity measures and
[0138] - a means 335 of supplying the product authenticity class obtained by implementing the artificial neural network.
[0139] Particular embodiments of the functions of the different means are described with regard to Figures 1 and 2. In particular, Figure 3 shows an example of a 301 minutiae matrix, as captured during the initial capture step, an example of the same matrix 302 as captured during the subsequent capture step, and an example 303 of similarity measures obtained by comparing the images of the minutiae, 301 and 302, of the minutiae matrix 301.
[0140] 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 invention can be implemented. In the example in 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 when communicating about computer architecture and computer system implementations.
[0141] The computer system 205 includes an input / output (I / O) subsystem 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.
[0142] At least one processor 210, or computing device, is coupled to the I / O subsystem 220 to process 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, a graphics processing unit (GPU), 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.
[0143] The computer system 205 may include one or more memories 225, such as a main memory, which is coupled to the I / O subsystem 220 to electronically store 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 customized to perform the operations specified in the instructions.
[0144] The computer system 205 also includes non-volatile memory such as read-only memory (ROM) 230 or other static storage device coupled to the I / O subsystem 220 to store information and instructions for the processor 210. The ROM 230 may contain various forms of programmable ROM (PROM) such as erasable PROM (EPROM) or electrically erasable PROM (EEPROM). A persistent storage unit 215 may contain 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 to store 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 in this document.
[0145] Instructions in memory 225, ROM 230, or storage 215 can comprise one or more instruction sets that are organized into 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 can 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.
[0146] 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 in place of 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.
[0147] 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.
[0148] 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 user interface on a display screen, either alternatively or in addition to input functions. The control device 245 can be a touchpad, mouse, 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 can include a combination of several different input devices, such as a video camera and a depth sensor.
[0149] 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.
[0150] 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.
[0151] The computer system 205 can implement the techniques described herein 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 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 process steps described in this document. In other embodiments, hardwired circuits may be used instead of, or in combination with, software instructions.
[0152] The term "storage medium," as used in this document, refers to 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 memory-215. Volatile media include dynamic memory, such as memory-225. Common forms of storage media include, for example, a hard disk drive, a solid-state drive, a flash drive, a magnetic data storage medium, any optical or physical data storage medium, a memory chip, and so on.
[0153] Storage media are distinct from transmission media but can be used in conjunction with them. Transmission media facilitate the transfer of information between storage media. For example, transmission media include coaxial cables, copper wires, and optical fibers, including the wires that make up 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 radio and infrared data communications.
[0154] 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 may initially be transported on a magnetic disk or solid-state drive of a remote computer. The remote computer may 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 may 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.
[0155] 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 can be an Ethernet network interface, an Integrated Services Digital Network (ISDN) card, a cable modem, a satellite modem, or a modem to provide 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 270 network broadly represents a local area network (LAN), a wide area network (WAN), a campus network, the Internet, 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 radio interface that is wired to send or receive cellular data according to cellular radio 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.
[0156] A 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, a network link 265 can provide a connection across a network 270 to a host computer 250.
[0157] In addition, the network link 265 can provide a connection via the network 270 or to other computing devices through interconnect devices and / or computers 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. The 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 payloads (Hypertext Transfer Protocol), API calls (Application Programming Interface), application service calls, or other service calls. The 205 computer system and the 255 server 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. The 255 server can have one or more sets of instructions that are organized as modules, methods, objects, functions,of 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 (Hypertext Markup Language), XML (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. Server 255 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 (known as "SQL", for "Structured Query Language") or no SQL, an object store, a graph database, a flat file system or any other data storage.
[0158] 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.
[0159] The execution of instructions as described in this section can 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 consist 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 processor 210 or processor core executes only one task at a time, the computer system 205 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 that it is ready to switch over, or on hardware interrupts. Time-sharing can be implemented to enable a fast response to interactive user applications by rapidly switching contexts to give the impression of multiple processes running concurrently.In one embodiment, for security and reliability reasons, an operating system may prevent direct communication between independent processes, by providing a strictly mediated and controlled interprocess communication functionality.
[0160] Further details are given below on embodiments of the invention, applied to the authentication of engravings, to combat counterfeiting and related problems in sectors such as luxury brands. The approach consists of extracting details called (n,n)-modules from the engravings, which, once assembled into groups and selected in a geometric distribution of these groups on the printed surface of the product, become minutiae constituting the imprint of the authentic product.
[0161] These (n,n)-modules, which represent small submatrices of the printed image, vary in appearance depending on factors such as material characteristics and the engraving process. To create a reliable digital fingerprint, a voting system is implemented, with each vote corresponding to a comparison between two (n,n)-modules. This method takes advantage of the fact that defects in an engraving or print are difficult to reproduce and observable at the scale of a printed or engraved dot. Two ways of comparing minutiae are evaluated: a standard method using Euclidean distance and a deep learning-based method using a convolutional neural network. The process offers high accuracy and recall in authenticating engravings and proves robust under various lighting conditions and image blur levels.
[0162] A method for taking lightweight digital impressions of all printed or engraved binary matrices is described below (hereafter, the term "engraving" is used simply to describe both printing and engraving). This method consists of extracting details from high-resolution images of the engravings, in which the binary matrix is visible with a zoom factor b (i.e., each square module of the matrix has a size of b x b). The images of the (n,n)-modules exhibit unique defects that allow one minutiae to be differentiated from another.
[0163] A selection of patterns for constructing a robust digital fingerprint is shown below, resistant to changes in acquisition conditions (lighting, slight blurring) and minor damage associated with the product lifecycle. This method is lightweight in terms of resources, as only minutiae images are stored and transmitted. The problem of identifying the etching of a binary matrix from images of it concerns the relationship between three types of objects, illustrated in Figure 4. A 401 binary matrix is a binary image composed of black and white squares, each square having a size of bxb pixels. The physical object is the etching obtained by engraving the binary matrix onto the product. Note that the same 401 binary matrix can be engraved multiple times to obtain different physical objects.Images similar to image 402 are obtained by scanning the impressions of the binary matrix 401 formed on physical objects. It is assumed that the acquisition operators record each image in the original grid of image 401.
[0164] If the engraving and scanning operations were perfect, images 401 and 402 would be identical. In practice, they are very different. Most of the differences stem from the instability and unpredictability of the scanning operation, which is affected by the position of the image sensor and the object, camera blur, lighting conditions, sensor noise, and recording errors. However, a small part of the difference arises from the fact that each engraving is a slightly different physical object, due to irregularities in the base material, random vibrations of the engraving head, and so on. The objective of the method of the invention is to identify each individual physical object in a robust manner with respect to its successive scans. This is a difficult problem, as it involves detecting small variations within large variations.Thanks to the implementation of the invention, these small variations can be detected in a statistically significant way.
[0165] To this end, we define a function 5 that allows us to distinguish between different physical objects, while remaining robust to acquisition variations. More formally, let E be the set of all engraving operators and A the set of acquisition operators. Then, the function A is such that
[0166] Where X e {0,1} NxN , a binary matrix of size NxN, with E, ~E e E and A, À e a.
[0167] For the remainder, we note that A and A denote the images of the same marked object. Preprocessing and extraction of the (n,n)-module.
[0168] We construct 5, an approximation of the function A, from sets of subimages containing (n,n)-modules extracted from the images A and A. We denote these subimages by A p, where p is the position of the (n,n)-module in the 401 binary matrix. Different captures of an (n,n)-module from the same engraving are more likely to produce a similar image, i.e., A p is similar to A p To facilitate comparison, the (n,n)-modules are extracted from the images with a constant pixel size of (nxb, nxb). For this purpose, the binary matrix they contain is aligned using an algorithm such as SIFT. Furthermore, the intensity of each (n,n)-module is normalized to fit the range of values [0, 1].
[0169] In the example described, we limit ourselves to (n,n)-modules of size n = 3. Indeed, for n = 1, 2, the (n,n)-module generally does not contain enough information, and larger n's are more likely to be corrupted by scratches. Comparison and aggregation of (n,n)-modules.
[0170] Given x, y, two aligned and normalized images of (n,n)-modules at a position p, we define a comparison function >(x,y), which can be based on a simple distance between the images, or be the output of a small neural network
[0171] Where tp is a threshold that must be calibrated and that may depend on the characteristics of x and y (i.e., it may depend on the position p or the pattern). We denote by > (x,y) the comparator obtained when the distance f is learned using a small neural network and by "SpOcy) the comparator obtained with f(x, y) = ||x - y||2 (i.e., the distance 12).
[0172] In the case of a small network, f(x, y) is obtained as the average of g(x, y) and g(y, x), where g(x, y) is implemented using a convolutional neural network (CNN). The function g concatenates the inputs and then applies two 3x3 convolutional layers with 16 and 32 output channels, each followed by a ReLU activation and 2x2 max pooling. Subsequently, four fully connected layers with ReLU activations produce outputs of dimensions 32, 16, 8, and 1. The function f is trained using the binary cross-entropy loss function optimized with the AdamW optimizer.
[0173] Several comparisons of corresponding (n,n)-modules can then be combined by a voting system into an overall predictive function, approximating A in equation (1) as follows:
[0174] - P is a list of positions corresponding to the (n,n)-modules that are used in the definition of the digital fingerprint.
[0175] We mean by A A and D are the predictor and score obtained with the comparator "5 P , and by "A f and D f the predictor and the score obtained with the comparator In equation (3), we average the comparators because we consider that each term of the comparator has the same decision-making power.
[0176] It remains to define the set of P positions to be used in the digital fingerprint and the thresholds {tp} for peP, and T. These are the result of a calibration process.
[0177] Calibration of comparison operators.
[0178] To complete the definition of the digital fingerprint function, we calibrate the thresholds {tp} for peP, and T, and we select the positions of the best (n,n)-module patterns to compare.
[0179] The F1 score (harmonic mean of accuracy and recall) is used as a measure of the success of a comparison function. The F1 score distinguishes correctly predicted matches from two images of the same (n,n)-engraved module from incorrect matches corresponding to two different (n,n)-engraved modules.
[0180] For this calibration, a dataset is created consisting of nine engravings of the same binary matrix, etched onto the same material, using the same laser and the same engraving settings. For each engraving, eight images are captured with fixed light sources, using the same image sensor, and taking into account eight rotation angles relative to the light source, ranging from -30 degrees to +30 degrees with an interval of 45 degrees between these angles. The goal is to be able to identify the image corresponding to the same engraving simply by comparing the images. Figure 5 illustrates how the appearance of the same (n,n)-module pattern can change depending on the different engravings (each row corresponds to a different engraving). The columns correspond to different images of the same (n,n)-module, where the light has changed position, thus illustrating that the appearance is relatively independent of the illumination angle.
[0181] Calibrating the thresholds {tp} for peP theoretically requires a different threshold for each position of the (n,n)-module. However, this would necessitate numerous acquisitions of the same (n,n)-module to define a statistically significant threshold. Preferably, the threshold therefore depends solely on the pattern and not on the position of an (n,n)-module. Thus, the (n,n)-modules are grouped by pattern to calculate a single threshold for each pattern.
[0182] To confirm that the grouping of thresholds by pattern is not influenced by location, a Kolmogorov-Smirnov test was performed for all patterns to determine whether the distribution of ''ô^xy), 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, a p-value less than 0.05 was obtained, except for patterns [1,1,0,0,1,0,1,0,0] and [1,1,0,0,1,0,1,0,1], for which p-values of 0.214 and 0.119 were obtained, respectively, which is probably due to instability in the statistical estimation.
[0183] The threshold may not be the same for all patterns. The thresholds {tp} for pe P are thus calculated by maximizing the F1 score of "ô y) for each pattern.
[0184] Figure 6 illustrates, for different patterns, the values of the function f(x,y) (used to define 5'p(x, y) in equation (2)), where x and y are two corresponding (n,n)-modules. For the bottom 601 boxes, x and y come from two images of the same engraving, while the top 602 boxes correspond to images of different engravings.
[0185] The boxes form the "box plots" of the values of f(x,y) (using Euclidean distance) grouped by pattern, where x, y are two corresponding (n,n)-modules. The horizontal axis represents the pattern index, where a higher index corresponds to a greater number of ones in the binary pattern. The top graph shows the first 64 patterns and the bottom graph the last 64 patterns out of 510 possible 3x3 patterns (eliminating the all-white and all-black patterns). Boxes 601 show the distances calculated on pairs of (n,n)-modules extracted from two acquisitions of the same engraving. Boxes 602 concern the (n,n)-modules extracted from images of different engravings. Note that boxes 601 are consistently located below boxes 602, indicating that images of the same engravings are more similar than images of different engravings.
[0186] It is also noted that, although the 601 cells are systematically below the 602 cells, the threshold cannot be the same for all patterns. Therefore, the thresholds {tp} for peP are calculated by maximizing the F1 score of ''6 p (x,y) for each pattern.
[0187] Before calibrating T, we determine the best set of (n,n)-modules that will form the digital fingerprint, that is, the set of positions P in equation (3). We use the F1 score for the different patterns to identify the best patterns. Figure 7 graphically represents the F1 score (on the y-axis) as a function of the pattern index (on the x-axis) obtained for the two distances 7^ and "ôp. Figure 7 shows that some patterns are less efficient. We therefore first select the patterns with a high score. Then, to choose the number m of (n,n)-modules to keep in the digital fingerprint, we select m (n,n)-modules from among the best patterns according to their F1 score, so that m is as small as possible while maximizing the F1 score of A A (as well as A HAS f Figure 7 shows that in both cases, the F1 scores saturate at values close to 0.99 for m between 80 and 100.
[0188] Returning to Figure 1, during step 182, we can select all or part of these 80 to 100 "most representative" patterns, which are the most discriminating to distinguish an authentic product from a product that is not authentic.
[0189] In Figure 7, the horizontal axis represents the pattern index, where a higher index corresponds to a greater number of ones in the binary pattern.
[0190] After calibrating the thresholds {tp} for peP, T, and the set P of m patterns to be used in the digital fingerprint, only the selected (n,n)-modules, i.e., the minutiae, are retained. These minutiae occupy only m(b 2 n 2 +4) bytes of information (approximately 14 kB) per engraving as shown in figure 4.
[0191] To authenticate an engraved object, an image of the engraving is acquired and the m (n,n)-modules are extracted at positions P. Equation (3) (using A A or A HASf This is then used to compare the reference digital fingerprint with the newly acquired image, validating or refuting the product's authenticity. Furthermore, the D score (or Df score, respectively) in equation (4) can be used as a confidence indicator for the authentication.
[0192] Predictor robustness in the face of image blur
[0193] Due to the small size of the etching, the acquisitions may be locally blurry. To counteract this, the thresholds {tp} for peP are optionally adjusted for each blur, while T remains fixed. To measure the blur of each (n,n)-module, a known blur estimation algorithm is used, for example, such as the one described in the publication by Thomas Eboli, Jean-Michel Morel, and Gabriele Facciolo, “Breaking down Polyblur: Fast Blind Correction of Small Anisotropic Blurs,” Image Processing On Line, vol. 12, pp. 435-456, 2022. To avoid comparing blurred (n,n)-modules with unblurred (n,n)-modules, the blur level of the less blurred image is normalized to match that of the other image. Tl
[0194] Experience shows that if you are working with completely blurred images, it is better to use the deep learning method, but if you are faced with strong blur instability, it is better to work with the Euclidean method.
[0195] In conclusion, the predictor A HAS f offers better accuracy, recall, and F1 score, making it superior to the one based on the Euclidean algorithm. On the other hand, the predictor A A with the comparator £2 is much more stable when it comes to dealing with locally blurry images.
Claims
28 DEMANDS 1. Method (100) for authenticating a product bearing a marking defined according to a geometric distribution of a plurality of groups of binary modules, characterized in that it comprises: - an initial step (105) of capturing an initial image of the marking, - a step (115, 182) of selecting minutiae of the marking from among the groups of binary modules, - a subsequent step (110) of capturing a subsequent image of marking on a candidate product, - for each selected marking minutiae, a step (120) of measuring a similarity between an image piece of said marking minutiae captured during the initial capture step and an image piece of a minutiae of the same location in the image captured during 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 minutia is representative of the geometric position of said marking minutia in the initial image and of a feature (k) representative of the structure of the minutia, - 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, wherein during the selection step (115), geometric positioning identifiers (i,j) and structural features k relating to the selected minutiae are associated with said minutiae.
3. Method (100) according to any one of claims 1 or 2, wherein the groups of binary modules are groups of matrices of n times m binary modules, or (n,m)-modules, each of these matrices taking the form of one of two powers n times m motifs consisting of possible combinations of binary values in these matrices.
4. Method (100) according to claim 3, which includes a pattern selection step (182), each minutiae selected during the selection step (115) comprising at least one selected pattern.
5. Method (100) according to claim 4, wherein each minutiae selected during the selection step (115) comprises only selected motifs.
6. Method (100) according to any one of claims 4 or 5, wherein, during the selection step (115), the image is divided into a predetermined number of equal parts, and in each of these parts, a predetermined number of minutiae comprising at least one selected pattern is chosen at random from the groups of (n,n)-modules representing a selected pattern.
7. Method (100) according to claim 6, wherein, during the selection step (115), each selected pattern is found in a number of image parts equal to a predetermined value of redundancies.
8. Method (100) according to any one of claims 1 to 7, wherein, at the output of the selection step (115), less than ten times fewer minutiae are selected than minutiae captured during the initial image (105) of capture.
9. Method (100) according to any one of claims 1 to 8, wherein, at the output of the selection step (115), between 50 and 150 minutiae are selected.
10. Method (100) according to any one of claims 1 to 9, wherein, at the output of the selection step (115), less than five times fewer minutiae are selected than minutiae captured during the initial capture step (105).
11. A method (100) according to any one of claims 1 to 10, 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 matrices of similarity measures representative of 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 the 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.
12. Method (100) according to claim 11, which 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 constructing a database of matrices of similarity measures representative of similarity measures, the database constructed being implemented during the collection step.
13. A product authentication system (300) supporting a marking defined according to a geometric distribution of a plurality of groups of binary modules, characterized in that it comprises: - a means (305) of capturing an initial image of the marking, - a means (315) of selecting minutiae of the marking from among groups of binary modules, - a means (310) of capturing a subsequent image of marking on a candidate product, - a means (320) for measuring, for each selected marking minutia, the similarity between an image piece of said marking minutia captured during the initial capture step and an image piece of a minutia of the same location in the image captured during the subsequent capture step, - a means (325) of forming a similarity measure matrix, in which the position of a similarity measure of a given marking minutia is representative of the geometric position of said marking minutia in the initial image and of a feature (k) representative of the structure of the minutia, - 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