Human Activity Recognition using Channel State Information for Wifi Applications
A simple Tensorflow 2.0+ model using Bidirectional LSTM stacked with one Attention Layer.
This code extends the previsous work of paper A Survey on Behaviour Recognition Using WiFi Channel State Information (corresponding code).
Download the public dataset from here.
unzip the Dataset.tar.gz by the following command:
tar -xzvf Dataset.tar.gzInside the dataset, there are 7 different human activities: bed, fall, pickup, run, sitdown, standup and walk.
Numpy
Tensorflow 2.0+
sklearn
| Parameters for Batching Sequence | Value |
|---|---|
| window length | 1000 |
| Sliding Steps | 200 |
| Downsample Factor | 2 |
| Activity Present Threshold | 0.6 (60%) |
| Parameters for Deep Learning Model | Value |
|---|---|
| # of units in Bidirectional LSTM | 200 |
| # of units in Attention Hidden State | 400 |
| Batch Size | 128 |
| Learning Rate | 1e-4 |
| Optimizer | Adam |
| # of Epochs | 60 |
| Label | Accuracy |
|---|---|
| bed | 100% |
| fall | 97.18% |
| pickup | 98.68% |
| run | 100% |
| sitdown | 95% |
| standup | 95.56% |
| walk | 99.51% |
Download the code from github.
git clone https://github.com/ludlows/CSI-Activity-Recognition.git Enter the code folder.
cd CSI-Activity-Recognitionpython csimodel.py your_raw_Dataset_folderMeanwhile, you could also modify the parameters in the csimodel.py or change the architectures of neural networks.
This code could be a starting point for your deep learning project using Channel State Information.

