Detection of static and dynamic indoor enviroments

Detection and classification of movements in indoor environments using radio waves transmitted from ADALM PLUTO SDR modules and Machine Learning in Python.

Project

Introduction

The research area of human activity recognition and detection in indoor environments based on analysis of channel state information (CSI) of radio frequency (RF) communication links has recently seen an upswing. RF sensing provides a less intruding, less energy-consuming way to detect and recognise human activity that is independent of both light and line-of-sight conditions. It could be possible to integrate these solutions into existing WiFi-equipment. All of this contributes to the attractiveness of human activity recognition or detection by RF sensing as an area of research.

The system

The system consists of three subsystems, hardware, software and user interface. The hardware subsystem used a single-input multiple-output setup with four ADALM Pluto Software-Defined Radio (Pluto SDR) devices to estimate the channels in an indoor environment. A picture of one device can be seen in the figure below. A channel evaluation is done using BPSK, and after collecting CSI, machine learning algorithms were used to classify different types of environments as either static (no moving object or person present) or dynamic. The different dynamic classes used in the project was walking, waving a balloon, jumping and dancing.

The collected data is used by the software subsystem to train supervised machine learning algorithms and one deep neural network (DNN) model. Before the models are trained the data is pre-processed and features are extracted. Then, seven different types of models are built; Support vector machine (SVM), Hidden Markov model (HMM), K-means clustering (Kmeans), Decision tree (DT), Random forest (RF), Gaussian mixture model (GMM) and the DNN.

adalm_pluto

Results

The results for the different models classifying all classes, and the confusion matrices for two of the models can be seen in the figures below

No model clearly outperforms any other and all of them perform well, but one could argue that since there is no clear distinction in the results for the different models the simpler models such as SVM and DT are to prefer since they can get the same good results as the more complex ones as HMM and DNN. It would be interesting to investigate the HMM model more since this it is the only model taking the time aspect into consideration.

accuracy confusion matrix

Conclusions

It can be concluded that the methods used in this project are very good at classifying specific and well-defined classes such as static and dynamic. It is harder for the models to differentiate between multiple dynamic classes. The reason for this could be that the different dynamic classes is more or less clearly defined, but they are also designed to be similar in order to challenge the system. Another explanation could be that the collection of data differs between each data collection.

Project group

icon

Robin Mannberg

Project Manager

icon

Martin Andersson

Test Manager

icon

Emma Beskow

Document Manager

icon

Ella Grundin

Hardware Manager

icon

Joel Nilsson

Chief of Design

icon

Gabríel Suíhko

Graphics Manager

icon

Jianxin Qu

Software Manager