RealManShao / Wifi_Activity_Recognition

Code for IEEE Communication Magazine (A Survey on Behaviour Recognition Using WiFi Channle State Information)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Wifi_Activity_Recognition using LSTM

Latest dataset & Tensorflow code for IEEE Communication Magazine.
Title: A Survey on Behaviour Recognition Using WiFi Channel State Information

Work by Siamak Yousefi, Hirokazu Narui, Sankalp Dayal, Stefano Ermon, Shahrokh Valaee


Prerequisite

Tensorflow-gpu = 1.14.0 (or 1.x) numpy
pandas
matplotlib
scikit-learn

Kind reminder(友情提示)

tensorflow consists of many library, so please make sure all the used library is under v1.14.0

If you use anaconda, the default python version may be different from we need. So, create a new environment by "conda create -n myenv python=3.7 anaconda" .Then swich to new environment and install tensorflow by "conda install tensorflow==1.14.0"

How to run

  1. Download dataset from here
    -> Notice: Dataset size is 3.6GB

  2. "git clone" this repository.

  3. Run the cross_vali_data_convert_merge.py
    -> This script makes csv files(input features & label) of each activity in "input_files" folder.

  4. Run the cross_vali_recurrent_network_wifi_activity.py -> This script makes learning curve images & confusion matrix in a new folder.

Dataset

We collect dataset using Linux 802.11n CSI Tool.

The files with "input_" prefix are WiFi Channel State Information data.
-> 1st column shows timestamp.
-> 2nd - 91st column shows (30 subcarrier * 3 antenna) amplitude.
-> 92nd - 181st column shows (30 subcarrier * 3 antenna) phase.

The files with "annotation_" prefix are annotation data.

Jupyter notebook

PCA_STFT file visualize the data from .csv file. This code refers to CARM.

About

Code for IEEE Communication Magazine (A Survey on Behaviour Recognition Using WiFi Channle State Information)

License:GNU General Public License v3.0


Languages

Language:Jupyter Notebook 98.8%Language:Python 0.8%Language:MATLAB 0.3%Language:C 0.1%