IP Library Granted Patent US 11,461,966
Granted Patent B1
US 11,461,966 · App. 17/100,786 · Granted Oct 4, 2022

Determining spans and span lengths of a control object in a free space gesture control environment

Inventors: Kevin A Horowitz (San Francisco, CA); David S Holz (San Francisco, CA)
Assignee: Ultrahaptics IP Two Limited
G06T17/10G06F3/011G06F3/017G06T7/11G06T7/136G06T7/194G06T7/251G06T7/593G06T17/20G06T19/006G06T19/20G06V40/28G06T19/00G06T2207/10028G06T2207/20048G06T2219/2004G06T2219/2016G06T2219/2021
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,461,966
App. No.
17/100,786
Granted
Oct 4, 2022
Kind
B1
Abstract

Free space machine interface and control can be facilitated by predictive entities useful in interpreting a control object's position and/or motion (including objects having one or more articulating members, i.e., humans and/or animals and/or machines). Predictive entities can be driven using motion information captured using image information or the equivalents. Predictive information can be improved applying techniques for correlating with information from observations.

Claims (69)

1. A method of accurately capturing gestural motion of a control object in a three-dimensional (3D) sensory space, the method including:

determining observation information characterizing gestural motion of a control object in a three-dimensional (3D) sensory space from at least one image captured at time to, the determining of the observation information including:

identifying a contour of the control object, the identified contour having a plurality of contour points;

identifying a first unmatched contour point of the plurality of contour points;

determining a normal for the first unmatched contour point;

identifying a second unmatched contour point of the plurality of contour points by locating an unmatched contour point that is closest to the first unmatched contour point and is reachable by a line having a most opposite normal to the normal for the first unmatched contour point;

defining a span as a shortest distance between the first unmatched contour point and the second unmatched contour point;

defining a span length as a length of the defined span; and

determining the observation information to include the defined span and the defined span length;

constructing a 3D solid model to represent the control object by fitting one or more 3D solid subcomponents to a construct of the control object defined by the observation information based on the image captured at time t 0 ; and

responsive to modifications in the observation information based on another image captured at time t 1 , wherein the control object moved between t 0 and t 1 , improving conformance of the 3D solid model to the modifications in the observation information.

2. The method of claim 1 , wherein the fitting of the one or more 3D solid subcomponents further includes fitting a set of closed curves to at least a portion of a construct of the control object.

3. The method of claim 2 , wherein the set of closed curves includes at least one of radial solids, capsuloids, spheres, ellipsoids, and hyperboloids.

4. The method of claim 1 , wherein the fitting of the one or more 3D solid subcomponents further includes fitting a set of capsuloids to at least a portion of construct of the control object.

5. The method of claim 1 , wherein the control object is a hand and the fitting the one or more 3D solid subcomponents further includes at least one of:

fitting capsuloids to finger portions of a construct of the control object; and

fitting radial solids to palm and/or wrist portions of the construct.

6. The method of claim 1 , wherein the improving of the conformance of the 3D solid model includes altering the 3D solid subcomponents to conform to at least one of the defined span length, width, orientation, and arrangement of portions of a construct of the control object.

7. The method of claim 6 , wherein the altering of the 3D solid subcomponents further includes applying a transformation matrix to a plurality of points on the 3D solid subcomponents.

8. The method of claim 1 , wherein the constructing of the 3D solid model further includes determining the 3D solid subcomponents from physical characteristics of a type of control object being observed.

9. The method of claim 8 , wherein the control object is a hand and the physical characteristics of the hand include at least one of:

four fingers and a thumb of the hand;

a palm to which the fingers and the thumb are connected; and

positions and angles of the fingers and the thumb relative to each other and to the palm.

10. The method of claim 8 , wherein the control object is a tool and the physical characteristics of the tool include at least one of:

length of the tool;

width of the tool; and

pointing direction vector of the tool.

11. The method of claim 1 , wherein the control object is a hand and identified construct portions include at least one fingers, carpals, knuckles, palm, and wrist.

12. The method of claim 1 , further including improving a 3D solid model's representation of the gestural motion by:

detecting conflicting attributes between adjacent 3D solid subcomponents based on the defined span and the defined span length; and

fitting, to the construct, 3D solid subcomponents with least conflicting attributes.

13. The method of claim 12 , further including:

ranking the 3D solid subcomponents with conflicting attributes based on a degree of conflict; and

presenting the ranked 3D solid subcomponents for selection.

14. The method of claim 1 , wherein the first unmatched contour point is arbitrarily identified.

15. The method of claim 1 , wherein the line is a convex curve line.

16. The method of claim 1 , wherein the span is defined as a shortest convex curve between the first unmatched contour point and the second unmatched contour point.

17. The method of claim 1 , wherein the normal for the first unmatched contour point is determined by:

identifying a set of contour points proximate to the first unmatched contour point, wherein at least two contour points included in the set of contour points are not co-linear; and

determining the normal by obtaining a cross product of the set of points.

18. The method of claim 1 , wherein the normal for the first unmatched contour point is determined by:

identifying a set of contour points proximate to the first unmatched contour point;

defining a first vector by subtracting a first contour point in the set of contour points from a second contour point in the set of contour points;

applying a rotation matrix to rotate the first vector by 90 degrees away from a center of mass of the set of contour points; and

determining the rotated first vector to be the normal.

19. A non-transitory computer readable storage medium impressed with computer program instructions to accurately capture gestural motion of a control object in a three-dimensional (3D) sensory space, which computer program instructions, when executed on a processor, implement a method including:

determining observation information characterizing gestural motion of a control object in a three-dimensional (3D) sensory space from at least one image captured at time t 0 , the determining of the observation information including:

identifying a contour of the control object, the identified contour having a plurality of contour points;

identifying a first unmatched contour point of the plurality of contour points;

determining a normal for the first unmatched contour point;

identifying a second unmatched contour point of the plurality of contour points by locating an unmatched contour point that is closest to the first unmatched contour point and is reachable by a line having a most opposite normal to the normal for the first unmatched contour point;

defining a span as a shortest distance between the first unmatched contour point and the second unmatched contour point;

defining a span length as a length of the defined span; and

determining the observation information to include the defined span and the defined span length;

constructing a 3D solid model to represent the control object by fitting one or more 3D solid subcomponents to a construct of the control object defined by the observation information based on the image captured at time t 0 ; and

responsive to modifications in the observation information based on another image captured at time t 1 , wherein the control object moved between t 0 and t 1 , improving conformance of the 3D solid model to the modifications in the observation information.

20. A system to accurately capture gestural motion of a control object in a three-dimensional (3D) sensory space, comprising:

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

determine observation information characterizing gestural motion of a control object in a three-dimensional (3D) sensory space from at least one image captured at time t 0 , the determining of the observation information including:

identify a contour of the control object, the identified contour having a plurality of contour points;

identify a first unmatched contour point of the plurality of contour points;

determine a normal for the first unmatched contour point;

identify a second unmatched contour point of the plurality of contour points by locating an unmatched contour point that is closest to the first unmatched contour point and is reachable by a line having a most opposite normal to the normal for the first unmatched contour point;

define a span as a shortest distance between the first unmatched contour point and the second unmatched contour point;

define a span length as a length of the defined span; and

determine the observation information to include the defined span and the defined span length;

construct a 3D solid model to represent the control object by fitting one or more 3D solid subcomponents to a construct of the control object defined by the observation information based on the image captured at time t 0 ; and

responsive to modifications in the observation information based on another image captured at time t 1 , wherein the control object moved between t 0 and t 1 , improve conformance of the 3D solid model to the modifications in the observation information.

Assignments (6)
SECURITY INTEREST Recorded Apr 6, 2026
From: SIM IP HXR LLC
To: UNITY MASTER LLC SERIES XIX
Reel/Frame 075365/0907 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2026
From: ULTRAHAPTICS IP TWO LIMITED
To: SIM IP HXR LLC
Reel/Frame 075127/0665 →
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/0573 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2022
From: LMI LIQUIDATING CO. LLC
To: ULTRAHAPTICS IP TWO LIMITED
Reel/Frame 060846/0899 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2022
From: LEAP MOTION, INC.
To: LMI LIQUIDATING CO. LLC
Reel/Frame 060846/0931 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2022
From: HOROWITZ, KEVIN A.; HOLZ, DAVID S
To: LEAP MOTION, INC.
Reel/Frame 060846/0967 →