IP Library › Granted Patent US 12,153,737
Granted Patent B2
US 12,153,737 · App. 17/814,965 · Granted Nov 26, 2024

System and method for authoring freehand interactive augmented reality applications

Inventors: Karthik Ramani (West Lafayette, IN); Tianyi Wang (West Lafayette, IN); Xun Qian (West Lafayette, IN); Fengming He (West Lafayette, IN)
Assignee: Purdue Research Foundation
G06F3/017G06F3/011G06T13/20G06T19/006G06T2200/24
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,153,737
App. No.
17/814,965
Filed
Jul 26, 2022
Granted
Nov 26, 2024
Kind
B2
Art Unit
2616
USPC
345/419
Abstract

An augmented reality (AR) application authoring system is disclosed. The AR application authoring system enables the real-time creation of freehand interactive AR applications with freehand inputs. The AR application authoring system enables intuitive authoring of customized freehand gesture inputs through embodied demonstration while using the surrounding environment as a contextual reference. A visual programming interface is provided with which users can define freehand interactions by matching the freehand gestures with reactions of virtual AR assets. Thus, users can create personalized freehand interactions through simple trigger-action programming logic. Further, with the support of a real-time hand gesture detection algorithm, users can seamlessly test and iterate on the authored AR experience.

Claims (63)

1. A method for authoring an augmented reality (AR) application, the method comprising:

defining, with a processor, a user-defined hand gesture by recording a demonstration of a pose of a hand or a sequence of poses of the hand by a user in an environment with at least one sensor, the user-defined hand gesture being characterized by three-dimensional positions and orientations of joints of the hand during the demonstration;

displaying, on a display, an AR graphical user interface including, superimposed on the environment, (i) a virtual object and (ii) a virtual hand demonstrating the previously defined user-defined hand gesture;

defining, with the processor, based on user inputs received from the user, an association between the user-defined hand gesture with an animation or a manipulation of the virtual object to be displayed in response to or synchronously with a future performance of the user-defined hand gesture; and

displaying, in the AR graphical user interface on the display, after defining the association, the animation or the manipulation of the virtual object in response to or synchronously with detecting a real-time performance of the user-defined hand gesture.

2. The method according to claim 1 further comprising:

generating the virtual object by scanning a real-world object using at least one sensor.

3. The method according to claim 2 , the scanning further comprising:

detecting a position of the hand of the user near the real-world object; and

scanning portions of the real-world object near the hand of the user.

4. The method according to claim 1 further comprising:

generating the virtual object by tracking the hand of the user as the user sketches a drawing mid-air in the environment.

5. The method according to claim 1 further comprising:

generating the virtual object by importing a three-dimensional model.

6. The method according to claim 1 further comprising:

generating a virtual object by joining two further virtual objects with a virtual joint, the virtual joint defining a mechanical constraint between the two further virtual objects.

7. The method according to claim 1 , the defining the user-defined hand gesture further comprising:

detecting that the hand of the user has remained still during the demonstration for a threshold amount of time; and

defining a static hand gesture as the pose of the hand of the user with which the hand remained still for the threshold amount of time.

8. The method according to claim 1 , the defining the user-defined hand gesture further comprising:

detecting that the hand of the user has remained still during the demonstration for a threshold amount of time; and

defining a dynamic hand gesture as the sequence of poses of the hand performed during a period of time prior to the hand remaining still for the threshold amount of time.

9. The method according to claim 1 further comprising:

defining, with the processor, the animation of the virtual object based on user inputs received from the user that manipulate the virtual object.

10. The method according to claim 9 , the defining the user-defined hand gesture further comprising:

displaying, in the AR graphical user interface on the display, the animation of the virtual object;

recording the demonstration of the sequence of poses of the user during the displaying of the animation of the virtual object; and

defining a dynamic hand gesture as the sequence of poses of the hand over time in relation to a progression of the animation of the virtual object over time.

11. The method according to claim 1 , the associating further comprising:

selecting the user-defined hand gesture based on user inputs received from the user; and

selecting the animation or the manipulation of the virtual object.

12. The method according to claim 1 , the associating further comprising:

defining, based on user inputs received from the user, a region of the environment at which the user-defined hand gesture must occur to trigger the animation or the manipulation of the virtual object to be displayed.

13. The method according to claim 12 , the displaying the animation or the manipulation of the virtual object further comprising:

displaying, in the AR graphical user interface on the display, the animation or the manipulation of the virtual object in response to or synchronously with detecting the real-time performance of the user-defined hand gesture in the defined region.

14. The method according to claim 1 , the displaying the animation or the manipulation of the virtual object further comprising:

providing a triggering signal in response to detecting the real-time performance of the user-defined hand gesture in which the hand of the user has a defined static pose; and

displaying, in the AR graphical user interface on the display, the animation or the manipulation of the virtual object in response to the triggering signal.

15. The method according to claim 1 , the displaying the animation or the manipulation of the virtual object further comprising:

providing a triggering signal in response to detecting the real-time performance of the user-defined hand gesture in which the hand of the user has a defined dynamic sequence of poses over time; and

displaying, in the AR graphical user interface on the display, the animation or the manipulation of the virtual object in response to the triggering signal.

16. The method according to claim 1 , the displaying the animation or the manipulation of the virtual object further comprising:

detecting the real-time performance of the user-defined hand gesture in which the hand of the user has a defined static pose;

determining a value indicating a transformation of the hand of the user while the hand of the user maintains the defined static pose; and

displaying, in the AR graphical user interface on the display, the animation or the manipulation of the virtual object such that the virtual object maintains a constant pose relative to the hand of the user.

17. The method according to claim 1 , the displaying the animation or the manipulation of the virtual object further comprising:

detecting the real-time performance of the user-defined hand gesture in which the hand of the user has a defined dynamic sequence of poses over time;

determining a value indicating a progression of the hand through the defined dynamic sequence of poses; and

displaying, in the AR graphical user interface on the display, the animation or the manipulation of the virtual object such that it progresses synchronously with the progression of the hand through defined dynamic sequence of poses, based on the value.

18. The method according to claim 1 , the detecting the real-time performance of the user-defined hand gesture further comprising:

comparing a real-time hand pose of the real-time performance with a demonstrated hand pose of the demonstration using a Siamese neural network.

19. The method according to claim 1 , the detecting the real-time performance of the user-defined hand gesture further comprising:

determining a sequence of real-time hand states of the real-time performance; and

comparing the sequence of real-time hand states with a sequence of demonstrated hand states of the demonstration.

20. An augmented reality device for authoring an augmented reality (AR) application, augmented reality device comprising:

a memory;

a display screen configured to display an AR graphical user interface;

at least one sensor configured to measure sensor data; and

a processor operably connected to the memory, the display screen, and the at least one sensor, the processor being configured to:

define, and store in the memory, a user-defined hand gesture by operating at least one sensor to record a demonstration of a pose of a hand or a sequence of poses of the hand by a user in an environment, the user-defined hand gesture being characterized by three-dimensional positions and orientations of joints of the hand during the demonstration;

operate the display screen to display, in the AR graphical user interface, (i) a virtual object and (ii) a virtual hand demonstrating the previously defined user-defined hand gesture;

define, and store in the memory, based on user inputs received from the user, an association between the user-defined hand gesture and an animation or a manipulation of the virtual object to be displayed in response to or synchronously with a future performance of the user-defined hand gesture; and

operate the display screen to display, in the AR graphical user interface, after defining the association, the animation or the manipulation of the virtual object in response to or synchronously with detecting a real-time performance of the user-defined hand gesture.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2024
From: RAMANI, KARTHIK; WANG, TIANYI; QIAN, XUN; HE, FENGMING
To: PURDUE RESEARCH FOUNDATION
Reel/Frame 068784/0453 →
Continuity (2)
Provisional Application 63226367 · Jul 28, 2021
Related Publication 20230038709A1 · Feb 9, 2023
Cited By (2)
US 12,579,742 US 12,682,561