Method and apparatus for grading images of a collection using image segmentation and image analysis
By receiving a set of images of collectibles, detecting boundaries, and training a machine learning model, the problem of labor-intensive and costly existing collectible grading methods has been solved, achieving efficient and accurate grading results.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- COLLECTORS UNIVERSE INC
- Filing Date
- 2022-02-18
- Publication Date
- 2026-04-10
AI Technical Summary
Existing methods for grading collectibles are labor-intensive and costly, necessitating an accurate and efficient grading device and method.
By receiving a set of images of the collection, detecting boundaries, performing perspective distortion transformations and removing the background, training a machine learning model to generate defect confidence levels, and using a processor to generate a synthetic image set and classify it.
It achieves efficient and accurate grading of collectibles, reduces human intervention, and lowers grading costs.
Smart Images

Figure CN116848559B_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application claims priority and benefit to U.S. Provisional Patent Application No. 63 / 150,793, filed February 18, 2021, entitled “METHODS AND APPARATUS FORGRADING IMAGES OF COLLECTABLES USING MACHINE LEARNING MODELS”, the contents of which are incorporated herein by reference in their entirety. Technical Field
[0003] This disclosure relates to image analysis of images representing "real" things, and more specifically to apparatus and methods for performing image analysis on one or more segments of an image to classify images of a collection. Background Technology
[0004] Grading images of collectibles can be useful for purposes such as assessing asset value. Grading images of collectibles can include, for example, grading different segments of an image (such as segments representing corners or edges of a collectible). However, known assessment methods can be labor-intensive and costly. Therefore, there is a need for apparatus and methods for accurately and efficiently grading collectibles. Summary of the Invention
[0005] In some embodiments, a method can include receiving a set of images of a collection of collectibles. Each image in the set of images is associated with at least one defect type label and at least one of: a first grade classification label for a surface condition of a collectible in the collection of collectibles, a second grade classification label for an edge condition of the collectible, a third grade classification label for a corner condition of the collectible, or a fourth grade classification label for a centering condition of the collectible. The method can further include generating, by, for each image in the set of images, detecting a boundary in the image that defines the collectible, performing a perspective warp transform on the image in which the boundary of the image does not have a predetermined shape, and removing a portion of the image that is not within the boundary that defines the collectible, a pre-processed set of images based on the set of images. The method can further include training at least one model based on each pre-processed image in the pre-processed set of images, the at least one defect type label associated with the pre-processed image, and at least one of (1) the first grade classification label associated with the pre-processed image, (2) the second grade classification label associated with the pre-processed image, (3) the third grade classification label associated with the pre-processed image, or (4) the fourth grade classification label associated with the pre-processed image. The method can further include applying the at least one model to a new image of a new collectible that is not included in the collection of collectibles. The method can further include causing to be displayed an output that indicates that the new collectible includes a defect, an approximate location of the defect, and a defect type associated with the defect.
[0006] In some embodiments, a non-transitory processor-readable medium stores code representing instructions to be executed by a processor. The instructions include code that causes the processor to pre-process an image of a collectible to generate a pre-processed image by detecting a boundary in the image that defines the collectible, performing a perspective warp transform to cause the boundary to have a predetermined shape, and removing a portion of the image that is not within the boundary that defines the collectible. The instructions can further include code that causes the processor to apply a machine learning (ML) model to the pre-processed image to generate a set of defect confidence levels. Each defect confidence level in the set of defect confidence levels is (1) associated with a unique portion of the pre-processed image in a set of unique portions of the pre-processed image, and (2) indicates a likelihood that at least one defect exists within the unique portion of the pre-processed image. The instructions can further include code that causes the processor to cause the pre-processed image to be displayed on a display. The instructions can further include code that causes the processor to cause each unique portion of the pre-processed image in the set of unique portions that is associated with a defect confidence level in the set of defect confidence levels that is outside of a predetermined range to be indicated on the display.
[0007] In some embodiments, an apparatus includes a memory and a processor operably coupled to the memory. The processor can be configured to augment a set of images of a collectible to generate a synthetic set of images of the collectible. The processor can be further configured to combine the set of images of the collectible and the synthetic set of images of the collectible to produce a training set. The processor can be further configured to train a set of machine learning models based on the training set. Each machine learning model of the set of machine learning models is configured to generate a rating of an image attribute of a set of image attributes. The set of image attributes includes at least one of an edge, a corner, a center, or a surface. The processor can be further configured to execute the set of machine learning models after training to generate a set of ratings for images of collectibles that are not included in the training set. BRIEF DESCRIPTION OF DRAWINGS
[0008] Figure 1 is a schematic block diagram of a rating apparatus according to an embodiment.
[0009] Figure 2 is a flowchart of a method of training a rating apparatus according to an embodiment.
[0010] Figure 3 is a flowchart of a method of using a rating apparatus according to an embodiment.
[0011] Figure 4 is a flowchart of a method of training a rating apparatus according to an embodiment.
[0012] Figure 5 is a schematic depiction of a machine learning model for rating according to an embodiment.
[0013] Figure 6 is a flowchart of a method of training and using a model based on a pre-processed set of images according to an embodiment.
[0014] Figure 7 is a flowchart of a method of using a model to generate and use a level of confidence of a defect according to an embodiment.
[0015] Figure 8 is a flowchart of a method of training a model using a training set that includes a synthetic set of images according to an embodiment. DETAILED DESCRIPTION
[0016] Non-limiting examples of various aspects and variations of embodiments are described herein and illustrated in the accompanying drawings.
[0017] The methods and apparatuses described herein can generate ratings of assets, such as, for example, trading cards (e.g., sports cards, game cards, etc.), coins, currency, etc.
[0018] Figure 1is a schematic block diagram of a grading device 101 according to embodiments. The grading device 101 (also referred to herein as an “evaluation device”) can be or include a hardware-based computing device and / or a multimedia device such as, for example, a computer, a desktop, a laptop, a smartphone, etc. The grading device 101 includes a memory 102, a communication interface 103, and a processor 104. The grading device 101 can operate a set of grader models 105, which collectively can generate grades for images of collectibles (e.g., trading cards, sports cards, collectible cards, coins, currency, artwork, stamps, antiques, comic books, toys, jewelry, etc.).
[0019] The memory 102 of the grading device 101 can be, for example, a memory buffer, a random access memory (RAM), a read-only memory (ROM), a hard disk drive, a flash drive, etc. The memory 102 can store, for example, a set of images of collectibles (e.g., a set of images of trading cards, a set of images of collectible cards, a set of images of coins, a set of images of stamps, a set of images of artwork, etc.), a set of grades (e.g., a set of numerical values), and / or code (e.g., a program written in C, C++, Python, etc.) including instructions for the processor 104 to perform one or more processes or functions (e.g., the set of grader models 105).
[0020] The communication interface 103 of the grading device 101 can be a hardware component of the grading device 101 to facilitate data communication between the grading device 101 and external devices (e.g., a network, a computing device, and / or a server; not shown). The communication interface 103 can be operably coupled to and used by the processor 104 and / or the memory 102. The communication interface 103 can be, for example, a network interface card (NIC), a module, module, an optical communication module, and / or any other suitable wired and / or wireless communication interface.
[0021] The processor 104 can be, for example, a hardware-based integrated circuit (IC) or any other suitable processing device configured to run or execute a set of instructions or a set of codes. For example, the processor 104 can include a general purpose processor, a central processing unit (CPU), an application specific integrated circuit (ASIC), a graphics processing unit (GPU), etc. The processor 104 is operatively coupled to the memory 102 by a system bus (e.g., address bus, data bus, and / or control bus; not shown). The processor 104 includes a set of grader models 105. Each grader model from the set of grader models 105 can be configured to grade an attribute or portion of an image of a collectible from a set of images of collectibles and can include software stored in the memory 102 and executed by the processor 104. In some cases, a grader model from the set of grader models 105 can include a collectible and / or card type predictor (not shown) and / or a tile defect predictor (not shown). Each collectible and / or card type predictor or tile defect predictor can include software stored in the memory 102 and executed by the processor 104.
[0022] Generating a trained model
[0023] Figure 4 A flowchart of a method of training a grading device (e.g., grading device 101) is shown in accordance with an embodiment. In some implementations, the method is performed with respect to Figure 4 The method discussed can be performed by a processor (e.g., processor 104 of Figure 1 At step 1, the training images are pre-processed. Pre-processing can cause the training images and / or portions of the training images (e.g., only the images of collectibles) to have a standardized format in at least one aspect. Pre-processing can include, for example, cropping, trimming, filtering, reshaping, and / or resizing the training images and / or portions thereof. The training images and / or pre-processed training images can be associated with one or more labels and / or grades, such as a centering grade, a tile defect label, a collectible and / or card type label, player information, character information, edge grade, corner grade, etc. Also, as discussed in further detail herein, in some cases, synthetic images can be generated for training.
[0024] At step 2, homography values are generated by comparing collectibles (e.g., cards, stamps, artwork, etc.) having different centering grades. The homography values, centering grade labels, and / or pre-processed training images can be used at step 7 to train a centering grade regression model (e.g., neural network) to generate a trained centering model. In some implementations, the homography values and / or pre-processed images can be used as input learning data for the centering grade regression model, and the centering grade labels can be used as target learning data for the centering grade regression model.
[0025] At step 3, NxN surface map tiles are generated for each pre-processed training image. The surface map tiles, defect labels that can be associated with the surface map tiles, collection and / or card type labels, player information, and / or character information can be used at step 8 to train a defect classification model to identify defects (e.g., generate defect confidence levels for the surface map tiles). The trained defect classification model can then be run at step 11 using the surface map tiles, defect labels, collection and / or card type, player information, and / or character information to generate defect confidence levels for each surface map tile. At step 12, the pre-processed training images, weights transferred from the defect classification model trained at step 8, and defect confidence levels generated at step 11 can be used to train a surface grade regression model.
[0026] At step 4, edge images are generated using the pre-processed training images. The edge images and edge grade labels can be used at step 9 to train and generate an edge grade regression model. In some embodiments, the edge images can be used as input learning data for the edge grade regression model, and the edge grade labels can be used as target learning data for the edge grade regression model.
[0027] At step 5, corner images are generated using the pre-processed training images. The corner images and corner grade labels can be used at step 10 to train and generate a corner grade regression model. In some embodiments, the corner images can be used as input learning data for the corner grade regression model, and the corner grade labels can be used as target learning data for the corner grade regression model.
[0028] At step 6, a collection and / or card type / player / character classification model can be trained and generated using the pre-processed training images (e.g., using computer vision). The collection and / or card type / player / character classification model can be trained to identify collection type, card type (e.g., set, year, etc.), stamp type (e.g., year, issue, etc.), coin type, player information, character information, and / or any other information about the collection. In some embodiments, step 6 is performed before steps 8 and 11, and the trained collection and / or card type / player / character classification model outputs the collection type, card type, player information, stamp type (e.g., year, issue, etc.), coin type, character information, and / or other information about the collection used in steps 8 and 11. In some embodiments, steps 1-12 can be performed in any order. In some embodiments, steps 1-12 can be performed in series, in parallel, or any combination thereof.
[0029] Image Preprocessing
[0030] The image set of collectibles (e.g., images of sports cards, game cards, collectible cards, coins, stamps, artwork, etc.) used to train the set of grader models 105 and / or the images of collectibles used in performing the set of grader models 105 after training can be taken using an imaging device (e.g., a camera, a scanner, etc. (not shown)) of the grading device or a device operably coupled to the grading device 101. For example, the image set of collectibles and / or the images of collectibles can be taken by a smartphone camera or a scanner. Thus, the images for processing by the processor 104 of the grading device 101 can be taken at slightly different angles under different lighting conditions and / or also contain extra background around the actual collectible (e.g., card). Thus, image preprocessing can be used to generate preprocessed images (e.g., to normalize the images of collectibles) based on the images used to train the set of grader models 105 (e.g., the image set of collectibles) and / or the images that will be graded by the set of grader models 105. In some cases, to use the images of collectibles for training and / or grading purposes, one or more of the following preprocessing steps can be performed using any suitable technique (e.g., Figure 4 Step 1):
[0031] 1. Collectible boundary detection in the images of collectibles.
[0032] 2. Perspective warp transformation to convert the images of collectibles taken from imperfect angles to a rectangular shape.
[0033] 3. Background removal by cropping the outer region of the images of collectibles that encloses the collectible boundary.
[0034] 4. Adjusting the size of the images of collectibles to a uniform size and resolution suitable for processing by the machine learning models in the set of grader models 105.
[0035] In some implementations, by applying a boundary detection algorithm substantially in real-time and selecting the frame with the detected boundary closest to a rectangular shape, a desired shot of the image of the collectible can be selected from a live camera video feed and / or recording (e.g., from an imaging device). Doing so can minimize the degree of perspective warp transformation, improve image quality, and overall grading accuracy. Additionally or alternatively, a desired shot of the image of the collectible can be selected from a live camera video and / or recording by applying a size and / or resolution adjustment and selecting the frame with a size and / or resolution closest to the desired size and / or resolution. In some implementations, when there are multiple images of the collectible (e.g., frames from a video and / or multiple still images), the selected desired shot can be used to generate a grade of the collectible.
[0036] In some implementations, for images of collectibles having glossy surfaces, an additional pre-processing step can be performed to detect and skip frames of the video that include interfering reflections, saturation, or white spots in the image. An additional machine learning model can be trained to detect interfering reflections, saturation, or white spots in the image and filter out undesirable frames, pixels, etc. in the images of the collectible. In some implementations, a final image of the collectible can be produced by stitching together unaffected portions of the collected images or video frames of the collectible. For example, if a collectible includes a reflection in the upper half of a first image in a first frame, and the collectible includes a reflection in the lower half of a second image (different from the first image) in a second frame (different from the first frame), then the lower half of the first image can be combined (e.g., stitched together) with the upper half of the second image to form a final image without the interfering reflections (e.g., where the upper half does not overlap with the lower half, or where the upper half partially overlaps with the lower half).
[0037] Grading
[0038] For example, in some cases, grading of an asset (e.g., a collectible such as a sports card) can include four fractions (or grades) within a numerical range (e.g., on a scale from 1 to 10). The fractions can represent a condition of a surface of the asset, a condition of an edge of the asset, a condition of a corner of the asset, and / or a condition of a centering of the asset. In some cases, a higher value of a fraction (or grade) can mean a better condition (e.g., for the surface, edge, corner, or centering). Each side of an asset (or collectible) can be graded separately and can have its own set of grades. While four fractions are illustrated in this example, in other implementations, any number of fractions for different aspects and / or attributes of an asset can be identified and used.
[0039] Grading of an asset can be accomplished by training a cluster of machine learning models (e.g., artificial neural networks, convolutional neural networks, recurrent neural networks, self-organizing maps, Boltzmann machines, autoencoders, etc.) that are designed to handle a particular type of grade (e.g., surface, edge, corner, centering, etc.). Each type of grade can have one or more designated machine learning models (e.g., neural network models). In some implementations, two machine learning models can be used to identify a grade (e.g., a surface grade). In some implementations, any number of machine learning models can be used to identify each grade.
[0040] In some implementations, the first machine learning model can be configured and / or trained to detect surface defect types on surface images of a set of images of a collectible that is split into several smaller substantially equal portions (e.g., tiles). In some implementations, the surface images of the collectible are split into substantially equal portions, and one or more defect labels can be assigned (e.g., by a human, by a machine learning model, by a computer vision algorithm, etc.) to (1) each portion (including portions with or without defects), or (2) only the portions with defects. The defect labels can be letters, words, numbers, etc. that indicate the presence of a defect and / or the type of defect (e.g., crease, fold, etc.) for a given portion. The first machine learning model can then be trained using the defect labels and the individual equal portions. For example, each portion can be used as input learning data for a neural network, and the defect label(s) associated with that portion can be used as output learning data for the neural network. A second machine learning model can perform a final grade regression by using a full surface image of a collectible and tile defect information for that collectible from the first machine learning model. The machine learning models can be trained using a training dataset that includes existing (e.g., thousands of) images of collectibles that can be pre-graded by expert human graders. For example, for surface grading, the training dataset can include grade labels assigned to each collectible photo and defect type labels assigned to individual tiles.
[0041] The input to the training process includes providing a set of images of a collectible, each image associated with a first grade classification label (e.g., an integer value from 1 to 10) for a surface, a second grade classification label (e.g., an integer value from 1 to 10) for an edge, a third grade classification label (e.g., an integer value from 1 to 10) for a corner, and / or a fourth grade classification label (e.g., an integer value from 1 to 10) for a center. The grade classification labels can be assigned to each photo for the front and back of each image in the set of images of the collectible, respectively.
[0042] For surface grading, in addition to the grade labels, the training set can include classification labels for various defect types assigned to individual surface tiles of an image of the collectible outlined by an NxN grid of tiles. Each tile in the grid of tiles can have multiple types of defect labels, such as, for example, creases, wrinkles, printing defects, smudges, ink, etc. In some implementations, a set of surface flaw codes (e.g., represented as letters, numbers, etc.) can represent the tile defect types. In some cases, the set of surface flaw codes can include, for example:
[0043] C - creases, wrinkles, bends, folds, etc.
[0044] H - holes, pinholes, punch holes, etc.
[0045] I - impressions, scratches, etc.
[0046] M - mis-cuts
[0047] P - prints, smudges, register, etc.
[0048] S - stains
[0049] T - tears, splits, broken surfaces, etc.
[0050] W - writing, ink, etc.
[0051] Corner / Edge Flaw Codes
[0052] X - corners (1-4)
[0053] E - edges (1-N)
[0054] A - wear (rounding and / or slight loss of material or surface)
[0055] B - creases or lifts (creases / bends or lifts of corner surfaces)
[0056] Y - impact (impressions, dents, or indentations not otherwise noted under surface flaw codes)
[0057] In some implementations, an additional model can be trained to detect the collectible and / or card type (e.g., set it is included in, year of manufacture, manufacturer, etc.), player and / or character information, stamp type (e.g., year, issue, etc.), coin type (e.g., identification of year, coin, etc.), and / or any other information about the collectible. Such information can be used in the underlying grading model (e.g., the machine learning model described above) to reduce the number of false positives specific to a particular collectible and / or card type. For example, some cards can contain wrinkles on the player’s clothing that would be incorrectly identified as defects. Adding card type and / or player / character information (and / or other information specific to the collectible) to the input of the grading model can help eliminate such false positives by training the model to recognize anomalies specific to the collectible. The additional model can be, for example, a machine learning model, an artificial intelligence model, an analytical model, or a mathematical model. In some implementations, the additional model can be trained to use computer vision to detect the collectible and / or card type, player information, character information, stamp type (e.g., year, issue, etc.), coin type (e.g., identification of year, coin, etc.), and / or any other information about the collectible. In some implementations, the additional model can be trained using supervised learning. In some implementations, the additional model can be trained using unsupervised learning. In some implementations, the additional model is a neural network (e.g., a convolutional neural network) trained using images of collectibles (e.g., cards) as input learning data and card type, player information, character information, and / or features specific to the collectible as output learning data.
[0058] The resulting trained machine learning model can be used to perform grading on collectibles (e.g., cards) as described above. Figure 3As shown in FIG. 3, at step 301). During the grading process, the same image preprocessing steps as in the training phase (at step 302) can be applied to the input images of the collection (e.g., new collections not associated with the training data) to generate preprocessed images. The preprocessed images can then be input to the set of grader models 105 (e.g., including the trained surface grade regression model(s)) for predicting grades. The set of grader models 105 can predict card type and / or player / character information (at step 303) (or other information about the collection). The set of grader models 105 can also predict tile defects (at step 304). The set of grader models 105 can also predict grades based on information about the collection (e.g., card type, player / character information), tile defects, and / or other grades generated by the set of grader models 105 (at step 305). In some implementations, after the grades are computed by the set of grader models 105, an additional overlay image can be constructed from the weights of the convolutional layers of the grader models. The overlay image can be used to highlight specific areas of the images from the image set of the collection (e.g., card images) where defects are identified. Additionally or alternatively, the overlay image can be used to highlight specific areas of the images from the image set of the collection where defects are not identified.
[0059] Grader for surfaces
[0060] The set of grader models 105 can include a surface grader model. In some implementations, the surface grader model can be or include a cluster of two separate models:
[0061] • a tile defect classification model
[0062] • a surface grade regression model
[0063] In some implementations, both the tile defect classification model and the surface grade regression model can be generated based on pre-existing machine learning models (e.g., using transfer learning). For example, the machine learning models can be pre-trained neural network models trained using large general-purpose image datasets (e.g., the ImageNet dataset (a public dataset including over 14 million images of real-world objects)). Using pre-trained neural network models can add existing knowledge of various object shapes to the machine learning models, and can make the set of grader models 105 (e.g., the tile defect classification model and / or the surface grade regression model) more effective at distinguishing between known object shapes and surface defects. In some implementations, for example, pre-trained ImageNet-based models such as VGGNet, ResNet, Inception, Xception, etc. can be used.
[0064] The tile defect classification model can be trained using a smaller subset of the training images that are classified by the surface flaw code (as shown in steps 3 and 8 of Figure 4 After the tile defect classification model is trained, it can be used to classify the tiles in the training set and generate a confidence level of the possible defects on each tile (as shown in step 11 of Figure 4
[0065] According to embodiments, Figure 5 The structure of the layers in the tile defect classification model (e.g., neural network) is shown in Table 1. Additional layers responsible for classifying the tile defects in the images of the collection can be added to the base model (e.g., a model trained with generic images). Dropout layers can be used to reduce overfitting of the model and provide better generalization for the neural network. In some implementations, the size of the final output layer can be determined by the number of defect types supported. For example, in the application of the grading device 101 for a particular type of collection, there can be N (e.g., seven, ten, one hundred, etc.) types of defects that can occur for that particular type of collection. Thus, the size of the final output layer of the tile defect classification model can be N (e.g., N integers). For example, the output of the tile defect classification model can include N confidence levels ranging from 0.0 to 1.0, where N is the number of defect types supported.
[0066] The structure of the layers in the surface grade regression model can be similar to the structure of the layers in the tile defect classification model. The difference between the layer structures can be the size of the final output layer of the surface grade regression model. Since the surface grade regression model is a regression model, in some implementations, the surface grade regression model has one output representing a continuous value of the surface grade. Similarly, in such implementations, the grade can be represented as a decimal number (e.g., 5.0, 8.5, 9.99), as opposed to the tile defect classification model where the output is a label.
[0067] Further, the weights from the tile defect classification model Figure 5 ) can be transferred into the surface grade regression model so that the surface grade regression model can recognize the defect patterns learned by the tile defect classification model Figure 4 , steps 8 and 12).
[0068] Grader for edges and corners
[0069] The set of grader models 105 can include a specialized model for edges and corners. In some implementations, the specialized model for edges and corners can have the same and / or similar layer structure. In some cases, the specialized model for edges and corners can be similar to the tile defect classification model, but with a different number of outputs for the final layer (output layer). In some implementations, the specialized model for edges and corners has one output representing a continuous ranking value (e.g., a value between 0-10). This ranking can represent the condition of the edge and / or corner and be used to determine whether a remedial action should be performed. For example, if the ranking is outside of a predetermined acceptable range, then the edge and / or corner can be indicated as defective.
[0070] In some implementations, separate input images for the edge grader model and the corner grader model can be extracted from the pre-processed image. Similar to the tile defect classification model and the surface rank regression model, the edge grader model and / or the corner grader model can each provide the ability to generate an overlay image to highlight defects in the edges and / or corners.
[0071] Grader for centering
[0072] The set of grader models 105 can include a specialized model for the center of the image of the collectible, for determining the degree of centering of the collectible. In some implementations, when the collectible includes an image printed on cardstock (e.g., an image of a player or character), the centering rank can refer to the degree of centering of the image on the cardstock. In some implementations, the rank of the center of the image of the collectible can be computed by a center regression grader model that takes as input a set of homography matrices. The set of homography matrices can be computed by comparing the pre-processed image in the training set to a plurality of other collectibles (e.g., cards) with different degrees of centering (as shown in step 2 of FIG. 1). This approach can be similar to triangulation, where the homographic distances between different degrees of centering are considered (e.g., using computer vision). The rank can represent the centering condition of the image of the collectible and be used to determine whether a remedial action should be performed. For example, if the rank is outside of a predetermined acceptable range, then the centering of the image of the collectible can be indicated as defective (e.g., via text or any other label indicating that the centering condition is not ideal). Figure 4
[0073] In some cases, in addition to the homographic values, the center regression grader model can take as input information specific to the collectible (e.g., card type and / or player / character information). Doing so can ensure that biases specific to the collectible and / or card type are avoided.
[0074] Handling imbalanced training data
[0075] In some cases, a challenging part of making the set of grading models accurate is the problem of overfitting the training set when using a limited, unbalanced training dataset. Figure 1 The grading device 101 of the present disclosure can train accurate prediction models with training sets that do not cover a large number of samples of information specific to each collectible (e.g., card type, player / character, and grade combinations). In other words, the set of grader models 105 of the grading device 101 are developed to generalize the generation of grades based on images of collectibles. Thus, the same set of grader models trained based on a training set can successfully grade various collectible images (e.g., various sports cards and / or player sets, various stamps, various artwork, etc.) based on the number of images reusable in the training set (e.g., thousands of images) without the need to maintain an extremely large training set (e.g., billions of images).
[0076] In some implementations, the generalization methods that avoid or reduce some of the problems of unbalanced training data can involve, for example, one or more of the following:
[0077] 1. Up- and down-sampling of the training set. The purpose of this step is to adjust the training set so that it has a uniform distribution of the number of samples across all grades. For grades that have a number of samples greater than the average, the dataset can be reduced by randomly discarding excess samples from the dataset (down-sampling). For grades that have a number of samples less than the average, additional synthetic images of collectibles can be generated and added to the training set (up-sampling).
[0078] 2. Dropout layers. Using dropout layers enables a computationally very inexpensive and effective regularization method to reduce overfitting and improve the generalization error of the grading models.
[0079] 3. Layer weight regularizers. Similar to dropout layers, weight regularizers reduce the likelihood of overfitting of machine learning models (e.g., neural networks) by constraining the range of weight values within the network. In some cases, weight regularizers can be added to various layers of the network, including layers in the base model trained based on general image data.
[0080] 4. K-fold validation can be used to improve generalization and reduce overfitting.
[0081] 5. Augmentation by generating additional images of synthetic training data.
[0082] In some cases, the number of dropout layers, dropout rates, and / or the number of weight regularizers can be determined during a hyperparameter optimization phase. The hyperparameter optimization phase can improve, adjust, and / or optimize the models (e.g., from the base model 103) to improve the accuracy of the grading models 105. Figure 1hyperparameters of the set of grader models 105. Additional details regarding hyperparameter optimization are discussed below.
[0083] Synthetic training images
[0084] In some implementations, the grading device 101 can generate synthetic images (in addition to the set of images of collectibles) to further improve the accuracy of the set of grader models 105 trained on a medium dataset. In some cases, a set of image augmentation techniques can be randomly applied to the set of images of collectibles to expand the training set using additional synthetic images. For one or more images from the set of images of collectibles, the set of image augmentation techniques can include rotation, vertical and / or horizontal shifting, scaling, brightness and contrast adjustment, vertical and / or horizontal flipping, and the like to generate a set of synthetic images. The set of synthetic images can also be used to train or retrain one or more grader models from the set of grader models 105 in addition to the set of images of collectibles. In some implementations, the set of synthetic images are pre-processed (e.g., perspective warp transformation, resizing, cropping background, and the like) before being used to train one or more grader models from the set of grader models 105.
[0085] The set of augmentation techniques can ensure consistent grading accuracy of images of collectibles taken with cameras having different capabilities (e.g., resolution, zoom, filters, depth, and the like) and / or taken under different lighting conditions (e.g., angle). Using augmentation can also significantly expand the number of samples in the training set and can improve the generalization of the set of grader models 105.
[0086] Hyperparameter tuning
[0087] The hyperparameters of the set of grader models 105 can be optimized using one of the following tuning algorithms: random search, hyperband, Bayesian optimization, and the like. The effectiveness of a particular tuning algorithm can differ based on the training set and other factors. Accordingly, the tuning algorithms can be evaluated individually to achieve the best accuracy for a particular model and a particular training set.
[0088] Adjustable parameters and / or hyperparameters for the set of grader models 105 can include, for example:
[0089] 1. Neural network parameters
[0090] • Layer size
[0091] • Number of dropout layers
[0092] • Dropout rate
[0093] • Weight regularizer type
[0094] • Regularization factor
[0095] • Type of model based on ImageNet
[0096] 2. Image augmentation parameters
[0097] • Range of rotation angles, shifts, brightness, scaling, and flipping.
[0098] 3. Training parameters
[0099] • Optimizer type
[0100] • Learning rate
[0101] • Batch size
[0102] • Number of epochs
[0103] Defect visualization
[0104] Defects identified by the set of grader models 105 can be visualized as an overlay to the original collectible image. The overlay can be constructed from the weights of the last convolutional layer of the model trained using general image data. For example, if the model trained using general image data is a VGGNet (Visual Geometry Group Network) model, then the last convolutional layer would be block5_conv3. Larger weight values indicate higher confidence in the detected defect at the corresponding pixel or set of pixels.
[0105] Different overlay colors or pixel intensities can be used to represent ranges of weight values, effectively creating a heat map representation. Other visual cues can be implemented by displaying outlines or highlighting areas around high intensity clusters where the weight values are greater than a particular threshold. Such visual depictions can be presented and / or displayed to a user via a user device (e.g., the grading device 101 and / or a device operably coupled to the grading device).
[0106] In some implementations, the grading device 101 can be operably coupled to a computing device (not shown) and / or a server (not shown) via a network to transmit and / or receive data (e.g., images of collectibles) and / or analysis models via the network. In some cases, the computing device and / or server can provide training data to the grading device 101. In some cases, the computing device and / or server can execute trained machine learning models to perform grading of assets, such as, for example, collectibles.
[0107] Figure 6 is a flowchart of a method 600 for training and using models based on a set of pre-processed images according to embodiments. In some implementations, the method 600 can be performed by a processor (e.g., the processor 104 of the computing device 100). Figure 1 For example, instructions to cause the processor 104 to perform the method 600 can be stored in the memory 102.Figure 1 in the memory 102 of the server 100.
[0108] At 602, an image set of a set of collectibles (e.g., one collectible, two collectibles, three collectibles, etc.) is received. Each image in the image set is associated with at least one defect type label and at least one of: a first grade classification label for a surface condition of a collectible in the set of collectibles, a second grade classification label for an edge condition of the collectible, a third grade classification label for a corner condition of the collectible, or a fourth grade classification label for a centering condition of the collectible. In some embodiments, the set of collectibles can include only trading cards, only coins, only currency, only artwork, only stamps, only antiques, only comic books, only toys, only jewelry, or a combination thereof. In some embodiments, the image set is of a common side (e.g., a front side) of the set of collectibles. In some embodiments, the image set is of image sets of each different side (e.g., a front side and a back side) of the set of collectibles. In some embodiments, a collectible refers to an item of interest to a collector. In some embodiments, a collectible refers to something that can be collected.
[0109] At 604, a pre-processed image set is generated based on the image set by, for each image in the image set, detecting a boundary in the image that defines the collectible, performing a perspective warp transformation on the image in the image set, where the boundary of the image does not have a predetermined shape (e.g., square, rectangular, parallelogram, etc.), and removing a portion of the image that is not within the boundary that defines the collectible. In some embodiments, step 604 is performed automatically (e.g., without requiring human input) in response to receiving the image set. In some embodiments, generating the pre-processed image set further includes adjusting a size of each image in the image set that does not have a predetermined size, such that the image has the predetermined size. In some embodiments, generating the pre-processed image set further includes adjusting a size of each image in the image set that has a resolution that is not within a predetermined range of resolutions, such that the image has a resolution that is within the predetermined range of resolutions.
[0110] At 606, at least one model is trained based on each pre-processed image from the pre-processed image set, the at least one defect type label associated with the pre-processed image, and at least one of (1) the first grade classification label associated with the pre-processed image, (2) the second grade classification label associated with the pre-processed image, (3) the third grade classification label associated with the pre-processed image, or (4) the fourth grade classification label associated with the pre-processed image (e.g., Figure 1the set of classifier models 105) shown in FIG. 1. In some implementations, the at least one model includes at least one dropout layer to reduce overfitting. In some implementations, the at least one model includes (1) a first model trained using (a) each pre-processed image in the set of pre-processed images and (b) the first hierarchical classification label associated with the pre-processed image, (2) a second model trained using (a) each pre-processed image in the set of pre-processed images and (b) the second hierarchical classification label associated with the pre-processed image, (3) a third model trained using (a) each pre-processed image in the set of pre-processed images and (b) the third hierarchical classification label associated with the pre-processed image, (4) a fourth model trained using (a) each pre-processed image in the set of pre-processed images and (b) the fourth hierarchical classification label associated with the pre-processed image, and (5) a fifth model trained using (a) each pre-processed image in the set of pre-processed images and (b) the at least one defect type label associated with the pre-processed image.
[0111] At 608, the at least one model is applied to a new image of a new collectible that is not included in the group of collectibles. In some implementations, the at least one model is automatically applied to the new image in response to (e.g., by the processor 104) receiving a representation of the new image. Figure 1 At 608, the at least one model is applied to a new image of a new collectible that is not included in the group of collectibles. In some implementations, the at least one model is automatically applied to the new image in response to (e.g., by the processor 104) receiving a representation of the new image.
[0112] At 610, output is caused to be displayed that indicates that the new collectible includes a defect, an approximate location of the defect, and a defect type associated with the defect. In some implementations, 610 is automatically performed (e.g., without requiring human input) in response to the at least one model being applied to the new image at 608. In some implementations, the output is caused to be displayed by the processor (e.g., the processor 104) sending at least one electronic signal to a display (not shown in FIG. 1) that is operably coupled to the processor via a wired and / or wireless connection to cause the display to indicate that the new collectible includes a defect (e.g., via text, a symbol, a color code, a highlight, etc.), an approximate location of the defect (e.g., via text, a symbol, a color code, a highlight, etc.), and a defect type associated with the defect (e.g., a bend, a crease, etc.) (e.g., via text, a symbol, a color code, a highlight, etc.). Figure 1
[0113] In some implementations of the method 600, a first image in the set of images is captured or taken under a first lighting condition, and a second image in the set of images is captured or taken under a second lighting condition that is different from the first lighting condition. The lighting condition can be, for example, an amount of brightness.
[0114] In some embodiments of the method 600, the first image in the set of images is captured or taken at a first angle with respect to a first collectible in the group of collectibles, and the second image in the set of images is taken at a second angle with respect to one of the first collectible or a second collectible different from the first collectible in the group of collectibles. The second angle is different from the first angle. The first image and the second image can be captured or taken using the same imaging device (e.g., a single normal camera) or different imaging devices (e.g., two different cameras).
[0115] In some embodiments of the method 600, the first image in the set of images is taken with a first background, and the second image in the set of images is taken with a second background different from the first background. For example, the first background and the second background can have different colors, textures, patterns, shapes, orientations, scenes, etc.
[0116] In some embodiments, the method 600 further includes optimizing and / or improving hyperparameters associated with the at least one model using at least one of a random search algorithm, a hyperband algorithm, or a Bayesian optimization algorithm.
[0117] Figure 7 is a flowchart of a method 700 for generating and using a defect confidence level using a model according to an embodiment. In some embodiments, the method 700 can be performed by a processor (e.g., the processor 104 of the system 100). Figure 1 For example, instructions to cause the processor 104 to perform the method 700 can be stored in the memory 102 of the system 100. Figure 1
[0118] At 702, an image of a collectible is preprocessed to generate a preprocessed image by detecting a boundary defining the collectible in the image, performing a perspective warp transformation to cause the boundary to have a predetermined shape (e.g., a rectangle, a square, a parallelogram, etc.), and removing a portion of the image that is not within the boundary defining the collectible. The collectible can be, for example, a trading card (e.g., a baseball card, a basketball card, a football card, a coin, currency, artwork, stamp, antique, comic book, toy, jewelry, etc. The image can be collected by an imaging device, such as a camera or a scanner.
[0119] At 704, a machine learning (ML) model (e.g., a convolutional neural network (CNN)) is trained using the preprocessed image and a ground truth image of the collectible. Figure 1 The set of defect classifier models 105) is applied to the pre-processed image to generate a set of defect confidence levels. Each defect confidence level in the set of defect confidence levels (1) is associated with a unique portion of the pre-processed image from a set of unique portions of the pre-processed image, and (2) indicates a likelihood that at least one defect exists within that unique portion of the pre-processed image. In some embodiments, 704 is performed automatically (e.g., without requiring human input) in response to generating the pre-processed image at 702. In some embodiments, each defect confidence level is associated with a numerical value (e.g., between 0-100, between 0%-100%, between 1-10, etc.). In some embodiments, each defect confidence level is associated with a textual label (e.g., raw, perfect, near perfect, excellent, very good, good, poor, etc.). In some embodiments, each unique portion in the set of unique portions does not overlap with any other unique portion from the set of unique portions (e.g., one unique portion for the top half, another unique portion for the bottom half). In some embodiments, at least one unique portion in the set of unique portions (e.g., one to all of the unique portions in the set of unique portions) overlaps with another unique portion in the set of unique portions (e.g., a first unique portion for the top half, a second unique portion for the bottom half, and a third unique portion for a center portion that includes a sub-portion of the top half and the bottom half).
[0120] At 706, the pre-processed image is caused to be displayed on a display. In some embodiments, 706 is performed automatically (e.g., without requiring human input) in response to generating the set of confidence levels at 704. In some embodiments, the output is caused to be displayed on the display by a processor (e.g., processor 104) sending at least one electronic signal to the display (not shown in FIG. 1) that is operably coupled to the processor via a wired and / or wireless connection to cause the display to display the pre-processed image. Figure 1
[0121] At 708, each unique portion of the pre-processed image in the unique portion group associated with a defect confidence level in the defect confidence level group that is outside of the predetermined range is caused to be indicated on a display. In some implementations, 708 is performed automatically (e.g., without requiring human input) in response to causing the display of the pre-processed image at 706. In some implementations, a defect confidence level being within the predetermined range indicates that the unique portion associated with the defect confidence level is in a desirable (or “good enough”) condition (e.g., pristine, perfect, excellent, etc.), and a defect confidence level being outside of the predetermined range indicates that the unique portion associated with the defect confidence level is not in a desirable condition (e.g., not good, poor, etc.). In some implementations, the predetermined range can be adjusted (e.g., via user input and instructions received at the processor) for a particular use case (i.e., a condition deemed acceptable based on a user, customer, organization, order, etc.).
[0122] In some implementations, the ML model is a first ML model, and the method 700 further includes applying a second ML model to the pre-processed image to generate a first score indicative of a surface condition of the collectible, applying a third ML model to the pre-processed image to generate a second score indicative of an edge condition of the collectible, applying a fourth ML model to the pre-processed image to generate a third score indicative of a corner condition of the collectible, and applying a fifth ML model to the pre-processed image to generate a fourth score indicative of a centering condition of the collectible. The method 700 can further include assigning at least one label to the collectible indicative of an overall condition of the collectible based on the first score, the second score, the third score, and the fourth score. In some implementations, the at least one label can indicate that the overall condition is one of: pristine, perfect, near perfect / perfect, near perfect, excellent / near perfect, excellent, very good / excellent, very good, good, or poor. In some implementations, a numerical value that is a function (e.g., sum, average, weighted average, etc.) of the first score, the second score, the third score, and / or the fourth score corresponds to (e.g., is within a range of values associated with) the at least one label; thus, the numerical value can be calculated and used to determine the at least one label. The method 700 can further include displaying each defect confidence level in the defect confidence level group as overlaid on the unique portion of the pre-processed image associated with the defect confidence level. For example, if the pre-processed image includes N unique portions (e.g., tiles), then N defect confidence levels can be displayed, with each confidence level associated with (e.g., overlaid on) a different unique portion.
[0123] In some embodiments, the method 700 can further include applying a computer vision model to the pre-processed image to identify at least one of a card type, player information, character information, and / or other information associated with the collectible, wherein the at least one of the card type, the player information, the character information, and / or the other information is used to at least one of: be used by the first ML model to generate the set of defect confidence levels, be used by the second ML model to generate the first score, be used by the third ML model to generate the second score, be used by the fourth ML model to generate the third score, or be used by the fifth ML model to generate the fourth score. In some embodiments, the application of the first ML model is performed prior to the application of the second through fifth ML models, and at least two of the application of the second ML model, the application of the third ML model, the application of the fourth ML model, or the application of the fifth ML model are performed in parallel. In some embodiments, the first through fifth ML models can be applied in series, in parallel, or in any combination thereof.
[0124] In some embodiments, the pre-processing at 702 further includes resizing the image to a predetermined size. In some embodiments, the pre-processing at 702 further includes resizing the image to have a resolution within a predetermined range of resolutions.
[0125] In some embodiments, the method 700 further includes determining, for the pre-processed image, at least one of a card type, player information, character information, and / or other information associated with the collectible. The ML model can also be applied to the at least one of the card type, the player information, the character information, and / or the other information associated with the collectible to generate the set of defect confidence levels. Similarly, the set of defect confidence levels can be generated by the ML model based at least in part on the at least one of the card type, the player information, the character information, and / or the other information associated with the collectible.
[0126] Figure 8 is a flowchart of a method 800 for training a model using a training set including a set of synthetic images according to an embodiment. In some embodiments, the method 700 can be performed by a processor (e.g., the processor 104 of the system 100). Figure 1 For example, instructions to cause the processor 104 to perform the method 700 can be stored in the memory 102 of the system 100. Figure 1 For example, instructions to cause the processor 104 to perform the method 700 can be stored in the memory 102 of the system 100.
[0127] At 802, a set of images of a collection (e.g., only trading cards, only coins, only currency, a combination of cards, coins, and / or currency, etc.) is augmented to generate a set of synthetic images of the collection. In some implementations, the augmentation at 802 can include at least one of rotating a first image in the set of images, vertically shifting the first image, horizontally shifting the first image, scaling the first image, adjusting a brightness of the first image, adjusting a contrast of the first image, vertically flipping the first image, or horizontally flipping the first image. At 804, the set of images of the collection and the set of synthetic images of the collection are combined to produce a training set. At 806, a set of machine learning models (e.g., a set of grader models 105 of Figure 1 FIG. 1) is trained based on the training set. Each machine learning model in the set of machine learning models is configured to generate a grade of an image attribute in a set of image attributes. The set of image attributes includes at least one of an edge, a corner, a center, or a surface. At 808, the set of machine learning models is executed after training to generate a set of grades for images of a collection that are not included in the training set. In some implementations, the set of grades can be used to determine that the collection not included in the training set is defective, and a signal can be sent to cause at least one remedial action to occur (e.g., flag the images, flag the collection, notify a user, etc.). In some implementations, at least one image in the set of images is captured using at least one first camera setting, and the images of the collection not included in the training set are captured using a second camera setting that is different from the at least one first camera setting.
[0128] It should be understood that the disclosed embodiments are not representative of all claimed innovations. Accordingly, certain aspects of the present disclosure are not discussed herein. Alternative embodiments can not have been presented for a particular portion of an innovation, or a portion can use a further un-described alternative embodiment, which should not be construed as a disclaimer of the unsupported embodiments. Accordingly, it should be understood that other embodiments can be utilized and that functional, logical, operational, organizational, structural and / or topological modifications can be made without departing from the scope of the present disclosure. As such, all examples and / or embodiments represented throughout the present disclosure are intended to be non-limiting.
[0129] Some embodiments described herein relate to methods. It should be understood that such methods can be computer-implemented methods (e.g., instructions stored in memory and executed on a processor). When the above-described methods indicate that particular events occur in a particular order, the ordering of the particular events can be modified. Furthermore, certain events can be repeated, performed in parallel, where possible, and in series, as well as executed in the order described above. Moreover, certain embodiments can omit one or more of the described events.
[0130] Some embodiments described herein relate to computer storage products with a non-transitory computer-readable medium (also can be referred to as a non-transitory processor-readable medium) having instructions or computer code thereon for performing various computer-implemented operations. The computer-readable medium (or the processor-readable medium) is non-transitory in the sense that it does not include transitory propagating signals per se (e.g., a propagating electromagnetic wave carrying information on a transmission medium such as space or a cable). The medium and the computer code (also can be referred to as code) can be those designed and constructed for the specific purpose or purposes. Examples of non-transitory computer-readable media include, but are not limited to: magnetic storage media such as hard disks, floppy disks, and magnetic tape; optical storage media such as Compact Discs / Digital Video Discs (CD / DVDs), Compact Disc-Read Only Memories (CD-ROMs), and holographic devices; magneto-optical storage media such as optical disks; carrier wave signal processing modules; and hardware devices that are specially configured to store and execute program code, such as Application Specific Integrated Circuits (ASICs), Programmable Logic Devices (PLDs), Read-Only Memories (ROMs), and Random-Access Memories (RAMs) devices. Other embodiments described herein relate to computer program products, which can include, for example, the instructions and / or computer code discussed herein.
[0131] To solve various problems and advance the art, the entirety of this application (including the cover sheet, title, headings, background, summary, drawings, detailed description, claims, abstract, figures, appendices, and other material) shows by way of illustration various embodiments in which the claimed innovations can be practiced. The advantages and features of the disclosure are representative and explanatory, and are not exhaustive and / or exclusive. They are presented in order to aid in understanding and teaching the underlying principles.
[0132] Examples of computer code include, but are not limited to, micro-code or microinstructions, machine instructions, such as produced by a compiler, code used to produce a web service, and files containing higher-level instructions that are executed by a computer using an interpreter. For example, embodiments can be implemented using Python, Java, JavaScript, C++, and / or other programming languages, software packages, and software development tools.
[0133] The drawings are primarily for purposes of illustration and are not intended to limit the scope of the subject matter described herein. The drawings are not necessarily drawn to scale; in some instances, various aspects of the subject matter disclosed herein can be shown exaggerated or enlarged in the drawings to facilitate an understanding of different features. In the drawings, like reference numerals refer generally to like features (e.g., structural and / or functional analogous elements).
[0134] Actions performed as part of the disclosed methods can be ordered in any suitable way. Accordingly, embodiments can be constructed where processes or steps are performed in an order different than illustrated, which can include performing some steps or processes simultaneously, even if illustrated as sequential actions in an example embodiment. In other words, it is to be understood that such features are not necessarily limited to a particular order of execution, but that any number of threads, processes, services, servers, etc. can be executed serially, asynchronously, concurrently, in parallel, simultaneously, synchronously, etc. in a manner consistent with the present disclosure. Thus, some of these features can be mutually contradictory, because they cannot be simultaneously present in a single embodiment. Likewise, some features are applicable only to one among several innovations, and thus can not be relevant to other innovations. Thus, the disclosure can include any variety of implementations.
[0135] The phrase "and / or," as used herein in the specification and embodiments, should be understood to mean "either or both" of the elements so conjoined, i.e., elements that are conjunctively present in some cases and disjunctively present in other cases. Multiple elements listed with "and / or" should be construed in the same fashion, i.e., "one or more" of the elements so conjoined. Other elements can optionally be present other than the elements specifically identified by the "and / or" clause, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, a reference to "A and / or B" can include a reference to A only (optionally including elements other than B); B only (optionally including elements other than A); or A and B (optionally including elements other than A or B). As used herein in the specification and embodiments, "or" can be construed as
[0136] As used herein in the specification and embodiments, "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" shall be interpreted as being inclusive, i.e., the inclusion of at least one, but also including more than one, of a number or list of elements, and, optionally, additional unlisted items. Only terms clearly expressed as "only one of" or "exactly one of," or, when used in the embodiments, "consisting of," will refer to the inclusion of exactly one element of a number or list of elements. In general, the term "or" as used herein shall only be interpreted as indicating exclusive alternatives (i.e. "one or the other but not both") when preceded by terms of exclusivity, such as "either," "one of," "only one of," or "exactly one of." "Consisting essentially of," when used in the embodiments, shall have its ordinary meaning as used in the field of patent law.
Claims
1. A method for performing image analysis, comprising: receiving a set of images of a plurality of collectibles, each image in the set of images being associated with at least one defect type label and at least one of a first grade classification label for a surface condition of a collectible in the plurality of collectibles, a second grade classification label for an edge condition of the collectible, a third grade classification label for a corner condition of the collectible, or a fourth grade classification label for a centering condition of the collectible; generating a pre-processed set of images based on the set of images by, for each image in the set of images, detecting a boundary of the collectible in the image, performing a perspective warp transformation on the image, and removing a portion of the image that is not within the boundary of the collectible, wherein the boundary of the image does not have a predetermined shape; training at least one model based on each pre-processed image in the pre-processed set of images, the at least one defect type label associated with the pre-processed image, and at least one of (1) the first grade classification label associated with the pre-processed image, (2) the second grade classification label associated with the pre-processed image, (3) the third grade classification label associated with the pre-processed image, or (4) the fourth grade classification label associated with the pre-processed image; applying the at least one model to a new image of a new collectible that is not included in the plurality of collectibles; and causing an output to be displayed, the output indicating that the new collectible includes a defect, an approximate location of the defect, and a defect type associated with the defect.
2. The method of claim 1, wherein a first image in the set of images is taken under a first lighting condition, and a second image in the set of images is taken under a second lighting condition that is different from the first lighting condition.
3. The method of claim 1, wherein a first image in the set of images is taken at a first angle relative to a first collectible in the plurality of collectibles, and a second image in the set of images is taken at a second angle relative to one of the first collectible or a second collectible that is different from the first collectible, the second angle being different from the first angle.
4. The method of claim 1, wherein a first image in the set of images is taken under a first background, and a second image in the set of images is taken under a second background that is different from the first background.
5. The method of claim 1, wherein generating the pre-processed set of images further comprises adjusting a size of each image in the set of images that has a size that is not a predetermined size to cause the image to have the predetermined size.
6. The method of claim 1, wherein generating the pre-processed set of images further comprises adjusting a size of each image in the set of images that has a resolution that is not within a predetermined range of resolutions to cause the image to have a resolution that is within the predetermined range of resolutions.
7. The method of claim 1, wherein the at least one model includes at least one dropout layer to reduce overfitting.
8. The method of claim 1, further comprising improve hyperparameters associated with the at least one model using at least one of a random search algorithm, a hyperband algorithm, or a Bayesian optimization algorithm.
9. The method of claim 1, wherein the at least one model comprises (1) a first model trained using (a) each pre-processed image of the set of pre-processed images and (b) the first ordinal classification label associated with that pre-processed image, (2) a second model trained using (a) each pre-processed image of the set of pre-processed images and (b) the second ordinal classification label associated with that pre-processed image, (3) a third model trained using (a) each pre-processed image of the set of pre-processed images and (b) the third ordinal classification label associated with that pre-processed image, (4) a fourth model trained using (a) each pre-processed image of the set of pre-processed images and (b) the fourth ordinal classification label associated with that pre-processed image, and (5) a fifth model trained using (a) each pre-processed image of the set of pre-processed images and (b) the at least one defect type label associated with that pre-processed image.
10. A non-transitory processor-readable medium storing code representing instructions to be executed by a processor, the instructions comprising code to cause the processor to: pre-process an image of a collectible to generate a pre-processed image by detecting a boundary defining the collectible in the image, performing a perspective warp transform to cause the boundary to have a predetermined shape, and removing a portion of the image that is not within the boundary defining the collectible; apply a machine learning (ML) model to the pre-processed image to generate a plurality of defect confidence levels, each defect confidence level of the plurality of defect confidence levels (1) being associated with a unique portion of the pre-processed image of a plurality of unique portions of the pre-processed image, and (2) indicating a likelihood that at least one defect exists within the unique portion of the pre-processed image; cause the pre-processed image to be displayed on a display; and cause each unique portion of the pre-processed image of the plurality of unique portions that is associated with a defect confidence level of the plurality of defect confidence levels that is outside of a predetermined range to be indicated on the display.
11. The non-transitory processor-readable medium of claim 10, wherein the ML model is a first ML model, and the code further comprises code to cause the processor to: apply a second ML model to the pre-processed image to generate a first score indicating a surface condition of the collectible; apply a third ML model to the pre-processed image to generate a second score indicating an edge condition of the collectible; apply a fourth ML model to the pre-processed image to generate a third score indicating a corner condition of the collectible; apply a fifth ML model to the pre-processed image to generate a fourth score indicating a centering condition of the collectible; assign, based on the first score, the second score, the third score, and the fourth score, at least one label to the collectible indicating an overall condition of the collectible; and and displaying each of the plurality of defect confidence levels as overlaid on a unique portion of the pre-processed image associated with that defect confidence level.
12. The non-transitory processor-readable medium of claim 11, wherein the code further comprises code to cause a processor to: apply a computer vision model to the pre-processed image to identify at least one of a card type, player information, or character information associated with the collectible, the at least one of the card type, player information, or character information being used for at least one of: use by the first ML model to generate the plurality of defect confidence levels, use by the second ML model to generate the first score, use by the third ML model to generate the second score, use by the fourth ML model to generate the third score, or use by the fifth ML model to generate the fourth score.
13. The non-transitory processor-readable medium of claim 10, wherein the code further comprises code to cause a processor to: determine, for the pre-processed image, at least one of a card type, player information, or character information, the ML model being further applied to the at least one of the card type, player information, or character information to generate the plurality of defect confidence levels.
14. The non-transitory processor-readable medium of claim 10, wherein pre-processing further comprises adjusting a size of the image to cause the image to have a resolution within a predetermined range of resolutions.
15. The non-transitory processor-readable medium of claim 10, wherein the predetermined shape is a rectangular shape.
16. The non-transitory processor-readable medium of claim 11, wherein the application of the first ML model is performed prior to the application of the second ML model, the application of the third ML model, the application of the fourth ML model, and the application of the fifth ML model, and at least two of the application of the second ML model, the application of the third ML model, the application of the fourth ML model, or the application of the fifth ML model are performed in parallel.
17. An apparatus for performing image analysis, comprising: a memory; and a processor, operatively coupled to the memory, the processor configured to: augment a set of images of a collectible to generate a set of synthetic images of the collectible; combine the set of images of the collectible and the set of synthetic images of the collectible to produce a training set; train a set of machine learning models based on the training set, each machine learning model of the set of machine learning models configured to generate a ranking of an image attribute of a set of image attributes, the set of image attributes including at least one of an edge, a corner, a center, or a surface; and perform the set of machine learning models after training to generate a set of rankings for images of collectibles not included in the training set.
18. The apparatus of claim 17, wherein the augmenting includes at least one of: rotating a first image of the set of images, vertically shifting the first image, horizontally shifting the first image, scaling the first image, adjusting a brightness of the first image, adjusting a contrast of the first image, vertically flipping the first image, or horizontally flipping the first image.
19. The apparatus of claim 17, wherein at least one image in the set of images is captured using at least one first camera setting and an image of a collectible not included in the training set is captured using a second camera setting different from the at least one first camera setting.
20. The apparatus of claim 17, wherein the collectible is at least one of a trading card, a coin, or currency.
Citation Information
Patent Citations
Generating a training set usable for examination of a semiconductor specimen
CN110189288A
Inspection and cosmetic grading through image processing system and method
US10753882B1