IP Library Granted Patent US 9,734,393
Granted Patent B2
US 9,734,393 · App. 13/625,712 · Granted Aug 15, 2017

Gesture-based control system

Inventor: Robert Wang (Foster City, CA)
Assignee: Facebook, Inc.
G06K9/00389G06F3/011G06F3/017
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,734,393
App. No.
13/625,712
Granted
Aug 15, 2017
Kind
B2
Abstract

A method and system for human computer interaction using hand gestures is presented. The system permits a person to precisely control a computer system without wearing an instrumented glove or any other tracking device. In one embodiment, two cameras observe and record images of a user's hands. The hand images are processed by querying a database relating hand image features to the 3D configuration of the hands and fingers (i.e. the 3D hand poses). The 3D hand poses are interpreted as gestures. Each gesture can be interpreted as a command by the computer system. Uses for such a system include, but are not limited to, computer aided design for architecture, mechanical engineering and scientific visualization. Computer-generated 3D virtual objects can be efficiently explored, modeled and assembled using direct 3D manipulation by the user's hands.

Claims (74)

1. A method for gesture-based control, the method comprising:

storing information in a database regarding a plurality of three-dimensional hand poses, the information inclusive of static hand position, orientation, and skeletal finger configuration, and wherein a sequence of three-dimensional hand poses over time collectively define one or more hand gestures;

receiving image information about a hand from one or more imaging devices; and

executing instructions stored in memory, wherein execution of the instructions by a processor:

identifies the hand against a background from the received image information,

generates a display incorporating the received image information about the hand,

estimates a three-dimensional pose of the hand based on the identified hand, identifies a hand feature of the hand based on the estimated three-dimensional pose of the hand, the hand feature including identifying contact between two fingers of the hand based on the estimated three-dimensional pose of the hand and the contact is identified between two fingers based on geodesic image distance,

tracks the three-dimensional pose of the hand,

recognizes when a plurality of the three-dimensional hand poses matches one or more hand gestures,

generates a control command based on the matching one or more hand gestures, and

implements the control command responsive to the tracked plurality of three-dimensional hand poses that correlates to the matched one or more hand gestures.

2. The method of claim 1 , wherein recognizing when the plurality of the three-dimensional hand poses matches the one or more hand gestures stored in the memory comprises querying the database regarding the identified hand feature.

3. The method of claim 1 , wherein the hand feature comprises identifying one or more fingers.

4. The method of claim 3 , wherein the one or more fingers are identified based on extrema of the received image information about the hand.

5. The method of claim 1 , further comprising building the database of hand gestures.

6. The method of claim 5 , wherein building the database of hand gestures comprises:

selecting a set of relevant hand poses based on a configuration of a workspace;

capturing a plurality of model hands in different poses based on the selected set of relevant hand poses;

identifying one or more features associated with each of the captured model hand poses; and

storing information in memory regarding each captured hand poses and the features identified as being associated.

7. A system for gesture-based control, the system comprising:

memory for storing a database of information regarding a plurality of three-dimensional hand poses, the information inclusive of static hand position, orientation, and skeletal finger configuration, and wherein a sequence of three-dimensional hand poses over time collectively define one or more hand gestures;

a communication interface for receiving image information about a hand from one or more imaging devices; and

a processor for executing instructions stored in memory, wherein the execution of the instructions by the processor:

identifies the hand against a background from the received image information;

generates a display incorporating the received image information about the hand;

estimates a three-dimensional pose of the hand based on the identified hand;

identifies a hand feature of the hand based on the estimated three-dimensional pose of the hand, the hand feature including identifying contact between two fingers of the hand based on the estimated three-dimensional pose of the hand and the contact is identified between two fingers based on geodesic image distance;

tracks the three-dimensional pose of the hand;

recognizes when a plurality of the three-dimensional hand poses matches one or more hand gestures;

generates a control command based on the matching one or more hand gestures, and

implements the control command responsive to the tracked plurality of three-dimensional hand poses that correlates to the matched one or more hand gestures.

8. The system of claim 7 , wherein the recognition by the processor of when the plurality of the three-dimensional hand poses matches the one or more hand gestures stored in the memory comprises querying the database regarding the identified hand feature.

9. The system of claim 7 , wherein the identification by the processor of the hand feature comprises identifying one or more fingers.

10. The system of claim 9 , wherein the processor identifies one or more fingers based on extrema of the received image information about the hand.

11. The system of claim 7 , wherein further execution of instructions by the processor builds the database of hand gestures.

12. The system of claim 11 , wherein the processor executes further instructions to build the database of hand gestures, the instructions comprising:

selecting a set of relevant hand poses based on a configuration of a workspace;

capturing a plurality of model hands in different poses based on the selected set of relevant hand poses;

identifying one or more features associated with each of the captured model hand poses; and

storing information in memory regarding each captured hand poses and the features identified as being associated.

13. A non-transitory computer-readable storage medium, having embodied thereon a program executable by a processor to perform a method for gesture-based control, the method comprising:

storing information regarding a plurality of three-dimensional hand poses, the information inclusive of static hand position, orientation, and skeletal finger configuration, and wherein a sequence of three-dimensional hand poses over time collectively define one or more hand gestures;

receiving image information about a hand from one or more imaging devices;

identifying the hand against a background from the received image information;

generating a display incorporating the received image information about the hand;

estimating a three-dimensional pose of the hand based on the identified hand;

identifies a hand feature of the hand based on the estimated three-dimensional pose of the hand, the hand feature including identifying contact between two fingers of the hand based on the estimated three-dimensional pose of the hand and the contact is identified between two fingers based on geodesic image distance;

tracking the three-dimensional pose of the hand;

recognizing when a plurality of the three-dimensional hand poses matches one or more hand gestures;

generating a control command based on the matching one or more hand gestures; and

implementing the control command responsive to the tracked plurality of three-dimensional hand poses that correlates to the matched one or more hand gestures.

14. The non-transitory computer-readable storage medium of claim 13 , wherein when the plurality of the three-dimensional hand poses matches the one or more hand gestures stored in the memory comprises querying the database regarding the identified hand feature.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the hand feature comprises identifying one or more fingers.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the one or more fingers are identified based on extrema of the received image information about the hand.

17. The non-transitory computer-readable storage medium of claim 13 , further comprising building the database of hand gestures.

18. The non-transitory computer-readable storage medium of claim 17 , wherein building the database of hand gestures comprises:

selecting a set of relevant hand poses based on a configuration of a workspace;

capturing a plurality of model hands in different poses based on the selected set of relevant hand poses;

identifying one or more features associated with each of the captured model hand poses; and

storing information in memory regarding each captured hand poses and the features identified as being associated.

19. A method for gesture-based control, the method comprising:

receiving image information depicting a hand from one or more imaging devices;

identifying the hand against a background from the received image information;

estimating a three-dimensional pose of the hand based on the identified hand, the three-dimensional pose of the hand inclusive of static hand position, orientation, and skeletal finger configuration;

identifying contact between two fingers of the hand based on the estimated three-dimensional pose of the hand and the contact is identified between two fingers based on geodesic image distance;

generating a control command based on the three-dimensional pose of the hand and the identified contact between two fingers of the hand; and

implementing the control command responsive to the three-dimensional pose of the hand and the identified contact between two fingers of the hand.

20. The method of claim 19 , wherein estimating a three-dimensional pose of the hand comprises identifying a hand feature identifying one or more fingers of the hand.

21. The method of claim 20 , wherein the one or more fingers are identified based on extrema of the received image information about the hand.

22. The method of claim 20 , wherein the one or more fingers are identified based on extrema of the identified fingers of the hand.

23. The method of claim 19 , further comprising recognizing when the three-dimensional hand pose matches one or more hand gestures.

24. The method of claim 19 , wherein the image information depicting a hand comprises a depth image containing depth information about the hand.

25. The method of claim 19 , wherein estimating a three-dimensional pose of the hand based on the identified hand comprises comparing features of the identified had with features associated with 3D hand poses.

Assignments (5)
CHANGE OF NAME Recorded Jun 8, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060315/0224 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2018
From: FACEBOOK, INC.
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 047687/0942 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2016
From: OCULUS VR, LLC
To: FACEBOOK, INC.
Reel/Frame 040196/0790 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2015
From: 3GEAR SYSTEMS, INC.
To: OCULUS VR, LLC
Reel/Frame 034835/0607 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2012
From: WANG, ROBERT
To: 3GEAR SYSTEMS, INC.
Reel/Frame 029254/0633 →
Continuity (2)
Provisional Application 61613429 · Mar 20, 2012
Related Publication 20130249786A1 · Sep 26, 2013