Shoe authentication device and authentication process
The authentication engine system addresses the challenge of counterfeiting in limited-edition items by using machine learning and computer vision to authenticate sneakers, thereby enhancing consumer trust and supporting industry growth.
Patent Information
- Application Number
- JP2022550653
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-10-21
- Filing Date
- 2020-10-20
- Publication Date
- 2025-04-21
- Estimated Expiration
- 2040-10-20
AI Technical Summary
The rise of limited-edition items in various industries has led to increased demand and counterfeiting, making it difficult for consumers to authenticate the genuineness of these items, which in turn erodes trust in the market and hampers industry growth.
An authentication engine system that utilizes machine learning and computer vision to analyze images of suspect items, specifically sneakers, by identifying regions of interest, comparing measurements with threshold data, and determining whether the item is authentic or counterfeit.
The system effectively identifies and categorizes items as genuine or fake, enhancing consumer trust and reducing counterfeiting, thereby supporting the growth of affected industries.
Smart Images

Figure 0007665643000002 
Figure 0007665643000003 
Figure 0007665643000004
Abstract
Description
Related Applications
[0001] This application claims the benefit of U.S. Provisional Patent Application No. 62 / 294,145, filed October 21, 2019, which is incorporated herein by reference in its entirety.
[0002] Various industries are experiencing an increase in popularity due to the rise in brands and products whose value has increased in the resale industry. The limited availability of some types of special model items makes such limited edition items one of the most coveted items in the market. Due to the exclusivity of limited edition items, counterfeit items are rampant in the market. Unlucky customers who purchase limited edition items from one of the many markets or stores do not know whether the item they purchased is genuine or not. Although the market guarantees that the items are genuine, consumers are fooled many times. Even market and store owners are sometimes unsure about the authenticity of some items. This can cause a lack of trust in the transactions and ultimately stifle the growth of various industries. Overview
[0003] Part of the disclosure herein relates to methods, computer program products, and systems for an authentication engine to determine the authenticity of a suspect item. An authentic item may be an item that is produced, designed, or supplied by an entity (company or brand) that is the expected trusted source of the item. A counterfeit item may be an item that is produced, designed, or supplied by an unauthorized party that is not identified or known to the purchaser of the item. A suspect item is an item that is to be identified as either an authentic item or a counterfeit item.
[0004] One embodiment relates to an authentication engine that identifies different regions of interest depicted in one or more images of a suspect item. The different regions of interest are measured and the measurements are compared to threshold measurements (or threshold data) of an article model that corresponds to an authentic version of the suspect item. Based on the results of this comparison, a decision is made as to whether the suspect item is authentic or counterfeit.
[0005] One embodiment relates to an authentication engine directed to a system that utilizes machine learning data to determine whether a suspected item, such as a suspected athletic fashion shoe ("sneaker"), is fake or not. Various embodiments may include placing the suspected sneaker inside a light box that provides imaging settings to capture stable images of various parts and views of the suspected sneaker. Images may be captured at a specific resolution to capture information about the areas of interest and material textures (e.g., fabric, leather, suede, canvas) of the sneaker. The captured images may be uploaded to a server or cloud computing environment for the authentication engine to process the images and inform whether the suspected sneaker is real or fake.
[0006] An embodiment relates to a client-server application framework for the authentication engine that manages multiple cameras in a light box and provides the end user with a single server device to manage the operation of the authentication engine. An embodiment of the authentication engine can be based on a convolutional-deconvolutional neural network based on a skip connection algorithm to segment different regions of interest on a sneaker depicted in one or more images. An embodiment relates to machine learning implemented by extraction of measurements and textures of the regions of interest of the sneaker for classification into real and fake categories.
[0007] Further, the scope of applicability of the present disclosure will become apparent from the detailed description, the claims, and the drawings. The detailed description and specific examples are intended to be provided for purposes of illustration only and are not intended to limit the scope of the present disclosure. [Brief description of the drawings]
[0008] The present disclosure will become better understood from the detailed description and drawings.
[0009] [Figure 1A] FIG. 1A illustrates an example environment in which an embodiment may operate.
[0010] [Figure 1B] FIG. 1B illustrates an example computer system that may execute instructions for performing some of the methods herein.
[0011] [Figure 2A] FIG. 2A is a flow chart illustrating an example method that may be performed in an embodiment.
[0012] [Figure 2B] FIG. 2B is a flow chart illustrating an example method that may be performed in an embodiment.
[0013] [Diagram 3] FIG. 3 illustrates an exemplary user interface that may be used in some embodiments.
[0014] [Figure 4A] FIG. 4A is an exemplary diagram of one possible authentication engine phase in one embodiment.
[0015] [Figure 4B] FIG. 4B is an exemplary diagram of one possible authentication engine phase in one embodiment.
[0016] [Figure 4C] FIG. 4C is an exemplary diagram of one possible authentication engine phase in one embodiment.
[0017] [Figure 4D] FIG. 4D is an exemplary diagram of one possible authentication engine phase in one embodiment.
[0018] [Figure 4E] FIG. 4E is an exemplary diagram of one possible authentication engine phase in one embodiment.
[0019] [Diagram 5] FIG. 5 is an exemplary diagram of a lightbox for an authentication engine in one embodiment.
[0020] [Figure 6] FIG. 6 is an exemplary diagram of one environment in which an embodiment may operate.
[0021] [Figure 7] FIG. 7 is an exemplary diagram of one environment in which an embodiment may operate.
[0022] [Figure 8] FIG. 8 is an exemplary diagram of one environment in which an embodiment may operate.
[0023] [Figure 9] FIG. 9 is an exemplary diagram of one environment in which an embodiment may operate.
[0024] [Figure 10] FIG. 10 is an exemplary diagram of one environment in which an embodiment may operate.
[0025] [Figure 11] FIG. 11 is an exemplary diagram of one environment in which an embodiment may operate.
[0026] [Figure 12] FIG. 12 is an exemplary diagram of one environment in which an embodiment may operate.
[0027] [Figure 13] FIG. 13 is an exemplary diagram of one environment in which an embodiment may operate.
[0028] [Figure 14] FIG. 14 is an exemplary diagram of one environment in which an embodiment may operate.
[0029] [Figure 15]FIG. 15 is an exemplary diagram of one environment in which an embodiment may operate.
[0030] [Figure 16] FIG. 16 is an exemplary diagram of one environment in which an embodiment may operate.
[0031] [Figure 17] FIG. 17 is an exemplary diagram of one environment in which an embodiment may operate.
[0032] [Figure 18] FIG. 18 is an exemplary diagram of one environment in which an embodiment may operate.
[0033] [Figure 19] FIG. 19 is an exemplary diagram of one environment in which an embodiment may operate.
[0034] [Figure 20] FIG. 20 is an exemplary diagram of one environment in which an embodiment may operate.
[0035] [Figure 21] FIG. 21 is an exemplary diagram of one environment in which an embodiment may operate.
[0036] [Figure 22] FIG. 22 is an exemplary diagram of one environment in which an embodiment may operate. Detailed Description
[0037] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to certain embodiments of the invention, some of which are illustrated in the drawings.
[0038] Although the present invention has been described with reference to specific embodiments for clarity of explanation, it should be understood that the present invention is not limited to the described embodiments. On the contrary, the present invention is intended to cover alternatives, modifications, and equivalents as may be included within the scope defined by any claims. The following embodiments of the present invention are described without loss of generality and without imposing limitations on the claimed invention. In the following description, specific details are set forth in order to provide a thorough understanding of the present invention. The present invention may be practiced without some or all of these specific details. Additionally, well-known features may not be described in detail in order to avoid unnecessarily obscuring the present invention.
[0039] Moreover, it should be understood that the steps of the exemplary methods described in this representative patent may be performed in an order different from that presented herein, some steps of the exemplary methods may be performed in parallel rather than sequentially, and the steps of the exemplary methods may be performed in a networked environment where some steps are performed by different computers in the networked environment.
[0040] Some embodiments are implemented by a computer system, which may include a processor, a memory, and a non-transitory computer-readable medium. The memory and the non-transitory medium may store instructions for performing the methods and steps described herein.
[0041] With respect to conventional systems currently in use, manual authentication is the primary form of item authentication. For example, an expert in the style or brand of the item inspects the item and provides an opinion on the authenticity of the item. If the item is genuine, an A-tag (i.e., barcode, RFID, removable sticker) is affixed to the item to indicate that the item is authenticated. Another example of a conventional approach involves an end user uploading an image of the item to an online service. Upon receiving the image, an expert associated with the online service may verify the image to verify the presence of authenticity characteristics. The online service then returns the expert's decision to the end user.
[0042] In addition, various conventional online marketplaces may sell an item and verify the authenticity of the item when an end user completes a purchase transaction for the item. In response to the end user's purchase transaction, the item may be shipped from the seller's location to a warehouse for the online marketplace, where an employee of the online marketplace inspects the item to determine the item's authenticity. If the employee determines that the item is genuine, the item is shipped to the end user's location.
[0043] FIG. 1A illustrates an example environment 100 in which an embodiment may operate. A computer system 101 may be provided to perform tasks related to determining whether a suspect item is a counterfeit item. The computer system 101 may include, for example, a smartphone, a smart device, a smart watch, a tablet, a desktop computer, a laptop computer, a notebook computer, a server, or other processing system. In some embodiments, the computer system 101 is portable to fit a form factor that is portable by a user. In other embodiments, the computer system 101 is fixed. The computer system 101 may include a CPU 102 and a memory 103. The computer system 101 may include internal or external peripherals such as a microphone 104 and a speaker. The computer system may also include an authentication application 110, which may include an image capture system 111 and a user interface (UI) system 112.
[0044] The computer system 101 may be connected to a network 150. The network 150 may include, for example, a local network, an intranet, a wide area network, the Internet, a wireless network, a wired network, Wi-Fi, Bluetooth, one of a number of networks, or other networks. The network 150 may connect numerous computer systems and allow communication between the devices. The server 120 may be connected to the computer system 101 via the network 150. The server 115 may include an image analyzer 116 and a classifier 117.
[0045] The environment 100 may be a cloud computing environment that includes remote servers or remote storage systems. Cloud computing refers to pooled network resources that can be quickly stockpiled to allow for easy scalability. Cloud computing can be used to provide software as a service, platform as a service, infrastructure as a service, and similar features. In a cloud computing environment, users can store files in the "cloud." "Cloud" means that the actual hardware storing the files is not visible to the user, but the files are stored on remote network resources.
[0046] 1B illustrates an example computer system 120 with software modules that may perform some of the functionality described herein. Image acquisition module 121 may provide image capture functionality for capturing one or more images. Image acquisition module 121 may be responsive to user input requesting capture of one or more images of a suspect item. Image acquisition module 121 may initiate triggering of one or more image capture devices to capture images of a suspect item, such as a shoe. Image acquisition module 121 may be configured to capture a required number of digital images or views of a suspect item.
[0047] The user interface module 122 may implement a function for providing a user interface. The user interface module 121 may include a user interface such as that shown in FIG.
[0048] The image analysis module 123 may implement functionality for analyzing one or more images. The image analysis module 123 may analyze images as shown in Figures 2A-2B, 4A-4D, 18-19, and 22.
[0049] The image classifier module 124 may implement functionality for classifying suspect items as either genuine or counterfeit. The image classifier module 124 may classify suspect items as shown in Figures 2A-2B, 4C-4E, and 20-21.
[0050] 2A is a flow chart illustrating one exemplary method 200 that may be implemented according to an embodiment. A computer system implementing the method may acquire an input image of a suspect item (operation 201). Multiple cameras in communication with the computer may acquire multiple input images of the suspect item, each of which represents a different view of the suspect item or a different portion of the suspect item. In one embodiment, multiple images may not be required and a single image of a specific portion or user-selected portion of the suspect item may be acquired.
[0051] The computer may identify regions of interest in each input image (operation 202). For example, the computer may analyze each input image to identify portions of the suspect item that are regions of interest that are represented in the input image. The computer may have an article model identifier associated with the suspect item that provides access to local and / or remote data that assists the computer in identifying various types of regions of interest for the suspect item. An input image of a suspect item may have zero, a single, or multiple regions of interest.
[0052] The computer may determine measurements for the regions of interest (operation 203). Once the regions of interest have been extracted from the input image, the computer may determine one or more measurements for the regions of interest and corresponding image data of the portions of the suspect that fill the regions of interest. A region of interest may have one measurement or multiple measurements. A region of interest may have a boundary that is determined by the computer. The boundary may be transposed onto the corresponding image data. The computer may obtain the measurements for the boundary and the corresponding image data. The computer may combine measurements from multiple regions of interest.
[0053] The computer may compare the measurements to a threshold (operation 204). The computer may process and analyze the measurements for the region of interest against threshold measurements and threshold data. The threshold measurements and threshold data represent attributes and characteristics of authentic instances of the article. The threshold measurements and threshold data may be a range of measurements, colors and textures occurring within a particular region of interest. The threshold measurements and threshold data may be specific to a possible authentic type of the suspect item. There may be threshold measurements and threshold data specific to multiple types of different articles. The threshold measurements and threshold data may be learning data based on training data and computational results of machine learning supervised learning embodiments. In machine learning embodiments, the threshold measurements and threshold data may help the computer classify each region of interest.
[0054] The computer may determine whether the suspect item is counterfeit based on the comparison (operation 205). The computer may determine a probability that the suspect item is genuine based on how the measurements for the region of interest compare to the threshold measurements and threshold data. The computer may determine a probability that the suspect item is genuine based on how the threshold measurements and threshold data lead to a classification of the measurements for the region of interest. A determination that the suspect item is counterfeit may be sent as a representative notification to a local computer or a portable device. A determination that the suspect item is genuine may also be sent as a representative notification to a local computer or a portable device.
[0055] Some of the steps of the exemplary method 200 may be performed in a different order or in parallel. Also, the steps of the exemplary method 200 may be performed on more than one computer. For example, if the method is performed in a networked environment, some steps may be performed on different computers. Various steps are optional.
[0056] 2B is a flow chart illustrating an exemplary method 206 that may be implemented according to one embodiment. A computer system implementing the method may trigger the acquisition of an input image of a suspect shoe (operation 207). A local computer or mobile device may trigger one or more remote cameras to acquire images of the suspect shoe. The suspect shoe may be placed in a fixed predetermined position surrounded by multiple cameras such that multiple input images representing different preselected portions or views of the suspect shoe are acquired. The local computer or mobile device may receive the input images and provide the input images to an end user for preview or approval. The local computer or mobile device may receive a selection from a user interface menu indicating that the end user wishes to upload the input images to a remote server or to a cloud computing environment.
[0057] A unique identifier may be assigned to the image collection and / or authentication task. The unique identifier for the authentication task may be further used by the system to retrieve in storage the captured images and / or the results of the authentication process and decision.
[0058] The computer may then segment the different regions of interest in each input image (operation 208). For example, a remote server or cloud computing environment may receive the input image of the suspect shoe and perform segmentation of the input image to extract the regions of interest represented in the input image. In one embodiment, the segmentation may be performed according to a deep neural network architecture based on an encoder-decoder structure. The encoder may be composed of a convolutional layer and a pooling layer. The decoder applies deconvolutional and unpooling operations supplemented by signals received directly from the encoder. The segmentation of the input image may result in image data from different regions of interest (RoI) extracted from the input image.
[0059] The computer may construct a classification vector based on the vectors of the regions of interest (operation 209). The computer may perform a measurement operation on the extracted RoI image data and the RoI boundary. Values obtained from the measurement operation may be used to construct a RoI feature vector. The values may correspond to feature types having a predetermined position in the RoI feature vector. Multiple RoI feature vectors may be fused (or merged) to generate a classification vector.
[0060] The computer may input the classification vector into a machine learning model based on the authentic version of the shoe (operation 210). A classifier based on a machine learning model representing attributes predicted to be present in an authentic version of the shoe may receive the classification vector and determine the likelihood that the suspect shoe is fake. One or more RoI feature vectors may be treated as separate classification vectors and also input to a particular RoI classifier. As a result of inputting the classification vector, the computer may generate an authenticity decision for the suspect shoe (operation 211).
[0061] The input image may be stored on a local computer or on a remote storage device (including a hard disk or other non-volatile memory of the remote server and other storage devices that may be connected to the remote server).
[0062] Some of the steps of the exemplary method 206 may be performed in a different order or in parallel. Also, the steps of the exemplary method 206 may be performed on more than one computer, for example, if the method is performed in a network environment. In one possible example, step 207 may be performed on a local computer or mobile device, and steps 208, 209, 210, and 211 may be performed on a remote computer. In such an example, the local computer or mobile device may provide an interface to trigger acquisition of the input image, preview the input image, and trigger uploading of the input image to a remote server. Various steps, such as receiving and displaying the authenticity determination on the local computer or mobile device, may be optional.
[0063] As shown in FIG. 3, an exemplary user interface 300 displayed on the computer system 101 may include an image preview portion that displays one or more captured input images. The user interface 300 may also include an icon that indicates whether a suspect item is genuine or counterfeit. The interface 300 is exemplary and should not be viewed as limiting. The user interface 300 may receive user input that triggers image capture for one or more image capture devices (e.g., a mobile device or a digital camera). For example, the user interface 300 may present a capture button or other user affordance that initiates the capture of an image from the image capture device. The user interface 300 may also allow a user to select which captured images to analyze and which selected portions of the images to analyze.
[0064] As further shown in FIGS. 13-15, the user interface may draw a number of bounding boxes within which each captured image may be displayed. Once an image is captured, a thumbnail image of the shoe is drawn within the bounding box. The user interface 300 may present bounding boxes for images captured by the system for each of the image capture devices. The user interface may graphically indicate the status and / or validity of the captured images. For example, the bounding boxes may include a status indicator indicating successful capture of the image. The status indicator may be a color (such as green to indicate successful capture, yellow to indicate capture is in progress, or red to indicate capture failed) or may be a graphical icon on or adjacent to the respective bounding box. Once a particular image is captured, the system may perform a quality check to determine whether the image is of sufficient quality for further processing. For example, the system may evaluate image characteristics such as luminosity, color, hue, tone, saturation, blurriness and / or brightness of the image and compare these image characteristics to predetermined values to ensure that the image meets a sufficient or minimum threshold quality to be further processed by the system.
[0065] In one embodiment, the user interface may trigger the capture of digital images directly using the device (e.g., a handheld or mobile device) presenting the user interface. For example, the device may present, via the user interface, views of the suspect item that need to be captured (e.g., the front, side, back, top, and / or bottom of the suspect item). For example, the user interface may prompt the user to capture an image of the front of the item. The user interface may enable the device's on-board camera capabilities to capture a digital image of the item. The user interface may then instruct the user to capture other required views and capture digital images of those views. The device or system may also check to determine whether the image is of sufficient quality to be further processed (as described above). Additionally, the device or system may check to determine whether the view is likely to be the view that is required. For example, if the required view is of the sole of a shoe, the device or system may process the image to ensure that the shoe is of the type of view that is required. This may be done by using object recognition or machine learning networks trained on different views of the article (e.g., the top, bottom, side, front, and back of different types of shoes). If the device or system determines that the image is not of sufficient quality or that the view is not the correct view type, the user interface may indicate to the user that an image for the particular view needs to be reacquired. Once one or more images for the required view have been acquired, the system may process the one or more images as described herein to determine the authenticity of the suspect item.
[0066] Additionally, the system may be configured to select video frames from a video of a suspect item. For example, the video file may represent various views of an item. The system may then receive the video file and process the video file to extract frames from the file that represent one or more views of the suspect item. Processing of the video file results in the extraction of images that represent different views of the suspect item. As described above, a machine learning network may be used to receive frames from the video file and identify likely frame views (e.g., front, side, etc.). The system may select the best image frames to use for processing based on whether the image quality or characteristics of the image are sufficient to be further processed as described herein to determine the authenticity of the suspect item.
[0067] The recognition engine function can be realized in various ways. As shown in Fig. 4A, given an input image 402, a result binary mask 406 is generated for a region of interest (RoI) candidate 410 represented in the input image 402. A RoI boundary 406-1 is defined by the binary mask and is transposed onto the image data of the region of interest (RoI) candidate 410.
[0068] For example, after the input image 402 passes through one or more encoder layers, the feature map size may shrink. A decoder is then required to restore the feature map size to the segmented image 408 by using an upconvolutional layer. The decoder may lose some of the high-level features learned by the encoder. To compensate for the lost high-level features, a skip-connection convolutional-deconvolutional neural network ("skip connection network") may be used to segment interesting regions in the input image. The skip connection network in the encoder-decoder architecture skips connections that directly copy the encoder signal to the decoder layer to ensure that all important information can be preserved.
[0069] For the encoder-decoder, different convolutional neural network (CNN) architectures can be applied. Here, we use the ResNet34[2] architecture, which includes 33 convolutional layers (with the upper layers removed) with different kernel sizes (7x7 and 3x3) and a number of filters (64, 128, 256, 512). Furthermore, each remaining block may be two layers deep and has a residual path to connect the signal from the block input to the block output, which can be expressed as follows:
number
[0070] For the decoder, we may keep the same 33 layers, replace the convolutional layers with deconvolutional layers, pool by unpooling, and add skip connections at the edge of each larger convolutional block to achieve the ResNet34 architecture. As mentioned above, the output is a binary mask 406 that defines the RoI boundary 406-1 for the candidate region of interest 410. The encoder-decoder may also use the ResNet architecture.
[0071] As shown in FIG. 4B, a region of interest 412 in the image data of the ankle portion of the suspect shoe is identified by a RoI boundary 414 defined by a corresponding binary mask. To calculate measurements for the ankle portion, a set of points X={x 1 ,x 2 ,…,x n} is selected. For each point x i For the RoI boundary 414 of the binary mask, the pixel distance between the lowest point and the highest point inside the RoI boundary 414 of the mask may be measured. Such returned pixel distance measurements for the RoI boundary 414 of the binary mask may be 25, 32, 38, 30, and 20.
[0072] As shown in Figure 4C, measurements along a vertical extension "MV" and measurements along a horizontal extension "MH" are calculated for a first candidate region of interest 410 bounded by the RoI boundary of the binary mask. Measurements "MA" of a second candidate region of interest 412 for the ankle portion of the shoe are also calculated along with measurements "MT" of a third candidate region of interest 416 for the top portion of the suspect shoe bounded by the binary mask RoI boundary. All measurements are collected and combined to form a classification feature vector 420 where each value of the MV, MH, MA, MT measurements corresponds to the placement of the feature types in the classification feature vector 420.
[0073] As shown in FIG. 4D, an input image 402 of a suspect shoe is passed through multiple convolutional and deconvolutional CNN layers 422, 424, 426 to identify binary masks 406, 428, 430 for candidate regions of interest 410, 412, 416 represented in the input image 402. Feature vectors 432, 434, 436 for the regions of interest 410, 412, 416 are constructed based on pixel distance measurements obtained within the regions of interest 410, 412, 416. Each feature vector 432, 434, 435 is passed through a corresponding region of interest classifier 438, 440, 442, which is defined by a machine learning supervised learning model that corresponds to features present in the authentic version of the suspect shoe. For example, the type of feature indicative of the likelihood that the suspect shoe is authentic may be a learned range of the width of the stitched seam in a particular region of interest. The classifiers 438, 440, 442 determine the likelihood result of whether the input region of interest vector represents a part of a real shoe or not. The likelihood result from the classifiers 433, 440, 442 is further used to finally determine whether the suspect shoe is real or fake.
[0074] As shown in Figure 4E, the encoder's contraction pass 442 extracts features that contain information about what is represented in the input image 402 through the application of convolutional and input layers. After passing through the encoder layers, an expansion pass 444 is applied to restore the feature map size that may have been reduced by the encoder. The output is a binary mask 430 for the region of interest 416.
[0075] As shown in FIG. 5, the suspect shoe 506 is located in a fixed position on a platform 505 in a light box 501. The platform 505 may have an opening 504. The light box 501 may have multiple image capture devices (e.g., cameras, smartphones, etc.) 502-1, 502-2, 502-3, 502-4, 502-5, 502-6 at fixed or adjustable positions to capture images of various parts and various locations of the suspect shoe 506. Some of the image capture devices may be fixed to an opaque wall 507 on the light box 501. Some of the image capture devices may be fixed to a top cover 508 of the light box 501. The top cover 508 may be transparent or opaque. The light box 501 may have one or more lighting devices to provide the suspect shoe 506 with the appropriate light and shade to obtain an input image of a particular resolution, contrast, and brightness. The lighting devices may be attached to one or more frames 503-1, 503-2. The light box 501 may also include a mechanical switch that communicates with a computer system wirelessly or via a wired connection when the top lid 508 is closed or when the switch is manually activated. Activation of the switch initiates the capture of images from the various image capture devices.
[0076] Various embodiments may be independent of the use of a light box. For example, a mobile device (such as a smartphone) using depth imaging combined with SLAM (Simultaneous Localization and Mapping) may provide a reliable distance measurement. The mobile device may also provide image data indicating a reference distance to the suspected item, allowing measurements in centimeters instead of pixels. Given the distance measurement, the authentication system may calculate the brightness level of the sneaker in real time and guide the user to obtain a stable image of one or more areas of the sneaker at the required resolution. Various embodiments may also include a technique for discarding noisy and unwanted images in real time to prevent the mobile device from obtaining and uploading undesirable images.
[0077] The system may provide a user interface with reference images or other information to prompt the user to acquire appropriate images. These images may be provided via the user interface prior to or during image acquisition. The user may be presented via the user interface with overlays, bounding boxes, or other templates during acquisition. The user may then be prompted to align the suspect item, for example, within a graphical bounding box or other shape or graphical representation. The system may use machine learning or other techniques to recognize the presence and location of suspect items in real time or after image acquisition. Inputs to the machine learning system may include image, video, depth, or other sensor data. The system may use this information to allow or deny acquisition, or prompt the user via the user interface to acquire appropriate images with visual or other forms of feedback. Various embodiments may also include techniques for discarding noisy, unwanted images in real time to prevent the mobile device from acquiring and uploading undesirable images. These techniques may be deployed in real time, after image acquisition, or both. The system may prompt the user to manually review the acquired images after submission to ensure they are correct and of high quality. For example, the device may process the acquired images and determine that the images are unsuitable for uploading to the server for further processing.
[0078] The embodiments may be used on a variety of computing devices, in accordance with the definitions of computers and computer systems earlier in this patent. Mobile devices such as mobile phones, smart phones, PDAs, and tablets may implement the functionality described in this patent.
[0079] 6 illustrates an example device of a computer system within which a set of instructions may be executed that causes the device to perform any one or more of the methods described herein. In another embodiment, the device may be connected (e.g., networked) with other devices in a LAN, an intranet, an extranet, and / or the Internet. The device may operate in the capacity of a server or a client device in a client-server network environment, as a peer machine in a peer-to-peer (or distributed) network environment, or as a server or a client device in a cloud computing infrastructure or environment.
[0080] The device may be a personal computer (PC), tablet PC, set-top box (STB), personal digital assistant (PDA), mobile phone, web appliance, server, network router, switch or bridge, or other device capable of executing a set of instructions (sequential or otherwise) that specify operations to be performed by the device. Additionally, although a single device is illustrated, the term "device" should be interpreted to include a collection of devices that individually or together execute a set (or sets) of instructions that implement any one or more of the methods described herein.
[0081] The example computer system 600 includes a processing device 602, a main memory 604 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.), a static memory 606 (e.g., flash memory, static random access memory (SRAM), etc.), and a data storage device 618, which are in communication with each other via a bus 630.
[0082] The processing device 602 represents one or more general-purpose processing devices, such as a microprocessor, a central processing unit, or the like. More specifically, the processing device may be a complex instruction set computer (CISC) microprocessor, a reduced instruction set computer (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets, or a processor implementing a combination of instruction sets. The processing device 602 may also be one or more special-purpose processing devices, such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), a network processor, or the like. The processing device 602 is configured to execute instructions 626 to perform the operations and steps described herein.
[0083] Computer system 600 may further include a network interface device 608 for communicating over a network 620. Computer system 600 may also include a video display unit 610 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 612 (e.g., a keyboard), a cursor control device 614 (e.g., a mouse) or an input touch device, a graphics processing unit 622, a signal generation device 616 (e.g., a speaker), a graphics processing unit 622, a video processing unit 628, and an audio processing unit 632.
[0084] The data storage device 618 may include a machine-readable storage medium 624 (also known as a computer-readable medium) on which is stored one or more set of instructions or software 626 that embody one or more of the methods or functions described herein. Additionally, the instructions 626 may reside, completely or at least partially, within the main memory 604 and / or within the processing device 602 during execution thereof by the computer system 600, the main memory 604 and the processing device 602 also constituting a machine-readable storage medium.
[0085] In one embodiment, instructions 626 include instructions for implementing functions corresponding to components of a device implementing the disclosure herein. Although machine-readable storage medium 624 is shown in the embodiment as being a single medium, the term "machine-readable storage medium" should be interpreted to include a single medium or multiple media (e.g., a centralized or distributed database, and / or associated caches and servers) that store one or more sets of instructions. The term "machine-readable storage medium" should also be interpreted to include any medium capable of storing or encoding a set of instructions for execution by a device that causes the device to perform one or more of the methods of the present disclosure. Thus, the term "machine-readable storage medium" should be interpreted to include, but is not limited to, solid-state memory, optical media, and magnetic media.
[0086] An exterior view of the light box is provided as shown in Figure 7. The light box may have a top cover 702 that may be movable to reveal an interior chamber for containing suspect items.
[0087] As shown in FIG. 8, an inside view of the light box is provided. For example, a view of the interior chamber is provided. The interior chamber may include one or more guide wires 804-1, 804-2, 804-3 on which a suspect item may be placed. The interior chamber may include a shelf 814 located proximate to the guide wires 804-1, 804-2, 804-3. The interior chamber may include one or more locations for camera lenses 806-1, 806-2, such as camera lens 806-2 of a smartphone 810. The shelf 814 may have an opening 808 that provides a view of a portion of the suspect item to the camera lens 806-2 of the smartphone 810. For example, if the suspect item is a suspect shoe, the opening 808 provides a view of the bottom of the sole of the suspect shoe to the camera lens 806-2 of the smartphone 810. The interior chamber may include one or more lighting devices 812 that provide illumination and shade as one or more input images of a suspect item are acquired via camera lenses 806-1, 806-2.
[0088] In one embodiment, a guide wire is used to support the suspect item so that a bottom view image can be acquired by a digital camera. In other embodiments, the opening in shelf 814 may also have one or more transparent plates or sections formed from a material such as glass or plastic. Ideally, this material has a low refractive index and / or some other coating on the material to reduce reflected glare from internal lighting.
[0089] When the system captures a digital image of the bottom of a suspect item, the image may contain a guidewire. Before processing the image as part of an authentication determination, the system may modify the image by identifying pixels in the image that contain the guidewire and smoothing the image for those pixels so that the pixels display a correct view of the image. For example, the system may obtain a group of pixels adjacent to a pixel representing the guidewire. The system may then replace the pixel representing the guidewire with a copy of the group of pixels.
[0090] Some embodiments use depth image processing to detect suspect items, using depth images, possibly in combination with other inputs, to distinguish suspect items from a light box or other background.
[0091] The color of the interior of the light box is ideally a single color used for chromakey. Additionally, the color may be any color suitable for allowing the boundary of the suspect item to be determined by image processing. The system may use a chromakey with a background of any uniform, clear color, with green hues being more preferred than other colors. The system may filter out the uniform color background pixels to capture only the image of the suspect item pixel by pixel.
[0092] As shown in FIG. 9, an internal view of the light box is provided. The light box may include one or more apertures 902, 904 for camera lens positions. The light box includes four side panels, a bottom panel, and a top panel. The bottom panel is secured to the bottom of the four side panels. Each of the four side panels includes one or more apertures. The top panel is secured to the top of the four side panels. The top panel has a movable lid for access to the light box. The light box includes a shelf secured to at least two of the four side panels. The shelf may also be supported by three or more parts that are detachable from the four side panels and secured to the bottom side of the shelf. The shelf divides the light box into two housings, an upper housing and a lower housing. The shelf has an opening, and a guide wire is positioned across the opening of the shelf. An illumination source is secured to the upper housing, and the illumination source is secured in a down position. In addition, the light box may include four outer panels removably secured to the outside of the four side panels, respectively. The outer panels may be used to hide wiring and / or image capture devices.
[0093] As shown in Figure 10, an external view of a surface 1006 of a light box is provided. The surface 1006 of the light box may include one or more brackets 1002, 1004 that hold an image capture device (such as a smartphone) in a fixed position such that the smartphone's respective camera lens is positioned relative to an aperture to capture a digital image of a view of the interior chamber of the light box. The one or more brackets 1002, 1004 may be adjustable to accommodate smartphones of various sizes.
[0094] 11, a suspect shoe 1102 can be placed into the interior chamber of the light box through an upper opening 1104. The opening 1104 can be accessed when a top lid 1106 of the light box is moved. For example, the lid 1106 can be hinged or removable from the light box.
[0095] As shown in Fig. 12, a suspect shoe 1102 is placed in the interior chamber of a light box. The suspect shoe 1102 is placed over guidewires 804-1, 804-2, 804-3 such that the sole of the suspect shoe 1102 is adjacent to an opening 808 in a shelf within the interior chamber. For example, the guidewires may be secured to a sidewall and / or to the shelf. The guidewires may be secured to an adjustment mechanism that tensions the guidewires. This adjustment mechanism may be secured to a sidewall of the light box.
[0096] As shown in Figure 13, a user interface 1302 for the authentication engine is displayed on a smartphone. The user interface 1304 may provide one or more icons that may provide a preview of the captured input image of the suspect item placed inside the light box.
[0097] 14, a preview 1402 of the acquired input image of the suspect shoe may be displayed within the user interface 1302. The preview 1402 may provide a number of acquired input image icons, each of which shows a different view of the suspect shoe.
[0098] 15, a preview 1502 of the acquired input images of the suspect shoe may be displayed within the user interface 1302. The preview 1504 may provide selectable functionality to retake one or more of the input images, approve one or more of the input images, and upload one or more of the input images to a remote server or cloud computing environment.
[0099] As shown in Figure 16, an icon 1602 representing an authentication decision that is genuine may be displayed in the user interface 1302. As shown in Figure 17, an icon 1702 representing an authentication decision that is fake may be displayed in the user interface 1302.
[0100] It will be appreciated that embodiments may combine and weight the evaluations of both the right and left suspect shoes in a pair of shoes to determine an overall score or value for determining authenticity. For example, the right shoe may be determined to be authentic (due to the presence of more precise stitching, etc.) and the left shoe may be determined to be fake. The system may generate an overall score of the evaluations of both shoes. Each shoe is evaluated by the system as described herein. In one embodiment, the system may determine that the overall score of both shoes may indicate that the shoe is likely to be fake.
[0101] As shown in FIG. 18, various phases for image partitioning may be performed according to the embodiment to enhance the accuracy of the feature measurements. For example, such implementation may be based on two partitioning steps as depicted in FIG. 18. Given an input image 402, the system may downscale the image 402 by a downscale factor that may vary from a 2 to a 10 times size reduction, as an example. This produces a smaller sized image with fewer pixels than the original input image 402. In one embodiment, the aspect ratio of the original image is maintained for the smaller downscaled image 1802. The system then processes the downscaled image 1802 by sending the downscaled image 1802 to an encoder-decoder deep neural architecture 1804 to obtain a first coarse grained partitioning 1806 of a coarse region of interest ("coarse RoI") 1805. This coarse partitioning 1806 is used to construct a square bounding box 1808 around the coarse RoI 1805 to indicate the location inside the input image 402 where the coarse RoI 1805 is located. The bounding box 1808 is further remapped according to the original size of the input image 402. In the bounding box region 1808, a square region 1810 may be cropped from the original (highest resolution) image 402. The highest resolution cropped region 1810 may be fed to a second encoder-decoder deep neural network architecture 1812 that may generate a smooth partition 1814 of the coarse RoI 1805 from which one or more measurements may be extracted. As shown in FIG. 19, in addition to distance and angle measurements, texture and color features may also be extracted. To extract such texture and color features, an embodiment of the system may partition the RoI 412. Then, after partitioning, one or more texture and color algorithms 1902, 1904 may be executed by the system to obtain texture and color characteristics 1902-1, 1904-1 in the RoI 412. For example, the texture features may identify the type of texture for the RoI, such as canvas, leather, smooth, shiny, rough, etc.The texture characteristic algorithm 1904 receives a texture type value or indication (e.g., T. 1 ,T 2 , T n For example, the color features may specify different colors, luminance, color, hue, tone, saturation, blurriness, and / or brightness of the RoI 412. The color algorithm 1902 may generate values of different color features (e.g., C 1 ,C 2 ,···C m ) for texture characteristics 1902-1, for example, algorithm 1902 may be Histogram of Oriented Gradient (HOG) and Local Binary Pattern (LBP). For color characteristics 1904, for example, algorithm 1904-1 may be Color Histogram and Color Layout Descriptor (CLD). Any one or combination of the above algorithms 1902, 1904 may be used to generate feature vectors 1902-2, 1904-2 that can be used as input to a classifier or threshold-based distance similarity measure.
[0102] As shown in FIG. 20, an embodiment of the system may determine whether a suspected item is fake or not with respect to threshold features (distance, texture, color, etc.) extracted from a set of representative images of authentic and fake items of the same type of item as the suspected item. That is, for example, if the suspected item is a sneaker model of a particular brand, the representative images represent image data and features of authentic and fake examples of that sneaker model. It will also be appreciated that the representative images can also be used as training data for machine learning based embodiments. To determine whether one or more input images of a suspected item are fake or not, the features of the suspected item are compared to the threshold features from the images of the real / fake items and a selection of the classification ("real" or "fake") having the most similar threshold features to the suspected item (or voting for the K most similar representative images). Such a comparison is performed by measuring the distance D from the suspect input image 402 to all of the known images 2002, 2004, 2006, 2008, 2010, 2012 in the representative set in terms of threshold features (height, texture, color, etc.). As shown in Figure 20, the input image 402 is represented in a central location, with images 2002, 2004, 2006, 2008 (at distances D1, D2, D4, D5) representing genuine examples and images 2008, 2010 (at distances D3, D6) representing fake examples.
[0103] For the three closest images 2010, 2008, 2006 (K=3) shown at distances D6, D3, D4 respectively, there are two fakes and one real among the three images 2010, 2008, 2006, so a fake tag is selected for the input image 402. When the suspect in the input image 402 is described by a feature vector that includes numerical values representing feature measurements, the values for the respective distances D6, D3, D4 from the images 2010, 2008, 2006 can be measured using any suitable distance criterion (Euclidean, cosine, etc.).
[0104] As shown in Figure 21, a distance matrix 2102 may be constructed based on the set of genuine images and behaviors of the input image of the suspect when compared against the genuine image. The behavior of the input image may be represented in the last two rows in the matrix. For each row in the distance matrix 2102, each column in the distance matrix 2102 represents the distance of a representative genuine image (given as the Y-axis label) to all other genuine images in the dataset (only the two shortest distances are kept with other distances replaced by 0.0 in the table). Smaller distances (different from zero) represent the most similar samples.
[0105] As shown in FIG. 22, the encoding path 2200 may be a system architecture process that accepts a 128×128 input image 402 and may have a first convolutional block 2202 that includes two convolutional layers (each layer has 16 filters, kernel size=3, and batch normalization). A max pooling layer may follow and 0.025 dropout may be applied. A second convolutional block 2204 may have two convolutional layers (each layer has 32 filters, kernel size=3, and batch normalization). Again, a max pooling layer is followed and then 0.05 dropout is applied. A third convolutional block 2206 may have two convolutional layers (64 layers per filter, kernel size=3, and batch normalization). A max pooling layer and 0.05 dropout follow the third convolutional block 2206. The fourth convolutional block 2208 may have two convolutional layers (with 128 filters per layer, kernel size=3 and batch normalization), followed by a max pooling layer and 0.05 dropout. The fifth convolutional block 2210 may have two convolutional layers (with 256 filters per layer, kernel size=3 and batch normalization), followed by a max pooling layer followed by 0.05 dropout.
[0106] The decoding path 2212 may have an architecture with a first deconvolutional block 2214 with a deconvolutional layer (transposed convolution) containing 128 filters with a 3×3 kernel, stride of 2 pixels. This result is concatenated with the direct path signal (obtained from the encoder 2200) and processed through a convolutional block 2208 with 128 filters of kernel size 3. The second deconvolutional block 2216 may have a deconvolutional layer (transposed convolution) containing 64 filters with a 3×3 kernel, stride of 2 pixels. This result is concatenated with the direct path signal (obtained from the encoder 2200) and processed through a convolutional block 2206 with 64 filters of kernel size 3. The third deconvolutional block 2218 may have a deconvolutional layer (transposed convolution) containing 32 filters with a 3×3 kernel, stride of 2 pixels. This result is concatenated with the direct path signal (coming from the encoder 2200) and processed through a convolutional block 2204 with 32 filters of kernel size 3. Finally, the final deconvolutional block 2220 uses a deconvolutional layer (transposed convolution) with 16 filters and a 3x3 kernel with a stride of 2 pixels. This result is concatenated with the direct path signal (coming from the encoder 2200) and processed through a convolutional block 2206 with 64 filters of kernel size 3. The resulting signal is then processed through a sigmoid layer with a probability generated for each pixel that each pixel belongs to the RoI 412 or not. In one embodiment, the architecture may be trained using an Adam optimizer and a binary cross-entropy loss function with 2000 epochs with a batch size of 32.
[0107] An embodiment may further include a computer system within which a set of instructions may be executed that causes the device to perform any one or more of the methods described herein. In another example, the device may be connected (e.g., networked) with other devices in a LAN, an intranet, an extranet, and / or the Internet. The device may operate in the capacity of a server or a client device in a client-server network environment, as a peer machine in a peer-to-peer (or distributed) network environment, or as a server or a client device in a cloud computing infrastructure or environment.
[0108] An embodiment may include a machine-readable storage medium (also known as a computer-readable medium) having stored thereon one or more sets of instructions or software that embody one or more of the methods or functions described herein. The term "machine-readable storage medium" should be interpreted as including a single medium or multiple media (e.g., a centralized or distributed database, and / or associated caches and servers) that store one or more sets of instructions. The term "machine-readable storage medium" should also be interpreted as including any medium capable of storing or encoding a set of instructions for execution by a device that causes the device to perform one or more of the methods of the present disclosure. Thus, the term "machine-readable storage medium" should be interpreted as including, but not limited to, solid-state memory, optical media, and magnetic media.
[0109] Some of the preceding detailed descriptions have been presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is herein, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. These operations require physical manipulations of physical quantities. Usually, though not necessarily, these physical quantities take the form of electrical or magnetic signals capable of being stored, combined, compared and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
[0110] It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these physical quantities. Unless otherwise stated, which is clear from the above discussion, descriptions throughout the specification using terms such as "identifying" or "determining" or "executing" or "performing" or "collecting" or "generating" or "transmitting" are understood to refer to operations and processes of a computer system or similar electronic computing device that manipulates data represented as physical (electronic) quantities in the registers and memory of the computer system and converts data into other data that are similarly represented as physical quantities in the memory or registers of the computer system or other such information storage devices.
[0111] The present disclosure also relates to an apparatus for performing the operations herein. The apparatus may be specially configured for the intended purposes. Alternatively, the apparatus may include a general purpose computer selectively activated or reconfigured by a computer program stored within the computer. Such computer programs may be stored on a computer readable storage medium, such as, but not limited to, any type of floppy disk, optical disk, CD-ROM, magneto-optical disk, read-only memory (ROM), random access memory (RAM), EPROM, EEPROM, magnetic or optical card, or any type of medium suitable for storing electronic instructions, each coupled to a computer system bus.
[0112] Various general-purpose systems may be used with programs in accordance with the teachings herein. Alternatively, it may prove convenient to construct more specialized apparatus to carry out the methods. The structure for these various systems is as set forth in the above description. In addition, the present disclosure has not been described with reference to any particular programming language. It will be understood that a variety of programming languages can be used to implement the teachings of the disclosure as described herein.
[0113] In the foregoing disclosure, embodiments of the present disclosure have been described with reference to specific embodiments thereof. It will be apparent that various modifications may be made thereto without departing from the broader spirit and scope of the embodiments of the present disclosure as set forth in the following claims. Accordingly, the present disclosure and drawings are to be regarded in an illustrative and not a restrictive sense.
Claims
1. 1. A computer-implemented method for identifying counterfeit items, comprising: Obtaining at least one input image of a suspect item; identifying one or more regions of interest of the suspect item in the at least one input image; determining measurements for the one or more regions of interest; comparing said measurements to threshold measurements of an article model corresponding to an authentic version of said suspect item; determining whether the suspect item is genuine or counterfeit based on the results of the comparison; In determining the measurements for the one or more regions of interest, For each of the different regions of interest (RoI) extracted from each of the input images according to an encoder-decoder analysis, (i) measuring the distance between various points on the RoI boundary; (ii) constructing an RoI feature vector, each particular distance measurement value corresponding to a feature type in the RoI feature vector; (iii) performing early feature fusion to construct a classification feature vector based on the different RoI feature vectors; A computer-implemented method.
2. identifying one or more regions of interest of the suspect item in the at least one input image; Segmenting different interest regions on the suspect shoe represented in each input image according to an encoder-decoder analysis based on a deep neural network; 2. The computer-implemented method of claim 1.
3. The computer-implemented method of claim 1 , wherein the RoI feature vector for each different region of interest includes multiple feature types, one of which includes an RoI-specific sewn seam width.
4. comparing said measurements to threshold measurements of an article model corresponding to an authentic version of said suspect item; inputting the classification feature vector into a classifier defined according to a machine learning supervised learning model, the classifier being based on attributes of the authentic version of the suspect item; 2. The computer-implemented method of claim 1.
5. determining whether the suspect item is genuine or counterfeit based on the results of the comparison; receiving an authenticity determination from the machine learning supervised learning model based on the input classification feature vector; 2. The computer-implemented method of claim 1.
6. acquiring at least one input image of a suspect item; triggering the acquisition of a number of input images of the suspect shoe from a mobile device, the input images being arranged according to fixed positions inside a physical light box, each of the acquired input images representing (i) a view of a different portion of the suspect shoe and (ii) a number of areas of interest that may correspond to predefined areas of interest of the article model; 2. The computer-implemented method of claim 1.
7. 1. A system including one or more processors and a non-transitory computer readable medium storing a plurality of instructions that, when executed, cause the one or more processors to perform operations, the operations including: Obtaining at least one input image of a suspect item; identifying one or more regions of interest of the suspect item in the at least one input image; determining measurements for the one or more regions of interest; comparing said measurements to threshold measurements of an article model corresponding to an authentic version of said suspect item; determining whether the suspect item is genuine or counterfeit based on the results of the comparison; In determining the measurements for the one or more regions of interest, For each of the different regions of interest (RoI) extracted from each of the input images according to an encoder-decoder analysis, (i) measuring the distance between various points on the RoI boundary; (ii) constructing an RoI feature vector, each particular distance measurement value corresponding to a feature type in the RoI feature vector; (iii) performing early feature fusion to construct a classification feature vector based on the different RoI feature vectors; The system includes:
8. identifying one or more regions of interest of the suspect item in the at least one input image; Segmenting different interest regions on the suspect shoe represented in each input image according to an encoder-decoder analysis based on a deep neural network; The system of claim 7.
9. The system of claim 7 , wherein the RoI feature vector for each different region of interest includes multiple feature types, one of which includes an RoI-specific sewn seam width.
10. comparing said measurements to threshold measurements of an article model corresponding to an authentic version of said suspect item; inputting the classification feature vector into a classifier defined according to a machine learning supervised learning model, the classifier being based on attributes of the authentic version of the suspect item; The system of claim 7.
11. determining whether the suspect item is genuine or counterfeit based on the results of the comparison; receiving a determination of authenticity from a machine learning supervised learning model based on the input classification feature vector; The system of claim 7.
12. acquiring at least one input image of a suspect item; triggering the acquisition of a number of input images of the suspect shoe from a mobile device, the input images being arranged according to fixed positions inside a physical light box, each of the acquired input images representing (i) a view of a different portion of the suspect shoe and (ii) a number of areas of interest that may correspond to predefined areas of interest of the article model; The system of claim 7.
13. 1. A computer program product comprising a non-transitory computer readable medium having computer readable program code embodied therein for execution by one or more processors, the program code comprising: Obtaining at least one input image of a suspect item; identifying one or more regions of interest of the suspect item in the at least one input image; determining measurements for the one or more regions of interest; comparing said measurements to threshold measurements of an article model corresponding to an authentic version of said suspect item; Determine whether the suspect item is genuine or counterfeit based on the results of the comparison. Contains instructions for performing operations; In determining the measurements for the one or more regions of interest, For each of the different regions of interest (RoI) extracted from each of the input images according to an encoder-decoder analysis, (i) measuring the distance between various points on the RoI boundary; (ii) constructing an RoI feature vector, each particular distance measurement value corresponding to a feature type in the RoI feature vector; (iii) performing early feature fusion to construct a classification feature vector based on the different RoI feature vectors; Computer program products.
14. identifying one or more regions of interest of the suspect item in the at least one input image; Segmenting different interest regions on the suspect shoe represented in each input image according to an encoder-decoder analysis based on a deep neural network; 14. A computer program product as claimed in claim 13.
15. 14. The computer program product of claim 13, wherein the RoI feature vector for each different region of interest includes a plurality of feature types, one of which includes an RoI-specific sewn seam width.
16. comparing said measurements to threshold measurements of an article model corresponding to an authentic version of said suspect item; inputting the classification feature vector into a classifier defined according to a machine learning supervised learning model, the classifier being based on attributes of the authentic version of the suspect item; 14. A computer program product as claimed in claim 13.
17. determining whether the suspect item is genuine or counterfeit based on the results of the comparison; receiving an authenticity determination from the machine learning supervised learning model based on the input classification feature vector; 14. A computer program product as claimed in claim 13.
18. acquiring at least one input image of a suspect item; triggering the acquisition of a number of input images of the suspect shoe from a mobile device, the input images being arranged according to fixed positions inside a physical light box, each of the acquired input images representing (i) a view of a different portion of the suspect shoe and (ii) a number of areas of interest that may correspond to predefined areas of interest of the article model; 14. A computer program product as claimed in claim 13.
Citation Information
Patent Citations
Authenticating objects using machine learning from microscopic differences
JP2017520864A
System and method for detecting the authenticity of products
US20180349695A1