IP Library Granted Patent US 12,373,659
Granted Patent B2
US 12,373,659 · App. 18/739,244 · Granted Jul 29, 2025

Decoding of linear barcodes under unfavorable conditions

Inventors: Ivan Zagaynov (Dolgoprudniy, RU); Dmitry Zvonarev (Sarapul, RU); Maksim Baranchikov (Moscow, RU)
Assignee: ABBYY Development Inc.
G06K7/1447G06K7/1452G06T5/40
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,373,659
App. No.
18/739,244
Granted
Jul 29, 2025
Kind
B2
Abstract

Aspects and implementations provide for mechanisms of detection and decoding of barcodes in images. The disclosed techniques include estimating dimensions of a module of a barcode based on geometric characteristics of a barcode image, forming hypotheses that group modules into barcode symbols, and assessing viability of formed hypotheses. Various operations of the techniques may involve the use of neural networks, including estimation of module dimensions and assessment of groupings of modules into lines and lines into barcode symbols. The techniques may be used for decoding of barcodes captured in images of unfavorable conditions, including blur, perspective, sub-optimal lighting, barcode deformation, and the like. The techniques may be applied to decoding linear one-dimensional barcodes, two-dimensional barcodes, and stacked linear barcodes.

Claims (61)

1. A method comprising:

identifying, based on a histogram of pixel intensities for a barcode image (BI), a set of lines of the BI;

generating one or more hypotheses, each hypothesis grouping the set of lines of the BI into a plurality of candidate symbols;

determining, for each of the one or more hypotheses, a plurality of similarity factors (SFs), wherein each SF characterizes similarity of a respective candidate symbol of the plurality of candidate symbols to one of a set of barcode reference symbols;

selecting, using one or more pluralities of SFs determined for the one or more hypotheses, a final hypothesis; and

decoding the BI using the final hypothesis.

2. The method of claim 1 , wherein the one or more hypotheses comprise a hypothesis with one or more lines of the set of lines of the BI removed.

3. The method of claim 2 , wherein the one or more removed lines comprise at least one line that is adjacent to an edge of the BI.

4. The method of claim 1 , wherein selecting the final hypothesis comprises:

estimating, for an individual hypothesis of the one or more hypotheses, a plurality of module widths; and

evaluating viability of the individual hypothesis based at least on the plurality of module widths.

5. The method of claim 4 , wherein evaluating viability of the individual hypothesis comprises:

computing a ratio of at least two module widths of the plurality of module widths; and

determining, using the computed ratio, whether the individual hypothesis is to be retained or eliminated.

6. The method of claim 1 , wherein determining the plurality of SFs for an individual hypothesis comprises:

transforming a candidate symbol of the plurality of candidate symbols of the individual hypothesis, by at least one of shifting of the candidate symbol or rescaling the candidate symbol; and

determining the SF for the transformed candidate symbol based on a degree of correlation of the transformed candidate symbol to a barcode reference symbol.

7. The method of claim 1 , wherein selecting the final hypothesis comprises:

aggregating, for an individual hypothesis of the one or more hypotheses, the plurality of SFs determined for the individual hypothesis to obtain an aggregated SF; and

selecting the final hypothesis based on the aggregated SFs.

8. A system comprising:

a memory; and

a processing device operatively coupled to the memory, the processing device to:

identify, based on a histogram of pixel intensities for a barcode image (BI), a set of lines of the BI;

generate one or more hypotheses, each hypothesis grouping the set of lines of the BI into a plurality of candidate symbols;

determine, for each of the one or more hypotheses, a plurality of similarity factors (SFs), wherein each SF characterizes similarity of a respective candidate symbol of the plurality of candidate symbols to one of a set of barcode reference symbols;

select, using one or more pluralities of SFs determined for the one or more hypotheses, a final hypothesis; and

decode the BI using the final hypothesis.

9. The system of claim 8 , wherein the one or more hypotheses comprise a hypothesis with one or more lines of the set of lines of the BI removed.

10. The system of claim 9 , wherein the one or more removed lines comprise at least one line that is adjacent to an edge of the BI.

11. The system of claim 9 , wherein to select the final hypothesis, the processing device is to:

estimate, for an individual hypothesis of the one or more hypotheses, a plurality of module widths; and

evaluate viability of the individual hypothesis based at least on the plurality of module widths.

12. The system of claim 11 , wherein to evaluate viability of the individual hypothesis, the processing device is to:

compute a ratio of at least two module widths of the plurality of module widths; and

determine, using the computed ratio, whether the individual hypothesis is to be retained or eliminated.

13. The system of claim 9 , wherein to determine the plurality of SFs for an individual hypothesis, the processing device is to:

transform a candidate symbol of the plurality of candidate symbols of the individual hypothesis, by at least one of shifting of the candidate symbol or rescaling the candidate symbol; and

determine the SF for the transformed candidate symbol based on a degree of correlation of the transformed candidate symbol to a barcode reference symbol.

14. The system of claim 9 , wherein to select the final hypothesis, the processing device is to:

aggregate, for an individual hypothesis of the one or more hypotheses, the plurality of SFs determined for the individual hypothesis to obtain an aggregated SF; and

select the final hypothesis based on the aggregated SFs.

15. A non-transitory machine-readable storage medium storing instructions that, when accessed by a processing device, cause the processing device to:

identify, based on a histogram of pixel intensities for a barcode image (BI), a set of lines of the BI;

generate one or more hypotheses, each hypothesis grouping the set of lines of the BI into a plurality of candidate symbols;

determine, for each of the one or more hypotheses, a plurality of similarity factors (SFs), wherein each SF characterizes similarity of a respective candidate symbol of the plurality of candidate symbols to one of a set of barcode reference symbols;

select, using one or more pluralities of SFs determined for the one or more hypotheses, a final hypothesis; and

decode the BI using the final hypothesis.

16. The non-transitory machine-readable storage medium of claim 15 , wherein the one or more hypotheses comprise a hypothesis with one or more lines of the set of lines of the BI removed.

17. The non-transitory machine-readable storage medium of claim 16 , wherein to select the final hypothesis, the processing device is to:

estimate, for an individual hypothesis of the one or more hypotheses, a plurality of module widths; and

evaluate viability of the individual hypothesis based at least on the plurality of module widths.

18. The non-transitory machine-readable storage medium of claim 17 , wherein to evaluate viability of the individual hypothesis, the processing device is to:

compute a ratio of at least two module widths of the plurality of module widths; and

determine, using the computed ratio, whether the individual hypothesis is to be retained or eliminated.

19. The non-transitory machine-readable storage medium of claim 15 , wherein to determine the plurality of SFs for an individual hypothesis, the processing device is to:

transform a candidate symbol of the plurality of candidate symbols of the individual hypothesis, by at least one of shifting of the candidate symbol or rescaling the candidate symbol; and

determine the SF for the transformed candidate symbol based on a degree of correlation of the transformed candidate symbol to a barcode reference symbol.

20. The non-transitory machine-readable storage medium of claim 15 , wherein to select the final hypothesis, the processing device is to:

aggregate, for an individual hypothesis of the one or more hypotheses, the plurality of SFs determined for the individual hypothesis to obtain an aggregated SF; and

select the final hypothesis based on the aggregated SFs.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2024
From: ZAGAYNOV, IVAN; ZVONAREV, DMITRY; BARANCHIKOV, MAKSIM
To: ABBYY DEVELOPMENT INC.
Reel/Frame 068782/0517 →
Continuity (2)
Continuation 17744899 · May 16, 2022
Related Publication 20240330630A1 · Oct 3, 2024
References Cited (13)
US 10198648B1 · Bradley et al. · 2019 [cited by applicant]
US 10699089B2 · Bachelder et al. · 2020 [cited by applicant]
US 20070242883A1 · Kruppa · 2007 [cited by applicant]
US 20130240628A1 · Van Der Merwe et al. · 2013 [cited by applicant]
US 20160140374A1 · Ye · 2016 [cited by examiner]
US 20190244043A1 · Bradley et al. · 2019 [cited by applicant]
CN 104200188A · 2014 [cited by applicant]
CN 107908996A · 2018 [cited by applicant]
CN 109886059A · 2019 [cited by applicant]
Katona M., et al., “Distance Transform and Template Matching Based Methods for Localization of Barcodes and QR Codes,” Computer Science and Information Systems, Sep. 10, 2019, vol. 17 (1), pp. 161-179. [cited by applicant]
Svarnovics V., “DataMatrix Barcode Read Rate Improvement Using Image Enhancement,” Department of Computer Vision and Biometrics, University of Twente, 2021, pp. 1-13. [cited by applicant]
Wudhikarn R., et al., “Deep Learning in Barcode Recognition: A Systematic Literature Review”, IEEE Access, Jan. 13, 2022, vol. 10, pp. 8049-8072. [cited by applicant]
Zhao Q., et al., “Deep Dual Pyramid Network for Barcode Segmentation Using Barcode-30k Database,” Jul. 31, 2018, pp. 1-13. [cited by applicant]