/deep-learning-HAR

Convolutional and LSTM networks to classify human activity

Primary LanguageJupyter Notebook

Human Activity Recognition (HAR)

In this part of the repo, we discuss the human activity recognition problem using deep learning algorithms and compare the results with standard machine learning algorithms that use engineered features.

The data can be downloaded from the UCI repository.

Also see G.Chevalier's repo and A. Saeed's blog where I have got lots of inspiration.

Contents

The utils folder contains the code for reading and processing the data into a tensor form. The generated tensors have the dimensions

(batch, seq_len, n_channels)

where batch is the number of training examples in each batch, seq_len is the number of steps in the time series (128) and n_channels is the number of channels where observations are made (9).

The aim is to clasify the activities correctly, which are

1 WALKING
2 WALKING_UPSTAIRS
3 WALKING_DOWNSTAIRS
4 SITTING
5 STANDING
6 LAYING

Below are the architectures used for training

Notebook Description
explore_data Data exploration
HAR-LSTM LSTM network
HAR-CNN Convolutional neural network(CNN)
HAR-CNN-LSTM CNN + LSTM hybrid
HAR-CNN-Inception CNN with inception module

Results

Method Test accuracy
CNN 93%
LSTM 88%
CNN+LSTM 88%
CNN+Inception 89%
Xgboost 96%

CNN architecture

title

LSTM architecture

title