IP Library Granted Patent US 10,767,982
Granted Patent B2
US 10,767,982 · App. 15/953,320 · Granted Sep 8, 2020

Systems and methods of locating a control object appendage in three dimensional (3D) space

Inventor: David S. Holz (San Francisco, CA)
Assignee: Ultrahaptics IP Two Limited
G01B11/2433G06K9/00201G06K9/00355G06K9/00375G06K9/00711G06K9/2036G06K9/3241G06T7/292G06T7/507G06T7/586G06T7/593G06T17/00G06F3/017G06T2207/10152G06T2207/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 10,767,982
App. No.
15/953,320
Granted
Sep 8, 2020
Kind
B2
Abstract

Methods and systems for capturing motion and/or determining the shapes and positions of one or more objects in 3D space utilize cross-sections thereof. In various embodiments, images of the cross-sections are captured using a camera based on reflections therefrom or shadows cast thereby.

Claims (61)

1. A system of recognizing gestures from a control object moving in three dimensional (3D) space, the system including:

one or more processors coupled to a memory, the memory loaded with computer instructions that, when executed by the one or more processors, implement actions including:

capturing images of a control object moving in 3D space using cameras having at least two geometrically distinct predetermined vantages;

calculating observed edges of the control object from the captured images;

fitting closed curves to the observed edges of the control object as captured in the images by selecting the closed curve from a family of similar closed curves that fit the observed edges of the control object as captured using an assumed parameter;

substituting one or more fitted parameters of a first fitted closed curve for one or more of the observed edges and the assumed parameter when fitting an adjacent second closed curve;

for a complex control object model that includes a palm and multiple fingers, applying the capturing images, calculating observed edges, fitting closed curves and substitute one or more fitted parameters actions to construct multiple fingers of control object appendages; and

fitting cross sections of a palm to observed edges of a palm as captured in the images;

repeatedly capturing, calculating, and fitting closed curves to the observed edges of the control object as the control object moves in the 3D space; and

analyzing differences in the positions of the fit closed curves to track motion of the control object while making a gesture in the 3D space; and

wherein results of the analyzing the gesture are interpreted as an instruction to some other program executing on a processor.

2. The system of claim 1 , further configured to use a first fitted closed curve to filter fits of additional closed curves.

3. The system of claim 2 , further including:

repeatedly applying the capturing images, calculating observed edges, fitting closed curves and use a first fitted closed curve to filter fits of additional closed curves actions of claim 2 over time; and

calculating motion of a complex control object over time based on differences between modeled locations of a complex control object over time.

4. The system of claim 1 , further including:

repeatedly applying the capturing images, calculating observed edges, and fitting closed curves actions of claim 1 over time; and

calculating motion of the control object over time based on differences between modeled locations of the control object over time.

5. The system of claim 1 , further configured to:

determining and fitting a circle selected from among the closed curves for a plurality of portions of the control object captured, including:

calculating three co planar tangents to observed edges of the control object from the captured images; and

fitting a circle to the control object using at least the three co planar tangents.

6. The system of claim 5 , further including:

for a complex control object model that includes a palm and multiple fingers, applying the determining and fitting a circle actions of claim 5 to construct multiple fingers of control object appendages; and

fitting cross sections of a palm to observed edges of the palm as captured in the images.

7. The system of claim 6 , further including:

repeatedly applying the determining and fitting a circle and fitting cross sections actions of claim 6 over time; and

calculating motion of a complex control object over time based on differences between modeled locations of the complex control object over time.

8. The system of claim 5 , further including:

repeatedly applying the determining and fitting a circle actions of claim 5 over time; and

calculating motion of the control object over time based on differences between modeled locations of the control object over time.

9. A non-transitory computer readable medium storing a plurality of instructions for programming one or more processors to locate a control object appendage in three dimensional (3D) space, the instructions, when executed on the one or more processors, implementing actions including:

capturing images of a control object moving in 3D space using cameras having at least two geometrically distinct predetermined vantages;

calculating observed edges of the control object from the captured images;

fitting closed curves to the observed edges of the control object as captured in the images by selecting the closed curve from a family of similar closed curves that fit the observed edges of the control object as captured using an assumed parameter;

substituting one or more fitted parameters of a first fitted closed curve for one or more of the observed edges and the assumed parameter when fitting an adjacent second closed curve;

for a complex control object model that includes a palm and multiple fingers, applying the capturing images, calculating observed edges, fitting closed curves and substitute one or more fitted parameters actions to construct multiple fingers of control object appendages; and

fitting cross sections of a palm to observed edges of a palm as captured in the images;

repeatedly capturing, calculating, and fitting closed curves to the observed edges of the control object as the control object moves in the 3D space; and

analyzing differences in the positions of the fit closed curves to track motion of the control object while making a gesture in the 3D space; and

wherein results of the analyzing the gesture are interpreted as an instruction to some other program executing on a processor.

10. The non-transitory computer readable medium of claim 9 , further configured to use a first fitted closed curve to filter fits of additional closed curves to the contiguous cross-sections.

11. The non-transitory computer readable medium of claim 10 , further including storing a plurality of instructions for programming one or more processors to locate a complex control object in 3D space, the instructions, when executed on the one or more processors, implementing actions including:

repeatedly applying the capturing images, calculating observed edges, fitting closed curves and use a first fitted closed curve to filter fits of additional closed curves actions of claim 10 over time; and

calculating motion of a complex control object over time based on differences between modeled locations of a complex control object over time.

12. The non-transitory computer readable medium of claim 9 , further including storing a plurality of instructions for programming one or more processors to track motion of a control object appendage in 3D space, the instructions, when executed on the one or more processors, implementing actions including:

repeatedly applying the capturing images, calculating observed edges, and fitting closed curves actions of claim 9 over time; and

calculating motion of the control object over time based on differences between modeled locations of the control object over time.

13. The non-transitory computer readable medium of claim 9 , further configured to:

determining and fitting a circle selected from among the closed curve for a plurality of portions of the control object captured, including:

calculating three co planar tangents to observed edges of the control object from the captured images; and

fitting a circle to the control object using at least the three co planar tangents.

14. The non-transitory computer readable medium of claim 13 , further including storing a plurality of instructions for programming one or more processors to locate a complex control object in 3D space, the instructions, when executed on the one or more processors, implementing actions including:

for a complex control object model that includes a palm and multiple fingers, applying the determining and fitting a circle actions of claim 13 to construct multiple fingers of control object appendages; and

fitting cross sections of a palm to observed edges of the palm as captured in the images.

15. The non-transitory computer readable medium of claim 14 , further including storing a plurality of instructions for programming one or more processors to track motion of a complex control object appendage in 3D space, the instructions, when executed on the one or more processors, implementing actions including:

repeatedly applying the determining and fitting a circle and fitting cross sections actions of claim 14 over time; and

calculating motion of a complex control object over time based on differences between modeled locations of a complex control object over time.

16. The non-transitory computer readable medium of claim 13 , further including storing a plurality of instructions for programming one or more processors to track motion of a control object appendage in 3D space, the instructions, when executed on the one or more processors, implementing actions including:

repeatedly applying the determining and fitting a circle actions of claim 13 over time; and

calculating motion of the control object over time based on differences between modeled locations of the control object over time.

Assignments (13)
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/0632 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2026
From: ULTRAHAPTICS IP TWO LIMITED
To: SIM IP HXR LLC
Reel/Frame 075127/0488 →
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 →
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 →
SECOND AMENDMENT TO PLAIN ENGLISH INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Sep 21, 2018
From: LEAP MOTION, INC.
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 047123/0666 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2018
From: HOLZ, DAVID
To: LEAP MOTION, INC.
Reel/Frame 045539/0863 →
Continuity (6)
Continuation 14723370 · May 27, 2015
Continuation 13724357 · Dec 21, 2012
Continuation In Part 13414485 · Mar 7, 2012
Provisional Application 61587554 · Jan 17, 2012
Provisional Application 61724091 · Nov 8, 2012
Related Publication 20190017813A1 · Jan 17, 2019
Cited By (1)
US 12,693,717