Method and apparatus for analyzing images of a portion of an article for patterns indicating the authenticity of the article.

JP2026534010APending Publication Date: 2026-10-14COLLECTORS UNIVERSE INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2026514869
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-10-02
Filing Date
2024-10-02
Publication Date
2026-10-14

Smart Images

  • Figure 2026534010000001_ABST
    Figure 2026534010000001_ABST
Patent Text Reader

Abstract

In one embodiment, the method includes receiving a plurality of images having a plurality of image types. The method further includes using an image classifier to identify a subset of images from the plurality of images of that image type in order to generate a plurality of subsets of images for each image type from the plurality of image types. The method further includes performing feature extraction on each image from the subset of images to generate features associated with that image. The method further includes inputting the features associated with each image from the subset of images into a trained ML model from a plurality of trained ML models to generate an output indicating whether the collectible associated with that image is genuine or forged.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Cross-Reference to Related Applications

[01] This application claims priority to U.S. Patent Application No. 63 / 587,280, filed on October 2, 2023, entitled "METHODS AND APPARATUS TO ANALYZE AN IMAGE OF A PORTION OF AN ITEM FOR A PATTERN INDICATING AUTHENTICITY OF THE ITEM", the entire content of which is incorporated herein by reference.

[0002] Field

[02] One or more embodiments relate to analyzing an image of a portion of an item for a pattern that indicates the authenticity of the item.

BACKGROUND ART

[0003] Background

[03] Items such as cards, coins, figurines, comics, paintings, and photographs can be desirable assets with high monetary value. Therefore, it may be desirable to use image analysis to quickly, accurately, and efficiently determine whether an item is authentic. However, known authentication techniques are slow, inaccurate, and inefficient.

SUMMARY OF THE INVENTION

MEANS FOR SOLVING THE PROBLEMS

[0004] Summary

[04] In one embodiment, the non-temporary processor-readable medium stores instructions that, when executed by the processor, cause the processor to receive a plurality of images having an image type. Each image from the plurality of images includes a predetermined portion. The non-temporary processor-readable medium further stores instructions that, when executed by the processor, cause the processor to generate a plurality of sets of features associated with each image from the plurality of images, and to perform feature extraction based on the predetermined portion of the image and not on the rest of the image to generate a set of features associated with that image. The non-temporary processor-readable medium further stores instructions that, when executed by the processor, cause the processor to train to generate a trained machine learning (ML) model using the plurality of sets of features associated with the plurality of images. The non-temporary processor-readable medium further stores instructions that, when executed by the processor, cause the processor to receive an image that (1) is not included in the plurality of images, (2) is of the above image type, and (3) has a predetermined portion. The non-temporary processor-readable medium, when executed by the processor, further stores instructions that cause the processor to perform feature extraction based on a given portion of the image, and not on the rest of the image, to generate a set of features associated with the image. The non-temporary processor-readable medium, when executed by the processor, further stores instructions that cause the processor to input the set of features associated with the image into a trained ML model to generate an output indicating the authenticity of the image.

[0005]

[05] In one embodiment, the method comprises receiving a plurality of card images having a plurality of image types. The method further comprises using an image classifier to identify a subset of images from the plurality of images of that image type in order to generate a plurality of subsets of images for each image type from the plurality of image types. For each subset of images from the subset of images, the method further comprises performing feature extraction on each image from that subset of images to generate features associated with that image. The method further comprises inputting the features associated with each image from that subset of images into a trained ML model from a plurality of trained ML models to generate an output indicating whether the collectible associated with that image is genuine or forged. Each trained ML model from the plurality of trained ML models is associated with an image type from a plurality of image types, which differs among the remaining trained ML models from the plurality of trained ML models.

[0006]

[06] In one embodiment, the device includes a memory and a processor operably coupled to the memory. The processor is configured to receive multiple images of multiple collectibles having multiple collectible types. The processor is further configured to use an image classifier to generate subsets of multiple images for each collectible type from the multiple collectible types and to identify subsets of images from the multiple images that represent collectibles from the multiple collectible types. For each subset of images from the subsets of images, the processor is further configured to input a representation of each image from the subset of images into a trained ML model from multiple trained ML models, without performing feature extraction on the image, to generate an output indicating whether the collectible represented by the image is genuine or forged. Each trained ML model from multiple trained ML models is associated with a collectible type from multiple collectible types, which differs among the remaining trained ML models from multiple trained ML models. Multiple trained ML models include at least one of the following: a deep autoencoder model, a deep nearest neighbor anomaly detection model, a semantic pyramid anomaly detection (SPADE) model, a patch distribution modeling (PaDiM) framework for anomaly detection and segmentation models, or anomaly detection using a patch-level feature and core set selection (PatchCore) model. [Brief explanation of the drawing]

[0007] Brief explanation of the drawing [Figure 1]

[07] A block diagram of a system for training and using an ML model to determine the authenticity of a card, according to one embodiment, is shown. [Figure 2A]

[08] A method for training and using a model according to one embodiment is shown. [Figure 2B]

[09] Visualization of the calculation of a local binary pattern (LBP) according to one embodiment. [Figure 3]

[0010] This demonstrates how an image classifier can be used to determine the authenticity of different card types according to one embodiment. [Figure 4]

[0011] An example of performing feature extraction using a directional gradient histogram (HoG) according to one embodiment is shown. [Figure 5]

[0012] An example of performing anomaly detection and feature extraction according to one embodiment is shown. [Figure 6]

[0013] An example of performing anomaly detection without performing feature extraction according to one embodiment is shown. [Figure 7]

[0014] A flowchart of a method for training an ML model to generate an output indicating the authenticity of a collection associated with an image, according to one embodiment, is shown. [Figure 8]

[0015] A flowchart of a method for determining whether collectibles associated with different images of different image types are genuine or counterfeit, according to one embodiment, is shown. [Figure 9]

[0016] A flowchart of a method for training a machine learning model using multiple images of genuine cards, each of which is a card type, according to one embodiment is shown. [Figure 10]

[0017] A flowchart of one embodiment shows a method for determining whether a collection associated with different images of different image types is genuine or counterfeit, without performing feature extraction. [Modes for carrying out the invention]

[0008] Detailed explanation

[0018] Some embodiments involve generating a training dataset by performing feature extraction on a predetermined portion of multiple cards, each having the same card type (e.g., only genuine cards, only counterfeit cards, a combination of genuine and counterfeit cards). The training dataset can then be used to train a machine learning (ML) model to produce an output indicating the authenticity of the cards. Once training is complete, the trained ML model can receive features not present in the training dataset and produce an output indicating the authenticity of the card for which the missing features were generated. In some embodiments, different ML models can be trained using different sets of cards, each configured to be trained using cards of a unique card type and to produce an output indicating whether a card is of that unique card type.

[0009]

[0019] As an example, feature extraction can be performed using the backs of multiple Magic: The Gathering cards. A first ML model can be trained using the extracted features. If all Magic: The Gathering cards are genuine, the first ML model can be trained via unsupervised learning. If the Magic: The Gathering cards include some genuine Magic: The Gathering cards and some counterfeit Magic: The Gathering cards, the first ML model can be trained via supervised learning. Subsequently, features extracted from different Magic: The Gathering cards can be input into the first ML model, which can produce an output indicating whether that different Magic: The Gathering card is genuine or counterfeit (e.g., a forgery). In addition, continuing the example, feature extraction can be performed using the top-left region of multiple Yu-Gi-Oh! cards. A second ML model, different from the first ML model, can be trained using the extracted features. If the Yu-Gi-Oh! cards are genuine, the second ML model can be trained via unsupervised learning. If a Yu-Gi-Oh! card set includes some genuine Yu-Gi-Oh! cards and some counterfeit Yu-Gi-Oh! cards, a second ML model can be trained through supervised learning. Then, features extracted from different Yu-Gi-Oh! cards (e.g., unknown) can be input into the second ML model, which can generate an output indicating whether that different Yu-Gi-Oh! card is genuine or counterfeit (e.g., a fake).

[0010]

[0020] Some embodiments relate to determining whether a collectible is genuine or counterfeit using a pre-trained ML model and without performing feature extraction. For example, images of collectibles may be pre-processed and input to a pre-trained ML model without performing feature extraction before input. In other words, feature extraction is not performed after preprocessing and before inputting the pre-processed version of the images to the pre-trained ML model. In response to receiving the input, the pre-trained ML model generates an output indicating whether the collectible is genuine or counterfeit. In some embodiments, the pre-trained ML model is generated by training the ML model via supervised learning using a training dataset containing images of genuine collectibles and images of counterfeit collectibles. In some embodiments, the trained model is generated by training the ML model via unsupervised learning using a training dataset containing images of genuine collectibles but not images of counterfeit collectibles. In some embodiments, the trained model is generated by training an ML model using a training dataset that includes unsynthetic and synthetic images of cards, and in some embodiments, the unsynthetic images of cards are augmented to generate synthetic images of cards (for example, by augmenting a predetermined portion of the unsynthetic image while leaving the rest of the unsynthetic image unaggregated).

[0011]

[0021] Compared to known authentication techniques, the techniques described herein can determine more quickly and accurately whether a card is genuine or counterfeit (e.g., forged). In some embodiments, features can be extracted at a speed and level of detail unattainable / impractical for humans. Thus, the techniques described herein may be faster and more accurate than authentication performed solely by humans. Furthermore, the techniques described herein determine the authenticity of a card using a predetermined portion of the card. By analyzing a specific portion of the card (e.g., the back, the logo on the lower right of the card, etc.) and not analyzing other portions of the card, fewer features can be extracted, which has several advantages, including saving memory space, allowing ML models to process less data, and potentially enabling faster determination of the card's authenticity. Moreover, compared to some known techniques that are limited to determining the authenticity of one type of collectible, the techniques described herein can determine the authenticity of multiple collectibles using a network of multiple image classifiers that can sort collectibles by type. Furthermore, the techniques described herein can be applied to cards / images of cards. Cards such as authentic cards of a particular card type share certain common features (e.g., a common back design, a common marker on the corner, etc.) that the techniques described herein use to determine authenticity. For example, some of the techniques described herein extract and / or enhance features (e.g., generate additional training data) only from the parts of the card / image that are commonly shared among cards of that card type.

[0012]

[0022] While this specification discusses several embodiments in relation to cards, in some embodiments the technology discussed herein can be applied to various articles and / or images of such articles. For example, the technology discussed herein can be applied to coins, figurines, books, currency, hardware, apparel, video game cartridges, watches, shoes, paintings, photographs, and / or images thereof.

[0013]

[0023] Figure 1 shows a block diagram of a system for training and using an ML model to determine the authenticity of a card, according to one embodiment. Figure 1 includes a user computing device 100 which is communicably coupled to an authenticity computing device 140 via a network 120.

[0014]

[0024] The network 120 may be any suitable communication network for transferring data, operating via, for example, a public and / or private communication network. For example, the network 120 may include a private network, a virtual private network (VPN), a multi-protocol label switching (MPLS) circuit, the Internet, an intranet, a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a microwave access network for worldwide interoperability (WiMAX (registered trademark)), an optical fiber (or fiber optic) based network, a Bluetooth (registered trademark) network, a virtual network, and / or any combination thereof. In some cases, the network 120 may be a wireless network such as, for example, a Wi-Fi (registered trademark) or wireless local area network ("WLAN"), a wireless wide area network ("WWAN"), and / or a cellular network. In other examples, the network 120 may be a wired network such as, for example, an Ethernet network, a digital subscriber line ("DSL") network, a broadband network, and / or an optical fiber network. In some cases, the network 120 may employ application programming interfaces (APIs) and / or data exchange formats (e.g., Representational State Transfer (REST), JavaScript Object Notation (JSON), Extensible Markup Language (XML), Simple Object Access Protocol (SOAP), and / or Java Message Service (JMS)). Communications transmitted via the network 120 may or may not be encrypted. In some examples, the network 120 may include a plurality of networks or sub-networks operatively coupled to one another by, for example, network bridges, routers, switches, gateways, and the like.

[0015]

[0025] The authenticity computing device 140 includes a processor 142 operatively coupled (e.g., via a system bus) to a memory 144. The authenticity computing device 140 may be any type of computing device such as a server, desktop, laptop, tablet, or smartphone.

[0016]

[0026] The processor 142 may be a hardware-based integrated circuit (IC) or any other suitable processing device configured to run and / or execute an instruction set or code. For example, the processor 142 may be a general-purpose processor, a central processing unit (CPU), an accelerated processing unit (APU), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a programmable logic array (PLA), a complex programmable logic device (CPLD), or a programmable logic controller (PLC). In some embodiments, the processor 142 may be configured to run and / or execute the methods and / or portions of the methods discussed herein.

[0017]

[0027] Memory 144 may be, for example, random access memory (RAM), a memory buffer, a hard drive, flash memory, read-only memory (ROM), or erasable programmable read-only memory (EPROM). Memory 144 may be configured to store data used by the processor 142 to perform the techniques (methods, processes, etc.) discussed herein. In some cases, memory 144 may store one or more software programs and / or code, which may include instructions that cause the processor 142 to perform one or more processes, functions, etc. In some embodiments, memory 144 may include expandable storage units that can be added and used incrementally. In some embodiments, memory 144 may be portable memory (e.g., flash drive, portable hard disk, Secure Digital (SD) card, etc.) that can be operably coupled to the processor 142. In some examples, memory 144 may be remotely operably coupled to a computing device (not shown in Figure 1). In some examples, memory 144 may be a virtual memory drive (e.g., a RAM disk), which can improve I / O speed and thus speed up image reading and writing.

[0018]

[0028] Memory 144 contains (stores, for example) a representation (e.g., an image) of card 146. Card 146 can be any type of card, such as a trading card. Card 146 may include only genuine cards in some embodiments, only counterfeit cards in other embodiments, and a combination of genuine and counterfeit cards in other embodiments. Each card from card 146 may be a card type. For example, a first card from card 146 may be a first card type, a second card from card 146 may be a second card type, and so on. Examples of card types include, for example, trading cards of different types, series, and / or brands. For example, card types could include various collectible card games (CCGs) or trading card games (TCGs), such as Pokémon cards, Magic: The Gathering cards, Yu-Gi-Oh! cards, One Piece cards, etc., sports trading cards, such as baseball cards, football cards, basketball cards, hockey cards, etc. of different types or brands, and / or collectible cards of any other type or brand.

[0019]

[0029] In some embodiments, authentic cards of a particular card type share at least one common identifier (e.g., identical backs, a specific marker in a specific position), and in other words, a card type can refer to a given set of cards that each contain (or are said to contain) a certain common part. For example, a given set of cards could be Magic: The Gathering cards, and the given part could be a back that is intended and / or manufactured to be common among authentic Magic: The Gathering cards. As another example, a given set of cards could be Yu-Gi-Oh! cards, and the given part could be the upper left corner that is intended and / or manufactured to be common among authentic Yu-Gi-Oh! cards.

[0020]

[0030] Memory 144 further includes (for example, stores) a representation of the feature set 148. The feature set 148 can be extracted from card 146. The feature set 148 can be generated based on card 146 using any suitable feature extraction technique, such as feature extraction via local binary pattern (LBP), local ternary pattern (LTP), local phase quantization (LPQ), local differential ternary pattern (LDTP), direction gradient histogram (HOG), Gabor filter, local phase matching (LPC), deep learning, local binary pattern histogram (LBPH), etc. In some embodiments, feature extraction includes performing feature extraction based on a predetermined portion of one or more images of cards from card 146, and not on other portions of one or more images of cards from card 146. In some embodiments, feature extraction includes performing feature extraction based on substantially all (e.g., at least 95%, at least 99%, 100%, etc.) portions of one or more images of cards from card 146. In some embodiments, the generation of feature set 148 is not performed; in other words, feature set 148 is not generated and is not used to determine the authenticity of the card.

[0021]

[0031] Memory 144 further contains (e.g., stores) representations of the trained ML model 150. The trained ML model 150 may be / includes, among others, a one-class support vector machine (SVM), a semantic forest model, a local outlier factor model, an autoencoder, a density-based model, a statistics-based model, a deep nearest neighbor anomaly detection model, a semantic pyramidal anomaly detection (SPADE) model, a patch distribution modeling (PaDiM) framework for anomaly detection and localization models, an autoencoder, a PatchCore model for total recall in industrial anomaly detection, a neural network model, etc. In some embodiments, such as when card 146 contains only genuine cards or only counterfeit cards, at least some models from the trained ML model 150 may be trained using unsupervised learning (e.g., rather than supervised learning). Additionally or alternatively, in some embodiments, such as when card 146 includes a combination of genuine and counterfeit cards, at least some models from the trained ML model 150 may be trained using supervised learning (e.g., rather than unsupervised learning). In some embodiments, both unsupervised and supervised learning may be used to train the trained ML model 150.

[0022]

[0032] In some embodiments, the trained ML model 150 can be trained using the feature set 148. In some embodiments, each ML model from the trained ML model 150 can be trained using a subset of features from the feature set 148 associated with a different card type. For example, a first ML model from the trained ML model 150 can be trained using a first subset of features from the feature set 148 extracted from a subset of genuine cards from card 146, which is a first card type; a second ML model from the trained ML model 150 can be trained using a second subset of features from the feature set 148 extracted from a subset of genuine cards from card 146, which is a second card type; and so on.

[0023]

[0033] In some embodiments where the feature set 148 is not used, the trained ML model 150 may be trained via supervised learning without using the feature set 148, using a training dataset that includes images of genuine cards and images of counterfeit cards. In some embodiments where the feature set 148 is not used, the trained ML model 150 may be trained via unsupervised learning without using the feature set 148, using a training dataset that includes images of genuine cards but does not include images of counterfeit cards.

[0024]

[0034] In some embodiments, the trained ML model 150 is trained using a training dataset that includes unsynthetic and synthetic images of collectibles. For example, at least some of the unsynthetic images may be augmented to generate synthetic images. In some embodiments, the trained ML model from the trained ML model 150 is trained to determine the authenticity of a particular card type, and if authentic cards of a particular card type share common identifiers (e.g., common back, common marker design, common marker position, etc.) across authentic cards of that card type, these common identifiers may be augmented to generate synthetic images (e.g., without augmenting other parts of the card or image). Augmentation of common identifiers may include, for example, changing the color (e.g., to a different shade), changing the text (e.g., introducing a typography, adding a word, using a different font, changing the text size, etc.), changing the location or orientation of elements in the common identifier, or changing the pattern used in the common identifier. By augmenting and using synthetic images, the size and diversity of the training dataset can be increased, which may result in the trained ML model 150 being more accurate, adaptable, and complete.

[0025]

[0035] Once training is complete, the trained ML model 150 can be configured to receive a card representation (e.g., an image) and generate an output indicating the authenticity of the card. For example, the output could indicate whether the card is genuine or counterfeit. Alternatively, the output could provide a value (e.g., a score from 1 to 10) and / or a percentage indicating the likelihood that the card is genuine (or counterfeit).

[0026]

[0036] In some embodiments, memory 144 further includes (for example, stores) representations of the image classifier 152. The image classifier 152 can be any type of statistical model, such as an artificial intelligence (AI) or ML model. In some embodiments, the image classifier 152 is a directional gradient histogram feature model, a multiclass support vector machine, a random forest, a neural network, etc. The image classifier 152 can be configured to identify the card type of a card so as to (1) receive a representation of a card whose authenticity is to be determined, and (2) select an ML model from a trained ML model 150 trained to determine the authenticity of cards of that card type, and use it to determine the authenticity of that card.

[0027]

[0037] The user computing device 100 includes a processor 102 operably coupled to memory 104 (for example, via a system bus). The user computing device 100 can be any type of computing device, such as a server, desktop, laptop, tablet, or smartphone. In some embodiments, not shown in Figure 1, the user computing device 100 may include an area with controlled lighting conditions that can be used to capture images and / or videos of a card whose authenticity is being determined. In some embodiments, the user computing device 100 is a mobile device capable of capturing images and / or videos of a card whose authenticity is being determined.

[0028]

[0038] The processor 102 may be a hardware-based integrated circuit (IC) or any other suitable processing device configured to run and / or execute a set of instructions or code. For example, the processor 102 may be a general-purpose processor, a central processing unit (CPU), an advanced processing unit (APU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a programmable logic array (PLA), a composite programmable logic device (CPLD), a programmable logic controller (PLC), and the like. In some embodiments, the processor 102 may be configured to run and / or execute the methods and / or parts of the methods discussed herein.

[0029]

[0039] Memory 104 may be, for example, random access memory (RAM), a memory buffer, a hard drive, read-only memory (ROM), or erasable programmable read-only memory (EPROM). Memory 104 may be configured to store data used by the processor 102 to perform the techniques (methods, processes, etc.) discussed herein. In some cases, memory 104 may store one or more software programs and / or code, which may include instructions that cause the processor 102 to perform one or more processes, functions, etc. In some embodiments, memory 104 may include expandable storage units that can be added and used incrementally. In some embodiments, memory 104 may be portable memory (e.g., a flash drive, a portable hard disk, an SD card, etc.) that can be operably coupled to the processor 102. In some examples, memory 104 may be remotely operably coupled to a computing device (not shown in Figure 1). In some examples, memory 104 may be a virtual memory drive (e.g., a RAM disk), which can improve I / O speed and thus speed up image reading and writing.

[0030]

[0040] Memory 104 contains (stores, for example) a representation of card 106 (e.g., an image). Card 106 represents the card whose authenticity is to be determined. Card 106 may be, for example, an image or video of the card (including a predetermined portion of the card). In some embodiments, the user computing device 100 includes a camera (not shown in Figure 1) configured to capture a photograph and / or video including a predetermined portion of card 106. In some embodiments, card 106 is an image of the card captured under controlled lighting conditions. In some embodiments, an image of the card can be captured, and any area other than the card can be cropped from the image to generate card 106. The representation of card 106 may then be transmitted to the authenticity computing device 140 (e.g., via network 120).

[0031]

[0041] Upon receiving card 106, the authenticity computing device 140 can be configured to use an image classifier 152 to identify the card type of card 106. For example, the image classifier 152 may identify that the card type of card 106 is a 1996 "Pocket Monsters" Pokémon card. As another example, the image classifier 152 may identify that the card type of card 106 is a 1996 "Pocket Monsters" Holofoil Edition Pokémon card. As yet another example, the image classifier 152 may identify that the card type of card 106 is a Yu-Gi-Oh! card. The authenticity computing device can then determine a trained ML model 150, which has been trained to determine the authenticity of that card type, and optionally extract features from a given portion of card 106, and provide the image of card 106 and / or the extracted features to the trained ML model to generate an output indicating the authenticity of card 106.

[0032]

[0042] In some embodiments, once the authenticity of a card is determined, an indication of its authenticity is output to the user computing device 100, the authenticity computing device 140, and / or other computing devices not shown in Figure 1. For example, the authenticity computing device 140 may transmit an electronic signal indicating the authenticity of card 106 to the user computing device 100 (e.g., via the network 120), and the user computing device 100 may display the indication of authenticity via a display included in the user computing device 100. The indication may be, for example, "Authentic," "Counterfeit," or "95% Probable Authentic."

[0033]

[0043] In some embodiments, if it is determined that a card is authentic or that the likelihood of the card being authentic exceeds a predetermined threshold, subsequent actions may occur (e.g., automatically and without human intervention). Examples of subsequent actions include providing options for grading the card (e.g., like new, good condition, etc.) or providing options for grading the card (for example, as discussed in U.S. Patent Application No. 17,674,328, filed February 17, 2022, entitled “METHODS AND APPARATUS FOR GRADING IMAGES OF COLLECTABLES USING IMAGE SEGMENTATION AND IMAGE ANALYSIS,” which is incorporated herein by reference in its entirety.

[0034]

[0044] In some embodiments, if the authenticity of card 106 cannot be determined (for example, if the image of card 106 is too blurry to be analyzed by the authenticity computing device 140), the authenticity computing device 140 may send an electronic signal to the user computing device 100 indicating that the authenticity of card 106 cannot be determined. Additionally or alternatively, the authenticity computing device 140 may send an electronic signal to the user computing device 100 with suggestions to improve the likelihood that the authenticity of card 106 can be determined, such as providing a less blurry image of the card, providing a photograph of the card with a different background, providing a brighter photograph of the card, or providing a larger photograph of the card.

[0035]

[0045] In some embodiments, the image quality of card 106 is determined, including identifying blur, noise, exposure, distortion, size, orientation, etc. In some embodiments, if the image quality of card 106 is outside a predetermined acceptable range, the authenticity of card 106 is not determined. For example, in response to the user computing device 100 and / or the authenticity computing device 140 determining that the image quality of card 106 is outside a predetermined acceptable range, features of card 106 are not extracted, card 106 is not input to the trained ML model 150, and / or card 106 is not input to the image classifier 152. In another example, in response to the user computing device 100 and / or the authenticity computing device 140 determining that the image quality of card 106 is within a predetermined acceptable range, features of card 106 are extracted, card 106 is input to the trained ML model 150, and / or card 106 is input to the image classifier 152.

[0036]

[0046] In some embodiments, the image quality of card 106 is determined using a trained ML model (not shown in Figure 1), which may be a neural network trained using images with different image quality as input training data and associated representations (e.g., quality scores) of the quality of those images in the target training data. In some embodiments, such as when the trained ML model 150 includes different types of ML models, different predetermined tolerance ranges may be associated with those different types of models. For example, a first trained ML model from the trained ML model 150 may be configured to receive images of cards that are (1) a first card type and (2) have an image quality score of 8 / 10 to 10 / 10, and a second trained ML model from the trained ML model 150 may be configured to receive images of cards that are (1) a second card type and (2) have an image quality score of 6 / 10 to 10 / 10.

[0037]

[0047] In some embodiments, the authenticity computing device 140 is remotely / communicatively coupled to the network 120 so that the authenticity computing device 140 is configured to receive multiple cards of multiple card types from multiple remote user computing devices (e.g., user computing device 100 and user computing devices not shown in Figure 1). Thus, rather than having multiple remote user computing devices perform steps such as preprocessing, feature extraction, and / or model application (which may depend on individual end-user hardware and operating systems, may take time to install on multiple end-user client machines, and may require end-user client machines to frequently download software updates to implement the techniques described herein), the authenticity computing device 140 can perform such functions. The authenticity computing device 140 can then perform these functions in a manner specific to each card and card type.

[0038]

[0048] Although Figure 1 includes two computing devices, in some embodiments, any number of computing devices can be used. For example, a single computing device can be configured to perform the functions of both the user computing device 100 and the authenticity computing device 140 (for example, when local processing is desired or when there is no network available). As another example, in addition to the user computing device 100, the first computing device can be configured to identify card types using an image classifier 152, and the second computing device can be configured to train, generate, and use a trained ML model 150 using cards 146 and a feature set 148.

[0039]

[0049] Figure 2A shows a method for training and using a model according to one embodiment. In 202, an authentic card of a certain card type is received. The authentic card can be an authentic card of that card type. For example, as shown in 202 in Figure 2A, the authentic card can be a Magic: The Gathering card. In 206, feature extraction can be performed using the authentic card from 202 (for example, for each given part of the card that may be specific and / or unique to that card type). One example of a usable feature extraction technique is local binary patterns. Further details related to 206 are shown in Figure 2B. In 208, an ML model, such as a one-class support vector machine (SVM), can be trained using the card from 202 and the features extracted from 206. Once training is complete, the model can be saved in 210. In 204, a card whose authenticity is to be determined can be received. Features from the card in 204 are extracted in 206 and provided to the model from 210 in 212 so that the model can predict whether the card is authentic or counterfeit.

[0040]

[0050] Figure 2B visualizes the calculation of a local binary pattern (LBP) according to one embodiment. Figure 2B includes a source image 214. The source image 214 may be a predetermined portion, such as the back of a card or a predetermined upper-left region of a card. In other embodiments, the source image 214 may be a complete image of a card. Each pixel (or group of pixels) in the source image 214 can be associated with a pixel value. For example, source image pixel 216 represents a selected portion of the source image 214. In source image pixel 216, the central pixel has a pixel value of 4, the upper-left pixel of the selected portion of the source image 214 has a pixel value of 5, and so on. For each pixel value, adjacent pixel values ​​can be identified. For example, as shown in source image pixel 216, the adjacent pixel values ​​of the central pixel value 4 are 5, 8, 1, 1, 2, 7, 3, and 5. As shown in binary pattern extraction 218, the central pixel value from source image pixel 216 (4 in this example) can be used to derive a binary pattern by comparing it with the adjacent pixel values. In this example, if the central pixel value from the source image pixel 216 is greater than or equal to (or greater than in other embodiments) a given adjacent pixel value, the value associated with that given adjacent pixel value in the binary pattern is 0. If the central pixel value from the source image pixel 216 is less than (or less than or equal to) a given adjacent pixel value, the value associated with that given adjacent pixel value in the binary pattern is 1. This transformation can be seen in binary pattern 220, where pixel values ​​of 4 or greater are set to 0, and pixel values ​​less than 4 are set to 1.

[0041]

[0051] Subsequently, as shown in decimal value 222, an array of binary values ​​may be determined and / or defined based on the predefined positions of 1s and 0s in the binary pattern 220. For example, place values ​​of binary values ​​can be assigned to various positions (e.g., the upper right corner is the 0th position, and the place values ​​are incremented as one moves clockwise around the binary pattern 220).

[0042]

[0052] Based on this array, a binary value can be defined. Specifically, in this example, the binary number "00010111", as shown in decimal 222, corresponds to the decimal number 23. The decimal value (e.g., 23 in this example) can then be provided as the value of the pixel in question in the output LBP image 224. Similarly, the central pixel in the output LBP image 224 is converted to 23, since the pixel values ​​surrounding the central pixel of that portion of the input image 226 were used to arrive at 23. The process described above can be performed for each value in the input image 226 (or a given portion of the input image 226) so that a value is associated with each element in the output LBP image 224. The output LBP image 224 can then be used to generate an LBP histogram 228. The LBP histogram 228 can represent the number of pixels (Y axis) that have (or are within a given range (X axis) of the output LBP values ​​(X axis)). The LBP histogram 228 and / or output LBP image 224 can represent features associated with the original image 214 (e.g., those included in feature set 148). This allows us to define feature vectors (e.g., feature set 148 in Figure 1) that can be used to train a machine learning model (e.g., the trained ML model 150 or image classifier 152 in Figure 1 or the one-class SVM 208 in Figure 2) and / or as input to the machine learning model.

[0043]

[0053] Figures 2A and 2B discuss a scenario in which genuine cards are used for training; however, in other embodiments, counterfeit cards may also be used for training. When both genuine and counterfeit cards are used for training, supervised learning can be performed in some embodiments.

[0044]

[0054] Figure 3 illustrates an embodiment of determining the authenticity of different card types using an image classifier. Figure 3 shows various cards of different card types, including card 302, which is an English Pokémon card type; card 304, which is a Yu-Gi-Oh! card type; card 306, which is a Japanese Pokémon card type; card 308, which is a Magic: The Gathering card type; card 310, which is a Vintage Pokémon card type; and card 312, which is a One Piece card type. Figure 3 also shows various models trained to determine the authenticity of a given card type (for example, included in trained ML model 150), including model 316, which is trained to determine the authenticity of English Pokémon cards; model 318, which is trained to determine the authenticity of Yu-Gi-Oh! cards; model 320, which is trained to determine the authenticity of Japanese Pokémon cards; model 322, which is trained to determine the authenticity of Magic: The Gathering cards; model 324, which is trained to determine the authenticity of Vintage Pokémon cards; and model 326, which is trained to determine the authenticity of One Piece cards.

[0045]

[0055] For each card, the image classifier 314 (similar to, for example, image classifier 152) can identify the card type so that a trained ML model can be used to determine the authenticity of the identified card type. For example, the image classifier 314 can identify card 302 as an English Pokémon card type so that model 316 can be used to determine whether card 302 is an authentic English Pokémon card; the image classifier 314 can identify card 304 as a Yu-Gi-Oh! card type so that model 318 can be used to determine whether card 304 is an authentic Yu-Gi-Oh! card; the image classifier 314 can identify card 306 as a Japanese Pokémon card type so that model 320 can be used to determine whether card 306 is an authentic Japanese Pokémon card; and the image classifier 314 The image classifier 314 can identify card 308 as a Magic: The Gathering card type so that model 320 can be used to determine if card 308 is a genuine Magic: The Gathering card, the image classifier 314 can identify card 310 as a Vintage Pokémon card type so that model 324 can be used to determine if card 310 is a genuine Vintage Pokémon card, and the image classifier 314 can identify card 312 as a One Piece card type so that model 326 can be used to determine if card 312 is a genuine One Piece card.

[0046]

[0056] The image classifier 314 can identify the card type using any appropriate technique. For example, in some embodiments, the image classifier 314 compares text (e.g., extracted using optical character recognition (OCR)) and / or images (e.g., extracted using image classification) from a representation of a card whose card type is not yet known with text and / or images from a representation of a card for which the card type is already known (a match indicating the card type). For example, if a card whose card type is not yet known contains the text "Pokémon" and has a vintage Poké Ball icon, the image classifier 314 can identify which known card types contain the text "Pokémon" and have a vintage Poké Ball icon. As another example, in some embodiments, the image classifier 314 is a machine learning model trained using different card types (e.g., a neural network trained using card representations as input training data and associated card types as target training data). The trained image classifier 314 can then receive a representation of an unknown card and identify the type of that unknown card. In some embodiments, a directional gradient histogram (HoG) can be used to extract features from the card representation, and a machine learning model (e.g., a multi-class SVM or random forest) can be used to classify the cards.

[0047]

[0057] In some embodiments, a directional gradient histogram (HoG) can be used to extract features (for example, a feature set 148 can be extracted from card 146). Figure 4 shows an example of performing feature extraction using HoG according to one embodiment. Image 402 is an image of the back of a Pokémon card, and representation 404 represents the result of applying HoG to image 402. For example, representation 404 may represent the intensity of each gradient in each cell from image 402.

[0048]

[0058] Figure 5 shows an example of anomaly detection performed while performing feature extraction according to one embodiment. In 502, an image of a card (e.g., card 106 in Figure 1) is received (e.g., from user computing device 100 to authenticity computing device 140 in Figure 1). In 504, preprocessing is performed using the card image. Preprocessing may include, for example, noise reduction, contrast correction, background removal or correction, and determination of whether the quality of the card image 502 is within a predetermined acceptable range. Preprocessing may, for example, correct the card image 502 to a standard format, thereby enabling a more accurate determination of the authenticity of the card represented in the card image 502. In 506, feature extraction is performed based on the preprocessed card image generated in 504. Feature extraction in 506 may include, for example, LBP, LTP, LPQ, LDTP, HoG, Gabor filter, LPC, deep learning, LBPH, etc. In step 508, the output from 506 is input to an anomaly detection model (e.g., the trained ML model 150 in Figure 1) to determine whether the card represented by card image 502 is genuine or contains anomalies suggesting that the card is counterfeit. The anomaly detection model can include, for example, a one-class SVM, a segregated forest, a local outlier factor, a density-based model, or a statistics-based model.

[0049]

[0059] Figure 6 shows an example of anomaly detection performed without feature extraction according to one embodiment. In 602, an image of a card (e.g., card 106 in Figure 1) is received (e.g., from user computing device 100 to authenticity computing device 140 in Figure 1). In 604, preprocessing is performed on the card image. Preprocessing may include, for example, noise reduction, contrast correction, background removal or correction, and determination of whether the quality of card image 602 is within a predetermined acceptable range. Preprocessing may, for example, modify card image 602 to a standard format, thereby enabling a more accurate determination of the authenticity of the card represented in card image 602. In 606, the output from 604 is input to an anomaly detection model (e.g., trained ML model 150 in Figure 1) to determine whether the card represented by card image 602 is authentic or contains anomalies that suggest the card is counterfeit. Anomaly detection models may include, for example, deep autoencoder models, deep nearest neighbor anomaly detection models, SPADE models, PaDiM models, and PatchCore models. In some embodiments, 606 is performed in response to 604 without performing feature extraction; in other words, feature extraction is not performed between 604 and 606.

[0050]

[0060] Although Figures 1-6 are discussed in the context of cards, the techniques described herein can be applied to any type of object whose authenticity is determined based on pattern or material, such as coins, figurines, books, currency, hardware, apparel, video game cartridges, watches, shoes, paintings, photographs, etc. For example, a given part of a certain type of comic book can be intended and / or manufactured to be common among genuine comic books of that type. The systems, apparatus, and methods illustrated and described with respect to Figures 1-6 can extract the characteristics of a given part of a comic book and identify whether the comic book is genuine or counterfeit. Similarly, a given part of currency can be intended and / or manufactured to be common among genuine currencies of that type, and the systems, apparatus, and methods illustrated and described with respect to Figures 1-6 can extract the characteristics of a given part of currency and identify whether the currency is genuine or counterfeit. In some embodiments, the systems and methods described with respect to Figure 6 can also be used to identify the type of article (e.g., type of comic book, type of currency, etc.). In some embodiments, the techniques described herein determine the authenticity of a collectible by analyzing the characteristics of its pattern / material (e.g., patterns / materials such as printing, embossing, or manufacturing). Therefore, in some embodiments, the techniques described herein may not be applicable to collectibles where the analysis of the collectible's pattern / material would not reveal its authenticity.

[0051]

[0061] Figure 7 shows a flowchart of a method 700 for training an ML model to generate an output indicating the authenticity of a collection associated with an image, according to one embodiment. In some embodiments, the method 700 is stored as code in memory (e.g., memory 144 in Figure 1) and executed and / or implemented by a processor (e.g., processor 142 in Figure 1).

[0052]

[0062] In 702, multiple images having an image type (e.g., card type) (e.g., card 146 in Figure 1) are received. Each image from the multiple images includes a predetermined portion (e.g., back, corner, logo, etc.). In 704, for each image from the multiple images, feature extraction is performed based on a predetermined portion of the image and not on the rest of the image to generate multiple feature sets associated with the multiple images (e.g., feature set 148 in Figure 1). In some embodiments, 704 is performed automatically (e.g., without human intervention) in response to the completion of 702. In 706, a machine learning (ML) model is trained using multiple sets of features associated with the multiple images to produce a trained ML model (e.g., included in trained ML model 150 in Figure 1). In some embodiments, 706 is performed automatically (e.g., without human intervention) in response to the completion of 704. In 708, an image is received (e.g., card 106 in Figure 1) that (1) is not included in multiple images, (2) is of the above image type, and (3) has a predetermined portion (e.g., card 106 in Figure 1). In 710, feature extraction is performed based on the predetermined portion of the image and not on the rest of the image to generate a set of features associated with the image. In some embodiments, 708 is performed automatically (e.g., without human intervention) in response to the completion of 708. In 712, the set of features associated with the image is input to a trained ML model to generate an output indicating the authenticity of collectibles associated with the image (e.g., represented by the image, subject of the image, included in the image). In some embodiments, 712 is performed automatically (e.g., without human intervention) in response to the completion of 710.

[0053]

[0063] In some embodiments of Method 700, the ML model is a one-class support vector machine (SVM).

[0054]

[0064] In some embodiments of Method 700, performing feature extraction includes performing feature extraction via a directional gradient histogram (HoG).

[0055]

[0065] In some embodiments of Method 700, performing feature extraction includes performing feature extraction via at least one of the following: local binary pattern (LBP), local ternary pattern (LTP), local phase quantization (LPQ), local differential ternary pattern (LDTP), Gabor filter, local phase matching (LPC), deep learning, or local binary pattern histogram (LBPH).

[0056]

[0066] In some embodiments of Method 700, the plurality of images are the first plurality of images, the image type is the first image type, the trained ML model is the first trained ML model, the ML model is the first ML model, and the image is the first image. Method 700 further includes receiving a second plurality of images having a second image type different from the first image type. Each image from the second plurality of images has a predetermined portion. In some embodiments of Method 700, for each image from the second plurality of images, feature extraction is performed based on the predetermined portion of the image and not on the rest of the image to generate a set of features associated with the second plurality of images. In some embodiments of Method 700, a second ML model is trained using the set of features associated with the second plurality of images to generate a second trained ML model different from the first trained ML model (e.g., included in trained ML model 150). In some embodiments of Method 700, a second image is of the second image type and has a predetermined portion. Some embodiments of Method 700 further include performing feature extraction based on a predetermined portion of a second image, but not on the rest of the second image, to generate a feature set associated with the second image. Some embodiments of Method 700 further include inputting the feature set associated with the second image into a second trained ML model, rather than a first trained ML model, to generate an output indicating the authenticity of a collection associated with the second image.

[0057]

[0067] In some embodiments of Method 700, the images include images of genuine collectibles and images of counterfeit collectibles, and the training of the ML model to generate the trained ML model is performed via supervised learning.

[0058]

[0068] In some embodiments of Method 700, the images include images of genuine collectibles but not images of forged collectibles, and the training of the ML model to generate the trained ML model is performed via unsupervised learning.

[0059]

[0069] In some embodiments of Method 700, the ML model includes at least one of the following: a separated forest model, a local outlier factor model, an autoencoder, a density-based model, or a statistics-based model.

[0060]

[0070] In some embodiments of Method 700, the ML model includes at least one of the following: a deep nearest neighbor anomaly detection model, a semantic pyramid anomaly detection (SPADE) model, a patch distribution modeling (PaDiM) framework for anomaly detection and localization models, an autoencoder, or a model toward total recall in an industrial anomaly detection (PatchCore) model.

[0061]

[0071] Some embodiments of method 700 further include verifying that the quality associated with the image is within a predetermined acceptable quality range before performing feature extraction in 710 or inputting a feature set in 712. The predetermined acceptable quality range can be determined based on a trained ML model.

[0062]

[0072] In some embodiments of Method 700, the image is a first image, and Method 700 further includes receiving a second image that (1) is not included in a plurality of images, (2) is of the above image type, and (3) has a predetermined portion. Some embodiments of Method 700 further include determining that the quality associated with the second image is outside a predetermined acceptable quality range associated with a trained ML model. In response to determining that the quality associated with the second image is outside a predetermined acceptable quality range, some embodiments of Method 700 further include refraining from performing feature extraction based on the second image or inputting the features associated with the second image into a trained ML model.

[0063]

[0073] Figure 8 shows a flowchart of a method 800 according to one embodiment for determining whether collectibles associated with different images of different image types are genuine or counterfeit. In some embodiments, method 800 is stored as code in memory (e.g., memory 144 in Figure 1) and executed and / or implemented by a processor (e.g., processor 142 in Figure 1).

[0064]

[0074] In 802, multiple images having multiple image types are received (e.g., cards 302, 304, 306, 308, 310, 312 in Figure 3). In 804, for each of the multiple image types, a subset of images from that image type is identified using an image classifier (e.g., image classifier 152 in Figure 1 and / or image classifier 314 in Figure 3) in order to generate multiple subsets of images. In some embodiments, 804 is performed automatically (e.g., without human intervention) in response to the completion of 802. In 806, for each subset of images from the subsets of images, feature extraction is performed on each image from that subset to generate features associated with that image. In some embodiments, 806 is performed automatically (e.g., without human intervention) in response to the completion of 804. In 808, for each subset of images from multiple subsets of images, the features associated with each image from that subset are input to trained ML models from multiple trained ML models (e.g., trained ML model 150 in Figure 1 and / or models 316, 318, 320, 322, 324, 326 in Figure 3) to generate an output indicating whether the collectible associated with that image is genuine or forged. Each trained ML model from the multiple trained ML models is associated with image types from multiple image types, which differ for the remaining trained ML models from the multiple trained ML models. In some embodiments, 808 is performed automatically (e.g., without human intervention) in response to the completion of 806.

[0065]

[0075] Figure 9 shows a flowchart of a method 900 for training a machine learning model using multiple images of genuine cards, each of which is of a certain card type, according to one embodiment. In some embodiments, method 900 is stored as code in memory (e.g., memory 144 in Figure 1) and executed and / or carried out by a processor (e.g., processor 142 in Figure 1).

[0066]

[0076] In 902, representations of multiple cards having a certain card type (e.g., card 146 in Figure 1) are received. Each card from the multiple has a predetermined portion associated with that card type. In 904, for each card from the multiple, local binary pattern (LBP) feature extraction is performed based on a predetermined portion of the card and not on the rest of the card to generate multiple feature sets associated with the multiple card (e.g., feature set 148 in Figure 1), thereby generating the feature sets associated with that card. In some embodiments, 904 is performed automatically (e.g., without human intervention) in response to the completion of 902. In 906, an ML model is trained using the multiple sets of features associated with the multiple cards to produce a trained ML model (e.g., included in trained ML model 150). In some embodiments, 906 is performed automatically (e.g., without human intervention) in response to the completion of 904.

[0067]

[0077] In some embodiments of Method 900, the multiple cards include genuine cards and counterfeit cards, and training the ML model to generate a trained ML model is done via supervised learning.

[0068]

[0078] In some embodiments of Method 900, the set of cards includes genuine cards and does not include counterfeit cards, and training the ML model to generate the trained ML model is done via unsupervised learning.

[0069]

[0079] Figure 10 shows a flowchart of a method 1000 according to one embodiment for determining whether a collection associated with different images of different image types is genuine or forged, without performing feature extraction. In some embodiments, method 1000 is stored as code in memory (e.g., memory 144 in Figure 1) and executed and / or implemented by a processor (e.g., processor 142 in Figure 1).

[0070]

[0080] In step 1002, multiple images of multiple collectibles having multiple collectible types (e.g., cards 302, 304, 306, 308, 310, 312 in Figure 3) are received. In step 1004, for each collectible type from multiple collectible types, a subset of images from the multiple images representing the collectible of that collectible type is identified using an image classifier (e.g., image classifier 152 in Figure 1 and / or image classifier 314 in Figure 3) in order to generate multiple subsets of images. In some embodiments, step 1004 is performed automatically (e.g., without human intervention) in response to the completion of step 1002. In step 1006, for each subset of images from the subset of images, without performing feature extraction on the image, each representation of the image from the subset of images is input to a trained ML model from multiple trained ML models (e.g., trained ML model 150 in Figure 1) to generate an output indicating whether the collectible represented by the image is genuine or forged. Each trained ML model from multiple trained ML models is associated with collectible types from multiple collectible types, which differ for the remaining trained ML models from the multiple trained ML models. The multiple trained ML models include at least one of the following: a deep autoencoder model, a deep nearest neighbor anomaly detection model, a semantic pyramid anomaly detection (SPADE) model, a patch distribution modeling (PaDiM) framework for anomaly detection and segmentation models, or anomaly detection using patch level functionality and core set selection (PatchCore) models.

[0071]

[0081] In some embodiments of Method 1000, at least one ML model from a plurality of trained ML models is trained (1) using a training dataset that includes images of genuine collectibles and images of counterfeit collectibles, and (2) via supervised learning.

[0072]

[0082] In some embodiments of Method 1000, at least one ML model from a plurality of pre-trained ML models is trained (1) via unsupervised learning using a training dataset that includes images of genuine collectibles but does not include images of forged collectibles.

[0073]

[0083] In some embodiments of Method 1000, at least one ML model from a plurality of trained ML models is trained using a training dataset that includes uncomposite and composite images of cards. The uncomposite images of cards can be augmented to generate composite images of cards. In some embodiments, augmenting uncomposite images of cards to generate composite images of cards includes augmenting a predetermined portion of the uncomposite image and not augmenting the rest of the uncomposite image.

[0074]

[0084] The combination of the aforementioned concepts and any additional concepts discussed herein (insofar as such concepts do not contradict each other) is considered part of the subject matter disclosed herein. Terms used explicitly herein, which may also appear in any disclosure incorporated by reference, should be given the meaning that best corresponds to any particular concept disclosed herein.

[0075]

[0085] Those skilled in the art will understand that the drawings are primarily illustrative and not intended to limit the scope of the subject matter described herein. The drawings are not necessarily to scale, and in some cases, various aspects of the subject matter disclosed herein may be exaggerated or enlarged in the drawings to facilitate the understanding of different features. In the drawings, similar reference letters generally refer to similar features (e.g., functionally similar and / or structurally similar elements).

[0076]

[0086] To address various issues and advance the technology, the entirety of this application (including the cover page, title, headings, background, abstract, brief description of the drawings, detailed description, embodiments, abstract, figures, appendices, etc.) illustrates various embodiments in which the embodiments may be carried out. Accordingly, all examples and / or embodiments are considered non-limiting throughout this disclosure.

[0077]

[0087] The logical and / or topological structures of any program components (sets of components), other components, and / or any combination of any set of features described throughout the drawings and / or are not limited to a fixed sequence of operations and / or arrangement, but rather any disclosed order is an example, and all equivalents, regardless of order, are contemplated by this disclosure.

[0078]

[0088] Various concepts may be embodied in one or more ways, and at least one example of such is provided. The operations performed as part of the methods may be ordered in any suitable way. Thus, embodiments may be constructed in which operations are performed in an order different from the exemplified order, and these may include the simultaneous execution of several operations, even if they are shown as sequential operations in the exemplified embodiments. In other words, such features are not necessarily limited to a specific execution order, but rather should be understood as any number of threads, processes, services, servers, etc., that can be executed sequentially, asynchronously, concurrently, concurrently, simultaneously, synchronously, etc., in a manner consistent with the Disclosure. Thus, some of these features may be mutually contradictory in that they cannot exist simultaneously in a single embodiment. Similarly, some features are applicable to one aspect of the innovation and not to others.

[0079]

[0089] When used herein and in the claims, the indefinite articles "a" and "an" should be understood to mean "at least one" unless otherwise explicitly indicated.

[0080]

[0090] As used herein and in its embodiments, the phrase “and / or” should be understood to mean “either or both” of the elements thus combined, that is, elements that exist conjunct in some cases and disjunct in others. Multiple elements listed using “and / or” should similarly be interpreted as “one or more” of the elements thus combined. Other elements other than those specifically identified by the “and / or” clause may also exist, optionally, whether related to or unrelated to those specifically identified elements. Thus, as a non-restrictive example, a reference to “A and / or B,” when used in conjunction with open-ended phrases such as “including,” may refer to A only in one embodiment (optionally including elements other than B), B only in another embodiment (optionally including elements other than A), and both A and B in yet another embodiment (optionally including other elements), and so on.

[0081]

[0091] Where used herein and in the claims, “or” should be understood to have the same meaning as “and / or” as defined above. For example, when separating items in a list, “or” or “and / or” should be interpreted as inclusive, that is, including at least one of several elements or lists of elements, and also including two or more, and optionally additional items not on the list. Only terms that are clearly indicated to be the opposite, such as “only one of” or “exactly one of” or, as used in the claims, “consisting of,” refer to including exactly one element among several elements or lists of elements. In general, where used herein, the term “or” should be interpreted as indicating an exclusive choice (i.e., “one or the other, but not both”) only when preceded by terms of exclusivity such as “either,” “one of,” “only one of” or “exactly one of.” Where used in the claims, “consisting of” should have its usual meaning as used in the field of patent law.

[0082]

[0092] As used herein and in its embodiments, the phrase “at least one” in reference to a list of one or more elements should be understood to mean at least one element selected from any one or more elements in the list of elements, but not necessarily including at least one of every element specifically enumerated in the list of elements, nor excluding any combination of elements in the list of elements. This definition allows for the optional presence of elements other than those specifically identified in the list of elements to which the phrase “at least one” refers, whether related to or unrelated to those specifically identified elements. Therefore, as a non-restrictive example, “at least one of A and B” (or equivalently “at least one of A or B” or equivalently “at least one of A and / or B”) could mean, in one embodiment, at least one A that optionally includes two or more elements other than B (and optionally includes elements other than B); in another embodiment, at least one B that optionally includes two or more elements other than A (and optionally includes elements other than A); in yet another embodiment, at least one A that optionally includes two or more elements, and at least one B that optionally includes two or more elements (and optionally includes other elements), and so on.

[0083]

[0093] In the embodiments and the above specification, all transitional phrases such as “include,” “encompass,” “possess,” “have,” “contain,” “involve,” “hold,” and “compose” should be understood to be open-ended, meaning they encompass but are not limited. Only the transitional phrases “consist of” and “essentially consist of” are closed transitional phrases or semi-closed transitional phrases, respectively, as defined in U.S. Patent and Trademark Office Manual of Examination Procedure 2111.03.

[0084]

[0094] Some embodiments described herein relate to computer memory products having a non-temporary computer-readable medium (which may also be called a non-temporary processor-readable medium) having instructions or computer code for performing various computer implementation operations. The computer-readable medium (or processor-readable medium) is non-temporary in the sense that it does not itself contain a temporary propagating signal (e.g., a propagating electromagnetic wave that carries information in a transmission medium such as space or a cable). The medium and the computer code (sometimes referred to as code) may be designed and constructed for one or more specific purposes. Examples of non-temporary computer-readable mediums include, but are not limited to, magnetic storage media such as hard disks, floppy disks and magnetic tapes; optical storage media such as compact disks / digital video discs (CDs / DVDs), compact disk read-only memory (CD-ROMs) and holographic devices; magneto-optical storage media such as optical disks; carrier signal processing modules; and hardware devices specifically configured to store and execute program code, such as application-specific integrated circuits (ASICs), programmable logic devices (PLDs), read-only memory (ROMs) and random access memory (RAM) devices. Other embodiments described herein relate, for example, to computer program products that may include instructions and / or computer code discussed herein.

[0085]

[0095] Some embodiments and / or methods described herein can be implemented by software (running on hardware), hardware, or a combination thereof. Hardware modules may include, for example, processors, field-programmable gate arrays (FPGAs), and / or application-specific integrated circuits (ASICs). Software modules (running on hardware) may include instructions stored in memory operably coupled to the processor and may be expressed in a variety of software languages ​​(e.g., computer code), including C, C++, Java®, Ruby, Visual Basic®, and / or other object-oriented, procedural, or other programming languages ​​and development tools. Examples of computer code include, but are not limited to, microcode or microinstructions, machine instructions such as those generated by a compiler, code used to generate web services, and files containing higher-level instructions executed by a computer using an interpreter. For example, embodiments may be implemented using imperative programming languages ​​(e.g., C, Fortran, etc.), functional programming languages ​​(e.g., Haskell, Erlang, etc.), logic programming languages ​​(e.g., Prolog), object-oriented programming languages ​​(e.g., Java, C++, etc.), or other suitable programming languages ​​and / or development tools. Further examples of computer code include, but are not limited to, control signals, encryption code, and compression code.

[0086]

[0096] The terms “instruction” and “code” should be interpreted broadly to include any type of computer-readable statement. For example, “instruction” and “code” may refer to one or more programs, routines, subroutines, functions, procedures, etc. “Instruction” and “code” may include a single computer-readable statement or many computer-readable statements.

[0087]

[0097] While specific embodiments of this disclosure have been outlined above, many alternatives, improvements, and variations will be apparent to those skilled in the art. Therefore, the embodiments described herein are intended to be illustrative, not limiting.

Claims

1. A non-temporary processor-readable medium for storing instructions, wherein, when an instruction is executed by a processor, the processor... Receiving multiple images having an image type, wherein each image from the multiple images includes a predetermined portion; For each of the aforementioned multiple images, feature extraction is performed based on a predetermined portion of the image and not based on the rest of the image in order to generate multiple sets of features associated with the aforementioned multiple images, thereby generating a set of features associated with the image. To generate a trained machine learning (ML) model, the ML model is trained using the multiple feature sets associated with the multiple images, (1) Receiving an image that is not included in the plurality of images, (2) is of the image type, and (3) has the predetermined portion. Performing feature extraction based on the predetermined portion of the image and not on the rest of the image to generate a feature set associated with the image, The feature set associated with the image is input into the trained ML model to generate an output indicating the authenticity of the collected items associated with the image. A non-temporary processor-readable medium that enables the operation of a processor.

2. The non-temporary processor-readable medium according to claim 1, wherein the ML model is a one-class support vector machine (SVM).

3. The non-temporary processor-readable medium according to claim 1, wherein the feature extraction is performed via a directional gradient histogram (HoG).

4. The non-transient processor-readable medium according to claim 1, wherein the feature extraction is performed via at least one of a local binary pattern (LBP), a local ternary pattern (LTP), a local phase quantization (LPQ), a local differential ternary pattern (LDTP), a Gabor filter, or a local phase match (LPC).

5. The plurality of images are the first plurality of images, the image type is the first image type, the trained ML model is the first trained ML model, the ML model is the first ML model, the image is the first image, and the non-temporary processor-readable medium is to the processor. Receiving a second plurality of images having a second image type different from the first image type, wherein each image from the second plurality of images has the predetermined portion, For each image from the second set of images, feature extraction is performed based on the predetermined portion of the image and not based on the rest of the image to generate a set of features associated with that image, To generate a second trained ML model different from the first trained ML model, the second ML model is trained using the multiple sets of features associated with the second multiple images, The second image of the aforementioned second image type, having the predetermined portion, is received. Based on the predetermined portion of the second image, feature extraction is performed without relying on the remaining portion of the second image to generate a feature set associated with the second image, The feature set associated with the second image is input to the second trained ML model, but not to the first trained ML model, and an output indicating the authenticity of the collected items associated with the second image is generated. A non-temporary processor-readable medium according to claim 1, further storing instructions for performing the operation.

6. The aforementioned multiple images include images of genuine collectibles and images of counterfeit collectibles. Training the aforementioned ML model to generate the aforementioned trained ML model is performed via supervised learning. The non-temporary processor-readable medium according to claim 1.

7. The aforementioned images include images of genuine collectibles and do not include images of counterfeit collectibles. Training the aforementioned ML model to generate the trained ML model is performed via unsupervised learning. The non-temporary processor-readable medium according to claim 1.

8. The non-transient processor-readable medium according to claim 1, wherein the ML model includes at least one of a segregated forest model, a local outlier factor model, an autoencoder, a density-based model, or a statistics-based model.

9. The non-temporary processor-readable medium according to claim 1, wherein the ML model includes at least one of a deep nearest neighbor anomaly detection model, a semantic pyramid anomaly detection (SPADE) model, a patch distribution modeling (PaDiM) framework for anomaly detection and localization models, an autoencoder, or a PatchCore model toward total recall.

10. The non-temporary processor-readable medium is provided to the processor, Before performing the feature extraction or inputting the feature set, confirm that the quality associated with the image is within a predetermined acceptable quality range, the predetermined acceptable quality range is determined based on the trained ML model. A non-temporary processor-readable medium according to claim 1, further storing instructions for performing the operation.

11. The aforementioned image is a first image, and the non-temporary processor-readable medium is provided to the processor, (1) receiving a second image that is not included in the plurality of images, (2) is of the image type, and (3) has the predetermined portion, Determining that the quality associated with the second image is outside a predetermined acceptable quality range associated with the trained ML model, In response to determining that the quality associated with the second image is outside the predetermined acceptable quality range, at least one of the following is not performed: feature extraction based on the second image or inputting the features associated with the second image into the trained ML model. A non-temporary processor-readable medium according to claim 1, further storing instructions for performing the operation.

12. It is a method, Receiving multiple images having multiple image types, For each of the aforementioned multiple image types, in order to generate multiple subsets of images, an image classifier is used to identify a subset of images of that image type from the multiple images, For each subset of images from the aforementioned subset of images, This involves performing feature extraction on each image from a subset of those images to generate features associated with that image, and The process involves inputting the features associated with each image from a subset of the images into a trained ML model from a plurality of trained ML models to generate an output indicating whether the collection associated with that image is genuine or forged, wherein each trained ML model from the plurality of trained ML models is associated with a different image type from the plurality of image types for the remaining trained ML models from the plurality of trained ML models. Methods that include...

13. The method according to claim 12, wherein performing feature extraction on each image from the subset of images includes performing feature extraction on a predetermined portion of the image and not on the rest of the image.

14. The method according to claim 12, wherein performing the feature extraction on each image from the subset of images comprises performing the feature extraction on substantially all of the image.

15. For each subset of images from the aforementioned subset of images, Prior to performing the feature extraction or inputting the features, confirm that the quality associated with each image from the subset of images is (1) within a predetermined acceptable quality range associated with the plurality of trained ML models, and (2) within a predetermined acceptable quality range associated with the trained ML models. The method according to claim 12, further comprising:

16. It is a device, Memory and A processor operably coupled to the aforementioned memory, The processor includes, Receiving multiple images of multiple collectibles having multiple collectible types, For each of the aforementioned multiple collectible types, an image classifier is used to identify from the multiple images a subset of images that represents the collectible of that collectible type. For each subset of images from the aforementioned subset of images, Without performing feature extraction on the image, the method involves inputting representations of each image from a subset of the image into a multi-trained ML model to generate an output indicating whether the collectible represented by the image is genuine or forged, wherein each of the multi-trained ML models is associated with a different collectible type from the multi-collection type for the remaining multi-trained ML models, and the multi-trained ML models include at least one of the following: a deep autoencoder model, a deep nearest neighbor anomaly detection model, a semantic pyramid anomaly detection (SPADE) model, a patch distribution modeling (PaDiM) framework for anomaly detection and segmentation models, or anomaly detection using a patch-level feature and core set selection (PatchCore) model. A device configured to perform the following actions.

17. The apparatus according to claim 16, wherein at least one ML model from the plurality of trained ML models is trained (1) using a training dataset that includes images of genuine collectibles and images of counterfeit collectibles, and (2) via supervised learning.

18. The apparatus according to claim 16, wherein at least one ML model from the plurality of trained ML models is trained using a training dataset that (1) includes images of genuine collectibles but does not include images of counterfeit collectibles, and (2) is trained via unsupervised learning.

19. The apparatus according to claim 16, wherein at least one ML model from the plurality of trained ML models is trained using a training dataset comprising uncomposite images of cards and composite images of cards, and the uncomposite images of cards are augmented to generate the composite images of cards.

20. The apparatus according to claim 19, wherein generating the composite image of the card by enhancing the non-composite image of the card includes enhancing a predetermined portion of the non-composite image and not enhancing the remaining portion of the non-composite image.