# Patent

## Title
System and method for activity recognition

## Abstract

A method for automatic recognition of human activity is provided and includes the steps of decomposing human activity into a plurality of fundamental component attributes needed to perform an activity and defining ontologies of fundamental component attributes from the plurality of the fundamental component attributes identified during the decomposing step for each of a plurality of different targeted activities. The method also includes the steps of converting a data stream captured during a performance of an activity performed by a human into a sequence of fundamental component attributes and classifying the performed activity as one of the plurality of different targeted activities based on a closest match of the sequence of fundamental component attributes obtained during the converting step to at least a part of one of the ontologies of fundamental component attributes defined during the defining step. A system for performing the method is also disclosed.

## Background
BACKGROUND
Automatic recognition of user activity can be used in numerous context-aware applications and technologies, such as, applications which provide recommendations, user profiling, health/wellness applications, and smart-home applications. For example, automatic recognition of user activity is useful with respect to providing context-based targeted advertising and activity-aware multimedia content recommendations such as shopping recommendations specifically targeted to users known to be involved in certain activities. Further examples include healthcare and activity monitoring for patients, elders, and children, life logging applications and automatic status updating of social networks, and technologies relating to proactive personal assistants which take into account current user activities and activity history of the user.
For purposes of automatically recognizing the activity of a user, the conventional approach is to collect and label a set of training data for each class of user activity that needs to be recognized and to match current activity sensor readings to readings expected for one of a plurality of pre-defined classes of targeted activities of interest. However, such an approach necessarily requires training data for each of the activities desired to be recognized and, if there is no training data for a particular activity, a proper match to such an activity cannot be made. Thus, an activity of interest which is considered “previously unseen” with respect to the acquisition of appropriate training data cannot be recognized.
Furthermore, labeled examples and training data are typically extremely time consuming and expensive to develop and/or acquire and require significant efforts of human annotators and/or experts for such data to be useful in predicting activity performed by a user based on sensor readings. Thus, the ability to expand successful recognition to additional activities of interest is difficult and requires significant investment.



BRIEF DESCRIPTION OF THE DRAWINGS
Various features of the embodiments described in the following detailed description can be more fully appreciated when considered with reference to the accompanying figures, wherein the same numbers refer to the same elements.
FIG. 1 is a diagram of an array of sensors capturing data in accordance with an embodiment.
FIG. 2 is a diagram showing the interrelation of low-level sensor data, mid-level attributes, and high-level activity classes for three different exercises in accordance with an embodiment.
FIG. 3 is a schematic diagram of a system of recognizing activities in accordance with an embodiment.



DETAILED DESCRIPTION
For simplicity and illustrative purposes, the principles of the embodiments are described by referring mainly to examples thereof. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the embodiments. It will be apparent however, to one of ordinary skill in the art, that the embodiments may be practiced without limitation to these specific details. In some instances, well known methods and structures have not been described in detail so as not to unnecessarily obscure the embodiments.
Embodiments are disclosed herein with respect to methods and systems for use in automatically recognizing human activity from some form of input sensor data captured relative to the activity actually performed. In addition, the embodiments are able to recognize an activity of interest from the input sensor data even when the activity is considered “previously unseen” where there may be little or no training data and examples developed that correspond to the activity of interest targeted for recognition.
In one embodiment, a method for automatic recognition of human activity is provided and includes the steps of decomposing human activity into a plurality of fundamental component attributes needed to perform the activity and defining ontologies of fundamental component attributes from the plurality of the fundamental component attributes identified during the decomposing step for each of a plurality of different targeted activities. The method also includes the steps of converting a data stream captured during a performance of an activity performed by a human into a sequence of fundamental component attributes and classifying the performed activity as one of the plurality of different targeted activities based on a closest match of the sequence of fundamental component attributes obtained during the converting step to at least a part of one of the ontologies of fundamental component attributes defined during the defining step.
In another embodiment, a method of automatically recognizing a physical activity being performed by a human is provided and includes the step of electronically decomposing training data obtained for each of a plurality of different physical activities within a training set of physical activities into a plurality of component attributes needed to perform the physical activities within the training set. The method also includes the step of defining ontologies of component attributes from the plurality of component attributes identified during the decomposing step for each of a plurality of different physical activities within a targeted set of different physical activities. The targeted set is different from the training set and may include physical activities not included in the training set. The method further includes the steps of electronically capturing a data stream representing an actual physical activity performed, electronically converting the data stream obtained during the capturing step into a plurality of component attributes, and automatically classifying the actual physical activity being performed by comparing the plurality of component attributes obtained during the converting step to one of the ontologies of component attributes defined during the defining step.
In a further embodiment, a system for automatically recognizing physical activity of a human is provided. The system includes a feature extractor and an attribute-based activity recognizer. The feature extractor is configured to receive electronic input data captured by a sensor relative to a physical activity and to identify features from the input data. The attribute-based activity recognizer has an attribute detector for electronically determining an attribute as defined by a sequence of features and an activity classifier for classifying and outputting a prediction of the physical activity based on at least one of a sequence and combination of the attributes determined by the attribute detector.
In general, the embodiments are configured to recognize human activities from user data and, from such data, recognize so-called “previously unseen” activity classes where no training samples or training data has been developed in advance. Thus, while conventional supervised activity recognition may be limited to activity classes contained within a set of training data, the semantic attribute-based learning framework of the embodiments disclosed herein generalize and decompose knowledge into fundamental components for the purpose of being able to recognize “previously unseen” activity. For purposes of this description, a “previously unseen” or “unseen” activity is one in which training data has not been developed in advance or does not exist for the activity of interest being recognized.
According to the embodiments, a human activity is represented by or, decomposed into, a sequence and/or combination of semantic attributes or fundamental components. Attributes learned for recognizing one particular activity are transferred for use in recognizing other different activities. Merely for purposes of example, a particular body position or body movement of the user may be defined as one of several attributes that can be used to define a particular human activity. This same body position or body movement (i.e., attribute) may also be accomplished when performing other activities. Thus, the attribute learned for one activity can be used in defining and recognizing a different activity having a common attribute.
Readily nameable semantic attributes are used to permit a new or previously unseen activity to be described efficiently in so-called “attribute space” instead of requiring extensive efforts with respect to the development of appropriate training data. Thus, a “previously unseen” activity (i.e., an activity in which training data was not acquired in advance) is defined from a list of attributes collected and identified from training data of other activities. In this manner, a “previously unseen” activity having little or no corresponding training examples can be automatically recognized from a unique combination or sequence of attributes learned from other activities.
Thus, as described above, fundamental attributes are learned and then shared for use in recognizing various different human activities. In this manner, new activities that are rarely seen or previously unseen can be recognized because many activity types share the same underlying components thereby permitting a statistical model of a basic activity component to be transferred and used to recognize other activities. In this approach, limits with respect to supervised learning (i.e., the collection and development of training data) can be overcome by incorporating human knowledge with respect to the fundamental components known to comprise an activity of interest. Thus, rather than collecting sensor data and developing labels for every activity type, the use of nameable attributes permits humans to describe an activity type based on a combination or sequence of fundamental attributes without the process of sensor training data collection.
A step in the above described process is to decompose human activity into a sequence or combination of attributes. The semantic attributes are subject to organization and ontology for use in defining targeted activities of interest for recognition. Zero-shot learning techniques can be used for recognizing activities from sequential data.
For purposes of illustration, FIG. 1 shows various forms of data that may be collected when a human performs an activity of interest that is desired to be automatically recognized. For example, when the human performs activity 10, a microphone 12 may record sound data, a motion detector or sensor such as an accelerometer or gyroscope 14 worn on the user may record motion data, a GPS sensor 16 may record location data, and a device 18 utilizing BLUETOOTH or Wi-Fi communication technologies may record proximity data. Of course, other sensors and types of data may also be recorded, such as video recordings of the activity, ambient signatures such as temperature, ambient lighting conditions, barometric pressure, and altitude, and the like.
An example is provided in FIG. 2 in which the targeted activities of interest for being automatically recognized are exercises, for instance, calisthenics and free-weight exercises. In particular, the exercises in the group illustrated in FIG. 2 include bench dips 20, squat and upright row 22, and dumbbell side raises 24. In this example, these three exercises 20, 22 and 24 are referred to as high-level activity class labels. In this example, training data 26 and 28 has been collected and/or acquired in advance for each of the high-level activity class labels of bench dips 20 and squat and upright row 22 so that these activity classes 20 and 22 can be recognized directly from sensor data based on a comparison of sensor data captured when a user performs the activity to the existing training data for these exercises. However, the high-level activity class of dumbbell side raises 24 is an “unseen” or “previously unseen” activity class that has no corresponding training data. See the word “None” in FIG. 2.
Accordingly, low-level sensor data features are shown at the bottom of FIG. 2 and include pre-obtained training data 26 and 28 for the bench dips 20 and squat and upright row 22 activity classes, respectively, and testing data 30, 32, and 34 for each of exercises 20, 22 and 24, respectively, which are recorded by sensors such as shown in FIG. 1 during the performance of an activity to which activity recognition is desired. Of significance, the dumbbell side raises activity class 24 has no training data as discussed above and therefore cannot simply be recognized based on a comparison of sensor testing data to stored and pre-obtained training data.
According to the embodiment, mid-level semantic attributes are determined by decomposing the pre-obtained training data. For example, the positioning of the arm of the exerciser between an upper arm back position 36, an upper arm down position 38, and an arm curl position 40 can be identified as fundamental attributes of the bench dips activity class 20 based on human knowledge of a bench dips exercise and based on decomposition of the low-level features of training data 26. Likewise, the positioning of the arm of the exerciser between an upper arm down position 38, an arm curl position 40, and an upper arm side position 42 can be identified as fundamental attributes of the squat and upright row activity class 22 based on human knowledge of a squat and upright row exercise and based on decomposition of the training data 28. These same four semantic attributes 36, 38, 40 and 42 can be used not only to recognize bench dips 20 and squat and upright row 22 exercises, but also to recognize other activities such as the dumbbell side raises activity class 24 for which no training data has been collected.
For purposes of recognizing the dumbbell side raises activity class 24, human knowledge alone of the mid-level semantic attributes can be used. For instance, it would be known that the dumbbell side raises activity class 24 involves arm positions including a repeating sequence of an upper arm down position 38 followed by and an upper arm side position 42. Thus, only information relative to the mid-level semantic attributes need entry into a device and/or database used to recognize the activity. In this manner, when the testing data 34 is analyzed, its features can be transformed or mapped into these attributes and a comparison of attributes only (i.e., in attribute space) can be performed. The result is recognition of a dumbbell side raises activity class 24 without the requirement of pre-obtained training data.
The above example can be quickly and efficiently expanded upon to greatly increase the number of high-level activity classes that may be recognized based on only a small collection of learned mid-level semantic attributes (i.e., learned from training data of just a few high-level activity classes). For example, in Table 1 provided below, semantic attributes for arm up, arm down, arm forward, arm backward, arm side, arm curl and squat and stand-up can be learned and various high-level activity classes can then be defined and targeted based on knowledge of just these few fundamental attributes. Table 1 lists high-level activity classes including bench dips, squat and upright row, dumbbell side raises, dumbbell shoulder press, dumbbell curl, triceps extension, chest press, push-up, dumbbell fly and deadlift. If the activity class includes the semantic attribute, a “1” is entered in the table and, if the activity class does not include the semantic attribute, a “zero” is entered in the table. If desired, recognition can be based on a combination of attributes or a sequence can be defined and the recognition can be based on a particular performance of a sequence of attributes.














TABLE 1












Squat &


Activity
Arm
Arm
Arm
Arm
Arm
Arm
Stand


Class
Up
Down
Forward
Backward
Side
Curl
Up







Bench
0
1
0
1
0
0
0


Dips


Squat &
0
1
0
0
1
0
1


Upright


Row


Dumbbell
0
1
0
0
1
0
0


Side


Raises


Dumbbell
1
0
0
0
1
0
0


Shoulder


Press


Dumbbell
0
1
0
0
0
1
0


Curl


Triceps
1
0
0
0
0
0
0


Extension


Chest
0
0
1
0
1
1
0


Press


Push Up
0
1
0
0
0
0
0


Dumbbell
0
0
0
1
1
0
0


Fly


Deadlift
0
1
0
0
0
0
1









In Table 1 shown above, any number of different exercises (i.e. activity classes) can be quickly added to the list that can be recognized and identified based on the above set of semantic attributes, in this case, arm or body positions that can be recognized by sensors. Such sensors can be worn on the body of the exerciser or can record video or the like of the exerciser. Of course, other sensor data can also be utilized such as relating to the location of the user at a gym or the like, the temperature and/or heart rate of the user, as well as other environmental or contextual data.
FIG. 2 is provided for purposes of example only. The targeted activity classes of interest are not limited to exercises and can be related to any activity desired to be targeted, for instance, activities or chores performed in the home or at work, activities performed and monitored for medical reasons, activities relating to hobbies or recreational activities, or the like.
Recognition of performance of high-level activity classes and/or a sequence of the performance of such activity classes can be used to further recognize higher-level activity classes. In FIG. 2, the performance of a particular higher-level workout routine involving the performance of numerous of the high-level activity classes in a particular sequence can be recognized.
A system or device 60 according to one contemplated embodiment is shown in FIG. 3 for automatically recognizing activity. The system 60 includes a feature extraction unit 62 and an attribute-based activity recognition unit 64. The feature extraction unit 62 is configured to receive a stream of input data 66 such as captured by sensors or the like during a performed activity that is desired to be automatically recognized. The input signal 66 is processed in a preprocessing module 68 and features are extracted from the input signal in a feature extraction module 70. Information concerning the extracted features is supplied to the attribute-based activity recognition unit 64, in particular, to an attribute detector module 72. The attribute detector module 72 compares the features to trained attribute models stored in a database 74 to identify the fundamental attributes and/or sequence thereof and provides such information to an activity class module 76. The activity class module 76 compares the attributes or sequence thereof to sets of attributes stored in an attribute dictionary database 78 to identify the activity class recognized. The system 60 can then output a predicted user activity 80.
The input data or signal 66 can be sensor data, software usage data, text data, or any combination of the above. Appropriate sampling rate and granularity of segmentation can be determined and used based on the nature of the activity domain of particular interest and the input data types. For example, a 30 Hz sampling rate may be used for motion sensors (accelerometer and gyroscope) and a sliding window of one second length with 50% overlap can be used for analyzing exercise activity. Of course, these may be modified for other activities where motions may tend to occur at quicker or slower rates. As one alternative, parameters can be decided by cross-validations using different parameters and then by selecting an optimal configuration.
The feature extraction unit 62 may compute features directly from the input data 66 in the time domain and the frequency domain. Such computations may include, but are not limited to: mean, standard deviation, pair-wise correlation, cross correlation, slope, zero-crossing rate, Fourier transform coefficients, spectral flux, and the like.
With respect to organizing semantic attributes, an offline human determination may be made as to how the attributes are organized or composed for the targeted activity domain of interest. For instance, in FIG. 2, it is known by a human without the need of training data that the fundamental attributes of dumbbell side raises 24 includes a repeating sequence of upper arm down 38 and upper arm side 42 positioning. The ontology and relationship between target activities classes and attributes can readily be defined as discussed above with an attribute table (see Table 1 above) where each row of the table represents an activity class and each column corresponds to an attribute. Each table entry can be zero or one indicating whether or not an attribute is part of the activity. For example, in the domain of exercise activity, “Dumbbell Side Raises” can be described as: ArmUp=0; ArmDown=1; ArmForward=0; ArmBackward=0; ArmSide=1; Arm Curl=0; and Squat&StandUp=0. As an alternative, the table entry can be real-valued or in percentages representing the likelihood or confidence that an attribute is associated with the activity.
As another alternative for defining the ontology and relationship between targeted activities of interest, classes and attributes can be defined with a hierarchical attribute graph. Here, the relationship between activities and attributes may be modeled as a tree-like structure. Each activity can be first decomposed into a set of general attributes, which can be further decomposed into fine-grained attributes. A high-level/composite activity can also consist of a combination of lower-level activities and/or attributes. By way of example, a higher-level activity may be identified based on a sequence of recognized high-level exercise activity classes.
The above referenced attribute table and hierarchical attribute graph may be constructed by leveraging expert knowledge in the activity domain, crowd-sourced from the web, or by mining text data related to the activity on the web. Thus, entries of high level activity classes or even higher-level activities can be added quickly to these tables and graphs based on only a small number of attributes being learned from the acquisition of training data.
A classifier or attribute detector (e.g. Support Vector Machine, Decision Tree, Naive Bayes, etc.) can be trained to recognize for each attribute from a set of pre-obtained training data and can be stored in the form of a database or the like. For instance, see database 74 in FIG. 3. The output of the classifiers can either be binary values (i.e., positive/negative response) or continuous values (i.e., representing the confidence of predictions). Classifier outputs can then be aggregated to generate an attribute vector.
The activity class, whether subject to training data or not, can be searched based on the closest match in attribute space (not via training data). For example, Nearest Neighbor Classifier can be used to match the detected attribute vector with the attribute dictionary (see the activity classifier module 76 and attribute dictionary database 78 in FIG. 3). To model the temporal continuity of the nature of human activity, the output activities of neighboring windows (e.g. five windows) can be combined and a weighted majority vote can be used to predict the final output activity 80.
As a further alternative based on leveraging both the discriminative power of the feature space (i.e., training data) and the generality of the attribute space, a hybrid feature/attribute-based classification can be designed and utilized to determine when to apply the attribute-based activity recognition. Here, a binary classifier can be trained in the feature space where a first set of activity classes include samples or training data from all seen activity classes (i.e., having associated training data) and where a second set of activity classes represents any activity class that is unseen and does not have corresponding training data. If the incoming sample is detected as an unseen class, then only unseen classes (i.e., the second set of classes) in the attribute space are selected and an attribute-based activity classification is performed. Otherwise, a feature-based activity classification is performed with the first set of activity classes.
For purposes of modeling the temporal dependency where the input data are time-sequences, a zero-shot learning framework for sequential data can be used. Each activity class is modeled as a sequence of attributes (i.e., not merely a combination of detected attributes). The transition probability between attributes is trained by real data and domain knowledge. Each attribute is further modeled as a sequence of low-level feature observations, which are derived from the input data as previously discussed. To recognize the attributes and activity, the system searches for the optimal attributes and activity labels at each time slice so that the overall data likelihood within the sampled window is maximized.
Accordingly, based on the above described system and method, human activity detection using a combination of electronic body motion sensors, video recording apparatus, and/or other contextual and environmental sensors can be used to obtain a stream of input data capturing an actual performance or consequences of a performance of an activity of interest which is desired to be automatically recognized. Training models for individual “attributes” are defined and semantically labeled, and look-up tables or the like can then be created that map the labeled attribute combinations and/or sequences to specific activities.
A hybrid approach can also be utilized, for instance, via whole-activity model matching followed by attribute-level matching if activity is unrecognized. A combination of machine learning and a rules-based expert system enables detection of un-modeled activity classes by means of modeled fundamental attributes. Thus, the embodiments provide the ability to detect activities for which no training has been performed, but which may be inferred from detecting component movements or the like known to compose the activity.
The output of the predicted user activity can be used in making recommendations, profiling, health/wellness applications, smart home applications, and the like. Specific examples may include context-based targeted advertising, activity-aware multimedia content recommender or shopping recommender, healthcare and activity monitoring for patients, elders, and children, life logging applications and automatic status update for social network, and proactive personal assistant based on the current activity and activity history of the user.
The above referenced systems, devices, units, modules, detectors, classifiers, extractors, pre-processing units, storage devices and the like for carrying out the above methods can physically be provided on a circuit board or within another electronic device and can include various processors, microprocessors, controllers, chips, disk drives, and the like. It will be apparent to one of ordinary skill in the art that the systems, devices, units, modules, processors, controllers, detectors, classifiers, extractors, pre-processing units, storage devices, and the like may be implemented as electronic components, software, hardware or a combination of hardware and software.
In the foregoing specification, specific embodiments have been described. However, one of ordinary skill in the art appreciates that various modifications and changes can be made without departing from the scope as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative rather than restrictive sense.

## Claims

1. A method for automatic recognition of human activity, comprising the steps of:
decomposing a human activity into a plurality of fundamental component attributes needed to perform the human activity, wherein the human activity is included in a training set of activities;
defining ontologies of fundamental component attributes from the plurality of the fundamental component attributes identified during said decomposing step for each of a plurality of different targeted activities;
converting a data stream, the data stream captured during a performance by a human of a performed activity, into a sequence of fundamental component attributes; and
classifying the performed activity as one of the plurality of different targeted activities based on a closest match of the sequence of fundamental component attributes obtained during said converting step to at least a part of one of the ontologies of fundamental component attributes defined during said defining step, wherein the performed activity is not included in the training set of activities, the classifying comprising selecting only unseen classes in an attribute space;
wherein each of the fundamental component attributes is defined from a sequence of features, and further comprising the step of extracting features from the data stream with computations in at least one of time domain and frequency domain; and
wherein the data stream provides a time-sequence of features, and wherein, during said classifying step, a feature at each time slice of the data stream is compared to features of the fundamental component attributes at a corresponding time slice within the ontologies to determine a closest match.

2. The method according to claim 1, wherein the plurality of fundamental component attributes include attributes corresponding to at least one of a body motion and a body position.

3. The method according to claim 1, wherein the data stream is an electronic data stream including data captured by at least one motion sensor worn on the human during the performance of the performed activity.

4. The method according to claim 1, wherein the data stream is video data of the human during the performance of the performed activity.

5. The method according to claim 1, wherein said step of defining ontologies includes entry of a combination of fundamental component attributes in a database for each of the plurality of different targeted activities.

6. The method according to claim 1, wherein each of the different targeted activities includes a unique sequence and combination of fundamental component attributes.

7. A method of automatically recognizing a physical activity being performed by a human, comprising the steps of:
electronically decomposing training data obtained for each of a plurality of different physical activities within a training set of physical activities into a plurality of component attributes needed to perform the physical activities within the training set;
defining ontologies of component attributes from the plurality of component attributes identified during said decomposing step for each of a plurality of different physical activities within a targeted set of different physical activities, the targeted set being different from the training set, wherein the plurality of different physical activities within the targeted set includes at least one physical activity not included within the training set;
electronically capturing a data stream representing an actual physical activity performed;
electronically converting the data stream obtained during said capturing step into a plurality of component attributes; and
automatically classifying the actual physical activity being performed by comparing the plurality of component attributes obtained during said converting step to one of the ontologies of component attributes defined during said defining step; wherein the automatically classifying further comprises classifying the actual physical activity for at least one class of physical activity wherein at least one of the component attributes has not been included within the training set, the classifying comprising selecting only unseen classes in an attribute space;
wherein each of the component attributes is defined from a sequence of features, and further comprising the step of extracting features from the data stream with computations in at least one of time domain and frequency domain; and
wherein the data stream provides a time-sequence of features, and wherein, during said classifying step, a feature at each time slice of the data stream is compared to features of the component attributes at a corresponding time slice within the ontologies to determine a closest match.

8. The method according to claim 7, wherein the plurality of different physical activities within the training set is a subset of the plurality of different physical activities within the targeted set.

9. The method according to claim 7, wherein the data stream includes data captured by at least one input source selected from a group consisting of a motion sensor, a video recorder, a sound recording device, a location sensor, a temperature sensor, a pressure sensor, an ambient light sensor, a heartrate sensor, and a proximity sensor.

10. The method according to claim 7, wherein the features are extracted by computations in at least one of time domain and frequency domain, and wherein the computations include at least one of mean, standard deviation, pair-wise correlation, cross correlation, slope, zero crossing rate, Fourier transform coefficients, and spectral flux.

11. The method according to claim 7, further comprising the steps of:
determining if there is a match of the features extracted from the data stream obtained during said capturing step to features produced by the training data for one of the plurality of different physical activities within the training set;
if there is a match to one of the plurality of different physical activities within the training set, a matched physical activity within the training set is recognized as the actual physical activity; and
if there is not a match to one of the plurality of different human physical activities within the training set, said converting and classifying steps are performed to predict a physical activity from the targeted set.

12. The method according to claim 7, wherein said step of defining ontologies includes entry of a combination of component attributes in a database for each physical activity without training data.

13. The method according to claim 7, wherein the component attributes include attributes corresponding to one of a body motion and body position, and wherein each of the different physical activities is composed of a unique sequence and combination of component attributes.

14. The method according to claim 7, wherein a sequence and combination of the different physical activities corresponds to a higher level activity, and further comprising the step of recognizing the higher level activity based on the sequence and combination of physical activities classified during said classifying step.

15. A system for automatically recognizing physical activity of a human, comprising:
a feature extractor configured to receive electronic input data captured by a sensor relative to a physical activity and to identify features from the input data; and
an attribute-based activity recognizer having:
an attribute detector for electronically determining an attribute as defined by a sequence of features, and
an activity classifier for classifying and outputting a prediction of the physical activity based on at least one of a sequence and combination of the attributes determined by the attribute detector;
wherein the activity recognizer has access to a database of a plurality of different attributes developed from training data for use in identifying attributes based on identified features, and is further configured to classify and output a prediction of the physical activity for at least one class of physical activity wherein at least one of the attributes determined by the attribute detector has not been included within the training data, the classifying comprising selecting only unseen classes in an attribute space;
wherein each of the attributes is defined from a sequence of features, and the activity recognizer is further configured to extract features from a data stream with computations in at least one of time domain and frequency domain; and
wherein the data stream provides a time-sequence of features, and wherein the activity recognizer is further configured to, during said classifying, compare a feature at each time slice of the data stream to features of the attributes at a corresponding time slice within the ontologies to determine a closest match.

16. A system according to claim 15, wherein at least some of the attributes define at least one of a body motion and a body position.

17. A system according to claim 16, wherein said feature extractor is configured to extract the features from the input data via computations in at least one of time domain and frequency domain, and wherein the computations include at least one of mean, standard deviation, pair-wise correlation, cross correlation, slope, zero crossing rate, Fourier transform coefficients, and spectral flux.

18. A system according to claim 16, wherein the physical activity is defined as a unique sequence and combination of attributes, and wherein the activity recognizer includes a database of a plurality of different physical activities defined as being composed of different sequences and combinations of attributes.

19. A system according to claim 16, further comprising a sensor for capturing data relative to the physical activity.