IP Library Granted Patent US 10,134,296
Granted Patent B2
US 10,134,296 · App. 14/315,574 · Granted Nov 20, 2018

Enhancing movement training with an augmented reality mirror

Inventors: Fraser Anderson (Camrose, CA); Tovi Grossman (Toronto, CA); Justin Frank Matejka (Etobicoke, CA); George Fitzmaurice (Toronto, CA)
Assignee: AUTODESK, INC.
G09B5/02G06F19/3481G06K9/00342G06T7/0014G06T7/251G06T11/00G09B19/003G06T2207/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 10,134,296
App. No.
14/315,574
Filed
Jun 26, 2014
Granted
Nov 20, 2018
Kind
B2
Art Unit
3715
USPC
434/257
Abstract

One embodiment of the invention disclosed herein provides techniques for controlling a movement training environment. A movement training system retrieves a movement object from a set of movement objects. The movement training system attains first motion capture data associated with a first user performing a movement based on the movement object. The movement training system generates a first articulable representation based on the first motion capture data. The movement training system compares at least one first joint position related to the first articulable representation with at least one second joint position related to a second articulable representation associated with the movement object. The movement training system calculates a first similarity score based on a difference between the at least one first joint position and the at least one second joint position.

Claims (96)

1. A method implemented via a computer for controlling a movement training environment, the method comprising:

retrieving a movement object from a plurality of movement objects stored in a memory, wherein the movement object comprises a first keyframe and first annotation data that includes auxiliary information corresponding to the first keyframe;

attaining first motion capture data associated with a first user performing a movement based on the movement object;

generating a first articulable representation based on the first motion capture data;

comparing at least one first joint position related to the first articulable representation with at least one second joint position related to a second articulable representation associated with the movement object;

calculating, via a processor, a first similarity score for the first keyframe based on a difference between the at least one first joint position and the at least one second joint position; and

displaying the movement object, including the first annotation data, and the first similarity score on a display device.

2. The method of claim 1 , further comprising:

attaining second motion capture data associated with a second user performing the movement;

generating the second articulable representation based on the second motion capture data;

recording a video segment of the second user performing the movement; and

storing the second articulable representation and the video segment in the movement object.

3. The method of claim 2 , further comprising:

receiving a selection of the first keyframe corresponding to a first point in time associated with the second articulable representation and a second point in time associated with the video segment;

receiving annotation data related to the first keyframe; and

storing the annotation data in the movement object.

4. The method of claim 1 , further comprising:

aligning the first articulable representation with the second articulable representation based on the at least one first joint position and the at least one second joint position to generate a composite articulable representation; and

causing the composite articulable representation to be displayed on a display device.

5. The method of claim 1 , further comprising:

causing at least one of the first articulable representation and the second articulable representation to be projected onto a first surface of a half-silvered mirror; and

transmitting a signal to a dimmable light source to adjust an ambient light in a room in which the half-silvered mirror is placed such that a second surface of the half-silvered mirror displays only the at least one of the first articulable representation and the second articulable representation.

6. The method of claim 1 , further comprising:

causing at least one of the first articulable representation and the second articulable representation to be projected onto a first surface of a half-silvered mirror; and

transmitting a signal to a dimmable light source to adjust an ambient light in a room in which the half-silvered mirror is placed such that a second surface of the half-silvered mirror displays only a reflection of a portion of the room near the second surface.

7. The method of claim 1 , further comprising:

causing at least one of the first articulable representation and the second articulable representation to be projected onto a first surface of a half-silvered mirror; and

transmitting a signal to a dimmable light source to adjust an ambient light in a room in which the half-silvered mirror is placed such that a second surface of the half-silvered mirror displays both the at least one of the first articulable representation and the second articulable representation and a reflection of a portion of the room near the second surface.

8. The method of claim 1 , further comprising:

comparing the at least one second joint position at a first point in time with the at least one second joint position at a second point in time;

calculating a velocity of a joint associated with the at least one second joint position based on the at least one second joint position at the first point in time and the at least one second joint position at the second point in time;

determining that the velocity exceeds a threshold value;

generating a graphical element based on the at least one second joint position at the first point in time and the at least one second joint position at the second point in time.

9. The method of claim 1 , further comprising:

attaining second motion capture data associated with the first user holding a posture;

generating a third articulable representation based on the second motion capture data;

for each movement object in the plurality of movement objects:

comparing at least one third joint position related to the third articulable representation with at least one joint position related to the articulable representation associated with the movement object, and

calculating a similarity score based on a difference between the at least one third joint position and the at least one joint position related to the articulable representation; and

selecting a subset of the plurality of movement objects that includes the first movement object based on the similarity scores.

10. The method of claim 1 , further comprising:

attaining second motion capture data associated with the first user performing a movement;

generating a third articulable representation based on the second motion capture data;

for each movement object in the plurality of movement objects:

comparing at least one third joint position related to the third articulable representation with at least one joint position related to the articulable representation associated with the movement object, and

calculating a similarity score based on a difference between the at least one third joint position and the at least one joint position related to the articulable representation; and

selecting a subset of the plurality of movement objects that includes the first movement object based on the similarity scores.

11. A non-transitory computer-readable storage medium including instructions that, when executed by a processing unit, cause the processing unit perform an operation to control a movement training environment, the operation comprising:

retrieving a movement object from a plurality of movement objects stored in a memory, wherein the movement object comprises a first keyframe and first annotation data that includes auxiliary information corresponding to the first keyframe;

attaining first motion capture data associated with a first user performing a movement based on the movement object;

generating a first articulable representation based on the first motion capture data;

comparing at least one first joint position related to the first articulable representation with at least one second joint position related to a second articulable representation associated with the movement object;

calculating a first similarity score for the first keyframe based on a difference between the at least one first joint position and the at least one second joint position; and

displaying the movement object, including the first annotation data, and the first similarity score on a display device.

12. The non-transitory computer-readable storage medium of claim 11 , further comprising:

attaining second motion capture data associated with a second user performing the movement;

generating the second articulable representation based on the second motion capture data;

recording a video segment of the second user performing the movement; and

storing the second articulable representation and the video segment in the movement object.

13. The non-transitory computer-readable storage medium of claim 12 , further comprising:

receiving a selection of the first keyframe corresponding to a first point in time associated with the second articulable representation and a second point in time associated with the video segment;

receiving annotation data related to the first keyframe; and

storing the annotation data in the movement object.

14. The non-transitory computer-readable storage medium of claim 11 , further comprising:

aligning the first articulable representation with the second articulable representation based on the at least one first joint position and the at least one second joint position to generate a composite articulable representation; and

causing the composite articulable representation to be displayed on a display device.

15. The non-transitory computer-readable storage medium of claim 11 , further comprising:

causing at least one of the first articulable representation and the second articulable representation to be projected onto a first surface of a half-silvered mirror; and

transmitting a signal to a dimmable light source to adjust an ambient light in a room in which the half-silvered mirror is placed such that a second surface of the half-silvered mirror displays only the at least one of the first articulable representation and the second articulable representation.

16. The non-transitory computer-readable storage medium of claim 11 , further comprising:

causing at least one of the first articulable representation and the second articulable representation to be projected onto a first surface of a half-silvered mirror; and

transmitting a signal to a dimmable light source to adjust an ambient light in a room in which the half-silvered mirror is placed such that a second surface of the half-silvered mirror displays only a reflection of a portion of the room near the second surface.

17. The non-transitory computer-readable storage medium of claim 11 , further comprising:

causing at least one of the first articulable representation and the second articulable representation to be projected onto a first surface of a half-silvered mirror; and

transmitting a signal to a dimmable light source to adjust an ambient light in a room in which the half-silvered mirror is placed such that a second surface of the half-silvered mirror displays both the at least one of the first articulable representation and the second articulable representation and a reflection of a portion of the room near the second surface.

18. The non-transitory computer-readable storage medium of claim 11 , further comprising:

comparing the at least one second joint position at a first point in time with the at least one second joint position at a second point in time;

calculating a velocity of a joint associated with the at least one second joint position based on the at least one second joint position at the first point in time and the at least one second joint position at the second point in time;

determining that the velocity exceeds a threshold value;

generating a graphical element based on the at least one second joint position at the first point in time and the at least one second joint position at the second point in time.

19. The non-transitory computer-readable storage medium of claim 11 , further comprising:

attaining second motion capture data associated with the first user holding a posture;

generating a third articulable representation based on the second motion capture data;

for each movement object in the plurality of movement objects:

comparing at least one third joint position related to the third articulable representation with at least one joint position related to the articulable representation associated with the movement object, and

calculating a similarity score based on a difference between the at least one third joint position and the at least one joint position related to the articulable representation; and

selecting a subset of the plurality of movement objects that includes the first movement object based on the similarity scores.

20. A computing device for controlling a movement training environment, comprising:

a processing unit; and

a memory containing instructions, that, when executed by the processing unit, cause the processing to:

retrieve a movement object from a plurality of movement objects stored in the memory, wherein the movement object comprises a first keyframe and first annotation data that includes auxiliary information corresponding to the first keyframe;

attain first motion capture data associated with a first user performing a movement based on the movement object;

generate a first articulable representation based on the first motion capture data;

compare at least one first joint position related to the first articulable representation with at least one second joint position related to a second articulable representation associated with the movement object;

calculate a first similarity score for the first keyframe based on a difference between the at least one first joint position and the at least one second joint position; and

display the movement object, including the first annotation data, and the first similarity score on a display device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2014
From: ANDERSON, FRASER; GROSSMAN, TOVI; MATEJKA, JUSTIN FRANK; FITZMAURICE, GEORGE
To: AUTODESK, INC.
Reel/Frame 033239/0866 →
Continuity (2)
Provisional Application 61886534 · Oct 3, 2013
Related Publication 20150099252A1 · Apr 9, 2015
Cited By (7)
US 12,198,398 US 12,223,672 US 12,229,860 US 12,243,173 US 12,327,484 US 12,562,074 US 12,646,268