IP Library Granted Patent US 11,645,675
Granted Patent B2
US 11,645,675 · App. 15/475,417 · Granted May 9, 2023

Identifying personal characteristics using sensor-gathered data

Inventors: Bruno Nieuwenhuys (Sunnyvale, CA); Victor Mocioiu (Bucharest, RO); Sergiu Alexandrescu (Bucharest, RO); Ciprian Caba (Botosani, RO); Alexandru Cotiga (Bucharest, RO)
Assignee: AdsWizz Inc.
G06Q30/0269G06N5/003G06N20/00G06N20/20G06N3/0454G06N7/005G06N20/10H04L67/535
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,645,675
App. No.
15/475,417
Granted
May 9, 2023
Kind
B2
Abstract

An online system trains machine learning models that, when applied to gathered sensor data, determines personal characteristics (e.g., age, gender, height) of an individual in a non-intrusive manner. Specifically, the online system trains a first machine learning model that analyzes sensor data gathered from a client device associated with the individual. The first machine learning model determines whether a trigger event, such as whether the individual is walking, is currently occurring. A second machine learning model trained by the online system analyzes sensor data corresponding to the trigger event to identify the personal characteristics of the walking individual.

Claims (68)

1. A method comprising:

receiving, from a client device, sensor data gathered by one or more sensors of the client device;

processing the gathered sensor data to obtain first extracted features;

applying a trained event detection model to the first extracted features of the processed sensor data, the trained event detection model trained to detect whether the first extracted features describe a walking individual based on at least an orientation of the client device and a manner of being held by a user, the first extracted features input into the trained event detection model, the orientation and the manner of being held by the user being output by the trained event detection model, the trained event detection model being a supervised machine learning model trained using labeled training data;

detecting, based on output from the trained event detection model, that the extracted features describe a walking individual;

responsive to detecting that the extracted features describe a walking individual, instructing one or more sensors of the client device to activate and continuously record sensor data;

receiving, from the client device, the continuously recorded sensor data gathered by the one or more sensors of the client device, the continuously recorded sensor data capturing movement patterns of the walking individual that are caused by the walking individual continuing to walk;

processing the continuously recorded sensor data to obtain second extracted features;

applying a trained classification model to the second extracted features of the continuously recorded sensor data, wherein the trained classification model is trained using input feature data based on extracted features from continuously recorded sensor data capturing movement patterns of a plurality of walking individuals that are caused by each corresponding walking individual continuing to walk, and on output labels that indicate a gender for each corresponding walking individual; and

determining a gender of the walking individual based on the output of the trained classification model.

2. The method of claim 1 , further comprising:

transmitting to the client device, responsive to detecting that the first extracted features describe the walking individual, instructions to continuously record sensor data corresponding to a trigger event.

3. The method of claim 1 further comprising:

providing content to the client device, subsequent to determining the gender of the walking individual, the provided content selected according to the determined gender of the walking individual.

4. The method of claim 1 further comprising determining one of the walking individual's age or height.

5. The method of claim 1 , wherein processing the gathered sensor data or processing the continuously recorded sensor data comprises:

preprocessing the sensor data;

adjusting the preprocessed sensor data by shifting from a first frame of reference corresponding to the client device to a second frame of reference corresponding to the walking individual; and

extracting features from the adjusted sensor data.

6. The method of claim 5 , wherein preprocessing the sensor data comprises:

filtering the received sensor data to remove noise; and

normalizing the filtered sensor data based on the sensor of the client device that gathered the sensor data.

7. The method of claim 5 , wherein the features extracted from the adjusted sensor data comprises one or more of:

a mean value of the sensor data;

a standard deviation value of the sensor data;

an average number of samples per gait cycle derived from the sensor data;

a magnitude of the sensor data;

a signal energy of the sensor data; and

a distribution of signal power of the sensor data.

8. The computer-implemented method of claim 7 , wherein each of the features extracted from the adjusted sensor data is originally gathered by one of an accelerometer or a gyroscope of the client device.

9. The method of claim 5 , wherein shifting from a first frame of reference corresponding to the client device to a second frame of reference corresponding to the walking individual comprises:

determining a variance of one or more channels in the sensor data;

sorting the one or more channels according to their determined variances; and

applying a rotation matrix to the one or more channels, the rotation matrix determined based on the first frame of reference corresponding to the client device.

10. A non-transitory computer-readable medium comprising computer program code, the computer program code when executed by a processor of a client device causes the processor to:

receive, from a client device, sensor data gathered by one or more sensors of the client device;

process the gathered sensor data to obtain first extracted features;

apply a trained event detection model to the first extracted features of the processed sensor data, the trained event detection model trained to detect whether the first extracted features describe a walking individual based on at least an orientation of the client device and a manner of being held by a user, the first extracted features input into the trained event detection model, the orientation and the manner of being held by the user being output by the trained event detection model, the trained event detection model being a supervised machine learning model trained using labeled training data;

detect, based on output from the trained event detection model, that the extracted features describe a walking individual;

responsive to detecting that the extracted features describe a walking individual, instruct one or more sensors of the client device to activate and continuously record sensor data;

receive, from the client device, continuously recorded sensor data gathered by one or more sensors of the client device, the continuously recorded sensor data capturing movement patterns of the walking individual that are caused by the walking individual continuing to walk;

process the continuously recorded sensor data to obtain second extracted features;

apply a trained classification model to the second extracted features of the continuously recorded sensor data, wherein the trained classification model is trained using input feature data based on extracted features from continuously recorded sensor data capturing movement patterns of a plurality of walking individuals that are caused by each corresponding walking individual continuing to walk, and on output labels that indicate a gender for each corresponding walking individual; and

determine a gender of the walking individual from on the output of the trained classification model.

11. The non-transitory computer-readable medium of claim 10 further comprising computer program code that when executed by the processor of a client device causes the processor to:

transmit to the client device, responsive to detection of the extracted features describing the walking individual, instructions to continuously record sensor data corresponding to a trigger event.

12. The non-transitory computer-readable medium of claim 10 further comprising computer program code that when executed by the processor of a client device causes the processor to:

provide, subsequent to obtaining the gender of the walking individual, content to the client device, the provided content selected according to the obtained gender of the walking individual.

13. The non-transitory computer-readable medium of claim 10 further comprising computer program code that when executed by the processor of a client device causes the processor to determine one of the walking individual's age or height.

14. The non-transitory computer-readable medium of claim 10 , wherein the computer program code to process the gathered sensor data or the computer program code to process continuously recorded sensor data further comprises computer program code that when executed by the processor causes the processor to:

preprocess the sensor data;

adjust the preprocessed sensor data by shifting from a first frame of reference corresponding to the client device to a second frame of reference corresponding to the walking individual; and

extract features from the adjusted sensor data.

15. The non-transitory computer-readable medium of claim 14 , wherein the computer program code to preprocess the sensor data comprises computer program code that when executed by the processor causes the processor to:

filter the received sensor data to remove noise; and

normalize the filtered sensor data based on the sensor of the client device that gathered the sensor data.

16. The non-transitory computer-readable medium of claim 14 , wherein the features extracted from the adjusted sensor data comprises one or more of:

a mean value of the sensor data;

a standard deviation value of the sensor data;

an average number of samples per gait cycle derived from the sensor data;

a magnitude of the sensor data;

a signal energy of the sensor data; and

a distribution of signal power of the sensor data.

17. The non-transitory computer-readable medium of claim 16 , wherein each of the features extracted from the adjusted sensor data is originally gathered by one of an accelerometer or a gyroscope of the client device.

18. The non-transitory computer-readable medium of claim 14 , wherein the computer program code to shift from a first frame of reference corresponding to the client device to a second frame of reference corresponding to the walking individual further comprises computer program code that when executed by the processor causes the processor to:

determine a variance of one or more channels in the sensor data;

sort the one or more channels according to their determined variances; and

apply a rotation matrix to the one or more channels, the rotation matrix determined based on the first frame of reference corresponding to the client device.

Assignments (4)
SECURITY INTEREST Recorded Nov 26, 2025
From: ADSWIZZ INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 073043/0524 →
RELEASE OF SECURITY INTEREST Recorded Feb 1, 2019
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: PANDORA MEDIA CALIFORNIA, LLC; ADSWIZZ INC.
Reel/Frame 048219/0914 →
PATENT SECURITY AGREEMENT Recorded Jun 22, 2018
From: PANDORA MEDIA, INC.; ADSWIZZ INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 046414/0741 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2017
From: NIEUWENHUYS, BRUNO; MOCIOIU, VICTOR; ALEXANDRESCU, SERGIU; CABA, CIPRIAN; COTIGA, ALEXANDRU
To: ADSWIZZ INC.
Reel/Frame 043658/0377 →
Priority Claims (1)
RO a 2017 00191 · Mar 30, 2017 · national
Continuity (1)
Related Publication 20180285319A1 · Oct 4, 2018