IP Library › Granted Patent US 11,537,239
Granted Patent B1
US 11,537,239 · App. 17/575,965 · Granted Dec 27, 2022

Diffusion-based handedness classification for touch-based input

Inventors: Adam Hakim (Tel Aviv, IL); Guy David Amir (Jerusalem, IL); Aviv Slobodkin (Ramat Gan, IL)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06F3/04186G06F3/04883
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,537,239
App. No.
17/575,965
Granted
Dec 27, 2022
Kind
B1
Abstract

Methods, systems, apparatuses, and computer program products are provided herein for determining the handedness of input provided by a user via a touch interface. For instance, for each touch-based input detected, a score indicating a probability whether the touch-based input was inputted by a particular hand of the user is generated. A classification for the touch-based input is then generated based on a drift diffusion model-based technique in which inter-dependencies between a series of touch-based input are approximated. The determined classifications are aggregated and compared to threshold(s) to determine the handedness of the user. For example, if the aggregated classifications meet a first threshold, then a determination is made that touch-based input provided by a user was inputted by the user's left hand. If the aggregated classifications meet a second threshold, then a determination is made that touch-based input provided by the user was inputted by the user's right hand.

Claims (87)

1. A computing device, comprising:

at least one processor circuit; and

at least one memory that stores program code configured to be executed by the at least one processor circuit, the program code comprising:

a handedness classifier configured to:

receive, by a touch interface of the computing device, a first touch-based input applied by a contact instrument;

generate a score indicating a probability whether the first touch-based input was inputted by a particular hand of a user;

generate a first classification for the first touch-based input based at least on the score, a second classification generated for a previously-received touch-based input, and a diffusion factor representative of a dependency between the first touch-based input and the previously-received touch-based input;

determine whether the first classification meets a first predetermined threshold or a second predetermined threshold;

in response to a determination that the first classification meets the first predetermined threshold, classify the first touch-based input as being inputted from the left hand of the user; and

in response to determination that the first classification meets the second predetermined threshold, classify the first touch-based input as being inputted from the right hand of the user.

2. The computing device of claim 1 , wherein the handedness classifier is further configured to:

update a configuration setting of at least one of an operating system executing on the computing device or an application executing on the computing device; and

receive, by the touch interface, a second touch-based input applied by the contact instrument, the second touch-based input causing a graphical user interface element to be displayed in accordance with the configuration setting, the configuration setting causing the graphical user interface element to be displayed a manner such that the graphical user interface element is unobscured by the particular hand of the user by which the second touch-based input is provided.

3. The computing device of claim 2 , wherein the handedness classifier is further configured to:

reject a third touch-based input, received by the touch interface, corresponding to a touch blob, the touch blob corresponding to a portion of the particular hand of the user that is applied to the touch interface while the second touch-based input is received.

4. The computing device of claim 2 , the second touch-based input is received in accordance with at least one of:

a time period that exceeds a third predetermined threshold; or

at a pressure that exceeds a fourth predetermined threshold.

5. The computing device of claim 1 , wherein the score is generated based at least on one feature of a plurality of features, the plurality of features comprising:

a first location of the touch interface at which the first touch-based input was applied by the contact instrument;

a second location of the touch interface at which a touch blob was detected by the touch interface, the touch blob corresponding to a portion of the particular hand of the user that is applied to the touch interface while the first touch-based input is received;

an angle at which the contact instrument is positioned with respect to the first location and the second location;

a tilt angle of the contact instrument with respect to the touch interface; and

an azimuth of the contact instrument.

6. The computing device of claim 5 , wherein the handedness classifier is further configured to:

generate a feature vector based on the plurality of features; and

provide the feature vector as an input to a machine learning model that generates the score.

7. The computing device of claim 1 , wherein the handedness classifier is further configured to:

determine a second score indicating that the first touch-based input was inputted by another particular hand of the user;

generate a first value based on the first score and the second score;

scale the first value by the diffusion factor to generate a second value; and

combine the second value with the second classification generated for the previously-received touch-based input to generate the first classification.

8. A method implemented on a computing device, comprising:

receiving, by a touch interface of the computing device, a first touch-based input applied by a contact instrument;

generating a score indicating a probability whether the first touch-based input was inputted by a particular hand of a user;

generating a first classification for the first touch-based input based at least on the score, a second classification generated for a previously-received touch-based input, and a diffusion factor representative of a dependency between the first touch-based input and the previously-received touch-based input;

determining whether the first classification meets a first predetermined threshold or a second predetermined threshold;

in response to determining that the first classification meets the first predetermined threshold, classifying the first touch-based input as being inputted from the left hand of the user; and

in response to determining that the first classification meets the second predetermined threshold, classifying the first touch-based input as being inputted from the right hand of the user.

9. The method of claim 8 , further comprising:

updating a configuration setting of at least one of an operating system executing on the computing device or an application executing on the computing device;

receiving, by the touch interface, a second touch-based input applied by the contact instrument; and

responsive to receiving the second touch-based input, displaying a graphical user interface element in accordance with the configuration setting, the configuration setting causing the graphical user interface element to be displayed a manner such that the graphical user interface element is unobscured by the particular hand of the user by which the second touch-based input is provided.

10. The method of claim 9 , further comprising:

rejecting a third touch-based input, received by the touch interface, corresponding to a touch blob, the touch blob corresponding to a portion of the particular hand of the user that is applied to the touch interface while the second touch-based input is received.

11. The method of claim 9 , wherein the second touch-based input is received in accordance with at least one of:

a time period that exceeds a third predetermined threshold; or

at a pressure that exceeds a fourth predetermined threshold.

12. The method of claim 8 , wherein the score is generated based at least on one feature of a plurality of features, the plurality of features comprising:

a first location of the touch interface at which the first touch-based input was applied by the contact instrument;

a second location of the touch interface at which a touch blob was detected by the touch interface, the touch blob corresponding to a portion of the particular hand of the user that is applied to the touch interface while the first touch-based input is received;

an angle at which the contact instrument is positioned with respect to the first location and the second location;

a tilt angle of the contact instrument with respect to the touch interface; and

an azimuth of the contact instrument.

13. The method of claim 12 , wherein said generating the score comprises:

generating a feature vector based on the plurality of features; and

providing the feature vector as an input to a machine learning model that generates the score.

14. The method of claim 8 , wherein said generating the first classification comprises:

determining a second score indicating that the first touch-based input was inputted by another particular hand of the user;

generating a first value based on the first score and the second score;

scaling the first value by the diffusion factor to generate a second value; and

combining the second value with the second classification generated for the previously-received touch-based input to generate the first classification.

15. A computer-readable storage medium having program instructions recorded thereon that, when executed by at least one processor of a computing device, perform a method, the method comprising:

receiving, by a touch interface of the computing device, a first touch-based input applied by a contact instrument;

generating a score indicating a probability whether the first touch-based input was inputted by a particular hand of a user;

generating a first classification for the first touch-based input based at least on the score, a second classification generated for a previously-received touch-based input, and a diffusion factor representative of a dependency between the first touch-based input and the previously-received touch-based input;

determining whether the first classification meets a first predetermined threshold or a second predetermined threshold;

in response to determining that the first classification meets the first predetermined threshold, classifying the first touch-based input as being inputted from the left hand of the user; and

in response to determining that the first classification meets the second predetermined threshold, classifying the first touch-based input as being inputted from the right hand of the user.

16. The computer-readable storage medium of claim 15 , the method further comprising:

updating a configuration setting of at least one of an operating system executing on the computing device or an application executing on the computing device;

receiving, by the touch interface, a second touch-based input applied by the contact instrument; and

responsive to receiving the second touch-based input, displaying a graphical user interface element in accordance with the configuration setting, the configuration setting causing the graphical user interface element to be displayed a manner such that the graphical user interface element is unobscured by the particular hand of the user by which the second touch-based input is provided.

17. The computer-readable storage medium of claim 16 , the method further comprising:

rejecting a third touch-based input, received by the touch interface, corresponding to a touch blob, the touch blob corresponding to a portion of the particular hand of the user that is applied to the touch interface while the second touch-based input is received.

18. The computer-readable storage medium of claim 16 , wherein the second touch-based input is received in accordance with at least one of:

a time period that exceeds a third predetermined threshold; or

at a pressure that exceeds a fourth predetermined threshold.

19. The computer-readable storage medium of claim 15 , wherein the score is generated based at least on one feature of a plurality of features, the plurality of features comprising:

a first location of the touch interface at which the first touch-based input was applied by the contact instrument;

a second location of the touch interface at which a touch blob was detected by the touch interface, the touch blob corresponding to a portion of the particular hand of the user that is applied to the touch interface while the first touch-based input is received;

an angle at which the contact instrument is positioned with respect to the first location and the second location;

a tilt angle of the contact instrument with respect to the touch interface; and

an azimuth of the contact instrument.

20. The computer-readable storage medium of claim 19 , wherein said generating the score comprises:

generating a feature vector based on the plurality of features; and

providing the feature vector as an input to a machine learning model that generates the score.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2022
From: HAKIM, ADAM; AMIR, GUY DAVID; SLOBODKIN, AVIV
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 058658/0373 →
Cited By (1)
US 12,429,955