As part of my honours thesis entitled Activity Detection using Low Cost Sensors in the context of Smart Homes, I spent some time investigating Activities of Daily Living (ADL) / Instrumental ADL (IADL) (post), Activity Recognition and cheap IoT sensors used for data collection. The primary focus of this research was to investigate the current techniques, approaches and innovative ways that researchers are approaching Activity Recognition, and how these current techniques could be applied to smart homes.
What is Activity Recognition?
Before I provide an overview of how Activity Recognition is being solved, it is important to understand what I mean by it. As the name suggests, it is a method of recognising and classifying activities based on data. In the context used for this blog post, Activities are typically those activities found with ADL/IADL index for the assessment and care of geriatric patients. Now that we know what we are recognising or classifying, we need to have some data that can be recognised. This data is collected from cheap Internet of Things (IoT) sensors, such as passive infrared motion sensors (PIR), contact/reed switches, or any other type of cheap low cost devices that can provide a simple binary output (on/off, triggered/inactive or 1/0). Sensors can be placed throughout the home to capture activities. One approach to sensor placement, is to place sensors on or near objects that an individual interacts with. For example, contact/reed switches can be placed on cupboard doors, that contain medication. If the sensor activates, it can be assumed that an individual is taking medication. Another example of sensor placement, would be a PIR motion sensor placed facing a room. If the sensor triggers, it can be assumed that the room is occupied. The data, that could be collected as an occupant performs an ADL/IADL, is then classified/matched to a likely activity using an Activity Recognition approach/algorithm.
Approaches to Solving Activity Recognition
As part of my thesis, I researched and looked at a large number of approaches that researchers have used for solving Activity Recognition problems using IoT devices. The approaches generally fell into two categories: Discriminative models and Generative models. Both models are used within machine learning and both model the dependence of an unobserved variable y on an observed variable x. This is done by modeling the conditional probability distribution P(y|x), which can be used for predicting y given x. As a classification technique, discriminative models are very efficient but are an example of supervised learning and require sufficiently tagged data to learn the classifications and probabilities. Examples of discriminative models are:
- K-Nearest Neighbour (KNN)
- Artificial Neural Networks (ANN)
- Support Vector Machine (SVM)
- Distance Learning (DL)
- Conditional Random Fields (CRF)
Generative models contrast with discriminative models, in that a generative model is a full probabilistic model of all variables, not just P(y|x). Therefore, generative models are very useful and interesting as they can be used to generate values. These values can be of any variable in the model and can often express complex relationships between the unobserved variable (y) and the observed variable (x). Because of this generative quality, generative models are an example of unsupervised learning, once sufficiently trained. Examples of generative models are:
- Hidden Markov Model (HMM)
- Naive Bayes (NB)
- Latent Dirichlet Allocation (LDA)
- Dynamic Bayesian Networks (DBN)
- Generative Adversarial Networks (GAN)
While most Activity Recognition approaches make use of either a discriminative model or generative model, it is typically seen in modern applications, that both models are complementary and offer different views of the same procedure.
Interesting Activity Recognition Algorithms
As mentioned earlier, my honours thesis looked at current approaches to Activity Recognition found in relevant literature and from a number of different sources. Some of the more interesting approaches looked at the spatial and temporal characteristics of activities and sensors. For example, one approach looked at the probability of sensors associated with a morning task (such as making breakfast) and the connection to other activities and sensors. Rather than go into detail, I’ve prepared a summary of the papers reviewed  as an appendix item.
Activity Recognition is an interesting and ongoing problem. There are a number of approaches, using techniques within machine learning to classify and match low level binary data to higher level activities. This blog post is just an introduction to the some of the basic concepts found within current Activity Recognition approaches and is a glimpse into the ongoing work happening at DSTIL.
Thanks for reading!
Thanks to Maria Mitrevska, Elodie Thilliez and Allan Jones for proofreading and providing suggestions and feedback.