Counterfeit detection system

The method addresses the trade-off in existing authentication methods by using image preprocessing and a dual-model deep learning pipeline for efficient and accurate counterfeit detection in labels.

DE202024104733U1Active Publication Date: 2024-12-24ALJARBOA NAWAF NASSER
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
DE202024104733
Authority / Receiving Office
DE · DE
Patent Type
Utility models
Current Assignee / Owner
Filing Date
2024-08-21
Publication Date
2024-12-24
Estimated Expiration
2034-08-31

AI Technical Summary

Technical Problem

Existing methods for authenticating items face a trade-off between security and scalability, with advanced anti-counterfeiting techniques being costly and inconvenient, necessitating a cost-effective and efficient solution for verifying authenticity.

Method used

A method involving image preprocessing, feature extraction, and a trained pattern recognition algorithm using deep learning models to decode hidden patterns in labels, combined with a dual-model deep learning pipeline for enhanced accuracy and efficiency.

Benefits of technology

Enables high-accuracy, cost-effective authentication of items by decoding hidden patterns in labels, reducing computational load and improving scalability through a dual-model deep learning pipeline.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Comprehensive system for detecting counterfeits: an image capture device configured to capture a digital image of a label; and a processor connected to the image acquisition device, wherein the processor is configured to: Receiving a digital image of a label from an image capture device; Extracting features of one or more patterns contained in the digital image; Applying a trained pattern recognition algorithm to decode the one or more patterns in the label; and Restoring the authenticity of the label.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to methods and systems for detecting counterfeits based on an image of a label having hidden patterns. BACKGROUND

[0002] Counterfeiting is a global problem that fuels the underground economy and is often linked to organized crime networks and illicit activities such as money laundering, terrorist financing, and illicit trafficking. There is a widespread need to verify the authenticity of a wide range of items, from cash and official documents to labels on consumer goods such as pharmaceuticals and electronics. Various systems and methods for authenticating such items have been described (WO 2015 / 052181 A1, US 2009 / 0008924 A1, WO 2008 / 143087 A1, FR 3070082 A1, WO 2017 / 024779 A1, US 9,863,920 B2, US 9,919,512 B2).

[0003] Technological advances not only facilitate the development of advanced security measures against counterfeiting, but also enable the development of sophisticated counterfeiting techniques capable of accurately imitating genuine labels or documents at lower costs. This relationship continues to exist, which is why it is desirable to improve existing methods. SHORT SUMMARY

[0004] According to a first aspect of the disclosure, a method for authenticating a label for counterfeit detection is provided. The method includes receiving a digital image of a label from an image capture device, extracting features of one or more patterns contained in the digital image, applying a trained pattern recognition algorithm to decode the one or more patterns in the label, and returning an authenticity of the label.

[0005] In some embodiments, the method further comprises preprocessing the digital image prior to extracting features. In some further embodiments, the preprocessing comprises at least one of the following methods: image standardization, image color space transformation, image contrast enhancement, spatial image transformation, image segmentation, and image refinement of the digital image. In still further embodiments, the features of the one or more patterns comprise at least one of the following features: edge properties, texture properties, frequency properties, and line properties.

[0006] In some embodiments, extracting features comprises at least one of the following steps: dividing the digital images into image patches, applying one or more filters to extract the features, reducing the size or dimensions of the filtered image patches, generating an encoded matrix with informative pattern features, and concatenating the encoded matrix with the image feature matrix as input to the trained pattern recognition algorithm. In some further embodiments, the pattern recognition algorithm is obtained by training a comprehensive original deep learning model to decode the one or more patterns, wherein the comprehensive original model is further used to train a compressed deep learning model to mimic the behavior of the original model to decode the one or more patterns.In still further embodiments, the pattern recognition algorithm is obtained via a two-stage deep learning pipeline by training a first model to generate training data, refining the generated training data, and training a second model with the refined generated training data to decipher the one or more patterns.

[0007] According to a second aspect, a corresponding system is provided, comprising an image capture device and a processor configured to execute the method. According to a third aspect, a corresponding computer program product is provided. BRIEF DESCRIPTION OF THE ILLUSTRATIONS Fig. is a flowchart of a method for authenticating a digital image according to the disclosure. Fig. is a flowchart of a method for preprocessing the digital image of the label. Fig. is a flowchart for a method for processing the digital image of the label. Fig. is a flowchart of a procedure for creating the pattern recognition algorithm. Fig. is an example decision tree model. Fig. is an example of a deep learning model. Fig. is an example of a compressed deep learning model according to one embodiment. Fig. is a flowchart of a method including a deep learning pipeline of dual models to obtain the pattern recognition algorithm according to another embodiment. Fig. shows an example training model in the deep learning pipeline. Fig. is a flowchart for a procedure for post-processing the generated training data. Fig. shows an example pattern recognition model in the deep learning pipeline. Fig. is a flowchart of a procedure for evaluating a test sample using the trained pattern recognition algorithm. Fig. is a functional block diagram of a counterfeit detection system for authenticating a label. Fig. is a schematic representation of a counterfeit detection system for verifying the authenticity of a label according to another embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0008] In numerous industries and practical applications, there is a widespread need to verify the authenticity of a wide range of items such as cash, official documents, financial documents, labels, and others in an efficient and cost-effective manner while achieving high accuracy. Over the years, it has been found that there is a trade-off between the level of security built into a label or document, etc., in terms of accurate detection, e.g., effectiveness in preventing counterfeiting, and the scalability of the detection method in terms of implementation costs and convenience of use. The present disclosure provides anti-counterfeiting methods and systems that can be used directly in-situ and in combination with various devices (e.g.,The present disclosure may be used in conjunction with graphic designs such as logos or geometric shapes, or the like. The graphic designs may include hidden patterns such as lines, dots, symbols, or any other patterns.

[0009] Fig. illustrates a method for training and applying a pattern recognition algorithm to determine the authenticity of an image of a label. At 110, one or more example images of a label are provided, e.g., to a processor. The example images may include a set of authentic examples, i.e., images of the authentic label, and a set of counterfeit examples, i.e., images of counterfeit labels (of the authentic label). The example images may be captured with any suitable device, e.g., a standalone digital camera or the digital camera of a mobile device. The size of a captured image may range widely, e.g., from 300x300 pixels to approximately 3000x3000 pixels. The captured image or images may be in any known format, e.g., BMP, TIFF, PNG, JPEG, etc. The method then proceeds to 120.At 120, the sample images can be preprocessed by the processor. Preprocessing can be used, for example, to standardize the image, remove artifacts, or refine the image(s) to reduce computational effort and increase performance in subsequent steps. At 130, the preprocessed images are processed by the processor to extract pattern features. These patterns can be, for example, edge properties, texture properties, frequencies, line properties, and many others.

[0010] At 140, a pattern recognition algorithm may be trained using training data (e.g., patterns of extracted features, sets of labeled example images) to obtain a trained pattern recognition algorithm. The pattern recognition algorithm described herein may refer to a computer-implemented method or model or algorithm that can be used to detect and decipher the pattern in a label pattern to determine the authenticity of the label pattern. The input to the algorithm may be an image of a label pattern containing one or more hidden patterns or the extracted pattern features, and the output may be the deciphered representation that identifies the label pattern. The deciphered representation here may refer to a security code, which may consist of, for example, but not limited to, characters, symbols, digits, etc.The deciphered representation may resemble a serial number, a manufacturing code, a production date, etc.

[0011] The pattern recognition algorithm may include one or more of the following algorithms: Haar cascade algorithm, K-means clustering, watershed algorithm, graph-based segmentation algorithm, deep learning models, random forest, logistic regression, histogram-oriented gradient-based algorithm, support vector machines, and the like. The pattern recognition algorithm may be trained using training data (e.g., features extracted from patterns, a series of images) to determine the model parameters. Training the algorithm determines the necessary model parameters for the algorithm to obtain the pattern recognition algorithm.

[0012] At 150, the sample features are extracted from one or more digital images of a label sample to be tested, i.e., analyzed for authenticity. The label to be tested may be genuine or counterfeit—this may not be known. The extracted features of the label sample are extracted similarly to method 120, which is described below. At 160, the method evaluates the extracted features using the trained algorithm to assess the authenticity of the label in the test sample.

[0013] Fig. shows an example of a method for preprocessing an input image to optimize the feature extraction process, e.g., the preprocessing 120 for the process 130 in Fig. At 210, the input image can be standardized, which may involve resizing the input image to a predefined size M × N while maintaining its ratio (e.g., 940 × 940, 560 × 560, etc.). Furthermore, the pixel values ​​can be normalized to a specific distribution, e.g., (0,1), to ensure consistency of the input size. At 220, the color space of the input image can be converted to another mode (e.g., from RGB to LAB) to accurately analyze the color and reduce the effects of lighting variations. At 230, the contrast of the input image can be increased using optimization techniques (e.g., histogram equalization) to improve the visibility of fine details, especially in cases of low contrast or uneven lighting.At 240, the input image can be spatially transformed using operations such as translation, rotation, and scaling to correct geometric distortions and further enhance the input image. At 250, the input image can be segmented using thresholding techniques (e.g., global thresholding, binary thresholding, adaptive thresholding, etc.). For example, adaptive thresholding can be applied to the input image. Each pixel value can be compared to the average intensity of its neighboring pixels and set to a high value if the pixel value exceeds a locally calculated threshold, and to a low value otherwise. This allows for better adaptation to different lighting conditions or image gradients. At 260, an optional refinement step can be applied to the segmented image.This refinement step can help clean up edges and irregularities such as holes or gaps. This includes operations such as erosion or dilation. This allows the input image to be refined and unwanted artifacts to be removed.

[0014] Fig. illustrates the method for processing the digital image to extract pattern features, e.g., as in processing 130 in Fig. shown. At 310, the input image can be divided into non-overlapping patches of predefined size M × N. A suitable patch size can be selected based on the required spatial resolution and computational complexity, supported by the processing, or flexibly specified by the user (e.g., 8 × 8 pixels, 16 × 16 pixels, etc.). The number of patches can be, for example, between 1 and 6000, depending on the size of the input image, the available computational resources, etc. Each patch P ijis a sub-image of I, where i and j are the patch indices. At 320, one or more filters are then applied to each sub-image P ij applied to extract features within each patch image and obtain one or more feature vectors per patch. These extracted features reflect information about the pattern, such as edge features, texture features, frequency features, line features, size, intensity, orientation, arrangement, and the like.

[0015] In one embodiment, multiple filters can be applied sequentially to each patch image to extract information about the pattern(s) by using the Canny edge detector and then the Hough transform for feature extraction. The Canny edge algorithm can be applied to each patch P ijapplied to highlight the edges of the patterns and obtain filtered binary patches. For example, by detecting areas with high gradient magnitude, filtered binary patches EP ij determined by marking edges with 1. For example, a low and a high threshold are set to determine the minimum gradient required for a pixel to be considered a potential edge pixel or strong edge pixel. The gradient can be determined by marking each patch P ij convolved and combined with a pair of filters (e.g. Prewitt operator) in horizontal and vertical directions to obtain filtered patches EP ij . The gradient size can be calculated, for example, as follows: Gradient size=G(x)2+G(y)2

[0016] Then each pixel in the filtered patches can be EP ijvia the Hough transform into the parameter space P(ρ, θ), represented as an accumulator array A[i, j]. In this space, each A[i, j] counts as the occurrence of potential patterns with parameters corresponding to certain ρ, θ values, where ρ is the distance and θ is the angle. The values ​​A[i, j] accumulated in the accumulator array are used for each patch image P ij into a one-dimensional feature vector v ij converted: νij=[A[1,1],A[1,2],…,A[1,M],A[2,1],…,A[N,M]] where N is the total number of pixel bins for ρ and M is the total number of pixel bins for θ. It should be understood that any suitable filters can be used to extract information about the pattern features, e.g., Canny edge filters, Sobel filters, Hough transform, wavelet transform, directional filter banks (DFB), Laplacian filters, Gaussian filters, Prewitt filters, bandpass filters, lowpass filters, and the like.

[0017] At 330, the feature vector v ij for each patch image P ij reduced to remove redundant information and retain the most relevant features for more efficient analysis using techniques such as binning or clustering. For example, in one embodiment, a binning technique may be used in which the accumulator array A[i, j] is organized into larger aggregate bins by summing the accumulator values ​​from groups of smaller bins to form each larger bin B ij [K] which form the reduced feature vector v reduced,ij for each patch P ij . Each element in the reduced feature vector v reduced,ij (e.g. v ij1, v ij2, ..., v ijk ) corresponds to a specific bin B ij [K], where K is the number of image element bins.

[0018] Another exemplary technique that can be used is, for example, a clustering technique, where each significant accumulator value in A[i, j] representing a potential parameter (ρ, θ) can be treated as points in the feature space. These points are clustered into K groups, and the centroids of these clusters indicate the most informative features that make up the reduced feature vector v ij for each patch P ij (e.g. v ij1 , v ij1 , ..., v ijK ). At 340, the feature vector v reduced i,j for each patch to form a single image matrix F (e.g. V1, V2 ..., V n ) with dimensions n × d, where n is the number of patches (rows and columns i,j) and d is the number of features in each vector. Each row i in the matrix represents a feature vector for the i-th patch.

[0019] At 350, a coded matrix with the (most) essential features of the feature matrix F will be generated by mapping the feature matrix F to a low-dimensional matrix E, which serves as a compact encoding of the most important features in the original matrix F. For example, any transformation technique (e.g., linear discriminant analysis (LDA), t-distributed stochastic neighborhood embedding (t-SNE), principal component analysis (PCA), etc.) can be used to map the feature matrix F of dimensions (n ​​× d) obtained in 340 to a matrix of lower dimensions. For example, principal component analysis (PCA) can be used to map the coded matrix by mapping the feature matrix F of dimensions (n ​​× d) to a matrix E with lower dimensions.For example, each feature in the matrix F can be scaled to have a zero mean and unit variance to avoid biases that may arise from differences in the original scales of the feature matrix. The standardized feature matrix can then be projected into a space defined by the eigenvectors of the covariance matrix. The eigenvectors with the highest eigenvalues ​​can then be selected to construct the eigenvector matrix V. k of dimensions (d × k), where k is the dimension of the coded matrix. The standardized feature matrix F std can then be multiplied into the eigenvector matrix V k transformed to obtain the coded matrix E of dimensions (n ​​× k). Each row e i in the matrix E (e.g. e1, e2, ..., e n ) is the embedding vector for the i-th patch image.

[0020] At 360, the coded matrix E can be concatenated with the image feature matrix F to form a comprehensive enriched feature matrix F Ei of dimensions n × (d + k). The result can be used as training data to train the pattern recognition algorithm to obtain a trained pattern recognition algorithm. Fig. illustrates a method for obtaining the pattern recognition algorithm, e.g. training as in 140 of Fig. shown.

[0021] At 410, the training dataset may include one or more sets of annotated images (e.g., pixel-level annotations regarding the position of the pattern), a set of labeled data (e.g., representations corresponding to the patterns), and the features extracted from the pattern. The labeled data may include, for example, characters, numbers, text, symbols, and the like. Each labeled dataset may be encoded as a binary vector with only one element being 1 and the remainder being 0, where 1 indicates the presence of the corresponding representation or pattern. The images in the training dataset may also include images that simulate real-world conditions, such as images with added noise. The training dataset may include distorted images, such as images that are scaled, rotated, or flipped. The training dataset may include corrupted images, such as images with damaged texture.The training dataset may contain images taken under less than ideal photographic conditions, such as images taken under different lighting conditions, such as low light, poor sharpness, or images with manipulated effects such as brightness, saturation, and contrast. The training dataset may contain images with different backgrounds to reduce the risk of overfitting.

[0022] At 420, a suitable algorithm for pattern recognition can be selected. This can include, for example, one or more of the following methods: Haar cascade, K-means clustering, watershed algorithm, Gaussian mixture models (GMM), graph-based segmentation algorithm, gradient boosting machines (GBM), deep learning models, random forest, logistic regression, histogram-oriented gradient-based algorithm, support vector machines, etc.

[0023] Fig. shows an example decision tree model that can be used as a pattern recognition algorithm. The training data (e.g., the feature matrix F E of dimensions n × (d + k)) can be determined by the Fig. The methods described can be provided and used as input to train the model with labeled data (e.g., n × 1) to determine the model parameters. The trained decision tree model can be obtained using the determined parameters.

[0024] Fig. illustrates an example deep learning model designed with a spatial attention layer. At 610, the training dataset (e.g., pixel-level annotated images of the pattern location, extracted pattern features) is used as input to train the model with labeled data and determine its parameters, which are described further below. The model can be configured to have separate channel paths (e.g., convolutional layers) for different input types. For example, one channel receives the labeled images I annotated , while the other receives the extracted pattern features F E provided by the method of 300.

[0025] At 620, each input can be forwarded to separate paths of convolutional layers. For example, the annotated images I annotatedare passed to branching layers X of convolutional operations (e.g. activation function, pooling) of learning kernels, while the extracted pattern features F E to branching layers Y of convolutional operations (e.g., activation function, pooling) of learning-capable kernels. The attention layer A can be placed in the branching layers X between the convolutional layers to generate the feature map F (Iannotated) to modulate by directing attention to important spatial locations in the feature maps and attenuating less important locations. This can be done by assigning point values ​​to more important areas and lower point values ​​to less important areas. For example, attention layer A receives feature map F (Iannotated) and calculates the attention map A(F (Iannotated) ) (e.g., a matrix of scalar values ​​of dimensions (h × w)). Each element aij in the attention map A(F (Iannotated) ) corresponds to a spatial position within the feature map F (Iannotated) and the value of each element (e.g., between 0 and 1) indicates the required attention for each location within the feature map. This can be represented as follows:

[0026] The attention map A(F (Iannotated) ) modulates the feature map F(I annotated ) by element-wise multiplication to obtain the modulated feature map F M of dimension (h × w). At 630, the feature maps from both branches are merged, and one or more regularization techniques (e.g., batch normalization, dropout, etc.) may be added to stabilize the training. At 640, the final layer outputs the probabilities of the pattern representations, which are described below.

[0027] During training, a unified loss function can be used to measure the discrepancy between the output and the ground truth, taking into account attention accuracy, pattern recognition accuracy in terms of pattern recognition, and decryption. For example, one or more suitable loss functions (e.g., entropy loss, focal loss, generalized intersection loss over union loss, mean square, etc.) can be used and combined to account for attention loss, recognition loss, and decryption loss. The combined loss function can be represented as follows: Loss=λAttenLossAttenλdetectLossdetect+λdecipherLossdecipher where λ Atten , λ detect , λ decipherWeights are used to balance the contribution of each loss component to the overall loss function. A suitable optimizer (e.g., Adam, RMSprop, Stochastic Gradient Descent (SGD), etc.) can be used to minimize the combined loss functions and obtain the model parameters. The trained algorithm can then be obtained.

[0028] In some embodiments, an optional step can be added to improve the efficiency of the algorithm by compressing the model into a smaller version, which can reduce the computational load during application. The knowledge learned from the original, more comprehensive model (e.g., determining the optimal parameters for pattern detection) can be transferred to a new model that is smaller than the original model (e.g., with fewer channels, parameters, layers, etc.).

[0029] For example, the new model can be trained to predict the same output as the original model, with both models fed the same input and the discrepancy between their output prediction compared to the labeled data measured. The smaller model can be configured to have a single input channel to process one type of input at a time. The training data (e.g., extracted pattern features, labeled images, etc.) can be fed to the original model, while the smaller model is fed one type of input (e.g., either extracted pattern features or labeled images) in each iteration. Fig. shows an example structure of the compressed model.

[0030] At 710, the input channel receives the training data (e.g., extracted pattern features, annotated images, etc.). Depending on the type of input received, the convolutional layer path is activated for this type of input with an appropriate activation function (e.g., sigmoid, tanh, ReLU, SoftMax, etc.). At 720, a series of convolutional layers (e.g., learnable kernels) are applied to the input training data, followed by subsequent joint layers 730 with convolutional operations (e.g., activation function, pooling, etc.), to which one or more regularization techniques (e.g., batch normalization, dropout, etc.) can be added to stabilize the training. At 740, the last layer of the model outputs the raw values ​​of the pattern representations. The last layer in both models (e.g., the one in Fig. The model (the trained model described above and the compressed model) is adjusted to have the same normalized function that converts the raw prediction values ​​into a probability distribution between 0 and 1. For example, a SoftMax function can be used, which is represented as follows: Softmax(zi,τ)=eziτ∑j=1kezjτ, where τ>1 where z iis the raw value for the i-th representation, and τ is the probability smoothing term. This allows the compressed model to understand not only the predicted class, but also the entire probability distribution of the trained model, including the probability of incorrect classes. The compressed model can be trained on batches of training data (e.g., extracted pattern features, annotated images, etc.). At each training iteration, the same batch can be used as input for both models. For example, the trained original model with dual inputs receives two types of inputs, while the compressed model receives only one type of input at each iteration. The compressed model can be trained to determine the necessary parameters to obtain the same output predictions as the trained original model.The parameters of the compressed model are determined by measuring the discrepancy between the output of both models (the trained model and the compressed model) compared to the labeled data using a universal loss function. For example, appropriate loss functions (e.g., cross-entropy, KL divergence, etc.) can be selected to account for each loss component and combined as follows: Loss=λ1LossOutput+λ2LossTrue representation where λ1, λ2 are weights that balance the contribution of each loss component to the overall loss function. A suitable optimizer can be used (e.g., Adam, RMSprop, Stochastic Gradient Descent (SGD), etc.) to minimize the combined loss function and obtain the parameters of the compressed model. The trained pattern recognition algorithm can then be obtained as a compressed model.

[0031] In one embodiment, the trained pattern recognition algorithm may be obtained via a deep learning pipeline comprising two models, a training model and a pattern recognition model. The training model may be trained with labeled data using the training data (e.g., pixel-level annotated images with the pattern location, extracted features of the pattern, etc., as explained above) to output segmentation masks for the patterns. Segmented masks may be generated and then passed to a post-processing line to obtain refined segmented masks. The refined segmented masks may then be used as input for training the pattern recognition model to obtain a trained pattern recognition model. The models in the pipeline may be trained either separately or simultaneously, which is described further below. Fig. illustrates a method including a deep learning pipeline to obtain the pattern recognition algorithm, according to one embodiment.

[0032] At 810, the training dataset (e.g., pixel-level annotated images of the pattern position, features extracted from patterns, etc.) may be used as input to train the training model to determine the parameters and obtain a trained training model in 820. The output may be segmented masks, with the patterns in the images isolated from the background. Before discussing training further, details of a possible training model are described in Fig. which shows an example structure of the training model.

[0033] At 910, the training dataset (e.g., pixel-level annotated images of the pattern position, extracted pattern features, etc.) is used as input to train the first model and determine its parameters. At 920, each type of input can be passed to separate paths of convolutional layers. For example, the annotated images I annotated are passed to the branching layers X of convolutional operations (e.g. activation function, pooling) of learning-capable kernels, while the extracted pattern features F Ecan be passed to the branching layers Y of convolutional operations (e.g., activation function, pooling) of learning-capable kernels. At 930, the feature maps from both branches can be merged, with one or more regularization techniques (e.g., batch normalization, dropout, etc.) added to stabilize the training. At 940, the final layer can output the segmented masks. For example, each pixel can be assigned a probability distribution between 0 and 1, where a pixel value closer to 1 indicates that the pixel is part of the pattern, and a pixel value closer to 0 indicates the opposite. The obtained segmentation masks can be further processed and refined to be used as input for training the second model in the pipeline.

[0034] Back to Fig. . At 830, post-processing may be applied to the generated segmented mask images obtained at 940 to obtain refined segmented masks that may be used as input to train the detection model in the second stage of the pipeline, which may be Fig. which shows a method for post-processing the generated training data. At 950, the segmentation masks obtained in 940 may use any thresholding technique to convert the probabilities of the pixels into binary representations (e.g., 0, 1), where any value above the threshold may be considered part of the pattern. At 960, neighborhood pixels that are part of the pattern may be connected to each other to form a unique pattern, e.g., by using connected components, where nearby pixels with the same values ​​are connected to form a unique pattern. At 970, a bounding box may be applied to each unique pattern to refine the segmented masks in 830 of Fig. The refined segmented masks obtained from 830 can be used as input for training the pattern recognition model to obtain the trained pattern recognition model from 840. Fig. shows such an example structure of the pattern recognition model.

[0035] The models in the pipeline can be trained either separately or simultaneously. For example, the models in the pipeline can be trained simultaneously to determine the model parameters. At each training iteration, the training data (e.g., extracted pattern features, annotated images) is fed to the training model to determine the parameters for outputting segmented masks, which can isolate the patterns in the images.

[0036] The obtained segmented masks can then be passed to the post-processing line to obtain refined segmented masks, which can be passed to the recognition model to determine the parameters for outputting the predicted representations of the patterns. During each iteration, a unified loss function can be used to measure the discrepancy between the output and the ground truth, taking into account the accuracy of isolating the patterns by the segmented masks and the accuracy of pattern recognition in terms of pattern recognition and decryption. For example, appropriate loss functions (e.g., entropy loss, generalized intersection-over-unity loss, mean square, etc.) can be used and combined to account for the isolation loss, recognition loss, and decryption loss.The combined loss function can be represented as follows:. Loss=λisolationLossisolation+λdetectionLossdetection+λdecipherLossdecipher where λ isolate , λ detect , λ decipher Weights are used to balance the contribution of each loss component to the overall loss function. A suitable optimizer (e.g., Stochastic Gradient Descent (SGD), Adam, etc.) can be used to minimize the combined loss function and obtain the parameters of the models in the pipeline. The trained algorithm can then be obtained in 850.

[0037] Returning to the method of 400, here a test sample 440 (e.g., extracted features, image, etc. as described above) can be evaluated by the trained algorithm 430 to determine the authenticity of the sample 450, e.g., because either the sample is genuine or fake, but this is not known. This determination process is described in Fig. described.

[0038] Fig. illustrates a method for evaluating a test sample using the trained algorithm. At 1010, a digital image of the test sample may be provided. At 1020, the digital image of the test sample may be preprocessed to standardize the image, remove unwanted noise, and refine the image, similar to the method of 100. At 1030, the preprocessed image may then be processed to extract sample features, similar to the method of 200, to generate an encoded feature vector F E of the test sample, which can be passed to the trained algorithm for evaluation. In some embodiments, the encoded feature vector F Eor the preprocessed image, or both, are passed to the trained algorithm for evaluation. At 1040, the trained algorithm outputs the probability (e.g., between 0 and 1) indicating the likelihood of the sample representations. The representation with the highest probability can be selected. The process then continues to 1050, where a decision unit receives the algorithm's predicted output. If the probability is above a certain threshold, the sample can be classified as genuine (1060); otherwise, as fake (1070).

[0039] In some embodiments, if the probability is above a certain threshold, the decision unit may search a database for an existing record. The database may be centralized or decentralized. The database may be a relational database system, a non-relational database system, or a mixture of these database systems. The database may include volatile and non-volatile storage, multi-level cell flash storage, triple-level cell flash storage, and / or cloud storage. The database described herein may also be a combination of multiple storage resources, including, but not limited to, those mentioned herein. The database may further include various storage technologies and / or be distributed across multiple locations.

[0040] In some embodiments, a blockchain may be used as a database, with the predicted output hashed using a cryptographic hash function (e.g., SHA-256, etc.) and compared to hashed sample representations in the database. If the hashed pattern representation does not match a record in the database, this means that the sample has not been previously detected. Therefore, the sample may be determined to be authentic 1060, and a new transaction may be added to the blockchain, recording the hash of the decrypted pattern, the timestamp, and other relevant data to ensure a tamper-proof record. In another embodiment, if a record is found in the database, the sample may be determined to be forged 1070.

[0041] Fig. illustrates a system for authenticating a label containing patterns by implementing one or more methods described herein. The system may include one or more of the following components: a capture device 1110, a memory 1120, a processor 1130, a communication unit 1140, and a display screen 1150. The capture device 1110 may be configured to capture the image of the label. The capture device may be a digital camera. In some embodiments, the capture device may comprise a digital camera of a mobile device. The memory 1120 may consist of an image storage unit for storing the captured images and an algorithm storage unit for storing the algorithm. In some embodiments, the memory may include additional storage units, e.g.an instruction storage unit that stores the instructions for performing the methods, or a training data storage unit that stores the training data. In some embodiments, the training data, the pre-trained algorithm, and / or any other software component or data described herein may be stored in memory 1120. In some further embodiments, the pre-trained algorithm may be trained using processor 1130 and applying the methods described above. Processor 1130 may be connected to the capture device. Processor 1130 may receive the captured image from 1110, pre-process it, and process it to extract pattern features according to the method of 100 and 200.

[0042] In some embodiments, the training data may be processed by the processor to train the detection algorithm according to the method of 300. The trained algorithm may be stored in memory 1120 and used by the processor to evaluate the label image sample and determine whether the label image is genuine or counterfeit. The final decision may be made by the processor by checking whether or not the predicted representation is above a certain threshold. The result of the authenticity check may then be displayed on display screen 1150. Display screen 1150 may be connected to a user interface configured to receive information from a user. For example, to start the authentication process, the user interface may guide the user through the authentication process and output information to the user.For example, the user interface can display the result of the authentication process.

[0043] In some embodiments, the capture device 1110 may be a digital camera of a mobile device, e.g., a mobile phone, a tablet, or the like, that can wirelessly communicate with a remote processing unit 1130, e.g., a computer, a server, a host, etc., whose processing unit receives the captured images to process them and sends the authentication output to the display screen 1150 via the communication unit 1140. The processor 1130 may, for example, consist of one or more general-purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), graphics processing units (GPUs), discrete logic circuits, or other types of processing devices suitable for implementing the method described herein.

[0044] In some embodiments, the processor may execute instructions (e.g., stored in memory 1120) to perform the method described herein. Memory 1120 may store information and may, for example, consist of one or more units, such as an image storage unit for storing the captured image(s), an algorithm storage unit for storing the algorithm described herein, an instruction storage unit for storing the instruction for implementing the methods described herein, etc. In some embodiments, the training data and the pre-trained algorithm may be stored in memory 1120. Memory 1120 may include multiple memory modules, ranging from volatile to non-volatile memory options. These memory modules may include random access memory such as static RAM and dynamic RAM, as well as persistent memory forms such as read-only memory and flash memory.

[0045] Fig.shows a counterfeit detection system for authenticating a label containing a pattern, according to embodiments. The system includes a mobile device 1210 with a digital camera 1220 and a display screen 1230. The display screen may be connected to a user interface to guide the user through the authentication process. For example, a button to start the authentication process and a bounding box to outline the label for capturing the image may be displayed. The image may then be sent to the processing unit 1240 for processing. In some embodiments, the processing unit may be located at a remote location and configured to receive the image from the mobile phone. The processing unit may then extract pattern features, process the image (e.g.,extracted pattern features, preprocessed image) with the trained algorithm and return the output to the mobile device 1210, where the results are displayed on the screen of the mobile device 1230. QUOTES CONTAINED IN THE DESCRIPTION

[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature

[0000] WO 2015 / 052181 A1

[0002] US 2009 / 0008924 A1

[0002] WO 2008 / 143087 A1

[0002] FR 3070082 A1

[0002] WO 2017 / 024779 A1

[0002] US 9,863,920 B2

[0002] US 9,919,512 B2

[0002]

Claims

[1] Counterfeit detection system comprising: an image capture device configured to capture a digital image of a label; and a processor connected to the image capture device, the processor configured to: Receiving a digital image of a label from an image capture device; Extracting features of one or more patterns contained in the digital image; Applying a trained pattern recognition algorithm to decode the one or more patterns in the label; and Returning the authenticity of the label. [2] The system of claim 1, wherein the processor is further configured to preprocess the digital image prior to extracting features. [3] The system of claim 2, wherein the processor is configured to preprocess the digital image by at least one of the following methods: image standardization, image color space transformation, image contrast enhancement, spatial image transformation, image segmentation, and image refinement of the digital image. [4] The system of claim 1, wherein the features of the one or more patterns comprise at least one of the following features: edge properties, texture properties, frequency properties, and line properties. [5] The system of claim 1, wherein the processor is configured to extract features by dividing the digital images into image patches, applying one or more filters to extract the features, reducing the size or dimensions of the filtered image patches, generating an encoded matrix of informative pattern features, and concatenating the encoded matrix with the matrix of image features as input to the trained pattern recognition algorithm. [6] The system of claim 1, wherein the pattern recognition algorithm is obtained by training a comprehensive original deep learning model to decode the one or more patterns, the comprehensive original model being further used to train a compressed deep learning model to imitate the behavior of the original model to decode the one or more patterns. [7] The system of claim 1, wherein the pattern recognition algorithm is obtained via a two-stage deep learning pipeline by: Training a first model to generate training data; Refinement of the generated training data; and Training a second model with the refined generated training data to decipher the one or more patterns. [8] Non-transitory computer-readable computer program medium comprising instructions that, when executed by a processor, cause the processor to: Receiving a digital image of a label from a image capture device; Extracting features of one or more patterns contained in the digital image; Applying a trained pattern recognition algorithm to decode the one or more patterns in the label; and Returning the authenticity of the label. [9] The computer program medium of claim 8, wherein the processor is further caused to preprocess the digital image prior to extracting features. [10] The computer program medium of claim 9, wherein the processor is caused to preprocess the digital image by at least one of the following methods: Image standardization, image color space transformation, image contrast enhancement, spatial image transformation, image segmentation and image refinement of the digital image. [11] The computer program medium of claim 8, wherein the features of the one or more patterns comprise at least one of the following features: Edge properties, texture properties, frequency properties and line properties. [12] The computer program medium of claim 8, wherein the processor is caused to extract features by dividing the digital images into image patches, applying one or more filters to extract the features, reducing the size or dimensions of the filtered image patches, generating an encoded matrix of informative pattern features, and concatenating the encoded matrix with the matrix of image features as input to the trained pattern recognition algorithm. [13] The computer program medium of claim 8, wherein the pattern recognition algorithm is obtained by training a comprehensive original deep learning model to decode the one or more patterns, wherein the comprehensive original model is further used to train a compressed deep learning model to imitate the behavior of the original model to decode the one or more patterns. [14] The computer program medium of claim 8, wherein the pattern recognition algorithm is obtained via a two-stage deep learning pipeline by: Training a first model to generate training data; Refinement of the generated training data; and Training a second model with the refined generated training data to decipher the one or more patterns.

Citation Information

Patent Citations

  • AUTONOMOUS AUTHORIZATION DEVICE FOR OPTICAL MARKING AND METHODS

    FR3070082A1

  • Authenticating banknotes or other physical objects

    US20090008924A1

  • Fibers with chemical markers and physical features used for coding

    US9863920B2

  • DNA marking of previously undistinguished items for traceability

    US9919512B2

  • Authenticity validation subject, authenticity validation chip reader, and authenticity judging method

    WO2008143087A1