IP Library › Granted Patent US 12,094,159
Granted Patent B1
US 12,094,159 · App. 18/135,399 · Granted Sep 17, 2024

System for estimating a pose of one or more persons in a scene

Inventors: Emre Akbas (Ankara, AR); Utku Aktas (Ankara, AR); Bedirhan Uguz (Pittsburgh, PA); Ozhan Suat (Ankara, AR); Necip Berme (Worthington, OH); Mohan Chandra Baro (Columbus, OH)
Assignee: Bertec Corporation
G06T7/73G06F18/21G06N3/045G06V10/454G06V10/764G06V10/82G06V40/10G06V40/20G06T2207/20016G06T2207/20084G06T2207/20132G06T2207/30196G06V2201/07H04N23/90
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,094,159
App. No.
18/135,399
Granted
Sep 17, 2024
Kind
B1
Abstract

A system for estimating a pose of one or more persons in a scene includes a camera configured to capture one or more images of the scene; and a data processor configured to execute computer executable instructions for: (i) receiving the one or more images of the scene from the camera; (ii) extracting features from the one or more images of the scene for providing inputs to a keypoint subnet and a person detection subnet; (iii) generating one or more keypoints using the keypoint subnet; (iv) generating one or more person instances using the person detection subnet; (v) assigning the one or more keypoints to the one or more person instances by learning pose structures from image data; and (vi) determining one or more poses of the one or more persons in the scene using the assignment of the one or more keypoints to the one or more person instances.

Claims (29)

1. A system for estimating a pose of one or more persons in a scene, the system comprising:

a camera, the camera configured to capture one or more images of the scene; and

a data processor including at least one hardware component, the data processor configured to execute computer executable instructions, the computer executable instructions comprising instructions for:

receiving the one or more images of the scene from the camera;

extracting features from the one or more images of the scene for providing inputs to a keypoint subnet and a person detection subnet;

generating keypoint data for a plurality of keypoints using the keypoint subnet, the keypoint data including two-dimensional keypoint locations and depth values for the plurality of keypoints, the depth values for the plurality of keypoints being generated by flattening one or more feature vectors and passing the one or more flattened feature vectors into a fully-connected neural network;

generating one or more person instances using the person detection subnet;

assigning the plurality of keypoints to the one or more person instances by utilizing learned pose structures from image data;

implementing a pose residual network to assign the plurality of keypoints to the one or more person instances, the plurality of keypoints comprising different keypoint types, the pose residual network determining a particular keypoint type for a person by applying a residual correction to a learned pose generated from keypoint data comprising the different keypoint types, and adding the residual correction to uncorrected keypoint data for the particular keypoint type obtained from the keypoint subnet, and the pose residual network assigning the plurality of keypoints to the one or more person instances using the two-dimensional keypoint locations and the depth values for the plurality of keypoints; and

determining one or more poses of the one or more persons in the scene using the assignment of the plurality of keypoints to the one or more person instances;

wherein, when implementing the pose residual network, the data processor is further configured to disambiguate between the keypoints of nearby ones of a plurality of different persons in the scene by utilizing the learned pose structures from the image data; and

wherein the pose residual network considers all detected keypoints comprising joints of the plurality of different persons simultaneously when assigning the detected keypoints to particular ones of the plurality of different persons.

2. The system according to claim 1 , wherein the one or more person instances generated by the person detection subnet comprise at least first and second person instances; and

when implementing the pose residual network, the data processor is further configured to utilize the depth values for the plurality of keypoints in order to prevent a first keypoint belonging to the first person instance from being mixed up with a second keypoint belonging to the second person instance.

3. The system according to claim 1 , wherein, when implementing the keypoint subnet, the data processor is further configured to calculate a depth order loss function for each keypoint pair in order to increase a difference margin between predicted depth values of the keypoints when the keypoints do not correspond to the same depth level in a dataset.

4. The system according to claim 1 , wherein the keypoint subnet comprises a depth output layer; and the data processor is further configured to train the depth output layer using either estimated depth maps or ground truth depth maps.

5. The system according to claim 1 , wherein the data processor is configured to extract the features from the one or more images of the scene using one or more residual networks and one or more feature pyramid networks, which together form a backbone feature extractor for the keypoint and person detection subnets.

6. The system according to claim 5 , wherein the one or more residual networks utilized by the data processor comprise a plurality of layers, and wherein the one or more feature pyramid networks utilized by the data processor are connected to each of the plurality of layers of the one or more residual networks.

7. The system according to claim 6 , wherein the one or more feature pyramid networks utilized by the data processor comprise first and second feature pyramid networks, each of the first and second feature pyramid networks connected to the plurality of layers of the one or more residual networks; and

wherein the data processor is configured to extract the features for the keypoint subnet from the first feature pyramid network, and the data processor is configured to extract the features for the person detection subnet from the second feature pyramid network.

8. The system according to claim 7 , wherein the one or more residual networks utilized by the data processor comprise one or more convolutional neural networks; and

wherein, as part of utilizing the first and second feature pyramid networks, the data processor is configured to create pyramid maps with top-down connections from each of the plurality of layers of the one or more residual neural networks feature hierarchy so as to make use of inherent multi-scale representations of a convolutional neural network feature extractor.

9. The system according to claim 7 , wherein the data processor is configured to extract the features from the first and second feature pyramid networks for the respective keypoint and person detection subnets by utilizing a parallel arrangement of the first and second feature pyramid networks.

10. The system according to claim 7 , wherein the data processor is configured to generate the plurality of keypoints using the keypoint subnet by receiving hierarchical convolutional neural network features outputted by the first feature pyramid network as inputs, and then generating keypoint and segmentation heatmaps as outputs.

11. The system according to claim 10 , wherein the keypoint heatmaps generated by the data processor represent the two-dimensional keypoint locations as Gaussian peaks.

12. The system according to claim 10 , wherein the keypoint heatmaps generated by the data processor comprise a plurality of heatmap layers, each of the plurality of heatmap layers corresponding to a particular one of the different keypoint types.

13. The system according to claim 12 , wherein the particular keypoint type of the keypoint heatmaps generated by the data processor is selected from a group consisting of an eye, a nose, a wrist, an elbow, a knee, and an ankle.

14. The system according to claim 7 , wherein the data processor is configured to generate the one or more person instances using the person detection subnet by utilizing a one-stage object detector.

15. The system according to claim 7 , wherein the data processor is configured to generate one or more person detection boxes as a result of executing the person detection subnet.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2023
From: AKBAS, EMRE; AKTAS, UTKU; UGUZ, BEDIRHAN; SUAT, OZHAN; BERME, NECIP; BARO, MOHAN CHANDRA
To: BERTEC CORPORATION
Reel/Frame 063345/0868 →
Continuity (4)
Continuation In Part 17734492 · May 2, 2022
Continuation In Part 17443416 · Jul 26, 2021
Continuation 16441968 · Jun 14, 2019
Provisional Application 62685780 · Jun 15, 2018
Cited By (5)
US 12,205,350 US 12,380,582 US 12,403,592 US 12,444,055 US 12,535,679