IP Library Granted Patent US 9,852,397
Granted Patent B2
US 9,852,397 · App. 15/484,748 · Granted Dec 26, 2017

System and method for inventory identification and quantification

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 9,852,397
App. No.
15/484,748
Granted
Dec 26, 2017
Kind
B2
Abstract

A solution for inventory identification and quantification using a portable computing device (“PCD”) comprising a camera subsystem is described. An exemplary embodiment of the solution comprises a method that begins with capturing a video stream of a physical inventory comprised of a plurality of individual inventory items. Using a set of tracking points appearing in sequential frames, and optical flow calculations, coordinates for global centers of the frames may be calculated. From there, coordinates for identified inventory items may be determined relative to the global centers of the frames within which they are captured. Comparing the calculated coordinates for inventory items identified in each frame, as well as fingerprint data, embodiments of the method may identify and filter duplicate image captures of the same inventory item within some statistical certainty. Symbology data, such as QR codes, are decoded and quantified as part of the inventory count.

Claims (62)

1. A method for object identification and quantification using a portable computing device (“PCD”) comprising a camera subsystem, the method comprising:

capturing a video stream, wherein the video stream comprises a series of frames;

in a first frame and a second frame, identifying a set of tracking points;

calculating a set of coordinates defining a global center of the first frame;

based on a first location of the tracking points in the first frame and a second location of the tracking points in the second frame, determining an optical flow direction from the first frame to the second frame;

based on the optical flow direction and a delta of the second location of the tracking points in the second frame relative to the first location of the tracking points in the first frame, calculating a set of coordinates defining a global center of the second frame;

identifying objects captured in the first frame;

for each identified object captured in the first frame, calculating global coordinates relative to the global center of the first frame and recording the global coordinates in association with the identified object;

for each identified object captured in the second frame, calculating global coordinates relative to the global center of the second frame and recording the global coordinates in association with the identified object;

for each identified object from the second frame, comparing its global coordinates with global coordinates associated with objects identified from the first frame; and

for each identified object from the second frame having global coordinates that are statistically insignificantly different from global coordinates associated with an object identified from the first frame, flagging such identified object from the second frame as a duplicate capture and declining to tally it in a final quantification.

2. The method of claim 1 , further comprising:

for each identified object captured in the first frame, calculating fingerprint data and recording the fingerprint data in association with the identified object;

for each identified object captured in the second frame, calculating fingerprint data and recording the fingerprint data in association with the identified object;

for each identified object from the second frame, comparing its fingerprint data with fingerprint data associated with objects identified from the first frame; and

for each identified object from the second frame having global coordinates and fingerprint data that are statistically insignificantly different from global coordinates and fingerprint data associated with an object identified from the first frame, flagging such identified object from the second frame as a duplicate capture and declining to tally it in a final quantification.

3. The method of claim 2 , wherein the fingerprint data for each identified object comprises a neighborhood of objects.

4. The method of claim 2 , wherein the fingerprint data comprises one or more of the following group: hash value, quantity of hough lines, non-zero pixel ratio, black/white pixel ratio, white balance value, and object size.

5. The method of claim 1 , wherein the set of tracking points are calculated using at least one of the Shi-Tomasi method and the Harris Corner Detection method.

6. The method of claim 1 , wherein the optical flow direction is determined using the Lucas-Kanade method.

7. A system for object identification and quantification using a portable computing device (“PCD”) comprising a camera subsystem, the method comprising:

means for capturing a video stream, wherein the video stream comprises a series of frames;

means for, in a first frame and a second frame, identifying a set of tracking points;

means for calculating a set of coordinates defining a global center of the first frame;

means for, based on a first location of the tracking points in the first frame and a second location of the tracking points in the second frame, determining an optical flow direction from the first frame to the second frame;

means for, based on the optical flow direction and a delta of the second location of the tracking points in the second frame relative to the first location of the tracking points in the first frame, calculating a set of coordinates defining a global center of the second frame;

means for identifying objects captured in the first frame;

for each identified object captured in the first frame, means for calculating global coordinates relative to the global center of the first frame and recording the global coordinates in association with the identified object;

for each identified object captured in the second frame, means for calculating global coordinates relative to the global center of the second frame and recording the global coordinates in association with the identified object;

for each identified object from the second frame, means for comparing its global coordinates with global coordinates associated with objects identified from the first frame; and

for each identified object from the second frame having global coordinates that are statistically insignificantly different from global coordinates associated with an object identified from the first frame, means for flagging such identified object from the second frame as a duplicate capture and declining to tally it in a final quantification.

8. The system of claim 7 , further comprising:

for each identified object captured in the first frame, means for calculating fingerprint data and recording the fingerprint data in association with the identified object;

for each identified object captured in the second frame, means for calculating fingerprint data and recording the fingerprint data in association with the identified object;

for each identified object from the second frame, means for comparing its fingerprint data with fingerprint data associated with objects identified from the first frame; and

for each identified object from the second frame having global coordinates and fingerprint data that are statistically insignificantly different from global coordinates and fingerprint data associated with an object identified from the first frame, means for flagging such identified object from the second frame as a duplicate capture and declining to tally it in a final quantification.

9. The system of claim 8 , wherein the fingerprint data for each identified object comprises a neighborhood of objects.

10. The system of claim 8 , wherein the fingerprint data comprises one or more of the following group: hash value, quantity of hough lines, non-zero pixel ratio, black/white pixel ratio, white balance value, and object size.

11. The system of claim 7 , wherein the set of tracking points are calculated using at least one of the Shi-Tomasi method and the Harris Corner Detection method.

12. The system of claim 7 , wherein the optical flow direction is determined using the Lucas-Kanade method.

13. The system of claim 7 , wherein the PCD is in the form of a wireless telephone.

14. A computer program product comprising a computer usable memory device having a computer readable program code embodied therein, said computer readable program code executable to implement a method for object identification and quantification using a portable computing device (“PCD”) comprising a camera subsystem, the method comprising:

capturing a video stream, wherein the video stream comprises a series of frames;

in a first frame and a second frame, identifying a set of tracking points;

calculating a set of coordinates defining a global center of the first frame;

based on a first location of the tracking points in the first frame and a second location of the tracking points in the second frame, determining an optical flow direction from the first frame to the second frame;

based on the optical flow direction and a delta of the second location of the tracking points in the second frame relative to the first location of the tracking points in the first frame, calculating a set of coordinates defining a global center of the second frame;

identifying objects captured in the first frame;

for each identified object captured in the first frame, calculating global coordinates relative to the global center of the first frame and recording the global coordinates in association with the identified object;

for each identified object captured in the second frame, calculating global coordinates relative to the global center of the second frame and recording the global coordinates in association with the identified object;

for each identified object from the second frame, comparing its global coordinates with global coordinates associated with objects identified from the first frame; and

for each identified object from the second frame having global coordinates that are statistically insignificantly different from global coordinates associated with an object identified from the first frame, flagging such identified object from the second frame as a duplicate capture and declining to tally it in a final quantification.

15. The computer program product of claim 14 , the method further comprising:

for each identified object captured in the first frame, calculating fingerprint data and recording the fingerprint data in association with the identified object;

for each identified object captured in the second frame, calculating fingerprint data and recording the fingerprint data in association with the identified object;

for each identified object from the second frame, comparing its fingerprint data with fingerprint data associated with objects identified from the first frame; and

for each identified object from the second frame having global coordinates and fingerprint data that are statistically insignificantly different from global coordinates and fingerprint data associated with an object identified from the first frame, flagging such identified object from the second frame as a duplicate capture and declining to tally it in a final quantification.

16. The computer program product of claim 15 , wherein the fingerprint data for each identified object comprises a neighborhood of objects.

17. The computer program product of claim 15 , wherein the fingerprint data comprises one or more of the following group: hash value, quantity of hough lines, non-zero pixel ratio, black/white pixel ratio, white balance value, and object size.

18. The computer program product of claim 14 , wherein the set of tracking points are calculated using at least one of the Shi-Tomasi method and the Harris Corner Detection method.

19. The computer program product of claim 14 , wherein the optical flow direction is determined using the Lucas-Kanade method.

20. The computer program product of claim 14 , wherein the PCD is in the form of a wireless telephone.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2026
From: JOLLY SEVEN SERIES 70 OF ALLIED SECURITY TRUST I
To: ORZOO LLC
Reel/Frame 073440/0259 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2024
From: IP3 2022, SERIES 922 OF ALLIED SECURITY TRUST I
To: JOLLY SEVEN, SERIES 70 OF ALLIED SECURITY TRUST I
Reel/Frame 069104/0619 →
NUNC PRO TUNC ASSIGNMENT Recorded Dec 22, 2022
From: BULLET SCANNING, LLC
To: IP3 2022, SERIES 922 OF ALLIED SECURITY TRUST I
Reel/Frame 062530/0132 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2017
From: WASILEWSKY, JED; CAMPBELL, CHASE; STORM, KELLY
To: BULLET SCANNING, LLC
Reel/Frame 042788/0613 →