IP Library Granted Patent US 9,659,403
Granted Patent B1
US 9,659,403 · App. 14/590,983 · Granted May 23, 2017

Initializing orientation in space for predictive information for free space gesture control and communication

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 9,659,403
App. No.
14/590,983
Granted
May 23, 2017
Kind
B1
Abstract

The technology disclosed relates to initializing orientation of a three-dimensional (3D) model of an object. In particular, it relates to accessing at least one three-dimensional (3D) model of an object and observed information of the object movable in space and determining a primary orientation parameter of the model from the observed information. The method further includes detecting contours of the object in the observed information and calculating a representative normal to the detected contours, accessing a vector representing a 3D angle from the object to a point of observation, calculating a primary orientation of the object as a cross-product of the representative normal and the vector, and using the calculated primary orientation parameter to initialize the model.

Claims (45)

1. A computer implemented method of initializing an orientation of a three-dimensional (3D) model of an object, comprising:

accessing at least one three-dimensional (3D) model of the object and observed information of the object moving in space; and

determining a primary orientation parameter for the 3D model from the observed information, including:

detecting a plurality of contours for the object in the observed information and calculating a representative normal vector for at least some of the detected contours;

accessing a tangent vector representing a 3D angle tangent to a point on a surface of the object and drawn to a point of observation;

calculating a primary orientation parameter for the object using a cross-product of the representative normal vector and the tangent vector; and

using the calculated primary orientation parameter to initialize the orientation of the 3D model of the object.

2. The method of claim 1 , further including filtering the plurality of contours to detect edges and calculating the representative normal vector from the filtered contours.

3. The method of claim 1 , further including using brightness gradients to calculate the representative normal vector.

4. The method of claim 1 , further including using brightness contours to calculate the representative normal vector.

5. The method of claim 1 , wherein the calculating the representative normal vector includes averaging a plurality of normal vectors.

6. The method of claim 5 , further including preparing a histogram of the plurality of normal vectors; calculating an argument value for the histogram; and using the argument value calculating the representative normal vector.

7. The method of claim 1 , further including:

identifying a plurality of normal vectors normal to at least some of the contours of the object and determining for a selected contour, a representative normal vector from the plurality of normal vectors associated with the selected contour based upon a magnitude computed for the plurality of normal vectors; and

selecting from among the plurality of normal vectors for the selected contour a normal vector having a maximum magnitude as the representative normal vector for the selected contour.

8. The method of claim 1 , further including:

identifying a plurality of normal vectors normal to at least some of the contours of the object; and

selecting, as the representative normal vector, a normal vector selected from the plurality of normal vectors, the selected representative normal vector having a magnitude determined from magnitudes of the plurality of normal vectors and a direction determined from the plurality of normal vectors.

9. The method of claim 8 , the determining further includes determining an average of the magnitudes and the directions of the plurality of normal vectors.

10. The method of claim 8 , the determining further includes determining a mean of the magnitudes and the directions of the plurality of normal vectors.

11. The method of claim 1 , further including initializing a model portion by applying the primary orientation parameter to at least a portion of the model and aligning the portion to an observed orientation of the object.

12. The method of claim 1 , wherein the object is a human body.

13. The method of claim 1 , wherein the object is a hand.

14. The method of claim 1 , wherein the object is a tool.

15. The method of claim 1 , further including modifying power consumption profiles of a machine sensory control system responsive to initialization of the model.

16. A system of initializing an orientation of a three-dimensional (3D) model of an object, comprising:

a processor and a computer readable storage medium storing computer instructions configured to cause the processor to:

access at least one three-dimensional (3D) model of the object and observed information of the object moving in space; and

determine a primary orientation parameter for the 3D model from the observed information, including:

detecting a plurality of contours for the object in the observed information and calculating a representative normal vector for at least some of the detected contours;

accessing a tangent vector representing a 3D angle tangent to a point on a surface of the object and drawn to a point of observation;

calculating a primary orientation parameter for the object using a cross-product of the representative normal vector and the tangent vector; and

using the calculated primary orientation parameter to initialize the orientation of the 3D model of the object.

17. The system of claim 16 , further configured to filter the plurality of contours to detect edges and calculating the representative normal vector from the filtered contours.

18. The system of claim 16 , further configured to use brightness gradients to calculate the representative normal vector.

19. The system of claim 16 , further configured to use brightness contours to calculate the representative normal vector.

20. The system of claim 16 , further configured to average a plurality of normal vectors.

21. The system of claim 20 , further configured to prepare a histogram of the plurality of normal vectors; calculate an argument value for the histogram; and using the argument value as the representative normal vector.

22. A non-transitory computer readable storage medium impressed with computer program instructions to initialize an orientation of a three-dimensional (3D) model of an object, the instructions, when executed on a processor, implement a method comprising:

accessing at least one three-dimensional (3D) model of the object and observed information of the object moving in space; and

determining a primary orientation parameter for the 3D model from the observed information, including:

detecting a plurality of contours for the object in the observed information and calculating a representative normal vector for at least some of the detected contours;

accessing a tangent vector representing a 3D angle tangent to a point on a surface of the object and drawn to a point of observation;

calculating a primary orientation parameter for the object using a cross-product of the representative normal vector and the tangent vector; and

using the calculated primary orientation parameter to initialize the orientation of the 3D model of the object.

Assignments (16)
SECURITY INTEREST Recorded Apr 6, 2026
From: SIM IP HXR LLC
To: UNITY MASTER LLC SERIES XIX
Reel/Frame 075365/0907 →
RELEASE OF SECURITY INTEREST Recorded Mar 27, 2026
From: TRIPLEPOINT CAPITAL LLC
To: ULTRAHAPTICS IP TWO LIMITED
Reel/Frame 075288/0661 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2026
From: ULTRAHAPTICS IP TWO LIMITED
To: SIM IP HXR LLC
Reel/Frame 075127/0604 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2026
From: ULTRAHAPTICS LIMITED; ULTRAHAPTICS IP LIMITED; ULTRAHAPTICS IP TWO LIMITED; ULTRALEAP LIMITED
To: SIM IP HXR LLC
Reel/Frame 074403/0721 →
SECURITY INTEREST Recorded Jun 10, 2020
From: LMI LIQUIDATING CO., LLC
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 052902/0571 →
SECURITY INTEREST Recorded Jun 5, 2020
From: ULTRAHAPTICS IP TWO LIMITED
To: LMI LIQUIDATING CO., LLC
Reel/Frame 052848/0240 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2020
From: LMI LIQUIDATING CO., LLC.
To: ULTRAHAPTICS IP TWO LIMITED
Reel/Frame 051580/0165 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2020
From: LEAP MOTION, INC.
To: LMI LIQUIDATING CO., LLC.
Reel/Frame 052914/0871 →
RELEASE OF SECURITY INTEREST Recorded Jul 31, 2019
From: HAYNES BEFFEL WOLFELD LLP
To: LEAP MOTION, INC.
Reel/Frame 049926/0631 →
RELEASE OF SECURITY INTEREST Recorded May 31, 2019
From: TRIPLEPOINT CAPITAL LLC
To: LEAP MOTION, INC.
Reel/Frame 049337/0130 →
SECURITY INTEREST Recorded Apr 11, 2019
From: LEAP MOTION, INC.
To: HAYNES BEFFEL WOLFELD LLP
Reel/Frame 048919/0109 →
TERMINATION OF SECURITY AGREEMENT Recorded Nov 7, 2018
From: THE FOUNDERS FUND IV, LP, AS COLLATERAL AGENT
To: LEAP MOTION, INC.
Reel/Frame 047444/0567 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR EXECUTION DATE ON ASSIGNMENT DOCUMENT. PREVIOUSLY RECORDED AT REEL: 035936 FRAME: 0862. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Mar 23, 2017
From: HOROWITZ, KEVIN A.
To: LEAP MOTION, INC.
Reel/Frame 042083/0111 →
SECURITY INTEREST Recorded Oct 6, 2015
From: LEAP MOTION, INC.
To: THE FOUNDERS FUND IV, LP
Reel/Frame 036796/0151 →
SECURITY INTEREST Recorded Sep 21, 2015
From: LEAP MOTION, INC.
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 036644/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2015
From: HOROWITZ, KEVIN A.
To: LEAP MOTION, INC.
Reel/Frame 035936/0862 →