IP Library Granted Patent US 11,273,343
Granted Patent B2
US 11,273,343 · App. 17/347,514 · Granted Mar 15, 2022

Systems and methods for computer vision and machine-learning based form feedback

Inventors: Joshua Augustin (San Francisco, CA); Moawia Eldeeb (South San Francisco, CA)
Assignee: Tempo Interactive Inc.
A63B24/0062A63B24/0006A63B24/0075A63B71/0622G06F3/011G06F3/04815G06N3/08A63B2024/0015A63B2024/0068A63B2024/0081A63B2220/05A63B2220/803A63B2220/805A63B2220/806G06K9/00342G06T2207/30196G06T2207/30221
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,273,343
App. No.
17/347,514
Granted
Mar 15, 2022
Kind
B2
Abstract

A plurality of motion sensors capable of capturing IR video, depth video, and RGB images. Periodically emitting IR pulses. Capturing IR video, depth video, and RGB images of a user. Generating a point cloud of the user. Generating a 3D model of the user including the point cloud of the user. Inputting the IR video, depth video, and RGB images into a machine learning model. Estimating a set of joints of the user in the 3D model. Tracking, based on the estimated set of joints of the user in the 3D model, the user's motion over a period of time. Determining a number of repetitions of an exercise performed by the user. Determining a feedback value. Calculating, based on the number of repetitions and the feedback value, a user exercise score. Providing, via a graphical user interface, the user exercise score and the feedback value to the user.

Claims (65)

1. A system comprising:

a plurality of three-dimensional (3D) motion sensors, the plurality of 3D motion sensors including one or more infrared (IR) sensors and one or more red, green, and blue (RGB) sensors, the plurality of 3D motion sensors being capable of capturing IR video, depth video, and RGB images;

one or more hardware processors;

memory storing instructions that, when executed by the one or more hardware processors, cause the system to perform:

periodically emitting, by at least a portion of the plurality of 3D motion sensors, IR pulses;

capturing, using the plurality of 3D motion sensors and at least partially based on the periodically emitted IR pulses, IR video of a user and exercise equipment being used by the user through a plurality of movements of an exercise, depth video of the user and the exercise equipment being used by the user through the plurality of movements of the exercise, and RGB images of the user and the exercise equipment being used by the user through the plurality of movements of the exercise;

generating, at least partially based on the captured IR pulses, a point cloud of the user and the exercise equipment being used by the user through the plurality of movements of the exercise;

generating, in response to generating the point cloud of the user and the exercise equipment, a 3D model of the user, the 3D model including the point cloud of the user and the exercise equipment;

inputting the IR video of the user, the depth video of the user, and the RGB images of the user into a machine learning model;

estimating a set of joints of the user in the 3D model, the estimating using the point cloud and the machine learning model with the inputted IR video, the inputted depth video, and the inputted RGB images;

tracking, based on the estimated set of joints of the user in the 3D model, the user's motion over a period of time;

determining, based on the tracked user's motion over the period of time and one or more exercise models, a number of repetitions of the exercise performed by the user over the period of time;

determining, based on the tracked user's motion over the period of time and one or more form feedback models, a form feedback value from a set of form feedback values, the set of form feedback values including a satisfactory value and an unsatisfactory value;

calculating, based on the number of repetitions and the form feedback value, a user exercise score;

providing, via a graphical user interface, the user exercise score and the form feedback value to the user, thereby instructing the user to adjust their form during subsequent repetitions of the exercise.

2. The system of claim 1 , wherein the instructions, when executed by the one or more hardware processors, cause the system to perform:

identifying, using the one or more RGB sensors, one or more weights associated with the exercise equipment;

tracking position and orientation and motion of the exercise equipment over the period of time;

wherein the form feedback value is determined based the tracked user's motion over the period of time and the tracked position and orientation and motion of the exercise equipment over the period of time, and the one or more form feedback models; and

wherein the user exercise score is calculated based on the one or more weights associated with the exercise equipment and the number of repetitions and the form feedback value.

3. The system of claim 2 , wherein the exercise equipment is of a particular color, and the one or more weights associated with the exercise equipment are identified based on the particular color.

4. The system of claim 1 , wherein the machine learning model comprises a convolutional neural net machine learning model.

5. The system of claim 4 , wherein the instructions, when executed by the one or more hardware processors, cause the system to perform:

validating, using another machine learning model and a statistical model, the estimated set of joints of the user in the 3D model prior to tracking the user's motion over the period of time.

6. The system of claim 1 , wherein the point cloud comprises at least 80,000 points, and the estimated set of joints comprises 25 points.

7. The system of claim 1 , wherein the graphical user interface comprises a graphical user interface presented on a screen display of a free-standing A-frame exercise equipment cabinet.

8. The system of claim 2 , wherein the instructions, when executed by the one or more hardware processors, cause the system to perform:

ranking the user, based on the user exercise score, relative to a plurality of other users, wherein each of the other users have a corresponding user exercise score;

providing, via the graphical user interface, a leaderboard including a user list, the user list based on the ranking of the user relative to the other users.

9. The system of claim 1 , wherein the instructions, when executed by the one or more hardware processors, cause the system to perform:

determining, based on the tracked user's motion over the period of time and one or more other machine learning models, a severity score associated with the exercise performed by the user over the period of time, the severity score indicating a degree of error in some or all of the movements of the exercise performed by the user;

notifying, based on the severity score and a dynamic severity threshold value, the user that the user has made an error.

10. They system of claim 1 , wherein the instructions, when executed by the one or more processors, cause the system to perform:

reducing, in response to determining the form feedback value and based on the form feedback value, the number of determined repetitions performed by the user over the period of time.

11. A method implemented by a computing system including a plurality of three-dimensional (3D) motion sensors, the plurality of 3D motion sensors including one or more infrared (IR) sensors and one or more red, green, and blue (RGB) sensors, the plurality of 3D motion sensors being capable of capturing IR video, depth video, and RGB images, and one or more processors and storage media storing machine-readable instructions, wherein the method is performed using the one or more processors, the method comprising:

periodically emitting, by at least a portion of the plurality of 3D motion sensors, IR pulses;

capturing, using the plurality of 3D motion sensors and at least partially based on the periodically emitted IR pulses, IR video of a user and exercise equipment being used by the user through a plurality of movements of an exercise, depth video of the user and the exercise equipment being used by the user through the plurality of movements of the exercise, and RGB images of the user and the exercise equipment being used by the user through the plurality of movements of the exercise;

generating, at least partially based on the captured IR pulses, a point cloud of the user and the exercise equipment being used by the user through the plurality of movements of the exercise;

generating, in response to generating the point cloud of the user and the exercise equipment, a 3D model of the user, the 3D model including the point cloud of the user and the exercise equipment;

inputting the IR video of the user, the depth video of the user, and the RGB images of the user into a machine learning model;

estimating a set of joints of the user in the 3D model, the estimating using the point cloud and the machine learning model with the inputted IR video, the inputted depth video, and the inputted RGB images;

tracking, based on the estimated set of joints of the user in the 3D model, the user's motion over a period of time;

determining, based on the tracked user's motion over the period of time and one or more exercise models, a number of repetitions of the exercise performed by the user over the period of time;

determining, based on the tracked user's motion over the period of time and one or more form feedback models, a form feedback value from a set of form feedback values, the set of form feedback values including a satisfactory value and an unsatisfactory value;

calculating, based on the number of repetitions and the form feedback value, a user exercise score;

providing, via a graphical user interface, the user exercise score and the form feedback value to the user, thereby instructing the user to adjust their form during subsequent repetitions of the exercise.

12. The method of claim 11 , further comprising:

identifying, using the one or more RGB sensors, one or more weights associated with the exercise equipment;

tracking position and orientation and motion of the exercise equipment over the period of time;

wherein the form feedback value is determined based the tracked user's motion over the period of time and the tracked position and orientation and motion of the exercise equipment over the period of time, and the one or more form feedback models; and

wherein the user exercise score is calculated based on the one or more weights associated with the exercise equipment and the number of repetitions and the form feedback value.

13. The method of claim 12 , wherein the exercise equipment is of a particular color, and the one or more weights associated with the exercise equipment are identified based on the particular color.

14. The method of claim 11 , wherein the machine learning model comprises a convolutional neural net machine learning model.

15. The method of claim 14 , further comprising:

validating, using another machine learning model and a statistical model, the estimated set of joints of the user in the 3D model prior to tracking the user's motion over the period of time.

16. The method of claim 11 , wherein the point cloud comprises at least 80,000 points, and the estimated set of joints comprises 25 points.

17. The method of claim 11 , wherein the graphical user interface comprises a graphical user interface presented on a screen display of a free-standing A-frame exercise equipment cabinet.

18. The method of claim 12 , further comprising:

ranking the user, based on the user exercise score, relative to a plurality of other users, wherein each of the other users have a corresponding user exercise score;

providing, via the graphical user interface, a leaderboard including a user list, the user list based on the ranking of the user relative to the other users.

19. The method of claim 11 , further comprising:

determining, based on the tracked user's motion over the period of time and one or more other machine learning models, a severity score associated with the exercise performed by the user over the period of time, the severity score indicating a degree of error in some or all of the movements of the exercise performed by the user;

notifying, based on the severity score and a dynamic severity threshold value, the user that the user has made an error.

20. They method of claim 11 , further comprising:

reducing, in response to determining the form feedback value and based on the form feedback value, the number of determined repetitions performed by the user over the period of time.

Assignments (2)
NUNC PRO TUNC ASSIGNMENT Recorded Dec 10, 2025
From: AUGUSTIN, JOSHUA; ELDEEB, MOAWIA
To: TEMPO INTERACTIVE INC.
Reel/Frame 073180/0788 →
SECURITY INTEREST Recorded Aug 2, 2021
From: PIVOT INTERACTIVE, INC. DBA TEMPO
To: RUTAN & TUCKER, LLP
Reel/Frame 057058/0233 →
Continuity (2)
Provisional Application 63057155 · Jul 27, 2020
Related Publication 20220023718A1 · Jan 27, 2022
Cited By (19)
US 12,268,919 US 12,268,920 US 12,290,714 US 12,290,721 US 12,390,678 US 12,403,352 US 12,415,110 US 12,420,135 US 12,440,719 US 12,458,837 US 12,458,844 US 12,465,815 US 12,491,400 US 12,491,401 US 12,539,442 US 12,594,449 US 12,611,564 US 12,654,057 US 12,722,036