# US 10,769,399 B2 · Method for improper product barcode detection

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,769,399 B2
- Document ID: US10769399B2
- Status: Granted
- Kind: B2
- Application number: 16/224,471
- Filed: 2018-12-18
- Published: 2020-06-18
- Granted: 2020-09-08
- Earliest claimed: 2018-12-18
- Assignees: Zebra Technologies Corporation
- Applicants: Zebra Technologies Corporation
- Inventors: Robert James Pang; Sajan Wilfred; Christopher J. Fjellstad; Przemyslaw Kowalewski
- Web page: https://patentgrep.com/patent/US10769399B2

## CPC

- G06K 7/1439: {including a method step for retrieval of the optical code}
- G06K 17/0022: {arrangements or provisions for transferring data to distant stations, e.g. from a sensing device ("transfer between computer elements G06F13/00 "; data-transmission H04L)}
- G06K 7/10722: {Photodetector array or CCD scanning}
- G06K 7/1413: {1D bar codes}
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/08: Learning methods
- G06N 3/0895: Weakly supervised learning, e.g. semi-supervised or self-supervised learning
- G06N 3/09: Supervised learning
- G06K 7/10861: {sensing of data fields affixed to objects or articles, e.g. coded labels (postal sorting B07C3/14, conveying articles B65G47/48)}
- G06K 7/1482: {using fuzzy logic or natural solvers, such as neural networks, genetic algorithms and simulated annealing}
- G06N 3/045: Combinations of networks
- G06K: GRAPHICAL DATA READING (image or video recognition or understanding G06V); PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Techniques are provided for detecting an improper barcode using a neural network trained to identify an object from physical features appearing in images of object, and without resorting to using a barcode or other indicia to identify the object. The neural network is self-training, updating itself with selected images obtained at a Point-of-Sale. That is, the neural network is capable of training itself while performing improper barcode detection operations, such as spoofing detection.

## Claims

### Claim 1

A computer-implemented method for improper objection detection, the method comprising:
receiving, at one or more processors, an image of an object and initial object identification data, the image captured by an image scanner;
determining if the initial object identification data corresponds to a lower priority object, using an object priority heuristic;
responsive to the initial object identification data corresponding to the lower priority object, excluding the received image from being provided to a trained neural network; and
responsive to the initial object identification data not corresponding to the lower priority object, providing the image to the trained neural network for analysis,
wherein the analysis includes:
analyzing, in a trained neural network, physical features of the object and determining an object identification data associated with the object based on the physical features and determining a confidence level indication corresponding to the certainty of the object identification data determined by the trained neural network; and
when the confidence level indication is in a first range of values, communicating an authorization signal having the object identification data, and when the confidence level indication is in a second range of values, communicating a failed authorization signal.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
when the confidence level indication is in the first range of values, updating the trained neural network with the image.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein receiving initial object identification data comprises receiving decoded indicia data object from the image and determining the initial object identification data from the decoded indicia data.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein identifying the physical features of the object from the image comprises:
segmenting the image into the object portion of the image and the non-object portion of the image and identifying the physical features from the object portion of the image.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, wherein the segmenting the image comprises;
performing an edge detecting on the image to identifying the object portion; and
providing a bounding box around the object portion to identify separation of the object portion from the non-object portion.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the physical features comprise shape of the object, size of the object, and/or color of the object, images on the object, and text on the object.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, further comprising:
receiving, at the one or more processors, a plurality of images of an object captured by the image scanner or by a plurality of image scanners, wherein at least some of the plurality of images capture the object at different orientations, under different illumination, and/or under different zoom levels; and
identifying, at the one or more processors, physical features of the object in each of the plurality of images and providing the images with the identified physical features to the trained neural network.

### Claim 8 (depends on 7)

The computer-implemented method of claim 7, wherein the plurality of images are each captured from the same image scanner.

### Claim 9 (depends on 7)

The computer-implemented method of claim 7, wherein the plurality of images are each captured by a bioptic scanner.

### Claim 10 (depends on 7)

The computer-implemented method of claim 7, wherein the plurality of images are each frames of color video captured by the bioptic scanner.

### Claim 11 (depends on 7)

The computer-implemented method of claim 7, wherein the plurality of images are each captured from a different image scanner.

### Claim 12 (depends on 1)

The computer-implemented method of claim 1, further comprising:
generating, at the one or more processors, a plurality of renditions of the image of the object, each rendition being an image-based transformation of the image; and
identifying, at the one or more processors, physical features of the object in each of the renditions of the image and providing the renditions with the identified physical features to the trained neural network.

### Claim 13 (depends on 12)

The computer-implemented method of claim 12, wherein image-based transformation is a skew transformation, a rotation transformation, a blurring transformation, a color transformation, darkness/brightness transform, addition of noise, and/or crumble or squeeze transform.

### Claim 14 (depends on 1)

The computer-implemented method of claim 1, further comprising:
analyzing, at the one or more processors, the identified physical features of the object from the image and determining a diversity assessment of the image; and
when the diversity assessment is below a desired image diversity, generating, at the one or more processors, one or more renditions of the image of the object, where each rendition is generated by applying a different image-based transformation to the image; and
identifying, at the one or more processors, physical features of the object in each rendition of the image and providing the one or more renditions with the identified physical features to the trained neural network.

### Claim 15 (depends on 14)

The computer-implemented method of claim 14, wherein image-based transformation is a skew transformation, a rotation transformation, a blurring transformation, a color transformation, darkness/brightness transform, addition of noise, and/or crumble or squeeze transform.

### Claim 16 (depends on 1)

The computer-implemented method of claim 1, wherein the trained neural network is a convolutional neural network.

### Claim 17

A computer-implemented method for improper objection detection, the method comprising:
receiving, at one or more processors, an image of an object, the image captured by an image scanner;
analyzing, in a trained neural network, physical features of the object and determining an object identification data associated with the object based on the physical features and determining a confidence level indication corresponding to the certainty of the object identification data determined by the trained neural network;
when the confidence level indication is in a first range of values, communicating an authorization signal having the object identification data, and when the confidence level indication is in a second range of values, communicating a failed authorization signal;
analyzing, at the one or more processors, the identified physical features of the object from the image and determining a diversity assessment of the image;
when the diversity assessment is below a desired image diversity, generating, at the one or more processors, one or more renditions of the image of the object, where each rendition is generated by applying a different image-based transformation to the image; and
identifying, at the one or more processors, physical features of the object in each rendition of the image and providing the one or more renditions with the identified physical features to the trained neural network.
