IP Library Granted Patent US 11,069,144
Granted Patent B2
US 11,069,144 · App. 16/570,369 · Granted Jul 20, 2021

Systems and methods for augmented reality body movement guidance and measurement

Inventors: Hemant Virkar (Darnestown, MD); Leah Kaplan (Germantown, MD); Stephen Furlani (Gaithersburg, MD); Jacob Borgman (Ipswich, MA)
Assignee: MirrorAR LLC
G06T19/006G06K9/00342G06N20/20G06T7/215G06T7/74G06T2207/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 11,069,144
App. No.
16/570,369
Granted
Jul 20, 2021
Kind
B2
Abstract

The disclosure relates to a system for providing guidance for positioning a body. The system may include a video display, one or more digital cameras configured to generate a depth video stream and a visual video stream, and a computing device including, a memory, and a processor. The processor may control the one or more digital cameras to generate the depth video stream including a depth image of the body and the visual video stream including a color image of the body. The processor identifies at least a part of the body within the images using a first trained learning machine to segment the images and isolate the body. The processor may crop both the visual image and the depth image based on the identified body. The processor may estimate a position of a plurality of joints of the body by applying a second trained learning machine to the identified and isolated part of the body. The processor may generate a current pose estimate by connecting estimated positions of the plurality of joints. The processor may overlay a visual representation of the current pose estimate over the color video stream on the video display.

Claims (52)

1. A system for providing guidance for positioning at least a part of a body of a user, comprising:

a video display configured to display a visual video stream of a visual representation of visual images of the body of the user;

one or more cameras configured to generate the visual video stream; and

a computing device comprising:

a memory storing computer executable instructions; and

a processor configured to execute the computer executable instructions to:

control the one or more cameras to generate images of the visual video stream;

obtain a depth video stream that includes a depth value of at least the part of the body;

identify at least the part of the body within the images using a first trained learning machine;

isolate the identified part of the body from the images by cropping the visual representation of the visual images of the body of the user;

estimate two-dimensional coordinate positions in the visual video stream of each of a plurality of joints of the body by applying a second trained learning machine to the isolated and identified part of the body within the cropped visual images;

estimate three-dimensional coordinate positions of each of the plurality of joints of the body by applying the depth value to the estimated two-dimensional coordinate positions in the visual stream;

model a current pose of the identified part of the body by connecting the estimated three-dimensional coordinate positions of each of the plurality of joints;

display, on the video display and overlaid on the visual video stream, a visual representation in real time of the modeled current pose of the identified part of the body that is visually represented by a plurality of lines that connect the estimated three-dimensional coordinate positions of each of the plurality of joints;

overlay, on the video display and concurrently with both the visual video stream and the visual representation of the modeled current pose, a target pose associated with a sequence of target pose segments, such that the visual representation of the plurality of lines for the modeled current pose of the body is displayed relative to the target pose; and

display, on the video display, the sequence of target pose segments and track the modeled current pose with the sequence of target pose segments to determine whether the user executes the sequence of target pose segments within a given time frame and within a tolerance threshold between modeled current pose and each target pose of the sequence of target pose segments.

2. The system of claim 1 , wherein the processor is configured to overlay the visual representation of the modeled current pose in real time as the cameras generate the images of the depth video stream and the visual video stream.

3. The system of claim 1 , wherein the processor is configured to overlay the visual representation of the modeled current pose over a video frame within 10 frames of the images.

4. The system of claim 1 , wherein the processor is further configured to

display an indication of whether the modeled current pose matches the target pose.

5. The system of claim 4 , wherein the processor is configured to display a subsequent pose in response to determining that the modeled current pose matches the target pose.

6. The system of claim 4 , wherein the target pose is a position of an exercise routine and the system guides the user through the exercise routine.

7. The system of claim 6 , wherein the processor is configured to store a record indicating whether the user successfully completes each pose of the exercise routine.

8. The system of claim 1 , wherein the processor is configured to calculate a difference between the modeled current pose and the target pose.

9. The system of claim 8 , wherein the processor is configured to overlay a visual representation of the difference over the visual video stream on the video display.

10. The system of claim 9 , wherein the visual representation of the difference directs the user to the target pose.

11. The system of claim 9 , wherein the representation of the difference is one of an angle, direction, or distance.

12. The system of claim 8 , wherein the processor is configured to record the difference in association with the user and the target pose.

13. The system of claim 1 , wherein the processor is configured to compare a timing component of the pose segments with a time that the modeled current pose matches each pose segment to track movement of the user to determine whether the user executes the sequence of target pose segments within the given time frame.

14. The system of claim 1 , wherein the processor is configured to record one or more objective measurements of the current pose and store the one or more measurements in association with the user.

15. The system of claim 1 , wherein the processor is configured to record one or more subjective metrics related to the modeled current pose from the user and store the one or more subjective metrics in association with the user and the modeled current pose.

16. The system of claim 1 , wherein the first trained learning machine is configured to segment the visual image and identify at least the body part in the image.

17. The system of claim 1 , wherein the second trained learning machine is configured to generate a heatmap of predicted locations for each of the plurality of joints.

18. The system of claim 1 , wherein the second trained learning machine is trained to generate three-dimensional coordinate positions of each of the plurality of joints, wherein the training set for the second trained learning machine includes images with labels identifying three-dimensional coordinates of each joint.

19. The system of claim 1 , wherein the processor is configured to:

integrate two dimensional pixel coordinates with depth distances to define a common unit of length for three dimensions; and

perform inverse kinematic calculations on three dimensional joint coordinates and biologically feasible positions to determine joint angles.

20. A method providing guidance for positioning at least a part of a body of a user, comprising:

controlling one or more cameras to generate images of a visual video stream that includes a visual representation of visual images, of at least the part of the body;

obtaining a depth video stream that includes a depth value of at least the part of the body;

identifying at least the part of the body within the images using a first trained learning machine;

isolating the identified part of the body from the images by cropping the visual representation of the visual images of the body of the user;

estimating two-dimensional coordinate positions in the visual video stream of each of a plurality of joints of the body by applying a second trained learning machine to the isolated and identified part of the body within the cropped visual images;

modeling a current pose of the identified part of the body by connecting the estimated three-dimensional coordinate positions of each of the plurality of joints;

displaying, on a video display, the visual stream of the visual representation of the part of the body;

displaying, on the video display and overlaid on the visual stream, a visual representation in real time of the modeled current pose of the identified part of the body that is visually represented by a plurality of lines that connect the estimated three-dimensional coordinate positions of each of the plurality of joints; and

overlaying, on the video display and concurrently with both the visual video stream and the visual representation of the modeled current pose, a target pose associated with a sequence of target pose segments, such that the visual representation of the plurality of lines for the modeled current pose of the body is displayed relative to the target pose; and

displaying, on the video display, the sequence of target pose segments and track the modeled current pose with the sequence of target pose segments to determine whether the user executes the sequence of target pose segments within a given time frame and within a tolerance threshold between modeled current pose and each target pose of the sequence of target pose segments.

21. The method of claim 20 , further comprising:

calculating a difference between the modeled current pose and the target pose; and

overlaying a visual representation of the difference over the visual video stream on the video display.

22. The method of claim 20 , further comprising comparing a timing component of the pose segments with a time that the modeled current pose matches each pose segment to track movement of the user to determine whether the user executes the sequence of target pose segments within the given time frame.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2021
From: VIRKAR, HEMANT
To: MIRRORAR LLC
Reel/Frame 056566/0284 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2021
From: BORGMAN, JACOB; KAPLAN, LEAH; FURLANI, STEPHEN
To: VIRKAR, HEMANT
Reel/Frame 056611/0062 →
Continuity (2)
Provisional Application 62731744 · Sep 14, 2018
Related Publication 20200090408A1 · Mar 19, 2020
Cited By (1)
US 12,266,353