IP Library Granted Patent US 10,055,853
Granted Patent B1
US 10,055,853 · App. 15/847,796 · Granted Aug 21, 2018

Subject identification and tracking using image recognition

Inventors: Jordan Fisher (Palo Alto, CA); David Valdman (Palo Alto, CA); John Novak (Palo Alto, CA); Brandon Ogle (Palo Alto, CA)
Assignee: STANDARD COGNITION, CORP
G06T7/292G06K9/00718G06K9/20G06T7/248H04N13/021H04N13/0242G06K2009/2045
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 10,055,853
App. No.
15/847,796
Filed
Dec 19, 2017
Granted
Aug 21, 2018
Kind
B1
Art Unit
2483
USPC
348/169
Abstract

Systems and techniques are provided for tracking multi joint subjects in real space having a plurality of cameras. The field of view of each camera overlaps with at least one other camera. The plurality of cameras produce respective sequences of images of corresponding fields of view in the real space. A processing system is coupled to the plurality of cameras. In one embodiment, the processing system comprises image recognition engines receiving sequence of images from the plurality of cameras and generating corresponding arrays of joint data structures. A tracking engine is configured to receive the arrays of joint data structures and generate candidate joints having coordinates in the real space. The processing system includes the logic to identify sets of candidate joints having coordinates in the real space as multi-joint subjects in the real space.

Claims (45)

1. A system for tracking multi joint subjects in an area of real space, comprising:

a plurality of cameras, cameras in the plurality of cameras producing respective sequences of images of corresponding fields of view in the real space, the field of view of each camera overlapping with the field of view of at least one other camera in the plurality of cameras;

a processing system coupled to the plurality of cameras, the processing system including:

image recognition engines, receiving the sequences of images from the plurality of cameras, which process images to generate corresponding arrays of joint data structures, the arrays of joint data structures corresponding to particular images classifying elements of the particular images by joint type, time of the particular image, and coordinates of the element in the particular image;

a tracking engine configured to receive the arrays of joint data structures corresponding to images in sequences of images from cameras having overlapping fields of view, and translate the coordinates of the elements in the arrays of joint data structures corresponding to images in different sequences into candidate joints having coordinates in real space; and

logic to identify sets of candidate joints having coordinates in real space as multi-joint subjects in the real space.

2. The system of claim 1 , wherein the image recognition engines comprise convolutional neural networks.

3. The system of claim 1 , wherein image recognition engines process images to generate confidence arrays for elements of the image, where a confidence array for a particular element of an image includes confidence values for a plurality of joint types for the particular element, and to select a joint type for the joint data structure of the particular element based on the confidence array.

4. The system of claim 1 , wherein the logic to identify sets of candidate joints comprises heuristic functions based on physical relationships among joints of subjects in real space to identify sets of candidate joints as multi-joint subjects.

5. The system of claim 4 , including logic to store the sets of joints identified as multi-joint subjects, and wherein the logic to identify sets of candidate joints includes logic to determine whether a candidate joint identified in images taken at a particular time corresponds with a member of one of the sets of candidate joints identified as multi-joint subjects in preceding images.

6. The system of claim 1 , wherein cameras in the plurality of cameras are configured to generate synchronized sequences of images.

7. The system of claim 1 , wherein the plurality of cameras comprise cameras disposed over and having fields of view encompassing respective parts of the area in real space, and the coordinates in real space of members of a set of candidate joints identified as a multi-joint subject identify locations in the area of the multi-joint subject.

8. The system of claim 1 , including logic to track locations of a plurality of multi-joint subjects in the area of real space.

9. The system of claim 8 , including logic to determine when multi joint subjects in the plurality of multi-joint subjects leave the area of real space.

10. The system of claim 1 , including logic to track locations in the area of real space of multiple candidate joints that are members of a set of candidate joints identified as a particular multi joint subject.

11. A method for tracking multi-joint subjects in an area of real space, comprising:

using a plurality of cameras to produce respective sequences of images of corresponding fields of view in the real space, the field of view of each camera overlapping with the field of view of at least one other camera in the plurality of cameras;

processing images in the sequences of images to generate corresponding arrays of joint data structures, the arrays of joint data structures corresponding to particular images classifying elements of the particular images by joint type, time of the particular image, and coordinates of the element in the particular image;

translating the coordinates of the elements in the arrays of joint data structures corresponding to images in different sequences into candidate joints having coordinates in the real space; and

identifying sets of candidate joints having coordinates in real space as multi-joint subjects in the real space.

12. The method of claim 11 , wherein said processing images includes using convolutional neural networks.

13. The method of claim 11 , wherein said processing images includes generating confidence arrays for elements of the image, where a confidence array for a particular element of an image includes confidence values for a plurality of joint types for the particular element, and selecting a joint type for the joint data structure of the particular element based on the confidence array.

14. The method of claim 11 , wherein identifying sets of candidate joints comprises applying heuristic functions based on physical relationships among joints of subjects in real space to identify sets of candidate joints as multi-joint subjects.

15. The method of claim 14 , including storing the sets of joints identified as multi-joint subjects, and wherein the identifying sets of candidate joints includes determining whether a candidate joint identified in images taken at a particular time corresponds with a member of one of the sets of candidate joints identified as a multi-joint subject in a preceding image.

16. The method of claim 11 , wherein the sequences of images are synchronized.

17. The method of claim 11 , wherein the plurality of cameras comprise cameras disposed over and having fields of view encompassing respective parts of the area in real space, and the coordinates in real space of members of a set of candidate joints identified as a multi-joint subject identify locations in the area of the multi-joint subject.

18. The method of claim 11 , including tracking locations of a plurality of multi-joint subjects in the area of real space.

19. The method of claim 18 , including determining when a multi-joint subject in the plurality of multi-joint subjects leaves the area of real space.

20. The method of claim 11 , including tracking locations in the area of real space of multiple candidate joints that are members of a set of candidate joints identified as a particular multi joint subject.

21. A computer program product, comprising:

a computer readable memory comprising a non-transitory data storage medium;

computer instructions stored in the memory executable by a computer to track multi-joint subjects in an area of real space by a process including:

using sequences of images from a plurality of cameras having corresponding fields of view in real space, the field of view of each camera overlapping with the field of view of at least one other camera in the plurality of cameras;

processing images in the sequences of images to generate corresponding arrays of joint data structures, the arrays of joint data structures corresponding to particular images classifying elements of the particular images by joint type, time of the particular image, and coordinates of the element in the particular image;

translating the coordinates of the elements in the arrays of joint data structures corresponding to images in different sequences into candidate joints having coordinates in the real space; and

identifying sets of candidate joints having coordinates in real space as multi-joint subjects in the real space.

22. The product of claim 21 , wherein said processing images includes using convolutional neural networks.

23. The product of claim 21 , wherein said processing image includes generating confidence arrays for elements of the image, where a confidence array for a particular element of an image includes confidence values for a plurality of joint types for the particular element, and selecting a joint type for the joint data structure of the particular element based on the confidence array.

24. The product of claim 21 , wherein identifying sets of candidate joints comprises applying heuristic functions based on physical relationships among joints of subjects in real space to identify sets of candidate joints as multi-joint subjects.

25. The product of claim 24 , including storing the sets of joints identified as multi-joint subjects, and wherein the identifying sets of candidate joints includes determining whether a candidate joint identified in images taken at a particular time corresponds with a member of one of the sets of candidate joints identified as a multi-joint subject in a preceding image.

26. The product of claim 21 , wherein the sequences of images are synchronized.

27. The product of claim 21 , wherein the plurality of cameras comprise cameras disposed over and having fields of view encompassing respective parts of the area in real space, and the coordinates in real space of members of a set of candidate joints identified as a multi-joint subject identify locations in the area of the multi-joint subject.

28. The product of claim 21 , including tracking locations of a plurality of multi-joint subjects in the area of real space.

29. The product of claim 28 , including determining when multi-joint subjects in the plurality of multi-joint subjects leave the area of real space.

30. The product of claim 21 , including tracking locations in the area of real space of multiple candidate joints that are members of a set of candidate joints identified as a particular multi joint subject.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2017
From: FISHER, JORDAN; VALDMAN, DAVID; NOVAK, JOHN; OGLE, BRANDON
To: STANDARD COGNITION, CORP
Reel/Frame 044441/0816 →
Continuity (1)
Provisional Application 62542077 · Aug 7, 2017
Cited By (31)
US 12,190,285 US 12,190,589 US 12,223,537 US 12,231,818 US 12,236,628 US 12,236,652 US 12,243,256 US 12,254,650 US 12,272,091 US 12,288,294 US 12,299,714 US 12,321,890 US 12,333,739 US 12,361,703 US 12,373,971 US 12,380,492 US 12,382,179 US 12,406,503 US 12,418,713 US 12,432,321 US 12,518,537 US 12,561,642 US 12,573,237 US 12,592,096 US 12,608,629 US 12,670,740 US 12,688,053 US 12,700,110 US 12,705,109 US 12,705,110 US 12,705,576