IP Library › Granted Patent US 12,211,307
Granted Patent B1
US 12,211,307 · App. 17/696,728 · Granted Jan 28, 2025

Two-stage body pose estimation

Inventors: Tanmay Batra (Mountain View, CA); Bharath Kumar Comandur Jagannathan Raghunathan (Sunnyvale, CA); Stefano Alletto (Sunnyvale, CA)
Assignee: APPLE INC.
G06V40/103G06T7/70G06T2207/20081G06T2207/20084G06T2207/30196
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,211,307
App. No.
17/696,728
Granted
Jan 28, 2025
Kind
B1
Abstract

In one implementation, a method of body pose estimation is performed at a device including one or more processors and non-transitory memory. The method includes obtaining a plurality of two-dimensional images of a body in a three-dimensional environment at a respective plurality of times. The method includes determining, for each of the plurality of two-dimensional images, the two-dimensional location in the two-dimensional image of one or more joints of the body at the respective plurality of times. The method includes determining, based on the two-dimensional locations, a plurality of three-dimensional locations in the three-dimensional environment of the one or more joints of the body at the respective plurality of times. The method includes determining, based on the three-dimensional locations, a plurality of updated three-dimensional locations in the three-dimensional environment of the one or more joints of the body at the respective plurality of times.

Claims (41)

1. A method comprising:

at a device including one or more processors and non-transitory memory:

capturing, via a camera, a plurality of two-dimensional images of a body in a three-dimensional environment at a respective plurality of times;

determining, for each of the plurality of two-dimensional images, two-dimensional locations in the two-dimensional image of one or more joints of the body at the respective plurality of times;

determining, based on the two-dimensional locations, a plurality of three-dimensional location values in the three-dimensional environment of the one or more joints of the body at the respective plurality of times; and

modifying the plurality of three-dimensional location values to generate a plurality of updated three-dimensional location values in the three-dimensional environment of the one or more joints of the body at the respective plurality of times.

2. The method of claim 1 , wherein determining the plurality of three-dimensional location values includes applying a first neural network to the two-dimensional locations.

3. The method of claim 2 , wherein the first neural network is trained on data including joint occlusions.

4. The method of claim 2 , wherein determining the plurality of updated three-dimensional location values includes applying a second neural network to the three-dimensional location values.

5. The method of claim 4 , wherein determining the plurality of updated three-dimensional location values includes applying the second neural network to the three-dimensional location values iteratively a number of times.

6. The method of claim 5 , wherein the number of times is based on a computational budget.

7. The method of claim 4 , wherein the second neural network is trained on a loss function including a position term and a velocity term.

8. The method of claim 1 , wherein modifying the plurality of three-dimensional location values comprises:

temporally refining the plurality of three-dimensional location values so that the plurality of updated three-dimensional location values has a greater temporal consistency than the plurality of three-dimensional location values.

9. A device comprising:

a non-transitory memory; and

one or more processors to:

capture, via a camera, a plurality of two-dimensional images of a body in a three-dimensional environment at a respective plurality of times;

determine, for each of the plurality of two-dimensional images, two-dimensional locations in the two-dimensional image of one or more joints of the body at the respective plurality of times;

determine, based on the two-dimensional locations, a plurality of three-dimensional location values in the three-dimensional environment of the one or more joints of the body at the respective plurality of times; and

modify the three-dimensional location values to generate a plurality of updated three-dimensional location values in the three-dimensional environment of the one or more joints of the body at the respective plurality of times.

10. The device of claim 9 , wherein the one or more processors are to determine the plurality of three-dimensional location values by applying a first neural network to the two-dimensional locations.

11. The device of claim 10 , wherein the first neural network is trained on data including joint occlusions.

12. The device of claim 10 , wherein the one or more processors are to determine the plurality of updated three-dimensional location values by applying a second neural network to the three-dimensional location values.

13. The device of claim 12 , wherein the one or more processors are to determine the plurality of updated three-dimensional location values by applying the second neural network to the three-dimensional location values iteratively a number of times.

14. The device of claim 13 , wherein the number of times is based on a computational budget.

15. The device of claim 12 , wherein the second neural network is trained on a loss function including a position term and a velocity term.

16. The device of claim 9 , wherein modifying the plurality of three-dimensional location values comprises:

temporally refining the plurality of three-dimensional location values so that the plurality of updated three-dimensional location values is less jittery than the plurality of three-dimensional location values.

17. A non-transitory computer-readable medium having instructions encoded thereon, which when executed by one or more processors of a device, cause the device to:

capture, via a camera, a plurality of two-dimensional images of a body in a three-dimensional environment at a respective plurality of times;

determine, for each of the plurality of two-dimensional images, two-dimensional locations in the two-dimensional image of one or more joints of the body at the respective plurality of times;

determine, based on the two-dimensional locations, a plurality of three-dimensional location values in the three-dimensional environment of the one or more joints of the body at the respective plurality of times; and

modify the plurality of three-dimensional location values to generate a plurality of updated three-dimensional location values in the three-dimensional environment of the one or more joints of the body at the respective plurality of times.

18. The non-transitory computer-readable medium of claim 17 , wherein instructions cause the device to determine the plurality of three-dimensional location values by applying a first neural network to the two-dimensional locations.

19. The non-transitory computer-readable medium of claim 18 , wherein the first neural network is trained on data including joint occlusions.

20. The non-transitory computer-readable medium of claim 18 , wherein the instructions cause the device to determine the plurality of updated three-dimensional location values by applying a second neural network to the three-dimensional location values.

21. The non-transitory computer-readable medium of claim 20 , wherein the instructions cause the device to determine the plurality of updated three-dimensional location values by applying the second neural network to the three-dimensional location values iteratively a number of times.

22. The non-transitory computer-readable medium of claim 20 , wherein the second neural network is trained on a loss function including a position term and a velocity term.

23. The non-transitory computer-readable medium of claim 17 , wherein modifying the plurality of three-dimensional location values comprises:

utilizing a temporal refiner to temporally refine the plurality of three-dimensional location values so that the plurality of updated three-dimensional location values has less jitter and greater temporal consistency than the plurality of three-dimensional location values.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2023
From: BATRA, TANMAY; COMANDUR JAGANNATHAN RAGHUNATHAN, BHARATH; ALLETTO, STEFANO
To: APPLE INC.
Reel/Frame 064218/0249 →
Continuity (1)
Provisional Application 63161559 · Mar 16, 2021
References Cited (5)
US 11278413B1 · Lang · 2022 [cited by examiner]
US 20190180473A1 · Guleryuz · 2019 [cited by examiner]
US 20190320995A1 · Amiri · 2019 [cited by examiner]
US 20200304729A1 · Runia · 2020 [cited by examiner]
US 20210201066A1 · Cui · 2021 [cited by examiner]
Cited By (7)
US 1,092,524 US 1,095,608 US 1,107,052 US 12,450,950 US 12,469,239 US 12,586,416 US 12,711,647