IP Library Granted Patent US 12,333,491
Granted Patent B1
US 12,333,491 · App. 18/302,733 · Granted Jun 17, 2025

Determining inventory changes at an inventory location

Inventors: Xiaofeng Ren (Yarrow Point, WA); Avishkar Misra (Redmond, WA); Ohil Krishnamurthy Manyam (Bothell, WA); Liefeng Bo (Seattle, WA); Sudarshan Narasimha Raghavan (Snoqualmie, WA); Christopher Robert Towers (Seattle, WA); Gopi Prashanth Gopal (Redmond, WA); Yasser Baseer Asmi (Redmond, WA)
Assignee: Amazon Technologies, Inc.
G06Q10/087G06F18/23G06V10/751G06V10/758G06V20/52H04L67/10G06V2201/10H04L67/12
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,333,491
App. No.
18/302,733
Granted
Jun 17, 2025
Kind
B1
Abstract

Described is a system for counting stacked items using image analysis. In one implementation, an image of an inventory location with stacked items is obtained and processed to determine the number of items stacked at the inventory location. In some instances, the item closest to the camera that obtains the image may be the only item viewable in the image. Using image analysis, such as depth mapping or Histogram of Oriented Gradients (HOG) algorithms, the distance of the item from the camera and the shelf of the inventory location can be determined. Using this information, and known dimension information for the item, a count of the number of items stacked at an inventory location may be determined.

Claims (86)

1. A computing system, comprising:

a processor; and

a memory coupled to the processor and storing program instructions that, when executed by the processor, cause the processor to at least:

receive from a camera a first image of an inventory location,

determine a plurality of features in the first image;

compare each of the plurality of features with a model corresponding to an item type associated with the inventory location;

determine, based at least in part on the comparison, a number of the plurality of features of the first image;

determine a first item count based at least in part on the number of the plurality of features;

detect an occurrence of an activity at the inventory location;

receive from the camera a second image of the inventory location,

and

determine a difference in at least one of:

the first item count represented in the first image and a second item count represented in the second image; or

a change in a position of at least one item represented in at least one of the first image or the second image.

2. The computing system of claim 1 , wherein the change in the position of the at least one item is an absence of the at least one item in the second image.

3. The computing system of claim 1 , wherein:

the second item is not included in the first image; and

it is determined that the first item has been removed based at least in part on the position of the second item.

4. The computing system of claim 1 , wherein:

the model is a histogram of oriented gradients (“HOG”) model; and

the HOG model is generated from an image of an item of the item type at a known distance and position with respect to a second camera.

5. The computing system of claim 1 , wherein the program instructions that, when executed by the processor, further cause the processor to at least:

determine that the difference between the first item count and the second item count is zero; and

determine that no action occurred during the activity.

6. The computing system of claim 1 , wherein:

the program instructions that, when executed by the processor, further cause the processor to at least, receive first depth information corresponding to a first position of the first item represented in the first image with respect to the camera; and

the program instructions that cause the processor to determine the first item count, further cause the processor to at least, determine the first item count based at least in part on the number of the plurality of features and the first depth information.

7. A computer-implemented method, comprising:

determining a plurality of features of a first image of an inventory location, the first image generated at a first time;

comparing each of the plurality of features with a model corresponding to an item type;

determining a first item count of items at the inventory location based at least in part on comparing each of the plurality of features with the model;

detecting, at a second time that is subsequent to the first time, an occurrence of an activity at the inventory location;

obtaining, subsequent to the second time, a second image of the inventory location; and

determining a difference in at least one of:

the first item count and a second item count of items at the inventory location, as determined from the second image; or

a change in a position of at least one item represented in at least one of the first image or the second image.

8. The computer-implemented method of claim 7 , further comprising:

determining the change in the position of the at least one item based at least in part on an absence of the at least one item in the second image.

9. The computer-implemented method of claim 7 , further comprising:

determining that a second item is not included in the first image; and

determining that the first item has been removed based at least in part on a second position of the second item in the second image.

10. The computer-implemented method of claim 7 , further comprising:

determining that the difference between the first item count and the second item count is that the first item count is greater than the second item count; and

in response to determining that the first item count is greater than the second item count, determining that an item pick action occurred during the activity.

11. The computer-implemented method of claim 7 , further comprising:

determining, from the second image, the second item count.

12. The computer-implemented method of claim 11 , wherein determining the second item count includes:

generating, from the second image, a first feature vector of a logo represented by a first plurality of pixels of the second image;

generating, from the second image, a second feature vector of the logo represented by a second plurality of pixels of the second image;

determining that the first feature vector and the second feature vector correspond to the first item represented in the second image; and

determining the second item count includes counting the first item as a single item.

13. The computer-implemented method of claim 12 , further comprising:

determining a first depth information corresponding to a first position of the first item represented in the first image; and

determining a second depth information corresponding to a second position of a second item represented in the second image; and

wherein determining the first feature vector and the second feature vector correspond to the first item further includes:

determining, based at least in part on the second depth information, that the logo represented by the first plurality of pixels is positioned on a front of the first item.

14. The computer-implemented method of claim 7 , further comprising:

determining a first depth information corresponding to a first position of the first item represented in the first image; and

determining the first item count based at least in part on the first depth information and based at least in part on comparing each of the plurality of features with the model, wherein the model is a histogram of oriented gradients (“HOG”) model.

15. A method, comprising:

receiving a pre-activity image of an inventory location;

detecting an activity at the inventory location;

determining a plurality of features in the pre-activity image;

comparing each of the plurality of features with a model corresponding to an item type;

determining a first item count based at least in part on comparing each of the plurality of features with the model;

receiving a post-activity image of the inventory location, wherein:

the pre-activity image is generated before the activity; and

the post-activity image is generated after the activity; and

determining a difference in at least one of:

a first item count of items at the inventory location, as determined from the pre-activity image, and a second item count of items at the inventory location, as determined from the post-activity image; or

a change in a position of at least one item represented in at least one of the pre-activity image or the post-activity image.

16. The method of claim 15 , further comprising:

determining that the difference between the first item count and the second item count is that the first item count is less than the second item count; and

in response to determining that the first item count is less than the second item count, determining that an item place action occurred during the activity.

17. The method of claim 15 , further comprising:

comparing pixels of adjacent video frames of the inventory location to determine the activity.

18. The method of claim 15 , further comprising:

monitoring at least one of a pressure sensor, a load cell, a radio frequency identification (“RFID”) tag reader, or a motion sensor for the change.

19. The method of claim 15 , further comprising:

receiving a pre-activity depth information of the inventory location generated before the activity; and

receiving a post-activity depth information of the inventory location generated after the activity; and

wherein the position of the at least one item represented in at least one of the pre-activity image or the post-activity image is determined based at least in part on one or more of the pre-activity depth information and the post-activity depth information.

20. The method of claim 19 , further comprising:

determining, based at least in part on the pre-activity depth information, that the comparing has resulted in a duplicate count of at least one item; and

eliminating the duplicate count from the first item count.

21. The method of claim 15 , wherein the model is a histogram of oriented gradients (“HOG”) model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2023
From: REN, XIAOFENG; MISRA, AVISHKAR; MANYAM, OHIL KRISHNAMURTHY; BO, LIEFENG; RAGHAVAN, SUDARSHAN NARASIMHA; TOWERS, CHRISTOPHER ROBERT; GOPAL, GOPI PRASHANTH; ASMI, YASSER BASEER
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 063367/0500 →
Continuity (3)
Continuation 17011866 · Sep 3, 2020
Continuation 16195016 · Nov 19, 2018
Continuation 14578021 · Dec 19, 2014
References Cited (58)
US 6164537A · Mariani · 2000 [cited by examiner]
US 7225980B2 · Ku et al. · 2007 [cited by applicant]
US 7693758B1 · Bacco et al. · 2010 [cited by applicant]
US 7949568B2 · Fano et al. · 2011 [cited by applicant]
US 8009864B2 · Linaker et al. · 2011 [cited by applicant]
US 8091782B2 · Cato · 2012 [cited by examiner]
US 8175925B1 · Rouaix · 2012 [cited by applicant]
US 8189855B2 · Opalach et al. · 2012 [cited by applicant]
US 8423431B1 · Rouaix et al. · 2013 [cited by applicant]
US 8473374B2 · Allison · 2013 [cited by examiner]
US 8630924B2 · Groenevelt et al. · 2014 [cited by applicant]
US 8688598B1 · Shakes et al. · 2014 [cited by applicant]
US 9120621B1 · Curlander et al. · 2015 [cited by applicant]
US 9152862B2 · Ross et al. · 2015 [cited by applicant]
US 9202117B2 · Kundu · 2015 [cited by examiner]
US 9245170B1 · Nikic · 2016 [cited by examiner]
US 9367770B2 · Footen · 2016 [cited by applicant]
US 9367831B1 · Besehanic · 2016 [cited by examiner]
US 9473747B2 · Kobres et al. · 2016 [cited by applicant]
US 9501916B2 · Rasband · 2016 [cited by examiner]
US 9697709B2 · King · 2017 [cited by examiner]
US 10169660B1 · Ren · 2019 [cited by examiner]
US 10789483B1 · Ren · 2020 [cited by examiner]
US 11663829B1 · Ren · 2023 [cited by examiner]
US 20030002712A1 · Steenburgh et al. · 2003 [cited by applicant]
US 20040181467A1 · Raiyani et al. · 2004 [cited by applicant]
US 20050021425A1 · Casey · 2005 [cited by examiner]
US 20080055087A1 · Horii · 2008 [cited by examiner]
US 20080077511A1 · Zimmerman · 2008 [cited by applicant]
US 20080082426A1 · Gokturk · 2008 [cited by examiner]
US 20080109114A1 · Orita et al. · 2008 [cited by applicant]
US 20080306787A1 · Hamilton · 2008 [cited by examiner]
US 20090063307A1 · Groenovelt · 2009 [cited by examiner]
US 20090121017A1 · Cato et al. · 2009 [cited by applicant]
US 20090245573A1 · Saptharishi et al. · 2009 [cited by applicant]
US 20110011936A1 · Morandi et al. · 2011 [cited by applicant]
US 20120046044A1 · Jamtgaard · 2012 [cited by examiner]
US 20120140987A1 · Singh · 2012 [cited by examiner]
US 20120284132A1 · Kim et al. · 2012 [cited by applicant]
US 20120323620A1 · Hofman · 2012 [cited by examiner]
US 20130076898A1 · Philippe et al. · 2013 [cited by applicant]
US 20130253700A1 · Carson et al. · 2013 [cited by applicant]
US 20140003729A1 · Auclair · 2014 [cited by examiner]
US 20140279294A1 · Field-Darragh et al. · 2014 [cited by applicant]
US 20140362223A1 · LaCroix et al. · 2014 [cited by applicant]
US 20150016712A1 · Rhoads · 2015 [cited by examiner]
US 20150019391A1 · Kumar et al. · 2015 [cited by applicant]
US 20150029339A1 · Kobres · 2015 [cited by examiner]
US 20150052029A1 · Wu · 2015 [cited by examiner]
US 20150055821A1 · Fotland · 2015 [cited by examiner]
US 20150073907A1 · Purves et al. · 2015 [cited by applicant]
US 20150262116A1 · Katircioglu et al. · 2015 [cited by applicant]
US 20150379366A1 · Nomura · 2015 [cited by examiner]
Abhaya Asthana et al., “An Indoor Wireless System for Personalized Shopping Assistance”, Proceedings of IEEE Workshop on Mobile Computing Systems and Applications, 1994, pp. 69-74, Publisher: IEEE Computer Society Press. [cited by applicant]
Cristian Pop, “Introduction to the BodyCom Technology”, Microchip AN1391, May 2, 2011, pp. 1-24, vol. AN1391, No. DS01391A, Publisher: 2011 Microchip Technology Inc. [cited by applicant]
Fujisawa et al., Pedestrian Counting in Video Sequences based on Optical Flow Clustering, ACA'12 Proceedings of the 11th international conference on Application of Electrical and Computer Engineering, 2012, pp. 51-56. [cited by applicant]
Mason et al., “Object Disappearance for Object Discovery,” Intelligent Robots and Systems (IROS), 2012 IEEE/RSJ International Conference on, pp. 2836-2843, IEEE, 2012. [cited by applicant]
Vijayanarasimhan and Grauman, “Efficient Region Search for Object Detection,” IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2011, pp. 1401-1408. [cited by applicant]