IP Library › Granted Patent US 12,204,693
Granted Patent B2
US 12,204,693 · App. 17/851,465 · Granted Jan 21, 2025

Low-power hand-tracking system for wearable device

Inventors: Alex Feinman (San Mateo, CA); Ashwani Arya (Cypress, CA)
Assignee: Snap Inc.
G06F3/017G01S13/08G06F3/011
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,204,693
App. No.
17/851,465
Filed
Jun 28, 2022
Granted
Jan 21, 2025
Kind
B2
Art Unit
2627
USPC
345/156
Abstract

A method for a low-power hand-tracking system is described. In one aspect, a method includes polling a proximity sensor of a wearable device to detect a proximity event, the wearable device includes a low-power processor and a high-power processor, in response to detecting the proximity event, operating a low-power hand-tracking application on the low-power processor based on proximity data from the proximity sensor, and ending an operation of the low-power hand-tracking application in response to at least one of: detecting and recognizing a gesture based on the proximity data, detecting without recognizing the gesture based on the proximity data, or detecting a lack of activity from the proximity sensor within a timeout period based on the proximity data.

Claims (56)

1. A method comprising:

polling a proximity sensor of a wearable device to detect a proximity event, the wearable device comprising a low-power processor and a high-power processor;

in response to detecting the proximity event, performing a gesture detection and recognition routine using a low-power gesture recognition application executed on the low-power processor based on proximity data from the proximity sensor;

determining that the gesture detection and recognition routine executed on the low-power processor fails to recognize a gesture of a user of the wearable device; and

in response to determining that the gesture detection and recognition routine executed on the low-power processor fails to recognize the gesture activating a high-power gesture recognition application executed on the high-power processor.

2. The method of claim 1 , further comprising:

generating a level of confidence of the gesture based on a gesture dictionary, using a gesture recognition algorithm operating on the low-power processor; and

identifying the gesture in response to the level of confidence exceeding a preset threshold.

3. The method of claim 2 , further comprising:

identifying an operation corresponding to the gesture; and

requesting one of the low-power processor or the high-power processor to perform the operation.

4. The method of claim 2 , further comprising:

identifying an operation of a mixed reality application corresponding to the gesture; and

requesting the high-power processor to perform the operation of the mixed reality application.

5. The method of claim 1 , further comprising:

returning the wearable device to an idle state that polls the proximity sensor at a regular interval after the high-power gesture recognition application recognizes the gesture.

6. The method of claim 1 , further comprising:

identifying a preset number of gesture recognition tries corresponding to the low-power gesture recognition application, the preset number of gesture recognition tries comprising at least two tries;

determining that the gesture detection and recognition routine executed on the low-power processor fails to recognize the gesture after a number of tries exceeding the preset number of gesture recognition tries,

wherein activating the high-power gesture recognition application executed on the high-power processor is in response to determining that the gesture detection and recognition routine executed on the low-power processor fails to recognize the gesture after the number of tries exceeding the preset number of gesture recognition tries.

7. The method of claim 1 , wherein the low-power processor comprises a microcontroller, wherein the high-power processor comprises a system-on-chip (SoC), wherein the proximity sensor comprises a time-of-flight sensor.

8. The method of claim 1 , wherein the low-power processor is configured to only operate the proximity sensor and the low-power gesture recognition application, wherein the high-power processor is configured to operate all sensors of the wearable device.

9. The method of claim 1 , wherein the low-power hand tracking gesture recognition application uses a neural network to detect and recognize a hand gesture of a user of the wearable device based on the proximity data, the neural network being configured to recognize a first set of hand gestures, and

wherein the high-power processor comprises a high-power hand-tracking application configured to recognize a second set of hand gestures using camera data from a higher resolution camera of the wearable device, the second set of hand gestures being larger than the first set of hand gestures.

10. The method of claim 1 , wherein the wearable device comprises a head-wearable device.

11. A computing apparatus comprising:

a processor; and

a memory storing instructions that, when executed by the processor, configure the apparatus to:

poll a proximity sensor of a wearable device to detect a proximity event, the wearable device comprising a low-power processor and a high-power processor;

in response to detecting the proximity event, perform a gesture detection and recognition routine using a low-power gesture recognition application executed on the low-power processor based on proximity data from the proximity sensor;

determine that the gesture detection and recognition routine executed on the low-power processor fails to recognize a gesture of a user of the wearable device; and

in response to determining that the gesture detection and recognition routine executed on the low-power processor fails to recognize the gesture activate a high-power gesture recognition application executed on the high-power processor.

12. The computing apparatus of claim 11 , wherein the instructions further configure the apparatus to:

generate a level of confidence of the gesture based on a gesture dictionary, using a gesture recognition algorithm operating on the low-power processor; and

identify the gesture in response to the level of confidence exceeding a preset threshold.

13. The computing apparatus of claim 12 , wherein the instructions further configure the apparatus to:

identify an operation corresponding to the gesture; and

request one of the low-power processor or the high-power processor to perform the operation.

14. The computing apparatus of claim 12 , wherein the instructions further configure the apparatus to:

identify an operation of a mixed reality application corresponding to the gesture; and

request the high-power processor to perform the operation of the mixed reality application.

15. The computing apparatus of claim 11 , wherein the instructions further configure the apparatus to:

returning the wearable device to an idle state that polls the proximity sensor at a regular interval after the high-power gesture recognition application recognizes the gesture.

16. The computing apparatus of claim 11 , wherein the instructions further configure the apparatus to:

identify a preset number of gesture recognition tries corresponding to the low-power gesture recognition application, the preset number of gesture recognition tries comprising at least two tries;

determine that the gesture detection and recognition routine executed on the low-power processor fails to recognize the gesture after a number of tries exceeding the preset number of gesture recognition tries,

wherein activating the high-power gesture recognition application executed on the high-power processor is in response to determining that the gesture detection and recognition routine executed on the low-power processor fails to recognize the gesture after the number of tries exceeding the preset number of gesture recognition tries.

17. The computing apparatus of claim 11 , wherein the low-power processor comprises a microcontroller, wherein the high-power processor comprises a system-on-chip (SoC), wherein the proximity sensor comprises a time-of-flight sensor.

18. The computing apparatus of claim 11 , wherein the low-power processor is configured to only operate the proximity sensor and the low-power gesture recognition application, wherein the high-power processor is configured to operate all sensors of the wearable device.

19. The computing apparatus of claim 11 , wherein the low-power gesture recognition application uses a neural network to detect and recognize a hand gesture of a user of the wearable device based on the proximity data, the neural network being configured to recognize a first set of hand gestures, and

wherein the high-power processor comprises a high-power hand-track application configured to recognize a second set of hand gestures using camera data from a higher resolution camera of the wearable device, the second set of hand gestures being larger than the first set of hand gestures.

20. A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to:

poll a proximity sensor of a wearable device to detect a proximity event, the wearable device comprising a low-power processor and a high-power processor;

in response to detecting the proximity event, perform a gesture detection and recognition routine using a low-power gesture recognition application executed on the low-power processor based on proximity data from the proximity sensor by operating a low power hand tracking application on the low power processor;

determine that the gesture detection and recognition routine executed on the low-power processor fails to recognize a gesture of a user of the wearable device; and

in response to determining that the gesture detection and recognition routine executed on the low-power processor fails to recognize the gesture activate a high-power gesture recognition application executed on the high-power processor.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2022
From: FEINMAN, ALEX; ARYA, ASHWANI
To: SNAP INC.
Reel/Frame 060337/0154 →
Continuity (1)
Related Publication 20230418385A1 · Dec 28, 2023
References Cited (92)
US 7971156B2 · Albertson et al. · 2011 [cited by applicant]
US 7996793B2 · Latta et al. · 2011 [cited by applicant]
US 8487938B2 · Latta et al. · 2013 [cited by applicant]
US 8856691B2 · Geisner et al. · 2014 [cited by applicant]
US 9225897B1 · Sehn et al. · 2015 [cited by applicant]
US 9230160B1 · Kanter · 2016 [cited by applicant]
US 9276886B1 · Samaranayake · 2016 [cited by applicant]
US 9705831B2 · Spiegel · 2017 [cited by applicant]
US 9742713B2 · Spiegel et al. · 2017 [cited by applicant]
US 10102423B2 · Shaburov et al. · 2018 [cited by applicant]
US 10284508B1 · Allen et al. · 2019 [cited by applicant]
US 10439972B1 · Spiegel et al. · 2019 [cited by applicant]
US 10509466B1 · Miller et al. · 2019 [cited by applicant]
US 10514876B2 · Sehn · 2019 [cited by applicant]
US 10579869B1 · Xiong et al. · 2020 [cited by applicant]
US 10591730B2 · Rodriguez, II et al. · 2020 [cited by applicant]
US 10614855B2 · Huang · 2020 [cited by applicant]
US 10748347B1 · Li et al. · 2020 [cited by applicant]
US 10958608B1 · Allen et al. · 2021 [cited by applicant]
US 10962809B1 · Castañeda · 2021 [cited by applicant]
US 10996846B2 · Robertson et al. · 2021 [cited by applicant]
US 10997787B2 · Ge et al. · 2021 [cited by applicant]
US 11012390B1 · Al Majid et al. · 2021 [cited by applicant]
US 11030454B1 · Xiong et al. · 2021 [cited by applicant]
US 11036368B1 · Al Majid et al. · 2021 [cited by applicant]
US 11062498B1 · Voss et al. · 2021 [cited by applicant]
US 11087728B1 · Canberk et al. · 2021 [cited by applicant]
US 11092998B1 · Castañeda et al. · 2021 [cited by applicant]
US 11106342B1 · Al Majid et al. · 2021 [cited by applicant]
US 11126206B2 · Meisenholder et al. · 2021 [cited by applicant]
US 11143867B2 · Rodriguez, II · 2021 [cited by applicant]
US 11169600B1 · Canberk et al. · 2021 [cited by applicant]
US 11227626B1 · Krishnan Gorumkonda et al. · 2022 [cited by applicant]
US 11307747B2 · Dancie et al. · 2022 [cited by applicant]
US 11531402B1 · Stolzenberg · 2022 [cited by applicant]
US 11546505B2 · Canberk · 2023 [cited by applicant]
US 20090012788A1 · Gilbert et al. · 2009 [cited by applicant]
US 20110301934A1 · Tardif · 2011 [cited by applicant]
US 20140059365A1 · Heo et al. · 2014 [cited by applicant]
US 20140171036A1 · Simmons · 2014 [cited by applicant]
US 20150049017A1 · Weber · 2015 [cited by examiner]
US 20150120293A1 · Wohlert et al. · 2015 [cited by applicant]
US 20150370320A1 · Connor · 2015 [cited by applicant]
US 20170123487A1 · Hazra et al. · 2017 [cited by applicant]
US 20170220119A1 · Potts · 2017 [cited by examiner]
US 20170277684A1 · Dharmarajan Mary · 2017 [cited by applicant]
US 20170277685A1 · Takumi · 2017 [cited by applicant]
US 20170351910A1 · Elwazer et al. · 2017 [cited by applicant]
US 20180158370A1 · Pryor · 2018 [cited by applicant]
US 20190094966A1 · Kulkarni et al. · 2019 [cited by applicant]
US 20190146219A1 · Rodriguez, II · 2019 [cited by applicant]
US 20210011612A1 · Dancie et al. · 2021 [cited by applicant]
US 20210074016A1 · Li et al. · 2021 [cited by applicant]
US 20210117660A1 · Risco · 2021 [cited by examiner]
US 20210166732A1 · Shaburova et al. · 2021 [cited by applicant]
US 20210174034A1 · Retek et al. · 2021 [cited by applicant]
US 20210241529A1 · Cowburn et al. · 2021 [cited by applicant]
US 20210303075A1 · Cowburn et al. · 2021 [cited by applicant]
US 20210303077A1 · Anvaripour et al. · 2021 [cited by applicant]
US 20210303140A1 · Mourkogiannis · 2021 [cited by applicant]
US 20210382564A1 · Blachly et al. · 2021 [cited by applicant]
US 20210397000A1 · Rodriguez, II · 2021 [cited by applicant]
US 20210405761A1 · Canberk · 2021 [cited by applicant]
US 20220188539A1 · Chan et al. · 2022 [cited by applicant]
US 20220206588A1 · Canberk et al. · 2022 [cited by applicant]
US 20220300730A1 · Eirinberg et al. · 2022 [cited by applicant]
US 20220300731A1 · Eirinberg et al. · 2022 [cited by applicant]
US 20220301231A1 · Eirinberg et al. · 2022 [cited by applicant]
US 20220326781A1 · Hwang et al. · 2022 [cited by applicant]
US 20220334649A1 · Hwang et al. · 2022 [cited by applicant]
US 20220375174A1 · Arya et al. · 2022 [cited by applicant]
CN 103049761 · 2016 [cited by applicant]
EP 3707693 · 2020 [cited by applicant]
EP 4172726A1 · 2023 [cited by applicant]
EP 4172730A1 · 2023 [cited by applicant]
KR 20220158824A · 2022 [cited by applicant]
WO 2016168591 · 2016 [cited by applicant]
WO 2019094618 · 2019 [cited by applicant]
WO WO2021021227A1 · 2021 [cited by applicant]
WO WO2022005687A1 · 2022 [cited by applicant]
WO WO2022005693A1 · 2022 [cited by applicant]
WO WO2022060549A2 · 2022 [cited by applicant]
WO WO2022066578A1 · 2022 [cited by applicant]
WO WO2022060549A3 · 2022 [cited by applicant]
WO WO2022132381A1 · 2022 [cited by applicant]
WO WO2022146678A1 · 2022 [cited by applicant]
WO WO2022198182A1 · 2022 [cited by applicant]
WO WO2022216784A1 · 2022 [cited by applicant]
WO WO2022225761A1 · 2022 [cited by applicant]
WO WO2022245765A1 · 2022 [cited by applicant]
“International Application Serial No. PCT/US2023/069072, International Search Report mailed Oct. 13, 2023”, 4 pgs. [cited by applicant]
“International Application Serial No. PCT/US2023/069072, Written Opinion mailed Oct. 13, 2023”, 7 pgs. [cited by applicant]