HK1245976A1 - Methods and a computing device for determining whether a mark is genuine - Google Patents
Methods and a computing device for determining whether a mark is genuine Download PDFInfo
- Publication number
- HK1245976A1 HK1245976A1 HK18105108.8A HK18105108A HK1245976A1 HK 1245976 A1 HK1245976 A1 HK 1245976A1 HK 18105108 A HK18105108 A HK 18105108A HK 1245976 A1 HK1245976 A1 HK 1245976A1
- Authority
- HK
- Hong Kong
- Prior art keywords
- mark
- candidate
- authentic
- candidate mark
- metrics
- Prior art date
Links
Description
Technical Field
The present disclosure relates generally to anti-counterfeiting technology, and more particularly to methods and computing devices for determining whether a mark is authentic.
Background
Unfortunately, counterfeit products are ubiquitous and often difficult to detect. When a counterfeiter makes a counterfeit good, the label and bar code are typically duplicated in addition to making the actual product. At the surface level, labels and barcodes may appear authentic, even producing valid data (e.g., decoded to an appropriate universal product code) when scanned. While there are many techniques currently available to resist such copying, most of these solutions involve the insertion of various types of codes, patterns, microfibers, microdots, and other indicia to help deter counterfeiting. This technique requires the manufacturer to utilize additional equipment and materials and adds a layer of complexity to the manufacturing process.
Drawings
While the appended claims set forth the features of the present technology with particularity, the technology, together with its objects and advantages, may be best understood from the following detailed description taken in conjunction with the accompanying drawings of which:
fig. 1 is an example of a system in which various embodiments of the present disclosure may be implemented.
Fig. 2A, 2B, and 2C are flow diagrams of processes performed by one or more computing devices according to embodiments.
Fig. 3 is another example of a system in which various embodiments of the present disclosure may be implemented.
Fig. 4A, 4B, and 4C are flow diagrams of processes performed by one or more computing devices according to embodiments.
Fig. 5 illustrates an architecture of a computing device according to an embodiment.
Fig. 6 shows an example of a marker according to an embodiment.
Fig. 7 shows an example of a marker according to another embodiment.
Fig. 8 illustrates an example of how a computing device orders a set of metrics and selects location identifiers for a subset of the metrics, according to an embodiment.
Fig. 9 illustrates an example of how a computing device forms a hash identifier block from location identifiers corresponding to a plurality of metric sub-groups, according to an embodiment.
FIG. 10 illustrates an example of how a computing device compares two hash identifier blocks and scores the comparison results in an embodiment.
Fig. 11 illustrates an example of how a computing device combines multiple hash identifiers into an entire hash identifier in an embodiment.
Fig. 12 and 13 depict processes performed by a computing device to convert the degree of correlation between two sets of autocorrelation values for a given feature (or for a given set of metrics for a feature) into a matching score for that feature or set of metrics in an embodiment.
FIGS. 14, 15 and 16 show examples of power series generated by a computing device in an embodiment, an
Fig. 17 shows an example of how a computing device generates an electronic signature of a token in an embodiment.
Detailed Description
The present disclosure relates generally to methods and computing devices for determining whether a mark is authentic. According to various embodiments, a computing device (or logic circuitry thereof) utilizes artifacts unintentionally created within a genuine tag to define an identifiable electronic signature ("signature"), and extracts certain features of the signature to enhance the ease and speed with which many genuine signatures can be searched and compared to signatures of candidate tags.
This disclosure will often refer to "marks" (mark). As used herein, a "marker" is a visual indicator that is intentionally placed on a physical object. The indicia may be something identifying a brand (e.g., a logo), something containing information, such as a bar code (e.g., a two-dimensional ("2D") bar code, expiration date, or tracking information (such as a serial number) as specified in the international organization for standardization ("ISO") and international electrotechnical commission ("IEC") standards ISO/IEC 16022), or decoration. The indicia may be visible in some portions of the electromagnetic spectrum, although not necessarily to the naked eye.
The term "artifact" (artifact) as used herein is a feature of a marking that is produced by the machine or process that generated the marking, rather than being designed or intentionally generated (i.e., an irregularity). Examples of artifacts include: (a) deviation of the average color of a sub-region (e.g., a cell of a 2D barcode) from the average value resulting from within the mark (which may be the average value of an adjacent cell of the same nominal color), (b) a shift of the position of the sub-region of the best fit grid relative to the adjacent sub-region, (c) a region of a different color of one of at least two colors that is different from the nominal color of the cell, (D) a deviation from the nominal shape of a continuous edge within the mark, and (e) a defect or other variation resulting from printing the mark. In some embodiments, the artifacts are uncontrollably reproduced.
As used herein, the terms "close match" (closematch), "positive close match" (closematched), and "close matched" (closely matched) refer to the result of a determination made based on a comparison between values that yields a similarity between two values that meets or exceeds a predetermined threshold (e.g., two hash identifiers). For example, if the predetermined threshold is 20%, then two hash identifiers may be referred to as "closely matching," "being closely matched," or "having been closely matched," if 20% or more of the components of one hash identifier (e.g., 20% or more of the constituent hash identifier blocks) are numerically equal to 20% or more of the components of the other hash identifier.
The term "location identifier" as used herein refers to a numerical value that maps to a location in a marker. The mapping between the location identifier and the location within the tag may be one-to-one. An example of a location identifier having a one-to-one mapping relationship with a location in a mark is a raster index number (raster index number).
The term "logic circuit" as used herein refers to a circuit (a type of electronic hardware) designed to perform a complex function defined in mathematical logic. Examples of logic circuitry include a microprocessor, controller, or application specific integrated circuit. When the present disclosure relates to a computing device that performs an action, it should be understood that this may also mean that logic integrated with the computing device is actually performing the action.
The term "mobile communication device" as used herein is a communication device capable of sending and receiving information over a wireless network, such as a cellular network or WiFi network. Examples of mobile communication devices include cellular telephones (e.g., smart phones), tablet computers, and portable scanners with wireless communication capabilities.
The present disclosure relates generally to methods and computing devices for determining whether a mark is authentic. According to an embodiment, a computing device receives a captured image of a candidate mark, measures a feature of the candidate mark in a plurality of locations of the candidate mark using the captured image, resulting in a set (in some cases, multiple sets) of metrics for the feature. The computing device generates a signature of the candidate token based on the set of metrics. The computing device derives a hash identifier ("HID") using the location identifiers corresponding to a subset of the locations at which the features were measured (e.g., the raster index number of the location that produced the largest magnitude measurement). The computing device determines whether the various HIDs closely match each other based on a comparison of the candidate tagged HIDs to the previously derived and stored HIDs of the authentic tag. If the computing device determines that the candidate tagged HID (according to a predetermined threshold) closely matches the authentic tagged HID, the computing device retrieves the authentic tagged signature from the media storage device (where the authentic tagged signature contains data about the authentic tagged artifact) and compares the candidate tagged signature to the retrieved authentic tagged signature.
In another embodiment, the computing device (or logic circuitry thereof) receives a captured image of the authentic marker, measures a feature of the candidate marker using the captured image, and generates a set (in some cases, multiple sets) of metrics for the feature. The computing device generates a signature for the authentic indicia based on the set of metrics. The computing device derives HIDs from the signature using location identifiers corresponding to a subset of locations whose features were measured (e.g., the raster index number of the location that produced the largest magnitude measurement), and stores the HIDs in association with the signature in a media storage. In one embodiment, the computing device stores the HIDs and signatures in a database so that the computing device can then query the database with HIDs (or with unknown HIDs that may closely match the authentic tagged signed HIDs).
According to various embodiments, a candidate tagged HID may closely match multiple real tagged HIDs. However, comparing candidate tagged HIDs to authentic tagged HIDs is less computationally intensive and utilizes less memory than comparing actual signatures. Thus, by utilizing HID in signatures that initially pass through a set of known authentic signatures, a computing device or logic circuit can significantly reduce the number of actual signatures that need to be compared.
Turning to fig. 1, an example of a system in which various embodiments of the present disclosure may be implemented is shown. The flow charts of fig. 2A, 2B, and 2C illustrate processes performed in the system, and fig. 1 and fig. 2A, 2B, and 2C are described concurrently herein.
The mark applying apparatus 100 applies the authentic mark 102 ("mark 102") to a legitimate physical object 104 ("object 104") (block 202 of fig. 2A). In some embodiments, object 104 is an article of manufacture, such as an article of clothing, a handbag, or a fashion accessory. In other embodiments, the object 104 is a label such as a bar code label or packaging for some other physical object. The indicia 102 may be something that identifies a brand (e.g., a logo), carries information (e.g., a bar code), or is decorative. Possible embodiments of the mark application device 100 include a printer (e.g., a laser or thermal printer), an etching device, an engraving device, a mold application device, a brand application device, a stitching device, or and a thermal transfer device. The mark application device 100 applies the mark 102 to the object 104 by, for example, printing, etching, engraving, molding, applying branding, stitching, or thermal transfer. The marker 102 includes one or more artifacts. In some embodiments, the indicia 102 also includes intentionally created security features, such as microscopic patterns.
After applying the mark 102, the first image capture device 106 (e.g., a camera, machine vision device, or scanner) captures an image of the mark 102 (block 204). The situation in which the first image capturing device 106 captures an image of the marker 102 is controlled so that it can be reasonably ensured that the image is actually an image of the real marker 102. For example, the time interval between the application of the mark 100 by the mark applicator 100 and the acquisition of the image of the mark 102 by the first image capture device 106 may be relatively small, and the first image capture device 106 may be physically located alongside the mark applicator 100, along the packaging line. Thus, when the term "authentic mark" is used, it refers to a mark applied by a mark application device at a legitimate source (i.e., not illegally or surreptitiously copied).
The first image capture device 106 sends the captured image to the first computing device 108. Possible embodiments of the first computing device 108 include a desktop computer, a rack-mounted server, a laptop computer, a tablet computer, and a mobile phone. In some embodiments, the first image capture device 106 is integrated with the first computing device 108, in which case the first image capture device 106 sends the captured image to the logic of the first computing device 108. The first computing device 108 or logic therein receives the captured image and sends the captured image to the second computing device 110. Possible implementations of the second computing device 110 include all of these devices listed for the first computing device 108.
The second computing device 110 receives the captured image and utilizes the captured image to measure various characteristics of the marker 102, thereby producing a set of metrics including data about artifacts of the marker 102 (block 206). As will be further described, the set of metrics may be one of several sets of metrics generated by the second computing device 110 with respect to the tag 102. The second computing device 110 may perform measurements at different locations on the indicium 102. In doing so, the second computing device 110 may divide the marker 102 into a plurality of sub-regions (e.g., according to an industry standard). In one embodiment, if the mark 102 is a 2D barcode, the second computing device 110 performs a measurement of all or a subset of the total number of sub-regions (e.g., all or a subset of the total number of cells) of the mark 102. Examples of characteristics of the marker 102 that may be measured by the second computing device 110 include: (a) feature shape, (b) feature aspect ratio, (c) feature location, (d) feature size, (e) feature contrast, (f) edge linearity, (g) region discontinuity, (h) extraneous mark, (i) print defect, (i) color (e.g., brightness, hue, or both), (k) coloring (pixention), and (1) contrast variation. In some embodiments, the second computing device 110 measures the same location from mark to mark for each feature, but measures different features at different locations. For example, the second computing device 110 may measure average coloration over a first set of locations of a mark and measure edge linearity over the same first set of locations of subsequent marks, but over a second set of locations of the mark and subsequent marks. Two sets of locations (for different features) may be said to be "different" if there is at least one location that is not common to the two sets.
In an embodiment, the feature measurements of the second computing device 110 comprise a set of metrics. There may be one or more sets of metrics for each measured characteristic. The second computing device 110 analyzes the set of metrics and, based on the analysis, generates a signature based on the set of metrics (block 208). Because the set of metrics includes data about the artifact (or artifacts) of the tag 102, the signature will be indirectly based on the artifact. If the tag 102 carries data (as in the case of a 2D barcode), the second computing device 110 may also include such data as part of the signature. In other words, in some embodiments, the signature may be based on artifacts of the tag 102 and data carried by the tag 102.
In an embodiment, to generate a signature, for each measured feature of the token 102, the second computing device 110 sorts the metrics associated with that feature by size and utilizes only metrics that reach a predetermined threshold as part of the signature. For example, the second computing device 110 may refrain from ranking metrics below a predetermined threshold. In an embodiment, there is a different predetermined threshold for each characteristic being measured. One or more of the predetermined thresholds may be based on a noise threshold and a resolution of the first image capture device 106.
In an embodiment, the second computing device 110 obtains one hundred data points for each feature and collects six sets of measurements: a set of measurements for shading, a set of measurements for deviations from a best fit grid, a set of measurements for extraneous marks or voids, and three independent sets of measurements for edge linearity.
As part of the sorting process, the second computing device 110 may group together the set of metrics that are below the predetermined threshold regardless of their respective positions (i.e., regardless of their position on the indicia 102). Also, the second computing device 110 may rank the metrics (e.g., by magnitude) in each feature class as part of the ranking process. Similarly, the second computing device 110 may simply ignore metrics below a predetermined threshold. Furthermore, the ranking process may simply constitute separating the metrics above the threshold from the metrics below the threshold.
In an embodiment, the second computing device 110 ranks the measured features according to how sensitive the features are to image resolution issues. For example, if the first image capture device 106 does not have the capability to capture images at high resolution, the second computing device 110 may have difficulty identifying the non-linearity of the edge. However, the second computing device 110 may not identify the problem of shading bias. Thus, on this basis, the second computing device 110 may prefer shading rather than edge non-linearity. According to an embodiment, the second computing means 110 arranges the measurement features in an order opposite to the resolution dependence as follows: subregion shading, subregion positional deviation, position of voids or extraneous marks, and edge non-linearity.
According to an embodiment, the second computing device 110 weights the measured features of the marker 102 based on one or more of the resolution of the first image capture device 106 and the resolution of the captured image of the marker 102. For example, if the resolution of the first image capture device 106 is low, the second computing device 110 may give more weight to the average coloration of the various sub-regions of the marker 102. If the resolution of the first image capture device 106 is high, the second computing device 110 may weight the edge irregularities of the respective sub-regions higher than other features.
If the indicia 102 includes error correction information, such as set forth by ISO/IEC 16022, the second computing device 110 may weight the measured characteristics with the error correction information. For example, the second computing device 110 may read the error correction information, use the error correction information to determine which sub-region of the mark 102 has an error, and reduce the weight on the measured characteristic of that sub-region.
According to an embodiment, the second computing device 110 measures a weighting of one or more characteristics of the mark 102 based on the mark applying device 100 when generating the signature. For example, assume that the mark applying apparatus 100 is a thermal transfer printer. It is further assumed that for those marks applied by the mark applicator 100, edge protrusions parallel to the direction of substrate material movement will not likely produce an edge linearity measurement of sufficient magnitude to reach a minimum threshold for edge linearity characterization. The second computing device 110 may down-weight the measurement of the edge linearity characteristic of the mark 102 based on such known characteristics of the mark applicator 100.
With continued reference to fig. 1, the second computing device 110 derives HIDs using location identifications corresponding to the subset of metrics of the signature (block 210). In one embodiment, the second computing device 110 derives HIDs using the index numbers of the subset of metrics corresponding to the highest magnitude of the signature. As will be discussed in further detail below, the second computing device 110 may utilize the index numbers of the subgroups corresponding to each set of metrics as chunks within the overall HID when deriving the HID. The second computing device 110 stores the signature and the HIDs (e.g., using a database program) in the media storage 112 (e.g., a redundant array of independent disks) (block 212) such that the HIDs are associated with the signature. In some embodiments, the HID may also be used to look up the signature (e.g., the second computing device 110 sets the HID as an index key for the signature using a database program). In some embodiments, the media storage device 112 is comprised of multiple devices that are geographically and temporarily distributed, just like a cloud storage service. In some embodiments, one or more of the feature measurements, the analysis of the sets of metrics, the signature generation, the derivation of the HID, and the storage of the signature and the HID are performed by the first computing device 108. In other embodiments, all of these steps are performed by the first computing device 108, and the media storage device 112 is directly accessed by the first computing device 108. In subsequent embodiments, the second computing device 110 is not utilized. In other embodiments, the second computing device 110 sends the signature and HID to a separate database server (i.e., another computing device) that stores the signature and HID in the media storage 112.
With continued reference to FIG. 1, an unverified physical object 114 ("unverified object 114"), which may or may not be a legitimate physical object 104, needs to be tested to ensure that it is not counterfeit or illegal. Possible embodiments of the unverified object 114 are the same as those of the legitimate physical object 104. On unverified object 114 is candidate mark 116. Possible embodiments of the candidate mark 116 are the same as the embodiment of the real mark 102. The second image capture device 118 (e.g., a camera, machine vision device, or scanner) captures an image of the candidate mark 116 (block 250 of fig. 2B) and sends the image to the third computing device 120. As with the first image capture device 106 and the first computing device 108, the second image capture device 118 may be part of a third computing device 120, and the transmission of the captured image of the candidate mark 116 may be internal (i.e., logic from the second image capture device 118 to the third computing device 120). The third computing device 120 (or logic therein) receives the captured image and sends the captured image to the second computing device 110. The second computing device 110 utilizes the captured image to measure various features of the candidate mark 116, including the same features that the second computing device 110 measured on the authentic mark 102. The results of this measurement are used for a metric set of features (block 252). In a continuous measurement, the results may include one or more sets of metrics for each measured feature. The second computing device 110 then generates a signature based on the metric group (or groups) (block 254) and performs using the same technique as used to generate the signature of the authentic signature 102. If the candidate marker 116 is actually the real marker 102 (or is produced by the same process as the real marker 102), the signature created by the second computing device 110 will be based on the artifact of the real marker 102 as the signature generated from the captured image of the real marker 102. On the other hand, if the candidate mark 116 is not a genuine mark 102 (e.g., is counterfeit), the signature generated from the most recent image will be based on any other features exhibited by the candidate mark 116-artifacts of the counterfeiting process, absence of artifacts from the mark applying apparatus 100, and the like. The second computing device 110 derives HIDs of the candidate token 116 using the location identifiers of the signed subset of metrics corresponding to the candidate token 116 (e.g., the index number of the highest magnitude subset of metrics) (block 256) (in the same manner as described above with respect to block 210), and compares (e.g., by querying a database) the HIDs of the candidate token 116 with the authentic tagged HIDs stored in the media storage 112 (block 258). As a result of the comparison, the second computing device 110 receives either a non-close match result (e.g., a result that does not pass a predetermined threshold), or one or more close matching HIDs from the media storage device 114 (block 260). If the second computing device 110 receives the result of the non-close match, the second computing device 110 sends an indication (e.g., by sending a message) to the third computing device 120 indicating that the candidate mark 116 cannot be verified (e.g., sending a message indicating that the candidate mark 116 is not authentic) (block 262). Third computing device 120 receives the message and indicates on the user interface that candidate mark 116 cannot be verified (or that candidate mark 116 is counterfeit). In some embodiments, the third computing device 118 performs one or more of the measuring, generating, and deriving steps and sends the signature (or HID, if the third computing device 118 derives HID) to the second computing device 110.
On the other hand, if the second computing device 110 finds one or more HIDs that closely match the HIDs of the candidate tag 116, the second computing device 110 will respond by retrieving the signature associated with the closely matching HIDs from the media storage 112 (block 264). The second computing device 110 then compares the actual signature it generated for the candidate token 116 with the retrieved authentic signature (block 266 of fig. 2C). The second computing device 110 repeats this process for each signature associated with a closely matching HID. If the second computing device 110 cannot closely match the signature of the candidate mark 116 to any of the retrieved signatures (block 268), the second computing device 110 sends an indication (e.g., by sending a message) to the third computing device 120 indicating that the candidate mark 116 cannot be verified (block 270). Third computing device 120 receives the message and indicates on the user interface that candidate mark 116 cannot be verified. On the other hand, if the second computing device 110 is able to closely match the signature of the candidate mark 116 with the retrieved signature, the second computing device 110 sends an indication (e.g., by sending a message) to the third computing device 120 indicating that the candidate mark 116 is authentic (block 272).
Turning to FIG. 3, an example of a system that may be utilized in another embodiment is described. The flow charts of fig. 4A, 4B, and 4C illustrate processes performed in the system, and fig. 3 and fig. 4A, 4B, and 4C are described concurrently herein.
Located at the wrapping device 300 are a label printer 302, a label applicator 304, a wrapping line 306, an image capture device 308, and a first computing device 310. The label printer 302 applies authentic indicia ("indicia 312") including authentic indicia 312 to a number of labels carried on the label web 314 (block 402 of fig. 4A). Possible examples of authentic indicia include one-dimensional ("1D") barcodes and 2D barcodes. Label application apparatus 304 applies labels (including separately displayed labels 316 and 318 of fig. 3), two of which are illustrated by reference numerals 320 and 322 ("first object 320" and "second object 322") in fig. 3, to legitimate physical objects (block 404). Fig. 3 shows that the physical object is a box (e.g., a box containing a product of manufacture), but the object need not be a box or container. Possible embodiments of legitimate physical objects include those previously listed for object 104 of FIG. 1.
The image capture device 308 captures an image of the marker 312 (block 406) and sends the captured image to the first computing device 310. The first computing device 310 receives the captured image and sends the captured image to the second computing device 324 via the communication network 326 ("network 326"). Possible embodiments of network 326 include a local area network, a wide area network, a public network, a private network, and the internet. The network 326 may be wired, wireless, or a combination thereof. Second computing device 324 receives the captured image and uses the image to perform a quality measurement (e.g., such as those set forth in ISO 15415) on indicia 312 (block 408). For example, second computing device 324 may determine whether there is unutilized error correction and fixed pattern corruption in indicia 312. The second computing device 324 then measures the characteristics of the marker 312 using the captured image, producing one or more sets of metrics that include data regarding artifacts of the marker 312 (block 410). For example, the second computing device 324 may measure (for all or a subset of the sub-regions of the real mark 312): (1) the average coloring (e.g., all or part of a cell) of some or all of the sub-regions of the real mark 312, (2) any deviation of the position of the sub-regions from the best fit grid, (3) the prevalence of stray marks or gaps, and (4) the linearity of one or more edges of the sub-regions. Each set of metrics corresponds to a measured feature, although there may be multiple sets of metrics for a single feature. For example, for each sub-region being measured-that is, one hundred sub-regions out of a total of one thousand sub-regions of the mark 312-there may be a measure of average coloration, a measure of deviation from best fit, a measure of deviation from prevalence of stray marks, and a measure of three edge linearities. Thus, the resulting set of metrics would be one hundred measurements of shading, one hundred measurements of deviation from best fit, one hundred measurements of deviation from prevalence of stray marks or voids, and three hundred measurements of edge linearity (three sets of measurements, one hundred for each). In an embodiment, each set of metrics is in the form of a list, where each entry of the list includes information identifying a location in the marker 312 (e.g., a grid-based index number) from which the second computing device 324 takes a base measurement and a data value (e.g., a magnitude) derived from the measurement itself.
The second computing device 324 then analyzes the metrics to identify those metrics that will be used to generate the electronic signature for the token 312 (block 412), and generates a signature based on the analysis (block 414). The second computing device 324 identifies the subset of the signature having the largest magnitude metric (block 416), derives HID chunks using the location identifications corresponding to the identified subset (block 418), creates HIDs based on the HID chunks (block 420 of fig. 4A), and stores the HIDs (block 422) in the media storage 328 in association with the signature (possible implementations of which are the same as described for the media storage 112 of fig. 1). In some embodiments, second computing device 324 repeats blocks 416 and 418 for each set of metrics for the signature (e.g., once for the set of shading measurements, once for the set of measurements that deviate from the best fit grid, once for the set of measurements for the extraneous mark or void, and once for each of three separate sets of measurements for edge linearity). In some embodiments, the first computing device 310 performs one or more of blocks 402-420 and sends the signature or HID to the second computing device 324.
With continued reference to fig. 3, at some point in the distribution chain from packaging device 300 to a distribution point (e.g., a point of sale), user 330 (e.g., a sales person or law enforcement worker) processes an unverified physical object 332 ("unverified object 332") having an unverified label 334 carrying a candidate mark 336. The information encoded in the identification or candidate mark 336 on the unverified object 332 may indicate that the unverified object 332 is from a legitimate source, such as the packaging device 300 (or the company that the packaging device 300 is processing the original object on the packaging line 306). In this case, the user 330 wishes to determine whether the unverified object 332 is counterfeit or illegal.
The user 330 launches an application on a third computing device 338, which is depicted in fig. 3 as a smartphone. The third computing device 338 captures an image of the candidate mark 336 (block 450 of fig. 4B) under control of the application (and possibly in response to additional input from the user 330) (e.g., using the camera 514, fig. 5). The third computing device 338 decodes the explicit data in the candidate mark 336 (e.g., data in the barcode indicating the identity of the product to which the barcode applies) (block 452) and sends the captured image to the second computing device 324 over the network 326. The second computing device 324 then measures features of the candidate mark 336 using the captured image, generating one or more sets of metrics (block 454), thereby generating one or more sets of metrics for each measured feature. The second computing device 324 then analyzes the metrics to identify those metrics that will be used to generate the electronic signature for the mark 336 (block 456), and generates a signature based on the analysis (block 458). The second computing device 324 may repeat blocks 454 and 456 for each feature of the mark to be measured, and repeat these blocks multiple times (yielding a "signature value" set of metrics over each iteration) even for a single feature. The second computing device 324 identifies the subset of the signature having the largest magnitude metric (block 460) and derives HID chunks from the set of metrics (of the signature) using the location identifier associated with the identified subset (block 462). The second computing device 324 may repeat blocks 454 and 456 for each set of metrics of the signature, producing a plurality of HID tiles (essentially one HID tile for each set of metrics). In some embodiments, the third computing device 338 performs blocks 454-462 and sends the signature or HID to the second computing device 324. Second computing device 324 then performs the process described above with respect to fig. 2A and 2B, which is repeated in fig. 4B and 4C. In other words, second computing device 324 performs blocks 464, 466, 468, 470, 472, 474, 476, and 478 of fig. 4B and 4C in the same manner that second computing device 110 of fig. 1 performs blocks 258, 260, 262, 264, 266, 268, 270, and 272 of fig. 2B and 2B.
In one implementation, one or more of computing devices 108, 110, and 120 of FIG. 1 and one or more of computing devices 310, 324, and 338 of FIG. 3 have the general structure shown in FIG. 5. The device depicted in fig. 5 includes logic circuitry 502, a main memory 504 (e.g., volatile memory, random access memory), a secondary memory 506 (e.g., non-volatile memory), a user input device 508 (e.g., keyboard, mouse, or touch screen), a display 510 (e.g., an organic light emitting diode display), and a network interface 512 (which may be wired or wireless). Memories 504 and 506 store instructions and data. The logic circuitry 502 executes the instructions and utilizes the data to perform various processes, including, in some embodiments, the methods described herein (including, for example, those processes that are purportedly performed by a computing device). Some computing devices may also include a camera 514 (e.g., a third computing device 338, particularly if it is implemented as a mobile device).
In an embodiment, a real marker (such as real marker 312 of fig. 3) is made up of a plurality of locations referred to herein as "sub-regions". The sub-regions may correspond to "units" according to ISO/IEC 15415 and may be of uniform size. To help illustrate some of the concepts discussed herein, attention is directed to FIG. 6, which illustrates a marker 600 having a first sub-region 650, a second sub-region 652, a third sub-region 654, and a fourth sub-region 656. The first subregion 650 is characterized by other subregions whose average coloration deviates significantly (e.g., to an extent exceeding a predetermined threshold). The second sub-region 652 is characterized by a significantly higher offset from the best fit grid 658 than the other sub-regions. A feature of the third subregion 654 is that it includes a significantly higher incidence of voids than the other subregions. Finally, the fourth sub-region 656 is characterized in that it comprises edges 660 which are substantially less linear than the other sub-regions.
In an embodiment, to perform a process of analyzing a metric obtained from measuring a feature of a mark (e.g., block 412 of fig. 4A and block 456 of fig. 4B), a computing device, such as second computing device 324, performs the following tasks. The computing device generates a best fit grid 658. In doing so, the computing device identifies an ideal location of the boundary between the various sub-regions of the marker. The computing device selects a sub-region whose feature measurements are to be used to generate the signature of the mark. In an embodiment, the computing means performs the selection based on the sub-region having a measurement of the characteristic that deviates most (e.g. above a predetermined threshold) from a nominal or best measurement expected for the sub-region. In this case, examples of sub-regions that the computing device will select include:
(1) the sub-region whose average color, tint, or intensity is closest to the global average threshold that distinguishes the light cells from the dark cells defined by the 2D barcode standard-i.e., the "lightest" dark cells and the "darkest" light cells. The first sub-area 650 belongs to this category. In an embodiment, if the computing device identifies a given sub-region as having a biased average shading density, the computing device may need to re-evaluate those sub-regions that are nearest neighbors to the identified sub-region. When the computing device performs such a re-evaluation, the computing device may reference the identified sub-region.
(2) The sub-region whose position deviates most (e.g., above a predetermined threshold) from the idealized position defined by the best-fit grid 658. In some embodiments, the computing device determines whether a given sub-region falls into the category by identifying the edges of the sub-region, determining the location of the edges, and comparing the location of the edges to their expected location (defined by the best-fit grid 658). In other embodiments, the computing device generates a histogram of the boundary region between two adjacent sub-regions of opposite polarity (e.g., dark/light or light/dark), where the sample regions overlap each sub-region by the same percentage relative to the best-fit grid 658, and evaluates the deviation of the histogram from the 50/50 bimodal distribution. The second sub-region 652 falls into this class.
(3) It contains a sub-area of extraneous marks or spaces, whether light or dark. In an embodiment, the computing device determines whether a sub-region falls into the category by generating a luminance histogram for the sub-region and determining whether the distance between the outermost dominant modes of the histogram is sufficiently large (e.g., above a predetermined threshold). The third subregion 654 falls within this category.
(4) A sub-region of one or more edges having one or more of the following options: (a) a length exceeding a predetermined threshold, (b) a continuity of the length exceeding (or below) the predetermined threshold, and (c) a linearity exceeding (or below) the predetermined threshold. In an embodiment, the computing device determines whether a sub-region falls into the category by computing the pixel-width luminance value over the length of one sub-region, the deviation of half the length of the sub-region from the best-fit grid 658, the trend (run) perpendicular to the grid lines bounding the edge in the best-fit grid 658. The fourth sub-region 656 falls into this category.
After the computing device measures the features of the tag (real or candidate), the computing device makes the measured features of the tag available as a list (associated with sub-region (e.g., cell) locations in the tag) associated with the index array.
Turning to FIG. 7, in another example, assume that the mark being analyzed is a 1D linear barcode 700. Features that a computing device (such as second computing device 324) may use to form an electronic signature include: variations in width or spacing between stripes 702; a change in average color, tint, or intensity 704; a void 706 in a black stripe (or a black dot in a white stripe); and irregularities 708 in the shape of the barcode edges.
Turning to fig. 8 and 9, the process by which a computing device (e.g., second computing device 324) executes at block 460 of fig. 4A and block 460 of fig. 4B to identify a subset of the metrics having the highest magnitudes for the electronic signature of the mark (and derive HIDs from the location identifiers associated with the subset) will now be described. For each measured feature (and each set of metrics for the feature if the feature is measured multiple times), the computing device takes a set of metrics that form part of the electronic signature and orders the metrics by value. As shown in fig. 8, for example, a first set of metrics 802 (depicted as a list) represents the coloring of various cells of a 2D barcode, each cell having an associated index number. At this point, the data for each cell is unitless, but is represented in gray scale values when the computing device initially performs the shading measurements. The first set 802 is only one of a plurality of sets of metrics that make up the 2D barcode electronic signature. The computing device sorts the first set 802 by size of the data values and extracts a subset 804 of index numbers corresponding to the subset 806 of data values having the highest magnitude. The computing device then makes a subset 804 of the index values into HID blocks for the first set of metrics 802.
In another example, as shown in fig. 9, a first set of metrics 902 corresponds to a first feature of a tag (e.g., the authentic tag 312 or the candidate tag 336), a second set of metrics 904 corresponds to a second feature of the tag, and a third set of metrics 906 (the "nth set" or the last set) corresponds to a third feature of the tag. However, there may be any number of metrics. Each member of each set of metrics in this example includes (1) an index value that is related to the grating position of the marked sub-region where the measurement of the feature was obtained, and (2) a data value that is the measurement itself or a magnitude derived from the measurement (e.g., after some statistical processing and normalization). The computing device orders each set of metrics by data value. For each set of metrics, the computing device extracts the index value corresponding to the subset of data values having the largest magnitude. In this example, each subgroup with the largest magnitude is the first 25 data values of a set of metrics. The computing device derives a first HID block 908 from the index value corresponding to the subset of the first set of metrics 902 having the largest magnitude. The computing device similarly derives a second HID block 910 from the index value corresponding to the subgroup of the second set of metrics 904 having the largest magnitude. The computing device continues the process until it performs the process for each metric set (i.e., a third or "nth" HID chunk 912 is derived from the nth set of metrics 906), thereby generating a set of HID chunks. The computing device forms the HID by aggregating blocks of HID. In this example, the HID block contains the extracted index value itself.
Turning to fig. 10, an example of how a computing device (e.g., the second computing device 324) compares HIDs generated for candidate tags to HIDs of genuine tags (e.g., as described in connection with blocks 464 and 466 in fig. 4B) is shown. The computing device attempts to match the index values of the respective HID blocks that make up the candidate tag and the genuine tag, with like sets of index values matching each other for an "apple-to-apple" comparison (e.g., comparing a subset of extracted colored index values for the candidate tag to a subset of extracted colored index values for the genuine tag). The computing device computes a match score for each match. Thus, for example, the true labeled box 1002 and the candidate labeled box 1004 have a match score of 21, while the candidate labeled box 1006 and the true labeled box 1008 have a match score of 4.
Turning to fig. 11, an example of how a computing device (e.g., second computing device 324) compares the overall HID of the authentic tag to the overall HID of the candidate tag is described, according to an embodiment. The computing device takes each individual HID chunk of the authentic signed HID value 1100 and compares it to the corresponding chunk of the candidate signed HID value 1102 and assigns a matching score (e.g., as described above with reference to fig. 10). The computing device then merges each score into an overall matching score. If the overall match score meets or exceeds a predetermined threshold score, the computing device considers the HID to be a close match. For example, the computing device may utilize 120 as the predetermined threshold score, meaning that if the score is 120 or greater, the computing device will consider the two HIDs to be a close match. The threshold may be as low as zero. In some embodiments, the computing device ignores the minimum value and simply takes the highest top "n" HID "scores (e.g., top 10). In this case, the computing device will always test the top 10 best HID matches. This addresses the possibility of having inaccurate HID truncation, thereby producing false negatives by the filtering step (at the expense of unnecessary computation of actual non-true candidates). The computing device then retrieves the signature associated with the real HID value 1100. The computing device repeats this process until it compares the candidate HID value 1102 with many (possibly all) HID values stored in the database of authentic signature signatures. The result of this process will be a subset of the entire set of authentic tag signatures, each of which may be compared (by the "brute force" method) by the computing device to the signatures of the candidate tags.
According to various embodiments, as described below, the computing device compares one electronic signature (e.g., of the candidate mark) with another electronic signature (e.g., of the authentic mark) (e.g., at blocks 266 and 472). The computing device (e.g., second computing device 324) array indexes a set of raw metrics that match two labels for each feature. The computing device also normalizes each raw set of authentic markers relative to a set of metrics extracted in a similar order from the candidate markers. The computing device then uses the correlation results to obtain a match/no match decision (true vs. false).
For example, the computing device compares the candidate signature to the true signature by comparing the autocorrelation sequence of the ranking metric of the candidate tag to the autocorrelation sequence of the (stored) ranked true signature. For clarity, well-known statistical operations:
is a common normalized correlation equation where r is the correlation result, n is the length of the metric data list, and x and y are the metric data sets for the true and candidate tags, respectively. When the computing device performs this autocorrelation function, the two data sets x and y are identical.
According to one embodiment, to generate the autocorrelation sequence, the computing device performs the operations set forth in the normalized correlation equation multiple times, each time shifting the sequence x by an additional index position relative to the series y (keeping in mind that y is a copy of x). As the offset progresses, the data group "wraps" back to the beginning when the last index in the y data sequence is exceeded due to the x index offset. According to an embodiment, the computing device accomplishes this by doubling the y data and "sliding" the x data from offset 0 to offset n to produce the autocorrelation sequence.
In some embodiments, instead of storing the entire signature in the media storage device, the second computing device instead stores a set of polynomial coefficients describing (in a predetermined order and precision) a best-fit curve that matches the shape of the autocorrelation result, at block 212 in fig. 2A and at block 422 in fig. 4A. This is possible because the second computing device performs the process of generating a signature over the sorted metric data, and therefore the autocorrelation sequence of the feature data (i.e., the metric that helps represent artifacts within the authentic signature) is typically a simple polynomial curve.
In an embodiment, a computing device (e.g., second computing device 110 or second computing device 324) calculates rxyWherein each item xiIs an artifact represented by its magnitude and position, each term yi=x(i+j)Where j is the offset of the two data sets, j being 0 to (n-1). Since x is ordered by amplitudeiAnd the amplitude is xiThe most important number, therefore, has the strongest correlation at or near j-0 and drops rapidly towards j-n/2. Since y is a copy of x, j and n-j are interchangeable, and therefore the autocorrelation sequences form a U-shaped curve, an example of which is shown in fig. 12, which is necessarily symmetrical about j 0 and j n/2. Thus, the computing device in this embodiment need only compute half of the curve, and for clarity, fig. 12 shows the entire curve from j-0 to j-n.
In one implementation, a computing device (such as second computing device 110 or second computing device 324) performs block 266 of fig. 2C and block 472 of fig. 4C with actual autocorrelation numbers, and then repeats the processing of the candidate labels with polynomial modeled curves. In practice, it has been found that a sixth order equation utilizing coefficients of six byte floating point values will tend to match the true signature data within 1% curve fit error or "recognition fidelity". The result match scores obtained by the computing device may be within one percent of each other. This may be true for a high match score (which would be desirable if the candidate tag is authentic) and a low match score (which would be desirable if the candidate tag is not authentic).
In an embodiment, for the purpose of generating an electronic signature (e.g., as set forth in block 412 of fig. 4A and block 456 of fig. 4B), a computing device that analyzes the measure of tokens defines and normalizes (normaize) the measure used to generate the signature. For example, the computing device may represent the polynomial coefficients as a fixed precision, represent the autocorrelation data itself as a value between-1 and +1, and use the array index positions in the analysis markers (real or candidate) as a sorted order list. If the token to be analyzed is a 2D data matrix, the array index may be a raster order index of cell locations within the token, ordered from the regular raw data of the utilized symbology. In one common type of 2D data matrix, the origin is the point where two solid lines bounding the left and bottom sides of the grid meet.
According to an embodiment, as described below, the computing device compares (attempts to match) the authentic signature with the candidate signatures (e.g., as set forth at block 266 of fig. 2C or block 472 of fig. 4C). The computing means reconstructs the signature using the stored polynomial coefficients, auto-correlates the metrics in each list (i.e. for each feature measured) to generate the polynomial coefficients, and compares the two sets of polynomial coefficients (compare the two auto-correlation sequences). The computing device may make this comparison in a number of ways. For example, the computing device may attempt to associate the autocorrelation sequence of the candidate marker with the (reconstructed) autocorrelation curve of the signature of the authentic marker. Alternatively, the computing device may construct a curve for each of the autocorrelation sequences (candidate and true) and perform a curve fitting error on the pair of curves. Fig. 12 and 13 illustrate this process. The degree of correlation between two sets of autocorrelation values for a given feature (or a set of metrics for a given feature) becomes a match score for that feature or set of metrics. The computing device then determines whether the candidate mark is authentic based on all of the match scores for the various features.
In an embodiment, a computing device that analyzes the metrics of the tokens applies a power series analysis to the autocorrelation data for candidate tokens and to the autocorrelation data for true tokens for the purpose of generating an electronic signature (e.g., as set forth in block 412 of fig. 4A and block 456 of fig. 4B). The computing device may apply such power series analysis using a discrete fourier transform ("DFT"):
wherein, XkIs the kth frequency component, N is the length of the metric list, and x is the metric data set. The computing device calculates the power series of the DFT, analyzes the magnitude of each frequency component (represented by a complex number in the DFT sequence), and discards the phase component. The resulting data describes the distribution of the energy of the metrology data spectrum from low to high frequency and it becomes the basis for further analysis. Examples of these power series are shown graphically in fig. 14, 15.
In an embodiment, for the purpose of generating an electronic signature (e.g., as set forth in block 412 of fig. 4A and block 456 of fig. 4B), a computing device that analyzes a metric of a token utilizes two frequency-domain analyses: kurtosis (Kurtosis) and Distribution Bias (Distribution Bias). In this case, the distribution deviation refers to a measurement of the energy distribution around the center band of the total spectrum. To perform kurtosis analysis, the computing device may utilize the following equation:
wherein the content of the first and second substances,is the mean of the power series magnitude data, s is the standard deviation of the magnitude, and N is the number of discrete spectral frequencies analyzed.
To calculate the distribution deviation in the embodiment, the second calculation means utilizes the following formula:
where N is the number of discrete spectral frequencies analyzed.
When frequency domain analysis is utilized in an embodiment (e.g., utilizing DFT), the computing device considers the following criteria: when analyzed in the frequency domain, the smooth polynomial curve of the signature of the authentic signature (resulting from the magnitude ordering) produces identifiable features in the spectral signature. When the metric data is extracted in the same order as extracted from the authentic marker, the candidate marker will exhibit a similar spectral energy distribution if the symbol is authentic. In other words, the true sort order is "consistent" with the metric magnitude of the candidate. Inconsistencies in the sequenced amplitude or other superimposed signals (e.g., artifacts of copying) tend to manifest as high frequency components, which are not present in the true symbol spectrum, thereby providing an additional measure of the authenticity of the mark. This solves the possibility that the artifact autocorrelation sequence can still meet the minimum statistical match threshold for the true signature. The distributed nature of the DFT power series of such a signal will show a low quality of matching by the high frequencies present in the small amplitude matching errors of the candidate sequences. Such a situation may represent a copy of the authentic indicia. Specifically, the computing device considers that high kurtosis and high distribution ratio exist in the spectrum of the authentic mark. In some embodiments, the computing device utilizes the power series distribution information along with the matching score as a measure of confidence in the validation of the candidate token.
Turning to fig. 17, in an embodiment, the computing device generates an electronic signature for the token (e.g., as set forth in block 208 of fig. 2A, block 254 of fig. 2B, block 414 of fig. 4A, and block 458 of fig. 4B) by encoding the signature as a string of bytes, which may be represented as American Standard Code for information exchange ("ASCII") characters, rather than as numerical magnitude data. This alternate format allows the computing device to directly utilize the signature data as an index to look up the tag in the media storage device. In this embodiment, rather than storing the position and magnitude of the metric for each signature of the authentic indicium, the computing device stores the presence (or absence) of the significant signature feature and each evaluation position within the authentic indicium. For example, in the case of 2D data matrix symbols that do not carry or encode a unique identifier or serial number, the computing device stores the signed signature data as strings, each string encoding the presence or absence of a feature exceeding the minimum amplitude threshold for each feature in the sub-region, but without further encoding data regarding the amplitude or number of features in any one feature. In this example, each sub-region 17 in the label 1700 of fig. 17 has four bits of data, one bit for each metric group, where a "1" represents a particular metric having a significant feature in that sub-region. For example, 0000 (hexadecimal 0) may mean that none of the four tested features is present to an extent exceeding the threshold size in that particular sub-region. The value 1111 (hexadecimal F) would mean that all four tested features are present to an extent exceeding the minimum value in that particular sub-region.
In the example of marker 1700, the first six sub-regions are encoded as follows. (1) The first sub-region 1702 has no artifacts for the average luminance: a satisfactory black color. It has no grid deviations. It does have a large white void. It has no edge shape artifacts: its edges are straight and uniform. The computing device encodes it as 0010. (2) The second subregion 1704 has artifacts of void and edge shapes. The computing device encodes it as 0011. (3) The third sub-region 1706 is significantly gray rather than black, but has no other artifacts. The computing device encodes it as 1000. (4) The fourth sub-region 1708 is free of artifacts. Thus, the computing device encodes it as 0000. (5) The fifth subregion 1710 has a grid bias but no other artifacts. The computing device encodes it as 0100. (6) The sixth module 1712 is artifact free. The computing device encodes it as 0000. Thus, the first six modules are coded as binary 001000111000000001000000, hexadecimal 238040, decimal 35-128-64, or ASCII #@. Taking the 2D data matrix code as an example, with a typical symbol size of 22x22 sub-regions, the ASCII string portion containing the unique signature data is 242 characters in length, assuming the data is packed into two modules per character (byte). The computing device stores the authentic signed signature string in a database, a flat file, a text document, or any other structure suitable for storing different populations of strings.
According to an embodiment, in an embodiment implemented in ASCII as follows, a computing device (e.g., second computing device 324) tests the candidate mark through the process to determine whether the mark is authentic:
(1) the computing device analyzes the candidate marks and extracts their ASCII strings.
(2) The computing device executes a search query through the database program using the ASCII string.
(3) The computing device tests the signatures stored in the media storage device (under control of the database program) for an exact match against the complete candidate search string. If the computing device does not find an exact string match, the computing device may attempt to locate an approximate match by searching for a sub-string over the entire string or by a "fuzzy match" search.
(4) When the search returns a reference string that matches at least the first minimum confidence match threshold, the computing device considers the true token and the candidate token to be the same. In other words, the computing device identifies the candidate mark as a genuine mark. On the other hand, if the search does not return a string with a percentage match above a second lower threshold, the computing device rejects the candidate mark as a counterfeit or invalid mark.
(5) When the search returns a reference string with a percentage match between the first and second thresholds, the computing device may consider the results to be inconclusive. In the event that the search returns two or more reference strings with a percentage match above the second threshold, the computing device may consider the results to be inconclusive. Alternatively, the computing device may perform further analysis to match the candidate tagged string with one of the other stored reference strings.
(6) When the result is uncertain, the computing device may indicate (e.g., on a user interface or by sending a message to the third computing device 240) that the result is uncertain. The computing device may prompt the user to submit another image of the candidate mark for testing. Alternatively or additionally, the computing device may employ a retry method to encode various features in the captured image of the candidate mark. The computing device may apply a retry method to any sub-region of the candidate mark where the signature data is close to the magnitude minimum threshold for the metric. If the tested signature uses an error correction mechanism, a retry method may be applied to any sub-region or portion of the candidate signature where the error correction mechanism indicates a potential for damage or change. Alternatively or additionally, the computing device may attenuate any signature data having a magnitude close to the minimum magnitude threshold, for example, by searching with its determined presence bit (set to 1) and then searching again with the undetermined bit (set to 0), or by replacing a "wildcard" character. Alternatively, the computing device may recalculate the percentage match query by weighting or ignoring those bits representing features near the threshold.
It should be understood that the exemplary embodiments described herein should be considered in a descriptive sense only and not for purposes of limitation. In other embodiments, descriptions of features or aspects in each embodiment are generally considered to be applicable to other similar features or aspects. It will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope defined by the following claims. For example, the steps of the flow diagrams of fig. 2A, 2B, 2C, 4A, 4B, and 4C may be reordered in a manner apparent to those skilled in the art. Moreover, the steps of these flowcharts, as well as the methods described herein, may be performed on a single computing device.
Claims (20)
1. A method of determining whether a mark is authentic on a computing device, the method comprising:
receiving a captured image of a candidate mark;
measuring features of the candidate mark at a plurality of locations within the candidate mark using the captured image, resulting in a set of metrics for the features,
wherein the plurality of locations are associated with a plurality of location identifiers;
generating an electronic signature for the candidate token based on the set of metrics;
deriving a hash identifier for the candidate mark using a subset of the plurality of location identifiers;
determining whether the hash identifier of the candidate token closely matches the hash identifier of a genuine token based on a comparison of the hash identifier of the candidate token and the hash identifier of the genuine token;
if the hash identifier of the candidate mark is determined to closely match the hash identifier of the authentic mark, then
Retrieving an electronic signature of the authentic marker from a media storage device, wherein the electronic signature of the authentic marker contains data about artifacts of the authentic marker; and is
Determining whether the candidate mark is authentic based on a comparison of the electronic signature of the candidate mark and the electronic signature of the authentic mark obtained by retrieval;
indicating that the candidate mark is authentic if the candidate mark is determined to be authentic.
2. The method of claim 1, wherein the feature is a first feature of the candidate mark, the set of metrics is a first set of metrics, the plurality of locations is a first plurality of locations, and the plurality of location identifiers is a first plurality of location identifiers, the method further comprising:
measuring a second feature of the candidate mark at a second plurality of locations within the candidate mark using the captured image, resulting in a second set of metrics for the second feature,
wherein the second plurality of locations is associated with a second plurality of location identifiers;
wherein generating an electronic signature of the candidate token comprises generating the electronic signature of the candidate token based on the first set of metrics and the second set of metrics, an
Wherein deriving the hash identifier of the candidate token comprises: forming the hash identifier from a subset of the first plurality of location identifiers and a subset of the second plurality of location identifiers.
3. The method of claim 2, wherein the first plurality of locations is the same as the second plurality of locations.
4. The method of claim 2, wherein at least one of the first plurality of locations is different from at least one of the second plurality of locations.
5. The method of claim 1, wherein the authentic indicia is one of a plurality of authentic indicia, each of the plurality of authentic indicia having a hashed identifier associated therewith, the method further comprising, for each of the plurality of authentic indicia:
determining whether the hash identity of the candidate mark closely matches the hash identity of the genuine mark based on a comparison of the hash identifier of the candidate mark and the hash identifier of the genuine mark;
if it is determined that the hash identifier of the candidate mark closely matches the hash identifier of the authentic mark, then
Retrieving an electronic signature of the authentic tag from the media storage device, wherein the authentic tagged electronic signature contains data regarding artifacts of the authentic tag;
determining whether the candidate mark is authentic based on a comparison of the electronic signature of the candidate mark with the electronic signature obtained by retrieval;
if the candidate mark is determined to be authentic, it indicates that the candidate mark is authentic.
6. The method of claim 1, wherein deriving the hash identifier using a subset of the plurality of locations comprises: deriving the hash identifier using index values corresponding to a subset of the plurality of positions associated with the metric of the set of metrics having the greatest magnitude.
7. The method of claim 4, wherein deriving the hash identifier using an index value corresponding to a metric of the set of metrics having a largest magnitude comprises: forming the hash identifier from the index values of sub-regions of the candidate mark for which the measured feature exceeds a predetermined value.
8. The method of claim 1, wherein measuring features of the candidate mark using the captured image comprises: measuring the average coloration of some or all sub-regions of the candidate mark.
9. The method of claim 1, wherein measuring features of the candidate mark using the captured image comprises: the positional deviation of the sub-regions of the candidate marks from the best fit grid is measured.
10. The method of claim 1, wherein measuring features of the candidate mark using the captured image comprises: measuring stray marks or gaps on the candidate marks.
11. The method of claim 1, wherein measuring features of the candidate mark using the captured image comprises: measuring the linearity of the sub-regions of the candidate mark.
12. The method of claim 1, wherein measuring features of the candidate mark at a plurality of locations within the candidate mark comprises: measuring an average gray value for each of the plurality of sub-regions of the candidate mark, the method further comprising:
organizing the measurements of gray values into a list of pigment metrics;
identifying a subset of the list of pigment metrics as part of the electronic signature; and
wherein deriving the hash identifier comprises: forming a block of the hash identifier from the location identifier associated with the metric of the shading metric list having the highest magnitude.
13. The method of claim 1, wherein measuring features of the candidate mark at a plurality of locations within the candidate mark comprises: measuring a deviation from a best fit grid for each of the plurality of sub-regions of the candidate mark, the method further comprising:
organizing the measurements of deviation into a list of deviation metrics; and
identifying a subset of the list of deviation metrics as part of the electronic signature;
wherein deriving the hash identifier comprises: forming a block of the hash identifier from the location identifier associated with the metric of the deviation metric list having the highest magnitude.
14. The method of claim 1, wherein measuring features of the candidate mark at the plurality of locations within the candidate mark comprises: measuring an extraneous mark or a void for each of the plurality of sub-regions of the candidate mark, the method further comprising:
organizing the measurements of the extraneous marks or spaces into a list of extraneous mark or space metrics; and
identifying a subset of the list of extraneous marks or gap metrics as part of the electronic signature,
wherein deriving the hash identifier comprises: forming a block of the hash identifier from the location identifier associated with the metric having the highest magnitude of the list of extraneous mark or space metrics.
15. The method of claim 1, wherein measuring features of the candidate mark at a plurality of locations within the candidate mark comprises: measuring non-linearity in each of the plurality of sub-regions of the candidate mark, the method further comprising:
organizing the measure of non-linearity into a list of non-linearity measures; and
identifying a subset of the measure of non-linearity as part of the signature;
wherein deriving the hash identifier comprises: forming a block of the hash identifier from the location identifier associated with the metric having the highest magnitude of the list of metrics of non-linearity.
16. On a computing device, a method for optimizing storage and retrieval of tagged electronic signatures, the method comprising:
receiving a captured image of the marker;
measuring features of the marker at a plurality of locations within the marker using the captured image, resulting in a set of metrics for the features,
wherein each of the plurality of locations is associated with a location identifier of a plurality of location identifiers,
wherein the features are associated with the marked one or more artifacts;
generating an electronic signature of the token based on the set of metrics;
deriving a hash identifier for the token using the plurality of location identifiers;
storing the hash identifier in association with the electronic signature in a media storage device; and
and retrieving the electronic signature by utilizing the hash identifier.
17. The method of claim 16, wherein storing the electronic signature in association with the hashed identifier comprises: storing the electronic signature in a database, and setting the hash identifier as a lookup key of the electronic signature.
18. The method of claim 16, further comprising: the steps of receiving, measuring, generating, deriving and storing are repeated for a plurality of markers.
19. The method of claim 16, wherein the tag is a genuine tag, the set of metrics is a first set of metrics, the plurality of locations is a first plurality of locations, and the plurality of location identifiers is a first plurality of location identifiers, the method further comprising:
receiving a captured image of a candidate mark;
measuring features of the candidate mark at a second plurality of locations within the candidate mark using the captured image, resulting in a second set of metrics for the features,
wherein the second plurality of locations is associated with a second plurality of location identifiers;
generating an electronic signature of the candidate token based on the second set of metrics;
deriving a hash identifier for the candidate mark using a subset of the second plurality of location identifiers;
determining whether the hash identity of the candidate mark closely matches the hash identity of the genuine mark based on a comparison of the hash identity of the candidate mark and the hash identifier of the genuine mark;
if it is determined that the hash identifier of the candidate mark closely matches the hash identifier of the authentic mark, then
Retrieving an electronic signature of the authentic indicia from the media storage device; and
determining whether the candidate mark is authentic based on a comparison of the electronic signature of the candidate mark and the retrieved electronic signature of the authentic mark;
if the candidate tag is determined to be authentic, generating a not that the candidate tag is authentic.
20. A computing device comprising logic circuitry and a media storage device, wherein the logic circuitry performs processes comprising:
receiving a captured image of a candidate mark;
measuring features of the candidate mark at a plurality of locations within the candidate mark using the captured image, resulting in a set of metrics for the features,
wherein the plurality of locations are associated with a plurality of location identifiers;
generating an electronic signature of the candidate token based on the set of metrics;
deriving a hash identifier for the candidate mark using a subset of the plurality of location identifiers;
determining whether the hash identity of the candidate mark closely matches the hash identity of the genuine mark based on a comparison of the hash identity of the candidate mark and the hash identifier of the genuine mark;
if it is determined that the hash identifier of the candidate mark closely matches the hash identifier of the authentic mark, then
Retrieving an electronic signature of the authentic tag from the media storage device, wherein the authentic tagged electronic signature contains data regarding artifacts of the authentic tag; and
determining whether the candidate mark is authentic based on a comparison of the electronic signature of the candidate mark and the retrieved electronic signature of the authentic mark;
if the candidate mark is determined to be authentic, it indicates that the candidate mark is authentic.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/623,925 | 2015-02-17 | ||
| US14/623,925 US9519942B2 (en) | 2015-02-17 | 2015-02-17 | Methods and a computing device for determining whether a mark is genuine |
| PCT/US2015/058620 WO2016133564A1 (en) | 2015-02-17 | 2015-11-02 | Methods and a computing device for determining whether a mark is genuine |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1245976A1 true HK1245976A1 (en) | 2018-08-31 |
| HK1245976B HK1245976B (en) | 2020-02-07 |
Family
ID=56621363
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| HK18105108.8A HK1245976B (en) | 2015-02-17 | 2015-11-02 | Methods and a computing device for determining whether a mark is genuine |
Country Status (17)
| Country | Link |
|---|---|
| US (1) | US9519942B2 (en) |
| EP (1) | EP3259706B1 (en) |
| JP (1) | JP6383113B2 (en) |
| KR (1) | KR101889676B1 (en) |
| CN (1) | CN107438859B (en) |
| AU (1) | AU2015383137B2 (en) |
| BR (1) | BR112017017464A2 (en) |
| CA (1) | CA2974808C (en) |
| DK (1) | DK3259706T3 (en) |
| ES (1) | ES2921553T3 (en) |
| HK (1) | HK1245976B (en) |
| IL (1) | IL253685B (en) |
| MX (1) | MX2017010464A (en) |
| MY (1) | MY178892A (en) |
| RU (1) | RU2648582C1 (en) |
| SG (1) | SG11201706421VA (en) |
| WO (1) | WO2016133564A1 (en) |
Families Citing this family (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150169928A1 (en) | 2012-03-01 | 2015-06-18 | Sys-Tech Solutions, Inc. | Methods and a system for verifying the identity of a printed item |
| PT2820592T (en) | 2012-03-01 | 2018-03-22 | Sys Tech Solutions Inc | Unique identification information from marked features |
| US20150379321A1 (en) | 2012-03-01 | 2015-12-31 | Sys-Tech Solutions, Inc. | Methods and a system for verifying the authenticity of a mark |
| US10755059B2 (en) * | 2015-09-24 | 2020-08-25 | Sicpa Holding Sa | Certification of items |
| US10713663B2 (en) * | 2016-03-29 | 2020-07-14 | Authentix, Inc. | Product authentication using barcode characteristics |
| EP3529520B1 (en) * | 2016-12-09 | 2022-06-29 | Sys-Tech Solutions, Inc. | Methods and a computing device for determining whether a mark is genuine |
| US10311224B1 (en) * | 2017-03-23 | 2019-06-04 | Amazon Technologies, Inc. | Digitally sealing equipment for authentication of components |
| EP3655906B1 (en) * | 2017-07-20 | 2024-08-07 | Laava ID Pty Ltd | Secure tags |
| US10586138B2 (en) * | 2017-11-02 | 2020-03-10 | International Business Machines Corporation | Dynamic thermoelectric quick response code branding |
| US10430620B2 (en) | 2018-02-26 | 2019-10-01 | International Business Machines Corporation | Dynamic thermoelectric image branding |
| DE102019109560A1 (en) * | 2019-04-11 | 2020-10-15 | Infineon Technologies Ag | Trust Anchor Blockchain Verification |
| JP2023502688A (en) * | 2019-11-20 | 2023-01-25 | テトラ ラバル ホールディングス アンド ファイナンス エス エイ | Method and apparatus for authenticating food packages |
| DK4168926T3 (en) | 2020-06-18 | 2025-05-19 | Sys Tech Solutions Inc | Methods and system for capturing images of moving printed materials |
| US11720991B2 (en) | 2021-05-20 | 2023-08-08 | International Business Machines Corporation | Signing and authentication of digital images and other data arrays |
| US11822036B2 (en) * | 2021-10-07 | 2023-11-21 | Oracle International Corporation | Passive spychip detection through time series monitoring of induced magnetic field and electromagnetic interference |
| US12179608B2 (en) | 2021-12-03 | 2024-12-31 | Sustainable Energy Technologies, Inc. | Monitoring and managing temperature of power packs |
| WO2023102265A1 (en) | 2021-12-03 | 2023-06-08 | Sustainable Energy Technologies, Inc. | System and method for energy management of a power pack for an electric vehicle including photovoltaic charging |
| WO2023107514A1 (en) | 2021-12-06 | 2023-06-15 | Sustainable Energy Technologies, Inc. | System and method for analyzing temperature changes in supercapacitor battery storage for electric vehicle |
| US12296721B2 (en) | 2021-12-10 | 2025-05-13 | Sustainable Energy Technologies, Inc. | Method and systems to trickle charge electric vehicle's supercapacitors using solar energy |
| WO2023114276A1 (en) | 2021-12-14 | 2023-06-22 | Sustainable Energy Technologies, Inc. | Supercapacitor to electrochemical hybrid system |
| US12296717B2 (en) | 2021-12-17 | 2025-05-13 | Sustainable Energy Technologies, Inc. | Intelligent hybrid power system for electrical vehicles |
| WO2023129616A1 (en) | 2021-12-30 | 2023-07-06 | Sustainable Energy Technologies, Inc. | Supercapacitor to electrochemical hybrid system with a supercapacitor battery management capability |
| US12169922B2 (en) | 2022-03-10 | 2024-12-17 | Sys-Tech Solutions, Inc. | Synthetic image generation using artificial intelligence |
| US12462345B2 (en) | 2022-03-10 | 2025-11-04 | Sys-Tech Solutions, Inc. | Glare mitigation techniques in symbologies |
| CA3255908A1 (en) | 2022-04-21 | 2023-10-26 | Sys Tech Solutions Inc | Mark authentication with distortion tolerance |
| US20240070684A1 (en) * | 2022-08-31 | 2024-02-29 | Surgibox Inc. | Blockchain systems and methods for verifying the certifications and the authenticity of commercial products |
| WO2025072281A1 (en) | 2023-09-25 | 2025-04-03 | Sys-Tech Solutions, Inc. | Overcomplete fingerprint extraction |
| US20250139647A1 (en) * | 2023-10-25 | 2025-05-01 | The Boeing Company | Automated product authenticity verification via blockchain |
| US20250139220A1 (en) * | 2023-10-30 | 2025-05-01 | Capital One Services, Llc | Systems and methods for determining document authenticity based on weighted analysis of categorical content attributes |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2001010090A1 (en) | 1999-07-28 | 2001-02-08 | Tomkow Terrance A | System and method for verifying delivery and integrity of electronic messages |
| US7162035B1 (en) | 2000-05-24 | 2007-01-09 | Tracer Detection Technology Corp. | Authentication method and system |
| US7107453B2 (en) * | 2000-05-25 | 2006-09-12 | Hewlett-Packard Development Company, L.P. | Authenticatable graphical bar codes |
| EP1362485B1 (en) * | 2001-02-12 | 2008-08-13 | Gracenote, Inc. | Generating and matching hashes of multimedia content |
| US7013024B2 (en) * | 2001-04-13 | 2006-03-14 | Pitney Bowes Inc. | Method for reading information that has been embedded in an image |
| JP4245883B2 (en) | 2002-09-13 | 2009-04-02 | 株式会社日立製作所 | Authenticity management method and system for electronic document and print medium thereof, program, and recording medium |
| US7497379B2 (en) * | 2004-02-27 | 2009-03-03 | Microsoft Corporation | Counterfeit and tamper resistant labels with randomly occurring features |
| WO2007068519A2 (en) | 2005-12-15 | 2007-06-21 | International Business Machines Corporation | Method and systems using radio frequency identifier tags for comparing and authenticating items |
| WO2007113040A1 (en) * | 2006-03-31 | 2007-10-11 | International Business Machines Corporation | Method and systems using identifier tags and authenticity certificates for detecting counterfeited or stolen brand objects |
| RU2458395C2 (en) * | 2006-07-19 | 2012-08-10 | Эдванст Трэк Энд Трэйс | Methods and apparatus for ensuring integrity and authenticity of documents |
| US7900837B2 (en) * | 2007-03-14 | 2011-03-08 | Microsoft Corporation | Optical fiber paper reader |
| WO2008143087A1 (en) * | 2007-05-14 | 2008-11-27 | International Frontier Technology Laboratory, Inc. | Authenticity validation subject, authenticity validation chip reader, and authenticity judging method |
| JP2009109419A (en) * | 2007-10-31 | 2009-05-21 | Sony Corp | Article identification apparatus and method, and program |
| US8488834B2 (en) * | 2007-11-15 | 2013-07-16 | Certifi-Media Inc. | Method for making an assured image |
| CN102124489B (en) | 2008-08-17 | 2014-08-06 | 杜比实验室特许公司 | Signature derivation for images |
| US8430301B2 (en) * | 2009-11-23 | 2013-04-30 | Konica Minolta Laboratory U.S.A., Inc. | Document authentication using hierarchical barcode stamps to detect alterations of barcode |
| PT2820592T (en) * | 2012-03-01 | 2018-03-22 | Sys Tech Solutions Inc | Unique identification information from marked features |
| JP6164899B2 (en) * | 2013-04-05 | 2017-07-19 | キヤノン株式会社 | Hash value generation device, system, determination method, program, storage medium |
-
2015
- 2015-02-17 US US14/623,925 patent/US9519942B2/en active Active
- 2015-11-02 JP JP2017541598A patent/JP6383113B2/en active Active
- 2015-11-02 ES ES15882884T patent/ES2921553T3/en active Active
- 2015-11-02 KR KR1020177026160A patent/KR101889676B1/en not_active Expired - Fee Related
- 2015-11-02 AU AU2015383137A patent/AU2015383137B2/en not_active Ceased
- 2015-11-02 WO PCT/US2015/058620 patent/WO2016133564A1/en not_active Ceased
- 2015-11-02 CN CN201580076348.1A patent/CN107438859B/en active Active
- 2015-11-02 DK DK15882884.8T patent/DK3259706T3/en active
- 2015-11-02 SG SG11201706421VA patent/SG11201706421VA/en unknown
- 2015-11-02 RU RU2017132260A patent/RU2648582C1/en active
- 2015-11-02 MX MX2017010464A patent/MX2017010464A/en active IP Right Grant
- 2015-11-02 EP EP15882884.8A patent/EP3259706B1/en active Active
- 2015-11-02 HK HK18105108.8A patent/HK1245976B/en not_active IP Right Cessation
- 2015-11-02 BR BR112017017464A patent/BR112017017464A2/en not_active IP Right Cessation
- 2015-11-02 MY MYPI2017001089A patent/MY178892A/en unknown
- 2015-11-02 CA CA2974808A patent/CA2974808C/en active Active
-
2017
- 2017-07-26 IL IL253685A patent/IL253685B/en active IP Right Grant
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN107438859B (en) | Mark whether true method and computing device for determination | |
| HK1245976A1 (en) | Methods and a computing device for determining whether a mark is genuine | |
| CN109074371B (en) | Method and computing device for determining whether a mark is authentic | |
| US9940572B2 (en) | Methods and a computing device for determining whether a mark is genuine | |
| CN110603400B (en) | Method and computing device for determining whether a mark is authentic | |
| HK40019919A (en) | Methods and a computing device for determining whether a mark is genuine | |
| HK40000432A (en) | Methods and a computing device for determining whether a mark is genuine | |
| HK40000432B (en) | Methods and a computing device for determining whether a mark is genuine |