IP Library Granted Patent US 8,417,481
Granted Patent B2
US 8,417,481 · App. 12/552,998 · Granted Apr 9, 2013

Systems and methods for adaptive smart environment automation

Inventors: Diane J. Cook (Pullman, WA); Parisa Rashidi (Pullman, WA)
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 8,417,481
App. No.
12/552,998
Granted
Apr 9, 2013
Kind
B2
Abstract

Several embodiments of systems and methods for adaptive smart environment automation are described herein. In one embodiment, a computer implemented method includes determining a plurality of sequence patterns of data points in a set of input data corresponding to a plurality of sensors in a space. The input data include a plurality of data points corresponding to each of the sensors, and the sequence patterns are at least partially discontinuous. The method also includes generating a plurality of statistical models based on the plurality of sequence patterns, and the individual statistical models corresponding to an activity of a user. The method further includes recognizing the activity of the user based on the statistical models and additional input data from the sensors.

Claims (209)

1. A computer implemented method, comprising:

a processor collecting input data from a plurality of sensors in a space, the input data including a plurality of sequential data points corresponding to the individual sensors, wherein each data point represents a sensor event;

a processor analyzing the input data received from the plurality of sensors to determine a sequence pattern of data points from the input data, an instance of the sequence pattern of data points being at least partially discontinuous; and

a processor controlling a control element in the space based on the determined sequence pattern of data points.

2. The computer implemented method of claim 1 wherein:

the input data are first input data;

analyzing the input data includes:

calculating a frequency of each of the data points in the first input data;

generating second input data from the first input data by eliminating data points with a corresponding frequency less than a preselected threshold;

moving a data window across the second input data;

determining a sequence pattern based on data points in the data window as the data window moves across the second input data; and

correlating the determined sequence pattern to an activity of a user in the space; and

controlling the control element includes:

recognizing the activity of the user based on the determined sequence pattern; and

controlling the control element in the space based on the recognized activity of the user.

3. The computer implemented method of claim 1 wherein analyzing the input data includes:

moving a data window across the input data; and

determining a sequence pattern based on data points in the data window as the data window moves across the input data, the sequence pattern comprising all variations of a single sequence pattern that occur in the input data and satisfy the following condition:

D

L

(

D

)

(

D

L

(

a

)

+

D

L

(

D

a

)

)

*

Γ

a

>

C

where DL is a description length of a corresponding argument, D is a data point, a is a sequence pattern, C is a minimum compression threshold, and Γ is a discontinuity factor.

4. The computer implemented method of claim 1 wherein analyzing the input data includes:

moving a data window across the input data, the data window having a length of data points;

determining a sequence pattern based on data points in the data window as the data window moves across the input data, the sequence pattern comprising all variations of a single sequence pattern that occur in the input data and satisfy the following condition:

D

L

(

D

)

(

D

L

(

a

)

+

D

L

(

D

a

)

)

*

Γ

a

>

C

where DL is a description length of a corresponding argument, D is a data point, a is a sequence pattern, C is a minimum compression threshold, and Γ is a discontinuity factor; and

incrementing the length of the data window and repeating moving the data window across the input data and determining a sequence pattern until a preselected number of iterations are reached.

5. The computer implemented method of claim 1 wherein:

analyzing the input data includes determining a plurality of sequence patterns based on data points in the input data, the individual sequence patterns comprising all variations of a single sequence pattern that occur in the input data; and

the method further includes grouping the plurality of determined sequence patterns into a plurality of clusters based on a similarity between the sequence patterns.

6. The computer implemented method of claim 1 wherein:

analyzing the input data includes:

determining a plurality of sequence patterns based on data points in the input data, the individual sequence patterns comprising all variations of a single sequence pattern that occur in the input data and satisfy the following condition:

D

L

(

D

)

(

D

L

(

a

)

+

D

L

(

D

a

)

)

*

Γ

a

>

C

where DL is a description length of a corresponding argument, D is a data point, a is a sequence pattern, C is a minimum compression threshold, and Γ is a discontinuity factor; and

the method further includes grouping the plurality of determined sequence patterns into a plurality of clusters based on a similarity between the sequence patterns.

7. The computer implemented method of claim 1 wherein:

analyzing the input data includes:

determining a plurality of sequence patterns based on data points in the input data; and

the method further includes:

computing an edit distance between two sequence patterns in the plurality of sequence patterns; and

grouping the two sequence patterns into a cluster if the computed edit distance is less than a threshold value.

8. The computer implemented method of claim 1 wherein:

analyzing the input data includes determining a plurality of sequence patterns based on data points in the input data, the individual sequence patterns comprising all variations of a single sequence pattern that occur in the input data; and

the method further includes:

grouping the plurality of determined sequence patterns into a plurality of clusters based on a similarity between the sequence patterns; and

generating a statistical model for the individual clusters, the statistical models including at least one of a Dynamic Bayes Network, a Naïve Bayes Classifier, a Markov model, and a hidden Markov model.

9. The computer implemented method of claim 1 wherein:

analyzing the input data includes:

determining a plurality of sequence patterns based on data points in the input data; and

the method further includes:

computing an edit distance between two sequence patterns in the plurality of sequence patterns;

grouping the plurality of determined sequence patterns into a plurality of clusters based on the computed edit distance; and

generating a statistical model for the individual clusters, the statistical models including a hidden Markov model.

10. The computer implemented method of claim 1 wherein:

analyzing the input data includes:

determining a plurality of sequence patterns based on data points in the input data; and

the method further includes:

computing an edit distance between two sequence patterns in the plurality of sequence patterns;

grouping the plurality of determined sequence patterns into a plurality of clusters based on the computed edit distance;

generating a statistical model for the individual clusters, the statistical models including a hidden Markov model;

collecting additional input data from the plurality of sensors; and

computing a statistical probability that the additional input data are correlating to an activity of a user in the space.

11. A computer implemented method, comprising:

a computing device determining a plurality of a sequence patterns of data points in a set of input data corresponding to a plurality of sensors in a space, the input data including a plurality of data points corresponding to each of the sensors, wherein each data point represents a sensor event and wherein at least one of the sequence patterns is at least partially discontinuous;

a computing device generating a plurality of statistical models based on the plurality of sequence patterns, the individual statistical models corresponding to an activity of a user; and

a computing device recognizing the activity of the user based on the statistical models and additional input data from the sensors.

12. The computer implemented method of claim 11 wherein:

determining a plurality of sequence patterns of data points includes determining a plurality of sequence patterns of data points in the input data, the individual sequence patterns comprising all variations of a single sequence pattern that occur in the input data; and

the method further includes grouping the plurality of sequence patterns into a plurality of clusters, the individual clusters containing sequence patterns that have a similarity greater than a preselected threshold.

13. The computer implemented method of claim 11 wherein:

determining a plurality of sequence patterns of data points includes determining a plurality of sequence patterns of data points in the input data, the individual sequence patterns comprising all variations of a single sequence pattern that occur in the input data; and

the method further includes grouping the plurality of sequence patterns into a plurality of clusters, the individual clusters containing sequence patterns that have an edit distance less than a preselected threshold.

14. The computer implemented method of claim 11 , further comprising:

grouping the plurality of sequence patterns into a plurality of clusters, the individual clusters containing sequence patterns that have an edit distance less than a preselected threshold; and

generating a plurality of statistical models includes generating a plurality of statistical models individually based on each of the grouped clusters.

15. The computer implemented method of claim 11 , further comprising:

grouping the plurality of sequence patterns into a plurality of clusters, the individual clusters containing sequence patterns that have an edit distance less than a preselected threshold; and

generating a plurality of statistical models includes generating a plurality of hidden Markov models individually based on each of the grouped clusters.

16. The computer implemented method of claim 11 , further comprising:

grouping the plurality of sequence patterns into a plurality of clusters, the individual clusters containing sequence patterns that have an edit distance less than a preselected threshold; and

generating a plurality of statistical models includes generating a plurality of hidden Markov models individually based on each of the grouped clusters;

wherein recognizing the activity of the user includes:

collecting the additional input data from the sensors; and

computing a probability based on the additional input data from the sensors and the generated hidden Markov Models, the probability indicating a likelihood that the additional input data from the sensors correspond to an activity of a user.

17. The computer implemented method of claim 11 , further comprising:

grouping the plurality of sequence patterns into a plurality of clusters, the individual clusters containing sequence patterns that have an edit distance less than a preselected threshold; and

generating a plurality of statistical models includes generating a plurality of hidden Markov models individually based on each of the grouped clusters;

wherein recognizing the activity of the user includes:

collecting the additional input data from the sensors;

computing a probability based on the additional input data from the sensors and the generated hidden Markov Models, the probability indicating a likelihood that the additional input data from the sensors correspond to an activity of a user; and

automating a control element in the space based on the computed probability.

18. The computer implemented method of claim 11 , further comprising:

grouping the plurality of sequence patterns into a plurality of clusters, the individual clusters containing sequence patterns that have an edit distance less than a preselected threshold; and

generating a plurality of statistical models includes generating a plurality of hidden Markov models individually based on each of the grouped clusters;

wherein recognizing the activity of the user includes:

collecting the additional input data from the sensors;

computing a probability based on the additional input data from the sensors and the generated hidden Markov Models, the probability indicating a likelihood that the additional input data from the sensors correspond to an activity of a user, the activity having at least one of a start time and a duration;

identifying a change in the start time and/or the duration of the activity; and

generating an alarm to the user about the change.

19. A computer system, comprising:

a plurality of sensors installed in a space, the sensors being configured to provide input data including a plurality of data points corresponding to each of the sensors, wherein each data point represents a sensor event; and

a controller operatively coupled to the sensors, the controller including:

an activity miner configured to analyze the input data from the plurality of sensors to determine a plurality of sequence patterns of data points, the sequence patterns being at least partially discontinuous; and

an activity model configured to generate a plurality of statistical models based on the plurality of sequence patterns, the individual statistical models corresponding to an activity of a user.

20. The computer system of claim 19 wherein the activity miner includes:

a discontinuous varied-order sequential module configured to determine a plurality of sequence patterns of data points, wherein at least one of the sequence patterns is discontinuous; and

a clustering module configured to group the plurality of sequence patterns into a set of clusters based on similarity of the plurality of sequence patterns.

21. The computer system of claim 19 wherein:

the activity miner includes (1) a discontinuous varied-order sequential module configured to determine a plurality of sequence patterns of data points, wherein at least one of the sequence patterns is discontinuous and (2) a clustering module configured to group the plurality of sequence patterns into a set of clusters based on similarity of the plurality of sequence patterns; and

the activity model includes a hidden Markov model having a plurality of hidden nodes related to the plurality of sequence patterns via a plurality of corresponding probabilities.

Assignments (4)
CONFIRMATORY LICENSE Recorded Mar 1, 2019
From: WASHINGTON STATE UNIVERSITY
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 048483/0236 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED ON REEL 032664 FRAME 0879. ASSIGNOR(S) HEREBY CONFIRMS THE THE EXECUTION DATE SHOULD BE 07/01/2013. Recorded May 12, 2014
From: WASHINGTON STATE UNIVERSITY RESEARCH FOUNDATION
To: WASHINGTON STATE UNIVERSITY
Reel/Frame 032874/0161 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2014
From: WASHINGTON STATE UNIVERSITY RESEARCH FOUNDATION
To: WASHINGTON STATE UNIVERSITY
Reel/Frame 032664/0879 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2009
From: COOK, DIANE J.; RASHIDI, PARISA
To: WASHINGTON STATE UNIVERSITY
Reel/Frame 023430/0339 →
Continuity (2)
Provisional Application 61096257 · Sep 11, 2008
Related Publication 20100063774A1 · Mar 11, 2010