IT201900019037A1 - Metodo perfezionato per rilevare un gesto di inclinazione del polso e unita' elettronica e dispositivo elettronico indossabile che implementano il medesimo - Google Patents

Metodo perfezionato per rilevare un gesto di inclinazione del polso e unita' elettronica e dispositivo elettronico indossabile che implementano il medesimo Download PDF

Info

Publication number
IT201900019037A1
IT201900019037A1 IT102019000019037A IT201900019037A IT201900019037A1 IT 201900019037 A1 IT201900019037 A1 IT 201900019037A1 IT 102019000019037 A IT102019000019037 A IT 102019000019037A IT 201900019037 A IT201900019037 A IT 201900019037A IT 201900019037 A1 IT201900019037 A1 IT 201900019037A1
Authority
IT
Italy
Prior art keywords
samples
flow
stage
analyzed
gesture
Prior art date
Application number
IT102019000019037A
Other languages
English (en)
Inventor
Federico Rizzardini
Lorenzo Bracco
Stefano Paolo Rivolta
Original Assignee
St Microelectronics Srl
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by St Microelectronics Srl filed Critical St Microelectronics Srl
Priority to IT102019000019037A priority Critical patent/IT201900019037A1/it
Priority to US17/067,519 priority patent/US11422634B2/en
Publication of IT201900019037A1 publication Critical patent/IT201900019037A1/it
Priority to US17/862,937 priority patent/US20220342486A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1121Determining geometric values, e.g. centre of rotation or angular range of movement
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/68Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient
    • A61B5/6801Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient specially adapted to be attached to or worn on the body surface
    • A61B5/6802Sensor mounted on worn items
    • A61B5/681Wristwatch-type devices
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/68Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient
    • A61B5/6801Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient specially adapted to be attached to or worn on the body surface
    • A61B5/6813Specially adapted to be attached to a specific body part
    • A61B5/6824Arm or wrist
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • G01P15/14Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of gyroscopes
    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G21/00Input or output devices integrated in time-pieces
    • G04G21/02Detectors of external physical values, e.g. temperature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3265Power saving in display device
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B2562/00Details of sensors; Constructional details of sensor housings or probes; Accessories for sensors
    • A61B2562/02Details of sensors specially adapted for in-vivo measurements
    • A61B2562/0219Inertial sensors, e.g. accelerometers, gyroscopes, tilt switches
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/7264Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/163Indexing scheme relating to constructional details of the computer
    • G06F2200/1637Sensing arrangement for detection of housing movement or orientation, e.g. for controlling scrolling or cursor movement on the display of an handheld computer
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

DESCRIZIONE
del brevetto per invenzione industriale dal titolo:
“METODO PERFEZIONATO PER RILEVARE UN GESTO DI INCLINAZIONE DEL POLSO E UNITA' ELETTRONICA E DISPOSITIVO ELETTRONICO INDOSSABILE CHE IMPLEMENTANO IL MEDESIMO”
La presente invenzione è relativa ad un metodo perfezionato per rilevare un gesto di inclinazione del polso (“wrist-tilt gesture”), nonché ad una unità elettronica e a un dispositivo elettronico indossabile (“wearable”) che implementano tale metodo.
Come è noto, sono oggi disponibili numerosi dispositivi elettronici indossabili, quali ad esempio le cosiddette “smartband” o i cosiddetti “smartwatch”, alcuni dei quali implementano una rilevazione dei movimenti del polso dell’utente, al fine di agevolare l’interazione tra l’utente stesso ed il dispositivo elettronico portatile.
In particolare, tali dispositivi elettronici indossabili implementano la cosiddetta rilevazione del “wrist-tilt”, cioè la rilevazione del gesto di inclinare il polso al fine di consentire l’interazione con il dispositivo elettronico. Tale rilevazione viene eseguita in aggiunta alla, oppure in sostituzione della, rilevazione di altre azioni dell’utente, quale ad esempio la pressione di un bottone. Inoltre, in seguito alla rilevazione del gesto di inclinare il polso, tali dispositivi elettronici indossabili eseguono una corrispondente azione. Ad esempio, sono noti smartwatch che accedono lo schermo in seguito alla rilevazione del “wrist-tilt”, in modo da minimizzare i consumi.
In generale, è noto che sono possibili diverse soluzioni per la rilevazione dell’inclinazione del polso. Tipicamente, sono privilegiate le soluzioni che fanno uso di sensori (accelerometri e/o giroscopi) ed unità di calcolo dedicate, dal momento che consentono di ridurre i consumi energetici richiesti per la rilevazione.
Ad esempio, sono note soluzioni che si basano sull’analisi dei segnali forniti da un accelerometro. Tali soluzioni si caratterizzano per consumi ridotti, ma anche per prestazioni limitate (sia in termini di latenza che di accuratezza), nel caso in cui il dispositivo elettronico indossabile sia soggetto ad elevate accelerazioni (ad esempio, quando l’utente corre).
Secondo tali soluzioni, il dispositivo elettronico indossabile include un accelerometro triassiale, il quale a sua volta fornisce segnali elettrici indicativi delle accelerazioni lungo tre assi di un sistema di riferimento ortogonale XYZ.
Ad esempio, la figura 1 mostra uno smartwatch 1 includente un corpo 2 approssimativamente planare e delimitato da una coppia di superfici principali (una visibile in figura 1, dove è indicata con S1). Inoltre, lo smartwatch 1 comprende un accelerometro triassiale (non visibile in figura 1), il quale è disposto in maniera tale per cui gli assi X e Y giacciono in un piano parallelo alla superficie principale S1, dunque parallelo al piano dello smartwatch 1, mentre l’asse Z è perpendicolare a quest’ultimo. Pertanto, quando lo smartwatch 1 è al polso (ad esempio, destro) dell’utente, l’asse X punta in direzione del braccio, anziché della mano.
Come mostrato in figura 2a, all’interno dello smartwatch 1 è presente un’unità di elaborazione che riceve i segnali generati accelerometro triassiale e, indicando con segnale sY il segnale indicativo dell’accelerazione lungo l’asse Y, rileva l’avvenuto movimento di inclinazione del polso, quando rileva i) il superamento di una soglia sY_TH da parte del segnale sY e ii) il fatto che, dopo tale superamento, il segnale sY rimanga superiore alla soglia sY_TH per un periodo di tempo almeno pari a un tempo Δ (con il tempo Δ ad esempio pari a 300ms). Tale meccanismo di rilevazione si basa sul fatto che, una volta che l’utente ha portato l’avanbraccio in posizione circa parallela al suolo (e con il polso rivolto verso l’utente), la proiezione dell’accelerazione di gravità sull’asse Y, inizialmente nulla, aumenta man mano che l’utente ruota il polso in modo che lo smartwatch 1 ruoti attorno all’asse X, in modo da ridurre l’angolo tra l’asse Y e il vettore gravità. Per completezza, sia la figura 2a che la figura 2b mostrano anche i segnali sX e sZ, i quali sono indicativi, rispettivamente, delle accelerazioni lungo l’asse X e lungo l’asse Z.
La figura 2a si riferisce a una situazione in cui l’utente sta camminando ed evidenzia la corretta rilevazione del gesto di inclinare il polso in modo da consentire l’interazione con lo smartwatch 1. Al contrario, la figura 2b si riferisce ad una situazione in cui l’utente sta correndo; ciò comporta la presenza di elevate accelerazioni, che impediscono la corretta rilevazione del gesto.
Sono altresì note soluzioni che si basano sull’analisi dei segnali forniti da un accelerometro e da un giroscopio. Tali soluzioni si caratterizzano per la capacità di operare correttamente anche in presenza di elevate accelerazioni, ma anche per consumi sensibilmente più elevati.
Scopo della presente invenzione è quindi fornire un metodo di rilevazione del gesto di inclinare il polso, il quale superi almeno in parte gli inconvenienti dell’arte nota.
Secondo la presente invenzione, vengono forniti un metodo per rilevare un gesto di inclinazione del polso ed un’unità elettronica ed un dispositivo elettronico indossabile, come definiti nelle rivendicazioni allegate.
Per una migliore comprensione della presente invenzione, ne saranno ora descritte forme di realizzazione preferite, in modo puramente esemplificativo e non limitativo, con riferimento ai disegni allegati, in cui:
- la figura 1 mostra una vista prospettica di un dispositivo elettronico indossabile;
- le figure 2a e 2b mostrano andamenti nel tempo di segnali indicativi di accelerazioni generati da un accelerometro triassiale vincolato al polso di un utente, rispettivamente quando l’utente sta camminando oppure sta correndo;
- la figura 3 mostra uno schema a blocchi di un dispositivo elettronico indossabile;
- le figura 4 e 6 mostrano diagrammi di flusso di operazioni svolte da un’unità di elaborazione del dispositivo elettronico indossabile mostrato in figura 3;
- le figura 5, 7 e 8 mostrano schemi a blocchi di circuiti digitali equivalenti, i quali implementano operazioni svolte dall’unità di elaborazione del dispositivo elettronico indossabile mostrato in figura 3.
Nel seguito, il presente metodo viene descritto con riferimento, a titolo esemplificativo, alla sua implementazione da parte di un dispositivo elettronico indossabile 3.
Come mostrato in figura 3, il dispositivo elettronico indossabile 3 comprende: un accelerometro triassiale 5; un’unità di elaborazione 8; uno stadio principale 10 ed uno schermo 12. A titolo puramente esemplificativo, il dispositivo elettronico indossabile 3 ha il medesimo corpo 2 mostrato in figura 1 e la superficie principale S1 coincide con la superficie dello schermo 12; l’orientamento degli assi XYZ dell’accelerometro 5 è il medesimo mostrato in figura 1.
L’accelerometro 5 è accoppiato all’unità di elaborazione 8, in modo da fornire a quest’ultima segnali elettrici indicativi dei valori delle accelerazioni lungo gli assi X, Y e Z, misurate dall’accelerometro 5. L’unità di elaborazione 8 riceve quindi, con una frequenza ad esempio pari a venticinque campioni al secondo, campioni di accelerazione misurata dall’accelerometro 5. Ciascun campione consiste in una terna di tre valori di accelerazione, relativi rispettivamente agli assi X, Y e Z.
L’unità di elaborazione 8 esegue le operazioni mostrate in figura 4, in cui i campioni sono indicati con [sX(i), sY(i), sZ(i)], dove “i” indica un numero intero progressivo.
In dettaglio, l’unità di elaborazione 8 elabora blocchi (cioè, insiemi) di campioni di accelerazione, ciascuno dei quali è formato dai campioni di accelerazione generati dall’accelerometro 5 durante una corrispondente finestra temporale avente durata pari, ad esempio, a un secondo. A titolo puramente esemplificativo, e senza alcuna perdita di generalità, le finestre temporali sono l’una successiva all’altra, dunque blocchi successivi di campioni di accelerazione non si sovrappongono tra loro, cioè non presentano campioni in comune.
Ciò premesso, l’unità di elaborazione 8 determina (blocco 100), per ciascun blocco di campioni, i corrispondenti valori di un numero di proprietà (“features”) predeterminate, scelte ad esempio tra: la media, il minimo, il massimo e la varianza dei campioni di accelerazione del blocco o delle norme euclidee dei campioni di accelerazione del blocco.
Successivamente, l’unità di elaborazione 8 esegue (blocco 102), per ciascun blocco di campioni, un algoritmo di classificazione, sulla base dei corrispondenti valori delle proprietà predeterminate.
In particolare, l’unità di elaborazione 8 è configurata per implementare un algoritmo di apprendimento automatico (“machine learning”) quale, ad esempio, un albero decisionale (“decision tree”), una macchina a vettori di supporto (“support-vector machine”, SVM) oppure una rete neurale. In maggior dettaglio, tale algoritmo è un algoritmo di classificazione, il quale è stato precedentemente allenato (“trained”) in maniera tale da fornire, per ciascun blocco di campioni, un’indicazione del fatto che il blocco di campioni sia stato generato mentre l’utente, al cui polso il dispositivo elettronico indossabile 3 era stato precedentemente vincolato, i) era fermo (in quiete), ii) stava camminando oppure iii) stava correndo. In pratica, in questa forma di realizzazione, le classi di uscita dell’algoritmo di classificazione sono tre e si riferiscono a tre condizioni di movimento dell’utente che indossa il dispositivo elettronico indossabile 3. A tal fine, le summenzionate proprietà predeterminate caratterizzano le classi che devono essere riconosciute dall’algoritmo di classificazione.
Al fine di operare nel modo descritto, è stata effettuata una fase di allenamento, per definire l’algoritmo di classificazione. Ad esempio, l’allenamento è stato del tipo cosiddetto supervisionato ed è consistito nell’acquisire una pluralità di sequenze di campioni di allenamento, ad esempio facendo indossare il dispositivo elettronico indossabile 3 a diversi utenti, in diverse condizioni (note) di movimento, in maniera tale da acquisire una pluralità di blocchi di campioni di allenamento, generati durante corrispondenti finestre temporali di allenamento aventi durata pari alla durata della summenzionata finestra temporale, ed in cui l’utente era in una condizione nota tra le summenzionate tre condizioni di movimento.
In maggior dettaglio, l’allenamento è stato svolto ad esempio mediante ausilio di un calcolatore, il quale ha memorizzato le associazioni tra ciascun blocco di campioni di allenamento e la corrispondente condizione nota di movimento. Inoltre, per ciascun blocco di campioni di allenamento, il calcolatore ha determinato i corrispondenti valori di dette proprietà predeterminate. Infine, attraverso l’utilizzo di un algoritmo di apprendimento automatico di tipo di per sé noto, il calcolatore ha allenato l’algoritmo di classificazione, sulla base dei valori delle proprietà predeterminate dei blocchi di campioni di allenamento e delle corrispondenti condizioni di movimento note.
Nuovamente con riferimento all’utilizzo dopo la fase di allenamento, e quindi con riferimento alla situazione in cui il dispositivo elettronico indossabile 3 è indossato da un utente di cui non è nota la condizione di movimento, le operazioni di cui al blocco 102 consentono di determinare, per ciascun blocco di campioni, un corrispondente valore di un segnale act[k] (con k intero che indica il blocco), il quale è indicativo della corrispondente condizione di movimento identificata; act[k] può ad esempio essere alternativamente pari a zero, uno o due, se la condizione di movimento identificata dall’algoritmo di classificazione è rispettivamente “fermo”, “in cammino” o “di corsa”.
Nel seguito, le operazioni di cui ai blocchi 100 e 102 vengono indicate complessivamente come operazioni di identificazione della condizione di movimento (blocco 103). Inoltre, ulteriori operazioni svolte dall’unità di elaborazione 8 vengono descritte con riferimento alla rappresentazione riportata in figura 5, in cui le operazioni sono mostrate sotto forma di corrispondenti stadi di un esempio di circuito digitale equivalente implementato via software dall’unità di elaborazione 8. I collegamenti tra i vari stadi mostrati in figura 5, ed anche il numero degli stadi, sono da intendersi come puramente esemplificativi; inoltre, come accennato, l’algoritmo può essere eseguito in tutto o in parte via software.
Ciò premesso, l’unità di elaborazione 8 implementa un primo, un secondo ed un terzo stadio di filtraggio (indicati rispettivamente con 110, 112 e 114), i quali operano sui campioni di accelerazione [sX(i), sY(i), sZ(i)], i quali a loro volta rappresentano un flusso di campioni di ingresso.
Il primo stadio di filtraggio 110 filtra il flusso dei campioni di accelerazione [sX(i), sY(i), sZ(i)] mediante implementazione di un primo filtro digitale, in modo da ottenere un primo flusso filtrato di campioni [sX(i)’, sY(i)’, sZ(i)’]. Il secondo stadio di filtraggio 112 filtra il flusso dei campioni di accelerazione [sX(i), sY(i), sZ(i)] mediante implementazione di un secondo filtro digitale, in modo da ottenere un secondo flusso filtrato di campioni [sX(i)”, sY(i)”, sZ(i)”]. Il terzo stadio di filtraggio 114 filtra il flusso dei campioni di accelerazione [sX(i), sY(i), sZ(i)] mediante implementazione di un terzo filtro digitale, in modo da ottenere un terzo flusso filtrato di campioni [sX(i)’’’, sY(i)’’’, sZ(i)’’’].
In maggior dettaglio, ciascuno tra i summenzionati primo, secondo e terzo stadio di filtraggio 110, 112, 114 opera indipendentemente sui tre sottoflussi formati dagli elementi relativi rispettivamente agli assi X, Y e Z dei campioni di accelerazione [sX(i), sY(i), sZ(i)].
In aggiunta, l’unità di elaborazione 8 implementa uno stadio di selezione 122, il quale seleziona uno tra il primo, il secondo ed il terzo flusso filtrato di campioni, in funzione del valore del segnale act[k], e quindi in funzione della condizione di movimento identificata dall’algoritmo di classificazione. In altre parole, all’identificazione, nel corso delle operazioni di cui al blocco 103, di ciascuna delle tre condizioni di movimento corrisponde la selezione di un corrispondente flusso filtrato di campioni, al quale nel seguito ci si riferisce brevemente come al flusso selezionato di campioni.
Inoltre, l’unità di elaborazione 8 implementa un primo stadio di rilevazione del gesto 124, il quale riceve in ingresso il flusso selezionato di campioni e genera un segnale di uscita sOUT, il quale è indicativo del rilevamento del gesto di inclinazione del polso.
Il primo stadio di rilevazione del gesto 124 può essere di tipo di per sé noto. Nel seguito viene descritto un esempio di funzionamento del primo stadio di rilevazione del gesto 124, con riferimento al seguente scenario.
In dettaglio, si assume che il primo stadio di filtraggio 110 non effettui alcun filtraggio, in maniera tale per cui il primo flusso filtrato di campioni [sX(i)’, sY(i)’, sZ(i)’] coincide con il flusso dei campioni di accelerazione [sX(i), sY(i), sZ(i)]. Sempre a titolo esemplificativo, si assume altresì che il secondo stadio di filtraggio 112 sia assente; in altre parole, si assume che l’unità di elaborazione 8 determini un numero di flussi filtrati di campioni inferiore al numero di possibili condizioni di movimento identificabili dall’algoritmo di classificazione. Si assume inoltre che il terzo stadio di filtraggio 114 implementi un filtro IIR di tipo passabasso, ad esempio del primo ordine e di Butterworth, con frequenza di taglio ad esempio pari a 1Hz. Infine, si assume che, quando act[k] è pari a zero o a uno, cioè quando la condizione di movimento identificata dall’algoritmo di classificazione è rispettivamente “fermo” o “in cammino”, lo stadio di selezione 122 seleziona il primo flusso filtrato di campioni, il quale, come detto in precedenza, coincide con il flusso dei campioni di accelerazione [sX(i), sY(i), sZ(i)]; al contrario, quando act[k] è pari a due, cioè quando la condizione di movimento identificata dall’algoritmo di classificazione è “di corsa”, lo stadio di selezione 122 seleziona il terzo flusso filtrato di campioni [sX(i)’’’, sY(i)’’’, sZ(i)’’’], il quale rappresenta una versione filtrata passa basso del flusso dei campioni di accelerazione [sX(i), sY(i), sZ(i)], dunque con accelerazioni lineari (intese come accelerazioni aggiuntive rispetto all’accelerazione di gravità) ridotte rispetto a quest’ultimo. In altre parole, il primo stadio di rilevamento del gesto 124 riceve in successione porzioni non filtrate e porzioni filtrate del flusso dei campioni di accelerazione [sX(i), sY(i), sZ(i)] generato dall’accelerometro 5, le quali vengono analizzate dal primo stadio di rilevazione del gesto 124, al fine di rilevare l’eventuale esecuzione del gesto di inclinazione del polso. Equivalentemente, le operazioni di cui al blocco 103 e lo stadio di selezione 122 discriminano solo tra due condizioni di movimento: una condizione di quiete o camminata ed una condizione di corsa.
In dettaglio, il primo stadio di rilevazione del gesto 124 esegue le operazioni mostrate in figura 6, in cui il flusso selezionato di campioni è indicato con [sX*(i), sY*(i), sZ*(i)]].
In particolare, il primo stadio di rilevazione del gesto 124 riceve (blocco 199) i campioni del flusso selezionato [sX*(i), sY*(i), sZ*(i)] e, per ciascun elemento sY*(i) del flusso selezionato di campioni [sX*(i), sY*(i), sZ*(i)], rileva (blocco 200) se esso supera una soglia sY_TH (uscita SI del blocco 200), altrimenti (uscita NO del blocco 200) analizza il successivo elemento sY*(i+1).
Quando il primo stadio di rilevazione del gesto 124 rileva che un elemento sY*(j) supera la soglia sY_TH, esso determina (blocco 202) la durata di un periodo sopra soglia T, in cui i valori dei successivi elementi sY*(m) (con m>j) hanno valori superiori alla soglia sY_TH. In seguito, il primo stadio di rilevazione del gesto 124 verifica (blocco 204) se la durata del periodo soglia T supera il tempo Δ (uscita SI del blocco 204), nel qual caso imposta il segnale di uscita sOUT in modo che indichi l’avvenuta rilevazione del gesto di inclinazione del polso, altrimenti (uscita NO del blocco 204) vengono eseguite nuovamente le operazioni di cui al blocco 199.
In pratica, l’unità di elaborazione 8 seleziona di volta in volta, in funzione della condizione di movimento identificata, il flusso di campioni più favorevole, su cui eseguire l’algoritmo di rilevazione del gesto di inclinazione del polso. In particolare, con riferimento all’esempio proposto, quando l’utente è fermo o comunque non corre, e quindi in presenza di basse accelerazioni lineari, l’algoritmo di rilevazione del gesto di inclinazione del polso viene eseguito direttamente sui campioni del flusso dei campioni di accelerazione [sX(i), sY(i), sZ(i)] generato dall’accelerometro 5; al contrario, quando l’utente sta correndo, e quindi in presenza di elevate accelerazioni lineari che affliggono i valori di accelerazione misurati dall’accelerometro 5, l’algoritmo di rilevazione del gesto di inclinazione del polso viene eseguito su una versione filtrata passa basso dei campioni del flusso dei campioni di accelerazione [sX(i), sY(i), sZ(i)] generato dall’accelerometro 5, dunque su una versione meno soggetta alle summenzionate accelerazioni lineari. In tal modo, si garantisce una rilevazione ottimale di un eventuale evento di inclinazione del polso, senza introdurre ritardi indesiderati e senza dover ricorrere a sensori addizionali. La commutazione tra i flussi dei campioni su cui viene eseguito l’algoritmo di rilevazione del gesto di inclinazione (anche detti, brevemente, flussi di campioni da analizzare) può avvenire in seguito a variazioni del valore del segnale act[k].
Sebbene non esplicitato in precedenza, e senza alcuna perdita di generalità, le operazioni mostrate in figura 5 prevedono che il segnale act[k], una volta assunto un rispettivo valore in seguito all’esecuzione delle operazioni di identificazione della condizione di movimento (blocco 103) su un primo blocco di campioni, mantenga tale valore fino a quanto le operazioni di identificazione della condizione di movimento non vengono eseguite su un secondo blocco di campioni. Si verifica inoltre che il primo stadio di rilevazione del gesto 124 riceve in ingresso campioni che sono stati selezionati dallo stadio di selezione 122 sulla base dei valori dei campioni di accelerazione [sX(i), sY(i), sZ(i)] di blocchi precedenti. E’ tuttavia possibile implementare varianti, le quali fanno ad esempio uso di buffer (non mostrati) e consentono di variare le relazioni temporali presenti tra il segnale act[k] e, ad esempio, i flussi filtrati di campioni.
Come mostrato in figura 7, sono inoltre possibili varianti in cui il primo stadio di rilevazione del gesto 124 include parametri (ad esempio, il valore della soglia sY_TH e/o la durata del tempo Δ) che dipendono dinamicamente dal valore del segnale act[k], cioè vengono aggiornati in funzione dei valori assunti man mano dal segnale act[k].
Come mostrato in figura 8, sono inoltre possibili varianti in cui l’unità di elaborazione 8 implementa ulteriori stadi di rilevazione del gesto, oltre al primo stadio di rilevazione del gesto 124; ad esempio, la forma di realizzazione mostrata in figura 8 prevede anche un secondo ed un terzo stadio di rilevazione del gesto 125, 126, i quali formano, insieme al primo stadio di rilevazione del gesto 124, uno stadio di uscita 129, controllato dal segnale act[k] e atto a ricevere in ingresso il primo, il secondo ed il terzo flusso filtrato di campioni [sX(i)’, sY(i)’, sZ(i)’], [sX(i)”, sY(i)”, sZ(i)”] e [sX(i)’’’, sY(i)’’’, sZ(i)’’’].
In tal caso, lo stadio di selezione 122 è assente, dal momento che la selezione del flusso filtrato di campioni viene eseguita dallo stadio di uscita 129. Inoltre, il primo, il secondo ed il terzo stadio di rilevazione del gesto 124, 125, 126 ricevono in ingresso, rispettivamente, il primo, il secondo ed il terzo flusso filtrato di campioni [sX(i)’, sY(i)’, sZ(i)’], [sX(i)”, sY(i)”, sZ(i)”] e [sX(i)’’’, sY(i)’’’, sZ(i)’’’]. Inoltre, il primo, il secondo ed il terzo stadio di rilevazione del gesto 124, 125, 126 sono configurati per implementare algoritmi di rilevazione del gesto differenti.
In maggior dettaglio, ciascuno tra il primo, il secondo ed il terzo stadio di rilevazione del gesto 124, 125, 126 è associato ad un diverso possibile valore del segnale act[k]. Inoltre, il segnale di uscita sOUT viene generato di volta in volta dallo stadio di rilevazione del gesto associato al valore del segnale act[k]. In tal modo, è possibile ottimizzare non solo i parametri dell’algoritmo di rilevazione del gesto, bensì anche il tipo di algoritmo di rilevazione, in funzione della condizione di movimento identificata dalle operazioni di cui al blocco 103.
Nuovamente con riferimento alla figura 3, l’unità di elaborazione 8 invia il segnale di uscita sOUT allo stadio principale 10, il quale può ad esempio controllare l’accensione dello schermo 12, in funzione dei rilevamenti del gesto di inclinare il polso.
I vantaggi che il presente metodo di rilevazione consente di ottenere emergono chiaramente dalla descrizione precedente. In particolare, tale metodo consente di ottenere sia una bassa latenza quando l’utente è fermo o comunque cammina lentamente, sia un’elevata accuratezza quando l’utente corre, senza la necessità di ricorrere a componenti ad elevato consumo energetico quali i giroscopi.
Infine, è chiaro che si possono apportare modifiche e varianti a quanto descritto e illustrato in questo contesto, senza discostarsi dall’ambito di protezione della presente invenzione, come definito nelle rivendicazioni allegate.
Ad esempio, l’algoritmo di rilevazione del gesto può essere diverso rispetto a quanto descritto e può ad esempio prevedere l’elaborazione dei segnali accelerometrici relativi anche agli assi X e Z. Analogamente, il numero ed il tipo delle possibili condizioni di movimento possono essere diversi rispetto a quanto descritto; ad esempio, è possibile che le operazioni di cui al blocco 103 consentano di identificare anche condizioni in cui l’utente non ha una postura eretta, bensì è sdraiato.
Come precedentemente accennato, è inoltre possibile che i flussi da analizzare, e cioè i flussi filtrati di campioni, non vengano tutti generati interamente. Infatti, è possibile che vengano generati, di volta in volta, solo i campioni del flusso filtrato di campioni indicato dal segnale act[k], lasciando quindi temporaneamente inattivi gli stadi di filtraggio non coinvolti in tale operazione, onde evitare di generare campioni che non verranno analizzati dallo/dagli stadio/stadi di rilevazione del gesto.
E’ possibile che l’unità di elaborazione 8, anziché essere separata dall’accelerometro 5, sia integrata in quest’ultimo, ad esempio all’interno di un circuito ASIC (non mostrato) che si occupa, tra l’altro, di generare il flusso iniziale di campioni [sX(i), sY(i), sZ(i)]. Sempre a titolo esemplificativo, è possibile che l’unità di elaborazione 8 venga implementata dallo stadio principale 10.
Infine, è possibile che almeno parte degli stadi precedentemente descritti siano formati da componenti hardware dedicati, anziché implementati via software.

Claims (20)

  1. RIVENDICAZIONI 1. Metodo per rilevare un gesto di inclinazione del polso (“wrist-tilt gesture”), comprendente le fasi di: - ricevere un flusso iniziale di campioni ([sX(i), sY(i), sZ(i)]) da un accelerometro (5) vincolato al polso di un utente, i campioni di detto flusso iniziale essendo indicativi di valori di accelerazione lungo almeno un asse; - eseguire (103) un algoritmo di apprendimento automatico su blocchi di campioni del flusso iniziale di campioni, in modo da identificare, per ciascun blocco, una corrispondente condizione di movimento dell’utente, detto algoritmo di apprendimento automatico essendo configurato in maniera tale da identificare detta corrispondente condizione di movimento tra una pluralità di condizioni predeterminate di movimento; - generare (110, 112, 114) una pluralità di flussi di campioni da analizzare ([sX’(i), sY’(i), sZ’(i)], ([sX”(i), sY”(i), sZ”(i)], [sX’’’(i), sY’’’(i), sZ’’’(i)]), a partire dal flusso iniziale di campioni; - per ciascuna condizione di movimento identificata, selezionare (122) un corrispondente flusso di campioni da analizzare ([sX*(i), sY*(i), sZ*(i)]) ed eseguire (124;129) un algoritmo di rilevazione del gesto di inclinazione del polso, sulla base dei campioni del flusso da analizzare selezionato.
  2. 2. Metodo secondo la rivendicazione 1, in cui dette condizioni predeterminate di movimento comprendono almeno una condizione di quiete o camminata ed una condizione di corsa; ed in cui detta fase di generare (110, 112, 114) una pluralità di flussi di campioni da analizzare ([sX’(i), sY’(i), sZ’(i)], ([sX”(i), sY”(i), sZ”(i)], [sX’’’(i), sY’’’(i), sZ’’’(i)]) comprende almeno: - generare un flusso non filtrato di campioni da analizzare, pari ad almeno parte del flusso iniziale di campioni ([sX(i), sY(i), sZ(i)]); e - generare un flusso filtrato di campioni da analizzare, mediante un filtraggio digitale passa basso di campioni di almeno parte del flusso iniziale di campioni ([sX(i), sY(i), sZ(i)]); ed in cui detta fase di selezionare (122) un corrispondente flusso di campioni da analizzare ([sX*(i), sY*(i), sZ*(i)]) comprende: - selezionare il flusso non filtrato di campioni da analizzare, quando viene identificata la condizione di quiete o camminata; e - selezionare il flusso filtrato di campioni da analizzare, quando viene identificata la condizione di corsa.
  3. 3. Metodo secondo la rivendicazione 1 o 2, in cui detta fase di eseguire un algoritmo di apprendimento automatico (103) comprende generare, per ciascun blocco del flusso iniziale di campioni ([sX(i), sY(i), sZ(i)]), un corrispondente valore di un segnale di classificazione (act[k]), il quale è indicativo della condizione di movimento identificata; ed in cui la fase di selezionare (122) un corrispondente flusso di campioni da analizzare ([sX*(i), sY*(i), sZ*(i)]) viene eseguita sulla base del segnale di classificazione.
  4. 4. Metodo secondo una qualsiasi delle rivendicazioni precedenti, in cui la fase di eseguire (103) un algoritmo di apprendimento automatico comprende, per ciascun blocco di campioni del flusso iniziale di campioni ([sX(i), sY(i), sZ(i)]): - determinare (100) corrispondenti valori di proprietà (“features”) predeterminate del blocco di campioni del flusso iniziale di campioni; e - eseguire (102) un algoritmo di classificazione, sulla base di detti corrispondenti valori di proprietà predeterminate.
  5. 5. Metodo secondo la rivendicazione 4, in cui dette proprietà predeterminate del blocco di campioni del flusso iniziale di campioni ([sX(i), sY(i), sZ(i)]) sono scelte tra: varianza, massimo e minimo del blocco di campioni del flusso iniziale di campioni o delle norme euclidee dei campioni di detto blocco di campioni del flusso iniziale di campioni.
  6. 6. Metodo secondo una qualsiasi delle rivendicazioni precedenti, in cui la fase di eseguire (124) un algoritmo di rilevazione del gesto di inclinazione del polso (124) comprende rilevare (200, 202) se il flusso di campioni da analizzare selezionato ([sX*(i), sY*(i), sZ*(i)]) supera una soglia di segnale (sY_TH) per un tempo almeno pari ad una soglia di durata (Δ).
  7. 7. Metodo secondo una qualsiasi delle rivendicazioni precedenti, in cui la fase di eseguire (124) un algoritmo di rilevazione del gesto di inclinazione comprende variare almeno un parametro di detto algoritmo di rilevazione del gesto di inclinazione in funzione della condizione di movimento identificata.
  8. 8. Metodo secondo la rivendicazione 7, quando dipendente dalla rivendicazione 6, in cui detto almeno un parametro è la soglia di segnale (sY_TH) oppure la soglia di durata (Δ).
  9. 9. Metodo secondo una qualsiasi delle rivendicazioni precedenti, comprendente inoltre, per ciascuna condizione di movimento identificata, la fase di selezionare (129) uno tra un primo ed almeno un secondo algoritmo di rilevazione del gesto di inclinazione del polso (124,125), in funzione della condizione di movimento identificata; ed in cui detta fase di eseguire un algoritmo di rilevazione del gesto di inclinazione del polso comprende eseguire l’algoritmo di rilevazione del gesto di inclinazione del polso selezionato.
  10. 10. Unità elettronica per rilevare un gesto di inclinazione del polso (“wrist-tilt gesture”), configurata per ricevere un flusso iniziale di campioni ([sX(i), sY(i), sZ(i)]) da un accelerometro (5) vincolato al polso di un utente, i campioni di detto flusso iniziale essendo indicativi di valori di accelerazione lungo almeno un asse, detta unità elettronica (8) comprendendo: - uno stadio di classificazione (103) configurato per eseguire un algoritmo di apprendimento automatico su blocchi di campioni del flusso iniziale di campioni, in modo da identificare, per ciascun blocco, una corrispondente condizione di movimento dell’utente, detto algoritmo di apprendimento automatico essendo configurato in maniera tale da identificare detta corrispondente condizione di movimento tra una pluralità di condizioni predeterminate di movimento; - uno stadio preliminare (110, 112, 114) configurato per generare una pluralità di flussi di campioni da analizzare ([sX’(i), sY’(i), sZ’(i)], ([sX”(i), sY”(i), sZ”(i)], [sX’’’(i), sY’’’(i), sZ’’’(i)]), a partire dal flusso iniziale di campioni; - uno stadio di selezione (122) configurato per selezionare, per ciascuna condizione di movimento identificata, un corrispondente flusso di campioni da analizzare ([sX*(i), sY*(i), sZ*(i)]); e - uno stadio di rilevazione (124;129) configurato per eseguire un algoritmo di rilevazione del gesto di inclinazione del polso, sulla base dei campioni del flusso da analizzare selezionato.
  11. 11. Unità elettronica secondo la rivendicazione 10, in cui dette condizioni predeterminate di movimento comprendono almeno una condizione di quiete o camminata ed una condizione di corsa, ed in cui detto stadio preliminare (110, 112, 114) comprende: - un primo sottostadio preliminare (110) configurato per generare un flusso non filtrato di campioni da analizzare, pari ad almeno parte del flusso iniziale di campioni ([sX(i), sY(i), sZ(i)]); e - un secondo sottostadio preliminare (112) configurato per generare un flusso filtrato di campioni da analizzare, mediante un filtraggio digitale passa basso di campioni di almeno parte del flusso iniziale di campioni ([sX(i), sY(i), sZ(i)]); ed in cui lo stadio di selezione (122) è configurato per: - selezionare il flusso non filtrato di campioni da analizzare, quando viene identificata la condizione di quiete o camminata; e - selezionare il flusso filtrato di campioni da analizzare, quando viene identificata la condizione di corsa.
  12. 12. Unità elettronica secondo la rivendicazione 10 o 11, in cui lo stadio di classificazione (103) è configurato per generare, per ciascun blocco del flusso iniziale di campioni ([sX(i), sY(i), sZ(i)]), un corrispondente valore di un segnale di classificazione (act[k]), il quale è indicativo della condizione di movimento identificata; ed in cui lo stadio di selezione (122) è configurato per selezionare detto corrispondente flusso di campioni da analizzare ([sX*(i), sY*(i), sZ*(i)]) sulla base del segnale di classificazione.
  13. 13. Unità elettronica secondo una qualsiasi delle rivendicazioni da 10 a 12, in cui lo stadio di classificazione (103) comprende: - un primo sottostadio di classificazione (100) configurato per determinare, per ciascun blocco di campioni del flusso iniziale di campioni ([sX(i), sY(i), sZ(i)]), corrispondenti valori di proprietà predeterminate del blocco di campioni del flusso iniziale di campioni; e - un secondo sottostadio di classificazione (102) configurato per eseguire, per ciascun blocco di campioni del flusso iniziale di campioni ([sX(i), sY(i), sZ(i)]), un algoritmo di classificazione, sulla base dei corrispondenti valori di proprietà predeterminate.
  14. 14. Unità elettronica secondo una qualsiasi delle rivendicazioni da 10 a 13, in cui lo stadio di rilevazione (124) è configurato per rilevare (200, 202) se il flusso di campioni da analizzare selezionato ([sX*(i), sY*(i), sZ*(i)]) supera una soglia di segnale (sY_TH) per un tempo almeno pari ad una soglia di durata (Δ).
  15. 15. Unità elettronica secondo una qualsiasi delle rivendicazioni da 10 a 14, in cui lo stadio di rilevazione (124) è configurato per variare almeno un parametro dell’algoritmo di rilevazione del gesto di inclinazione in funzione della condizione di movimento identificata.
  16. 16. Unità elettronica secondo una qualsiasi delle rivendicazioni da 10 a 15, comprendente inoltre uno stadio addizionale (129) configurato per selezionare, per ciascuna condizione di movimento identificata, uno tra un primo ed almeno un secondo algoritmo di rilevazione del gesto di inclinazione del polso (124,125), in funzione della condizione di movimento identificata; ed in cui lo stadio di rilevazione (129) è configurato per eseguire l’algoritmo di rilevazione del gesto di inclinazione del polso selezionato.
  17. 17. Dispositivo elettronico indossabile comprendente: - un’unità elettronica (8) secondo una qualsiasi delle rivendicazioni da 10 a 16; e - detto accelerometro (5).
  18. 18. Dispositivo elettronico indossabile secondo la rivendicazione 17, in cui lo stadio di rilevazione (124) è configurato per generare un segnale di uscita (sOUT) indicativo dell’esito dell’esecuzione di detto algoritmo di rilevazione del gesto di inclinazione del polso; detto dispositivo elettronico indossabile (3) comprendendo inoltre: - uno schermo(12); e - un’unità di comando (10) configurata per controllare l’accensione dello schermo in funzione di detto segnale di uscita.
  19. 19. Programma informatico comprendente istruzioni per causare l’esecuzione, da parte dell’unità elettronica (8) del dispositivo elettronico indossabile (3) secondo la rivendicazione 17 o 18, delle fasi del metodo secondo una qualsiasi delle rivendicazioni da 1 a 9.
  20. 20. Supporto leggibile da un calcolatore, in cui è memorizzato il programma informatico secondo la rivendicazione 19.
IT102019000019037A 2019-10-16 2019-10-16 Metodo perfezionato per rilevare un gesto di inclinazione del polso e unita' elettronica e dispositivo elettronico indossabile che implementano il medesimo IT201900019037A1 (it)

Priority Applications (3)

Application Number Priority Date Filing Date Title
IT102019000019037A IT201900019037A1 (it) 2019-10-16 2019-10-16 Metodo perfezionato per rilevare un gesto di inclinazione del polso e unita' elettronica e dispositivo elettronico indossabile che implementano il medesimo
US17/067,519 US11422634B2 (en) 2019-10-16 2020-10-09 Method for detecting a wrist-tilt gesture and an electronic unit and a wearable electronic device which implement the same
US17/862,937 US20220342486A1 (en) 2019-10-16 2022-07-12 Method for detecting a wrist-tilt gesture and an electronic unit and a wearable electronic device which implement the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT102019000019037A IT201900019037A1 (it) 2019-10-16 2019-10-16 Metodo perfezionato per rilevare un gesto di inclinazione del polso e unita' elettronica e dispositivo elettronico indossabile che implementano il medesimo

Publications (1)

Publication Number Publication Date
IT201900019037A1 true IT201900019037A1 (it) 2021-04-16

Family

ID=69469163

Family Applications (1)

Application Number Title Priority Date Filing Date
IT102019000019037A IT201900019037A1 (it) 2019-10-16 2019-10-16 Metodo perfezionato per rilevare un gesto di inclinazione del polso e unita' elettronica e dispositivo elettronico indossabile che implementano il medesimo

Country Status (2)

Country Link
US (2) US11422634B2 (it)
IT (1) IT201900019037A1 (it)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230076068A1 (en) * 2021-09-03 2023-03-09 Meta Platforms Technologies, Llc Systems for interpreting a digit-to-digit gesture by a user differently based on roll values of a wrist-wearable device worn by the user, and methods of use thereof
US20240061514A1 (en) * 2022-08-18 2024-02-22 Meta Platforms Technologies, Llc Navigating a user interface using in-air gestures detected via neuromuscular-signal sensors of a wearable device, and systems and methods of use thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150286285A1 (en) * 2014-09-23 2015-10-08 Fitbit, Inc. Methods, systems, and apparatuses to display visibility changes responsive to user gestures
US20160018872A1 (en) * 2014-07-18 2016-01-21 Apple Inc. Raise gesture detection in a device
WO2016022496A2 (en) * 2014-08-06 2016-02-11 Apple Inc. Reduced-size user interfaces for battery management

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0106037D0 (en) * 2001-03-12 2001-05-02 Univ Strathclyde Activity monitor
US7365734B2 (en) * 2002-08-06 2008-04-29 Rembrandt Ip Management, Llc Control of display content by movement on a fixed spherical space
US20090265671A1 (en) * 2008-04-21 2009-10-22 Invensense Mobile devices with motion gesture recognition
US8996332B2 (en) * 2008-06-24 2015-03-31 Dp Technologies, Inc. Program setting adjustments based on activity identification
US8502704B2 (en) * 2009-03-31 2013-08-06 Intel Corporation Method, apparatus, and system of stabilizing a mobile gesture user-interface
US8593331B2 (en) * 2010-06-16 2013-11-26 Qualcomm Incorported RF ranging-assisted local motion sensing
US20120016641A1 (en) * 2010-07-13 2012-01-19 Giuseppe Raffa Efficient gesture processing
US9167991B2 (en) * 2010-09-30 2015-10-27 Fitbit, Inc. Portable monitoring devices and methods of operating same
US8786547B2 (en) * 2010-12-23 2014-07-22 Microsoft Corporation Effects of gravity on gestures
US9110510B2 (en) * 2011-06-03 2015-08-18 Apple Inc. Motion pattern classification and gesture recognition
US20130158686A1 (en) * 2011-12-02 2013-06-20 Fitlinxx, Inc. Intelligent activity monitor
US20160051167A1 (en) * 2012-10-10 2016-02-25 Invensense, Inc. System and method for activity classification
WO2014093506A1 (en) * 2012-12-11 2014-06-19 University Of Washington Through Its Center For Commercialization Use of hand posture to improve text entry
US9174084B2 (en) * 2013-03-05 2015-11-03 Microsoft Technology Licensing, Llc Automatic exercise segmentation and recognition
US9442570B2 (en) * 2013-03-13 2016-09-13 Google Technology Holdings LLC Method and system for gesture recognition
US20140288870A1 (en) * 2013-03-15 2014-09-25 Aliphcom Inline calibration of motion sensor
WO2014183098A2 (en) * 2013-05-09 2014-11-13 Amazon Technologies, Inc. Mobile device interfaces
US10126839B2 (en) * 2013-07-24 2018-11-13 Innoventions, Inc. Motion-based view scrolling with augmented tilt control
CN111258378A (zh) * 2013-08-07 2020-06-09 耐克创新有限合伙公司 具有姿态识别和功率管理的腕戴式运动装置
KR102163915B1 (ko) * 2013-09-02 2020-10-12 엘지전자 주식회사 스마트 와치 및 제어 방법
DE112013007524T5 (de) * 2013-10-24 2016-08-04 Apple Inc. Armbandgerät-Eingabe mittels Handgelenkbewegung
US9513703B2 (en) * 2013-12-27 2016-12-06 Intel Corporation Gesture-based waking and control system for wearable devices
KR102244856B1 (ko) * 2014-04-22 2021-04-27 삼성전자 주식회사 웨어러블 장치와의 사용자 인터랙션을 제공하는 방법 및 이를 수행하는 웨어러블 장치
US10653339B2 (en) * 2014-04-29 2020-05-19 Nxp B.V. Time and frequency domain based activity tracking system
US10540597B1 (en) * 2014-06-25 2020-01-21 Bosch Sensortec Gmbh Method and apparatus for recognition of sensor data patterns
US20160034143A1 (en) * 2014-07-29 2016-02-04 Flipboard, Inc. Navigating digital content by tilt gestures
US10652696B2 (en) * 2014-07-30 2020-05-12 Trusted Positioning, Inc. Method and apparatus for categorizing device use case for on foot motion using motion sensor data
US9996109B2 (en) * 2014-08-16 2018-06-12 Google Llc Identifying gestures using motion data
KR102255143B1 (ko) * 2014-09-02 2021-05-25 삼성전자주식회사 벤디드 디스플레이를 구비한 휴대 단말기의 제어 방법 및 장치
US10505875B1 (en) * 2014-09-15 2019-12-10 Amazon Technologies, Inc. Determining contextually relevant application templates associated with electronic message content
KR101588136B1 (ko) * 2014-10-10 2016-02-15 한국과학기술원 모바일 문서 캡쳐를 위한 카메라 탑다운 앵글 보정 방법 및 장치
US10973440B1 (en) * 2014-10-26 2021-04-13 David Martin Mobile control using gait velocity
US11045116B1 (en) * 2017-09-15 2021-06-29 David Martin Enhanced determination of cadence for control in mobile
US9459698B2 (en) * 2014-12-10 2016-10-04 TCL Research America Inc. Gesture based power management system and method
KR102278945B1 (ko) * 2015-01-27 2021-07-19 삼성전자주식회사 이미지 처리 방법 및 이를 지원하는 전자 장치
US10078780B2 (en) * 2015-03-27 2018-09-18 Intel Corporation Gesture recognition mechanism
US20180239926A1 (en) * 2015-03-31 2018-08-23 Sony Corporation Information processing apparatus, information processing method, and computer program
KR20170020085A (ko) * 2015-08-13 2017-02-22 삼성전자주식회사 활동 정보 처리 방법 및 이를 지원하는 전자 장치
US10623361B2 (en) * 2015-08-27 2020-04-14 Deborah A. Lambert Method, system and apparatus for organizing and interacting with email on mobile devices
US9946317B2 (en) * 2015-08-28 2018-04-17 Microsoft Technology Licensing, Llc Bi-directional power transfer
US9939899B2 (en) * 2015-09-25 2018-04-10 Apple Inc. Motion and gesture input from a wearable device
KR20170055867A (ko) * 2015-11-12 2017-05-22 엘지전자 주식회사 이동단말기 및 그 제어방법
US9699866B2 (en) * 2015-12-02 2017-07-04 Mojo Labs Inc. Wand gesture
US11281301B2 (en) * 2016-02-03 2022-03-22 Flicktek Ltd Wearable controller for wrist
US20170310673A1 (en) * 2016-04-20 2017-10-26 Huami Inc. Security system with gesture-based access control
EP3489802B1 (en) * 2016-07-25 2021-04-28 Sony Corporation Information processing apparatus, information processing method, and program
US10444908B2 (en) * 2016-12-31 2019-10-15 Innoventions, Inc. Virtual touchpads for wearable and portable devices
US10845885B2 (en) * 2017-02-27 2020-11-24 International Business Machines Corporation Object scrolling and selection on a wearable computing device
US10488939B2 (en) * 2017-04-20 2019-11-26 Microsoft Technology Licensing, Llc Gesture recognition
US10984341B2 (en) * 2017-09-27 2021-04-20 International Business Machines Corporation Detecting complex user activities using ensemble machine learning over inertial sensors data
US11771283B2 (en) * 2017-12-06 2023-10-03 BISSELL , Inc. Method and system for manual control of autonomous floor cleaner
US20200150772A1 (en) * 2018-11-09 2020-05-14 Google Llc Sensing Hand Gestures Using Optical Sensors
TWI689859B (zh) * 2019-03-19 2020-04-01 國立臺灣科技大學 由手腕偵測肌動訊號識別使用者手勢之系統及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160018872A1 (en) * 2014-07-18 2016-01-21 Apple Inc. Raise gesture detection in a device
WO2016022496A2 (en) * 2014-08-06 2016-02-11 Apple Inc. Reduced-size user interfaces for battery management
US20150286285A1 (en) * 2014-09-23 2015-10-08 Fitbit, Inc. Methods, systems, and apparatuses to display visibility changes responsive to user gestures

Also Published As

Publication number Publication date
US20210117010A1 (en) 2021-04-22
US11422634B2 (en) 2022-08-23
US20220342486A1 (en) 2022-10-27

Similar Documents

Publication Publication Date Title
JP6567658B2 (ja) ユーザーの活動を分類し及び/又はユーザーの歩数をカウントするデバイス及び方法
IT201900019037A1 (it) Metodo perfezionato per rilevare un gesto di inclinazione del polso e unita' elettronica e dispositivo elettronico indossabile che implementano il medesimo
CN107016384A (zh) 可识别运动类型的计步方法、移动终端及存储介质
JP6222096B2 (ja) 電子機器、及びプログラム
JP6862875B2 (ja) 運動評価装置、運動評価方法及び運動評価プログラム
CN109866760A (zh) 自动泊车的遥控方法、装置及可穿戴电子设备
US9398867B2 (en) Efficient activity classification from motion inputs
WO2019033587A1 (zh) 基于智能手表的gps漂移过滤方法和智能手表
JP2013545183A (ja) ジェスチャ入力を検知する方法と装置
CN106370180B (zh) 基于动态时间规整算法的惯性传感器初始位置识别方法
US20150241243A1 (en) Method for counting steps and electronic apparatus using the same
JP6446922B2 (ja) 計測装置、計測方法及びプログラム
JP2018079102A (ja) 歩行状態推定方法、歩行状態推定プログラムおよび情報処理装置
CN111512346B (zh) 一种计算单车踏频的方法、穿戴设备及存储介质
KR101870542B1 (ko) 모션 인식 방법 및 장치
CN105630195B (zh) 运动识别装置、便携式运动检测设备及其运动识别方法
JP6277694B2 (ja) 歩数計
KR101983892B1 (ko) 웨어러블 디바이스를 이용한 차량 내 제스처 인식방법, 장치 및 기록매체
CN109795592B (zh) 骑行姿势识别方法及应用装置
JP6690343B2 (ja) 測定装置、測定方法、及び測定プログラム
US20170314923A1 (en) Mems inertial sensor device with determination of the bias value of a gyroscope therof and corresponding method
CN114764947A (zh) 使用腰部佩戴的惯性传感器检测行走活动的系统和方法
TWI621968B (zh) 控制電子設備之方法及穿戴裝置
JP6511157B2 (ja) 歩数計測装置及び歩数計測プログラム
CN105046885B (zh) 一种穿戴眼镜式疲劳预警设备及工作方法