Human Activity Recognition
Table of Contents
- Chapter 3: Activity Recognition using Inertial Sensors (Slides)
- Part 1: Activity classification vs Step counting (notes)
- Part 2: Visualizing accelerometer signals for common activities (notes)
- Part 3: Time-domain features for classification (notes)
- Part 4: Frequency-domain features for classification (notes)
- Part 5: Similarity-based features for classification (notes)
- Part 6: Decision tree classification (notes)
- Part 7: Decision tree example (notes)
- Part 8: Avoiding Overfitting (notes)
- Part 9: Evaluating Classifier Performance (notes)
Chapter 3: Activity Recognition using Inertial Sensors (Slides)
Having discussed the design of a pedometer that uses an accelerometer, let us now turn to the problem of activity recognition, a task which involves identifying the physical activity a user is performing. Activity recognition is useful because it permits us to gain useful knowledge about the habits of millions of users passively—just by having them carry cell phones in their pockets. Such techniques can have a wide range of applications, including automatic customization of the mobile device’s behavior based upon a user’s activity (e.g., sending calls directly to voicemail if a user is jogging) and generating a daily/weekly activity profile to determine if a user is performing a healthy amount of exercise.
Part 1: Activity classification vs Step counting (notes)
We describe the difference between detection and classification, and provide an overview of a classification pipeline. We start with how to collect labeled data, and visualize the signal for a variety of common activities like walking, jogging, walking upstairs, walking downstairs, sitting and standing.
Part 2: Visualizing accelerometer signals for common activities (notes)
We now visualize the accelerometer signal for a variety of common activities like walking, jogging, walking upstairs, walking downstairs, sitting and standing. This will help us get an intuitive feel for how the accelerometer signal differs for different activities.
Part 3: Time-domain features for classification (notes)
One of the crucial steps in classifying sensor data is identifying distinguishing features in the data. Some of these features are time-domain statistics of the data such as average and standard deviations. We describe some commonly used features.
Part 4: Frequency-domain features for classification (notes)
Another important class of features is frequency domain features. We describe some basic frequency domain features.
Part 5: Similarity-based features for classification (notes)
Another important class of features is similarity-based features, particularly in gesture and speech recognition.
Part 6: Decision tree classification (notes)
We start by explaining how to perform activity classification using a decision tree, and how information gain is used to construct the tree.
Part 7: Decision tree example (notes)
A full example of how a decision tree for cardiac risk prediction can be constructed from training data is shown.
Part 8: Avoiding Overfitting (notes)
Overfitting is a prevalent phenomenon in machine learning where a model learns to fit the training data too closely, capturing even its noise and outliers. This means that while it performs exceptionally well on training data, its performance degrades on unseen data. We discuss ways to avoid overfitting.
Part 9: Evaluating Classifier Performance (notes)
We look at how to evaluate classifier performance using a confusion matrix, and metrics such as accuracy, precision, recall, and f-measure.