IP Library Granted Patent US 11,462,042
Granted Patent B2
US 11,462,042 · App. 17/010,481 · Granted Oct 4, 2022

Neural network-based recognition of trade workers present on industrial sites

Inventors: Lai Him Matthew Man (North York, CA); Mohammad Soltani (North York, CA); Ahmed Aly (North York, CA); Walid Aly (North York, CA)
Assignee: Procore Technologies, Inc.
G06V40/103G06K9/6262G06N3/08G06N20/00G06V40/20
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 11,462,042
App. No.
17/010,481
Granted
Oct 4, 2022
Kind
B2
Abstract

A computer-implemented method and system for neural network-based recognition of trade workers present on industrial sites is presented. In an embodiment, a method comprises: using a computing device, receiving a plurality of digital images depicting a particular worker; using the computing device, based on the plurality of digital images, determining a plurality of key-point sets of the digital images, each of the plurality of key-point sets comprising location information of key points identified within a depiction of the particular worker in a particular digital image; using the computing device, based on the plurality of key-point sets, determining a plurality of trade-specific activities that appear to be performed by the particular worker; using the computing device, based on the plurality of trade-specific activities, determining a plurality of trade probabilities, each trade probability among the trade probabilities indicating a likelihood that the particular worker belongs to a particular trade from among a plurality of different trades.

Claims (80)

1. A computer-implemented method comprising:

using a computing device, receiving a plurality of digital images depicting a particular worker;

using the computing device, extracting a plurality of background datasets from the plurality of digital images;

using the computing device, determining, based on the plurality of background datasets, a plurality of context probabilities, wherein a context probability, of the plurality of context probabilities, indicates a likelihood that a background dataset, of the plurality of background datasets, indicates a trade-specific context of a plurality of trade-specific contexts;

using the computing device, generating, based on, at least in part, the plurality of context probabilities, a plurality of refined probabilities, wherein a refined probability, of the plurality of refined probabilities, indicates a modified likelihood that the particular worker belongs to a trade of a plurality of trades;

using the computing device, selecting, from the plurality of refined probabilities, a highest probability;

using the computing device, determining, based on the highest probability, a particular trade to which the particular worker belongs.

2. The method of claim 1 , further comprising:

based on the plurality of digital images, determining a plurality of key-point sets of the digital images, each of the plurality of key-point sets comprising location information of key points identified within a depiction of the particular worker in a particular digital image;

based on the plurality of key-point sets, determining a plurality of trade-specific activities that appear to be performed by the particular worker;

based on the plurality of trade-specific activities, determining a plurality of trade probabilities, each trade probability among the trade probabilities indicating a likelihood that the particular worker belongs to a particular trade from among the plurality of trade probabilities.

3. The method of claim 2 , further comprising:

receiving a plurality of unprocessed images;

selecting, from the plurality of unprocessed images, the plurality of digital images that depict the particular worker;

wherein selecting, from the plurality of unprocessed images, the plurality of digital images that depict the particular worker comprises:

detecting a plurality of objects in the plurality of unprocessed images;

wherein detecting a plurality of objects in the plurality of unprocessed images includes one or more of: detecting colors of hard hats depicted in the plurality of unprocessed images, detecting stickers attached to hard hats depicted in the plurality of unprocessed images, recognizing, based on depiction of sensor meshes, positions of workers depicted in the plurality of unprocessed images, or detecting colors of outfits wore by workers depicted in the plurality of unprocessed images;

including, in the plurality of digital images that depict the particular worker, those images in which detected objects include the particular worker.

4. The method of claim 3 , wherein selecting, from the plurality of unprocessed images, the plurality of digital images that depict the particular worker is performed by executing a convolutional neural network.

5. The method of claim 4 , wherein determining the plurality of trade probabilities is performed by executing a recurrent neural network;

wherein the plurality of trade probabilities is further determined based on determining, based on the plurality of key-point sets, additional activities depicted in the plurality of digital images;

wherein the additional activities include one or more of: walking, standing, climbing stairs, or sitting.

6. The method of claim 5 , further comprising:

determining a plurality of resulting trades for all workers of a plurality of workers;

based on the plurality of resulting trades, determining counts of workers for each trade of the plurality of trades.

7. The method of claim 1 , wherein the plurality of context probabilities is determined by executing a convolutional neural network to perform a patch-based scene segmentation.

8. A computer-readable storage medium storing one or more instructions which, when executed by one or more computer processors, cause the one or more processors to perform:

receiving a plurality of digital images depicting a particular worker;

extracting a plurality of background datasets from the plurality of digital images;

based on the plurality of background datasets, determining a plurality of context probabilities, wherein a context probability, of the plurality of context probabilities, indicates a likelihood that a background dataset, of the plurality of background datasets, indicates a trade-specific context of a plurality of trade-specific contexts;

based on, at least in part, the plurality of context probabilities, generating a plurality of refined probabilities, wherein a refined probability, of the plurality of refined probabilities, indicates a modified likelihood that the particular worker belongs to a trade of a plurality of trades;

selecting, from the plurality of refined probabilities, a highest probability;

based on the highest probability, determining a particular trade to which the particular worker belongs.

9. The computer-readable storage medium of claim 8 , storing additional instructions for:

based on the plurality of digital images, determining a plurality of key-point sets of the digital images, each of the plurality of key-point sets comprising location information of key points identified within a depiction of the particular worker in a particular digital image;

based on the plurality of key-point sets, determining a plurality of trade-specific activities that appear to be performed by the particular worker;

based on the plurality of trade-specific activities, determining a plurality of trade probabilities, each trade probability among the trade probabilities indicating a likelihood that the particular worker belongs to a particular trade from among the plurality of trade probabilities.

10. The computer-readable storage medium of claim 9 , storing additional instructions for:

receiving a plurality of unprocessed images;

selecting, from the plurality of unprocessed images, the plurality of digital images that depict the particular worker;

wherein selecting, from the plurality of unprocessed images, the plurality of digital images that depict the particular worker comprises:

detecting a plurality of objects in the plurality of unprocessed images;

wherein detecting a plurality of objects in the plurality of unprocessed images includes one or more of: detecting colors of hard hats depicted in the plurality of unprocessed images, detecting stickers attached to hard hats depicted in the plurality of unprocessed images, recognizing, based on depiction of sensor meshes, positions of workers depicted in the plurality of unprocessed images, or detecting colors of outfits wore by workers depicted in the plurality of unprocessed images;

including, in the plurality of digital images that depict the particular worker, those images in which detected objects include the particular worker.

11. The computer-readable storage medium of claim 10 , wherein selecting, from the plurality of unprocessed images, the plurality of digital images that depict the particular worker is performed by executing a convolutional neural network.

12. The computer-readable storage medium of claim 11 , wherein determining the plurality of trade probabilities is performed by executing a recurrent neural network;

wherein the plurality of trade probabilities is further determined based on determining, based on the plurality of key-point sets, additional activities depicted in the plurality of digital images;

wherein the additional activities include one or more of: walking, standing, climbing stairs, or sitting.

13. The computer-readable storage medium of claim 12 , storing additional instructions for:

determining a plurality of resulting trades for all workers of a plurality of workers;

based on the plurality of resulting trades, determining counts of workers for each trade of the plurality of trades.

14. The computer-readable storage medium of claim 8 , wherein the plurality of context probabilities is determined by executing a convolutional neural network to perform a patch-based scene segmentation.

15. A system comprising:

one or more processors;

memory;

one or more non-transitory digital storage media coupled to the one or more processors and storing, in the memory, one or more sequences of program instructions which, when executed using the one or more processors, cause the one or more processors to perform:

receiving a plurality of digital images depicting a particular worker;

extracting a plurality of background datasets from the plurality of digital images;

based on the plurality of background datasets, determining a plurality of context probabilities, wherein a context probability, of the plurality of context probabilities, indicates a likelihood that a background dataset, of the plurality of background datasets, indicates a trade-specific context of a plurality of trade-specific contexts;

based on, at least in part, the plurality of context probabilities, generating a plurality of refined probabilities, wherein a refined probability, of the plurality of refined probabilities, indicates a modified likelihood that the particular worker belongs to a trade of a plurality of trades;

selecting, from the plurality of refined probabilities, a highest probability;

based on the highest probability, determining a particular trade to which the particular worker belongs.

16. The system of claim 15 , wherein the one or more non-transitory digital storage media store additional instructions for:

based on the plurality of digital images, determining a plurality of key-point sets of the digital images, each of the plurality of key-point sets comprising location information of key points identified within a depiction of the particular worker in a particular digital image;

based on the plurality of key-point sets, determining a plurality of trade-specific activities that appear to be performed by the particular worker;

based on the plurality of trade-specific activities, determining a plurality of trade probabilities, each trade probability among the trade probabilities indicating a likelihood that the particular worker belongs to a particular trade from among the plurality of trade probabilities.

17. The system of claim 16 , wherein the one or more non-transitory digital storage media store additional instructions for:

receiving a plurality of unprocessed images;

selecting, from the plurality of unprocessed images, the plurality of digital images that depict the particular worker;

wherein selecting, from the plurality of unprocessed images, the plurality of digital images that depict the particular worker comprises:

detecting a plurality of objects in the plurality of unprocessed images;

wherein detecting a plurality of objects in the plurality of unprocessed images includes one or more of: detecting colors of hard hats depicted in the plurality of unprocessed images, detecting stickers attached to hard hats depicted in the plurality of unprocessed images, recognizing, based on depiction of sensor meshes, positions of workers depicted in the plurality of unprocessed images, or detecting colors of outfits wore by workers depicted in the plurality of unprocessed images;

including, in the plurality of digital images that depict the particular worker, those images in which detected objects include the particular worker.

18. The system of claim 17 , wherein selecting, from the plurality of unprocessed images, the plurality of digital images that depict the particular worker is performed by executing a convolutional neural network.

19. The system of claim 18 , wherein determining the plurality of trade probabilities is performed by executing a recurrent neural network;

wherein the plurality of trade probabilities is further determined based on determining, based on the plurality of key-point sets, additional activities depicted in the plurality of digital images;

wherein the additional activities include one or more of: walking, standing, climbing stairs, or sitting.

20. The system of claim 19 , wherein the one or more non-transitory digital storage media store additional instructions for:

determining a plurality of resulting trades for all workers of a plurality of workers;

based on the plurality of resulting trades, determining counts of workers for each trade of the plurality of trades.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2021
From: INDUS.AI, INC.
To: PROCORE TECHNOLOGIES, INC.
Reel/Frame 058420/0591 →
Continuity (2)
Continuation 16135942 · Sep 19, 2018
Related Publication 20200401795A1 · Dec 24, 2020
Cited By (1)
US 12,223,759