IP Library › Granted Patent US 12,633,143
Granted Patent B1
US 12,633,143 · App. 19/098,411 · Granted May 19, 2026

Methods and apparatus for machine learning system for edge computer vision and active reality

Inventors: Jon Vogel (Kirkland, WA); David Greschler (Kirkland, WA); Jonah Friedl (Kirkland, WA)
Assignee: NOMAD Go, Inc.
G06V20/60G06T7/0002G06T7/521G06T7/62G06V10/26G06V10/751G06V10/764G06V30/19013G06V30/19173G06T2207/10028G06T2207/20081G06T2207/20092G06T2207/30242
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,633,143
App. No.
19/098,411
Filed
Apr 2, 2025
Granted
May 19, 2026
Kind
B1
Art Unit
2669
USPC
382/103
Abstract

In some embodiments, a method includes: receiving, at a first time at a user device, a first set of image frames of an inventory. The method further includes identifying a first control point in the first set of image frames. The method further includes locating, using a light ranging sensor of the user device, a first set of storage units in an area associated with the first control point in the inventory. The method further includes storing a representation of the first set of storage units in the area in a memory of the user device. The method further includes receiving, at a second time after the first time, a second set of image frames of the inventory. The method further includes locating, based on the representation and without identifying the first control point, a second set of storage units in the area at the second time.

Claims (40)

1 . A non-transitory processor-readable medium storing instructions that when executed by a processor, cause the processor to:

receive, from an image sensor operatively coupled to the processor of a user device, a plurality of image frames;

locate an object in the plurality of image frames to define a control point in a virtual space, the virtual space being representative of an inventory;

generate a mesh in the virtual space, the mesh including a first set of points defined by contours of at least one storage unit and a second set of points defined by contours of a shelf that supports the at least one storage unit;

detect a set of storage units on the shelf, based on the first set of points of the mesh and the second set of points of the mesh, the set of storage units including at least a first storage unit and a second storage unit, the first storage unit being disposed between the user device and the second storage unit;

identify in the virtual space a form for the first storage unit from the set of storage units;

determine, based on the form for the first storage unit from the set of storage units, a plurality of identifying techniques for the first storage unit from the set of storage units;

execute each identifying technique from the plurality of identifying techniques to define a set of potential unit types for the first storage unit from the set of storage units;

assign, based on the set of potential unit types, a unit type identity to (1) the first storage unit from the set of storage units and (2) the second storage unit from the set of storage units;

calculate a storage unit count for the set of storage units, based on the mesh and the unit type identity; and

send a signal to output the storage unit count on a display of the user device.

2 . The non-transitory processor-readable medium of claim 1 , wherein the plurality of identifying techniques includes at least one of a direct match, an optical character recognition (OCR) match, or a label match.

3 . The non-transitory processor-readable medium of claim 1 , wherein the form is at least one of a shape or a size and is based on the first set of points.

4 . The non-transitory processor-readable medium of claim 1 , wherein the set of potential unit types is displayed on the display of the user device.

5 . The non-transitory processor-readable medium of claim 1 , wherein the unit type identity is assigned in response to a selection from a user of the user device.

6 . The non-transitory processor-readable medium of claim 1 , wherein the image sensor is not fixed and is configured to capture the plurality of image frames in substantially real-time.

7 . The non-transitory processor-readable medium of claim 1 , wherein the unit type identity includes (1) a first confidence value associated with the first storage unit from the set of storage units and (2) a second confidence value associated with the second storage unit from the set of storage units, the first confidence value being greater than or equal to the second confidence value.

8 . The non-transitory processor-readable medium of claim 1 , wherein the unit type identity is assigned to the second storage unit from the set of storage units in response to a selection from a user of the user device.

9 . A non-transitory, processor-readable medium storing instructions that, when executed by a processor, cause the processor to:

receive, from an image sensor operatively coupled to the processor of a user device, a plurality of image frames;

locate an object in the plurality of image frames to define a control point in a virtual space, the virtual space being representative of an inventory;

generate a mesh in the virtual space, the mesh including a first set of points defined by contours of at least one storage unit and a second set of points defined by contours of a shelf that supports the at least one storage unit;

detect a set of storage units on the shelf, based on the first set of points of the mesh and the second set of points of the mesh, the set of storage units including at least a first storage unit and a second storage unit, the first storage unit being disposed between the user device and the second storage unit;

identify in the virtual space a form for the first storage unit from the set of storage units;

determine, based on the form for the first storage unit from the set of storage units, at least a first identifying technique and a second identifying technique;

execute the first identifying technique to define a first potential unit type with a first confidence value and the second identifying technique to define a second potential unit type with a second confidence value;

assign, based on at least one of the first potential unit type with the first confidence value or the second potential unit type with the second confidence value, a unit type identity to each storage unit from the set of storage units;

calculate a storage unit count for the set of storage units, based on the mesh and the unit type identity; and

send a signal to output the storage unit count on a display of the user device.

10 . The non-transitory, processor-readable medium of claim 9 , wherein at least one of the first identifying technique or the second identifying technique includes at least one of a size classifier, a location classifier, or a shape classifier.

11 . The non-transitory, processor-readable medium of claim 9 , wherein:

the storage unit count is at least partially based on a configuration for the set of storage units.

12 . The non-transitory, processor-readable medium of claim 9 , wherein the form is at least one of a shape or a size and is based on the first set of points of the mesh.

13 . The non-transitory, processor-readable medium of claim 9 , wherein a difference in the first confidence value and the second confidence value satisfies a threshold value.

14 . The non-transitory, processor-readable medium of claim 9 , wherein the image sensor is not fixed and is configured to capture the plurality of image frames in substantially real-time.

15 . The non-transitory, processor-readable medium of claim 9 , wherein:

the first confidence value is a first weighted confidence value,

the first weighted confidence value is weighted according to a first predefined weight associated with the first identifying technique,

the second confidence value is a second weighted confidence value, and

the second weighted confidence value is weighted according to a second predefined weight associated with the second identifying technique.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2026
From: VOGEL, JON; GRESCHLER, DAVID; FRIEDL, JONAH
To: NOMAD GO, INC.
Reel/Frame 073589/0456 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2025
From: VOGEL, JON; GRESCHLER, DAVID; FRIEDL, JONAH
To: NOMAD GO, INC.
Reel/Frame 070780/0785 →
References Cited (59)
US 8150658B2 · Beniyama · 2012 [cited by applicant]
US 10282639B2 · Farooqi et al. · 2019 [cited by applicant]
US 10565548B2 · Skaff et al. · 2020 [cited by applicant]
US 10586208B2 · Buibas et al. · 2020 [cited by applicant]
US 10628660B2 · Adato et al. · 2020 [cited by applicant]
US 10769582B2 · Williams et al. · 2020 [cited by applicant]
US 10783379B2 · Savvides et al. · 2020 [cited by applicant]
US 10785418B2 · Kotfis et al. · 2020 [cited by applicant]
US 10861302B2 · Savvides et al. · 2020 [cited by applicant]
US 10909694B2 · Buibas et al. · 2021 [cited by applicant]
US 11087272B2 · Skaff et al. · 2021 [cited by applicant]
US 11106941B2 · Buibas et al. · 2021 [cited by applicant]
US 11153483B2 · Fink et al. · 2021 [cited by applicant]
US 11164391B1 · Sharma et al. · 2021 [cited by applicant]
US 11416814B1 · Curlander et al. · 2022 [cited by applicant]
US 11774842B2 · Skaff et al. · 2023 [cited by applicant]
US 11935104B2 · Bronicki · 2024 [cited by applicant]
US 12002008B2 · Vogel et al. · 2024 [cited by applicant]
US 20120243779A1 · Nakai · 2012 [cited by examiner]
US 20130250041A1 · Chou et al. · 2013 [cited by applicant]
US 20150052027A1 · Pavani et al. · 2015 [cited by applicant]
US 20150052029A1 · Wu et al. · 2015 [cited by applicant]
US 20160171707A1 · Schwartz · 2016 [cited by applicant]
US 20160304281A1 · Elazary · 2016 [cited by examiner]
US 20170286901A1 · Skaff et al. · 2017 [cited by applicant]
US 20180005035A1 · Bogolea et al. · 2018 [cited by applicant]
US 20180005176A1 · Williams et al. · 2018 [cited by applicant]
US 20180182088A1 · Leordeanu et al. · 2018 [cited by applicant]
US 20180321660A1 · Nemati et al. · 2018 [cited by applicant]
US 20190087772A1 · Medina et al. · 2019 [cited by applicant]
US 20190096135A1 · Dal Mutto et al. · 2019 [cited by applicant]
US 20190130214A1 · N et al. · 2019 [cited by applicant]
US 20190149725A1 · Adato et al. · 2019 [cited by applicant]
US 20190244008A1 · Rivera et al. · 2019 [cited by applicant]
US 20200005225A1 · Chaubard · 2020 [cited by applicant]
US 20200074402A1 · Adato et al. · 2020 [cited by applicant]
US 20200118064A1 · Perrella et al. · 2020 [cited by applicant]
US 20200118400A1 · Zalewski et al. · 2020 [cited by applicant]
US 20200273013A1 · Garner · 2020 [cited by examiner]
US 20200380317A1 · Ghazel et al. · 2020 [cited by applicant]
US 20210304122A1 · Dattamajumdar et al. · 2021 [cited by applicant]
US 20210383533A1 · Zhao et al. · 2021 [cited by applicant]
US 20210400195A1 · Adato et al. · 2021 [cited by applicant]
US 20220012677A1 · Rongley · 2022 [cited by applicant]
US 20220067390A1 · Khalili et al. · 2022 [cited by applicant]
US 20220083959A1 · Skaff et al. · 2022 [cited by applicant]
US 20220108264A1 · Skaff et al. · 2022 [cited by applicant]
US 20220138674A1 · Skaff et al. · 2022 [cited by applicant]
US 20220138677A1 · Foong · 2022 [cited by applicant]
US 20230274226A1 · Patil et al. · 2023 [cited by applicant]
US 20230274227A1 · Eggert · 2023 [cited by applicant]
US 20240112136A1 · Vogel et al. · 2024 [cited by applicant]
US 20240135319A1 · Vogel et al. · 2024 [cited by applicant]
US 20240212322A1 · Bennet · 2024 [cited by examiner]
US 20250078022A1 · Vogel et al. · 2025 [cited by applicant]
JP 5259286B2 · 2013 [cited by applicant]
WO WO2024073237A1 · 2024 [cited by applicant]
International Search Report and Written Opinion for PCT Application No. PCT/US2023/074056 dated Dec. 18, 2023, 7 pages. [cited by applicant]
Non-Final Office Action for U.S. Appl. No. 18/637,516, mailed Jul. 24, 2025, 12 pages. [cited by applicant]