IP Library Granted Patent US 12,412,147
Granted Patent B2
US 12,412,147 · App. 17/685,000 · Granted Sep 9, 2025

On-shelf image based barcode reader for inventory management system

Inventor: Francois Chaubard (Millbrae, CA)
Assignee: Focal Systems, Inc.
G06Q10/087G06K7/1413G06K7/1417G06T3/4076G06V10/25G06V10/82G06V20/52G06V30/1448
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,412,147
App. No.
17/685,000
Granted
Sep 9, 2025
Kind
B2
Abstract

An inventory visibility management system utilizes fixed or motorized cameras to scan inventory bearing shelves in a backroom or warehouse of a store, as opposed to store shelves where merchandise is available for purchase, for inventory frequently to keep the system up to date on what boxes of inventory are on the shelf, what is in those boxes and where those boxes are on the shelf. The system may identify a bounding polygon around an identifier corresponding to the product and apply the bounding polygon to a machine-learned model, which may generate a high-resolution crop of the identifier as output. The system registers the identifier to the first bounding polygon and to a location associated with cameras that captured the plurality of low-resolution images. Upon receiving a request from a client device, the system may provide the location associated with the one or more cameras to the client device.

Claims (56)

1. A method comprising:

receiving a plurality of low-resolution images captured by one or more low-resolution cameras in a warehouse, each of the images including at least a portion of a singular product box, the plurality of low-resolution images having a resolution lower than a predetermined threshold, wherein the singular product box includes a plurality of units of a particular product for restocking the particular product from the warehouse onto a customer-facing product shelf;

pre-processing the low-resolution images resulting in a plurality of pre-processed images;

identifying, in each respective one of the plurality of pre-processed images, a first bounding polygon that surrounds the singular product box, and a second bounding polygon that surrounds an identifier labeled on the singular product box, wherein the second bounding polygon is surrounded by the first bounding polygon;

applying at least the second bounding polygons from each of the pre-processed images to a machine-learned model and receiving as output from the machine-learned model a high-resolution crop of the identifier, wherein the high-resolution crop is generated by the machine-learned model using at least a first one and a second one of the pre-processed low-resolution images, the first and second images having an overlapping field of view that includes at least the portion of the singular product box, the first and second image being captured within a threshold distance or a threshold time of each other;

decoding the identifier;

registering the identifier to the first bounding polygon and to a location in the warehouse that is associated with the one or more low-resolution cameras that captured the plurality of low-resolution images;

receiving a request from a client device to locate in the warehouse, the particular product associated with the identifier; and

in response to receiving the request, providing the location in the warehouse associated with the one or more low-resolution cameras to the client device.

2. The method of claim 1 , wherein the pre-processing further comprises removing pixels corresponding to humans from the low-resolution images prior to applying to the machine-learned model.

3. The method of claim 1 , wherein the pre-processing further comprises removing occlusions blocking the product from the low-resolution images prior to applying to the machine-learned model.

4. The method of claim 1 , wherein a merge algorithm is used to merge the plurality of low-resolution images into a single high-resolution image, the merge algorithm producing homography estimation for each pair of low-resolution images, wherein the high-resolution image has a resolution higher than the plurality of low-resolution images.

5. The method of claim 4 , wherein the merge algorithm is applied using a CNN (convolutional neural network) or Sobel Algorithm with a classifier for each low-resolution image.

6. The method of claim 1 , wherein registering the identifier comprises:

extracting features from an image pair comprising a first image and a second image, the first image having an overlapping FOV (field of view) with the second image;

calculating a homography and determining a quality of the homography; and

registering the second image to the first image.

7. The method of claim 1 , further comprising:

responsive to delivery of a batch of the product, determining whether the batch of the product fits in a first location; and

responsive to determining that the batch of the product does not fit in the first location, transmitting an alert to a person to divert the batch of the product to a second location for storage.

8. The method of claim 1 , wherein each of the one or more low-resolution cameras is a striding camera that takes a stop each time the camera finishes traveling a predetermined distance, wherein the camera takes an image at each stop.

9. The method of claim 8 , wherein the striding cameras are powered by cable or wireless charging.

10. A non-transitory computer-readable storage medium comprising memory with executable computer instructions encoded thereon that, when executed by one or more processors, cause the one or more processors to perform operations, the instructions comprising instructions to:

receive a plurality of low-resolution images captured using one or more low-resolution cameras in a warehouse, each of the images including at least a portion of a singular product box, the plurality of low-resolution images having a resolution lower than a predetermined threshold, wherein the singular product box includes a plurality of units of a particular product for restocking the particular product from the warehouse onto a customer-facing product shelf;

pre-process the low-resolution images resulting in a plurality of pre-processed images;

identify, in each respective one of the plurality of pre-processed images, a first bounding polygon that surrounds the singular product box, and a second bounding polygon that surrounds an identifier labeled on the singular product box, wherein the second bounding polygon is surrounded by the first bounding polygon;

apply at least the second bounding polygons from each of the pre-processed images to a machine-learned model and receive as output from the machine-learned model a high-resolution crop of the identifier, wherein the high-resolution crop is generated by the machine-learned model using at least a first one and a second one of the pre-processed low-resolution images, the first and second images having an overlapping field of view that includes at least the portion of the singular product box, the first and second image being captured within a threshold distance or a threshold time of each other;

decode the identifier;

register the identifier to the first bounding polygon and to a location in the warehouse that is associated with the one or more low-resolution cameras that captured the plurality of low-resolution images;

receive a request from a client device to locate in the warehouse, the particular product associated with the identifier; and

provide the location in the warehouse associated with the one or more low-resolution cameras to the client device upon receipt of the request.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the instructions to pre-process further comprises instructions that when executed cause the one or more processors to remove pixels corresponding to humans from the low-resolution images prior to applying to the machine-learned model.

12. The non-transitory computer-readable storage medium of claim 10 , wherein the instructions to pre-process further comprises instructions that when executed cause the one or more processors to remove occlusions blocking the product from the low-resolution images prior to applying to the machine-learned model.

13. The non-transitory computer-readable storage medium of claim 10 , wherein a merge algorithm is used to merge the plurality of low-resolution images into a single high-resolution image, the merge algorithm producing homography estimation for each pair of low-resolution images, wherein the high-resolution image has a resolution higher than the plurality of low-resolution images.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the merge algorithm is applied using a CNN (convolutional neural network) or Sobel Algorithm with a classifier for each low-resolution image.

15. The non-transitory computer-readable storage medium of claim 10 , wherein the instruction to register the identifier further comprises instructions that when executed cause the one or more processors to:

extract features from an image pair comprising a first image and a second image, the first image having an overlapping FOV (field of view) with the second image;

calculate a homography and determining a quality of the homography; and

register the second image to the first image.

16. The non-transitory computer-readable storage medium of claim 10 , wherein the memory further comprises instructions that when executed cause the one or more processors to:

determine whether a batch of the product fits in a first location upon delivery of the batch of the product; and

transmit an alert to a person to divert the batch of the product to a second location for storage upon determining that the batch of the product does not fit in the first location.

17. The non-transitory computer-readable storage medium of claim 10 , wherein each of the one or more low-resolution cameras is a striding camera that takes a stop each time the camera finishes traveling a predetermined distance, wherein the camera takes an image at each stop.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the striding cameras are powered by cable or wireless charging.

19. A computing system comprising:

a processor; and

a non-transitory computer-readable storage medium storing instructions for managing inventory visibility, the instructions when executed by the processor cause the processor to perform steps including:

receiving a plurality of low-resolution images captured using one or more low-resolution cameras in a warehouse, each of the images including at least a portion of a singular product box, the plurality of low-resolution images having a resolution lower than a predetermined threshold, wherein the singular product box includes a plurality of units of a particular product for restocking the particular product from the warehouse onto a customer-facing product shelf;

pre-processing the low-resolution images resulting in a plurality of pre-processed images;

identifying, in each respective one of the plurality of pre-processed images, a first bounding polygon that surrounds the singular product box, and a second bounding polygon that surrounds an identifier labeled on the singular product box, wherein the second bounding polygon is surrounded by the first bounding polygon;

applying at least the second bounding polygons from each of the pre-processed images to a machine-learned model and receiving as output from the machine-learned model a high-resolution crop of the identifier, wherein the high-resolution crop is generated by the machine-learned model using at least a first one and a second one of the pre-processed low-resolution images, the first and second images having an overlapping field of view that includes at least the portion of the singular product box, the first and second image being captured within a threshold distance or a threshold time of each other;

decoding the identifier;

registering the identifier to the first bounding polygon and to a location in the warehouse that is associated with the one or more low-resolution cameras that captured the plurality of low-resolution images;

receiving a request from a client device to locate in the warehouse, the particular product associated with the identifier; and

in response to receiving the request, providing the location in the warehouse associated with the one or more low-resolution cameras to the client device.

20. The computing system of claim 19 , wherein the pre-processing further comprises removing pixels corresponding to humans from the low-resolution images prior to applying to the machine-learned model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2023
From: CHAUBARD, FRANCOIS
To: FOCAL SYSTEMS, INC.
Reel/Frame 062434/0145 →
Continuity (2)
Provisional Application 63156889 · Mar 4, 2021
Related Publication 20220284383A1 · Sep 8, 2022
References Cited (24)
US 10949799B2 · Chaubard · 2021 [cited by applicant]
US 11694456B2 · Ma · 2023 [cited by examiner]
US 20110172822A1 · Ziegler · 2011 [cited by examiner]
US 20140240467A1 · Petyushko · 2014 [cited by examiner]
US 20150170405A1 · Hu · 2015 [cited by examiner]
US 20150193909A1 · Maayan et al. · 2015 [cited by applicant]
US 20150248591A1 · Shi · 2015 [cited by examiner]
US 20170103515A1 · Hulth · 2017 [cited by applicant]
US 20170262795A1 · Thapa · 2017 [cited by examiner]
US 20180005035A1 · Bogolea et al. · 2018 [cited by applicant]
US 20190034864A1 · Skaff · 2019 [cited by examiner]
US 20190188879A1 · Shen · 2019 [cited by examiner]
US 20190279017A1 · Graham · 2019 [cited by examiner]
US 20190347508A1 · Hari et al. · 2019 [cited by applicant]
US 20200005225A1 · Chaubard · 2020 [cited by applicant]
US 20200061839A1 · Deyle et al. · 2020 [cited by applicant]
US 20200074394A1 · Fisher · 2020 [cited by examiner]
US 20200202177A1 · Buibas et al. · 2020 [cited by applicant]
US 20220366578A1 · Dolev · 2022 [cited by examiner]
K. Higashiura et al., “Semi-Automated Framework for Digitalizing Multi-Product Warehouses with Large Scale Camera Arrays,” 2024 IEEE International Conference on Pervasive Computing and Communications (PerCom), Biarritz,… [cited by examiner]
Detone, D. et al., “Deep Image Homography Estimation,” arXiv:1606.03798v1, Jun. 13, 2016, pp. 1-6. [cited by applicant]
PCT Invitation to Pay Additional Fees, PCT Application No. PCT/US22/18508, Jun. 9, 2022, two pages. [cited by applicant]
PCT International Search Report and Written Opinion, PCT Application No. PCT/US22/18508, Aug. 3, 2022, 20 pages. [cited by applicant]
United States Office Action, U.S. Appl. No. 17/685,004, filed Dec. 27, 2023, 19 pages. [cited by applicant]