Artificial Neural Networks for Sensor Data Classification on Small Embedded Systems

In this paper we investigate the usage of machine learning for interpreting measured sensor values in sensor modules. In particular we analyze the potential of artificial neural networks (ANNs) on low-cost micro-controllers with a few kilobytes of memory to semantically enrich data captured by sensors. The focus is on classifying temporal data series with a high level of reliability. Design and implementation of ANNs are analyzed considering Feed Forward Neural Networks (FFNNs) and Recurrent Neural Networks (RNNs). We validate the developed ANNs in a case study of optical hand gesture recognition on an 8-bit micro-controller. The best reliability was found for an FFNN with two layers and 1493 parameters requiring an execution time of 36 ms. We propose a workflow to develop ANNs for embedded devices.

[1]  Prateek Jain,et al.  GesturePod: Enabling On-device Gesture-based Interaction for White Cane Users , 2019, UIST.

[2]  Sepp Hochreiter,et al.  The Vanishing Gradient Problem During Learning Recurrent Neural Nets and Problem Solutions , 1998, Int. J. Uncertain. Fuzziness Knowl. Based Syst..

[3]  Geoffrey E. Hinton,et al.  Rectified Linear Units Improve Restricted Boltzmann Machines , 2010, ICML.

[4]  Fatih Ertam,et al.  Data classification with deep learning using Tensorflow , 2017, 2017 International Conference on Computer Science and Engineering (UBMK).

[5]  Xiaohui Peng,et al.  Deep Learning for Sensor-based Activity Recognition: A Survey , 2017, Pattern Recognit. Lett..

[6]  Riccardo Berta,et al.  Machine Learning on Mainstream Microcontrollers † , 2020, Sensors.

[7]  Jürgen Schmidhuber,et al.  Long Short-Term Memory , 1997, Neural Computation.

[8]  Yu Zhao,et al.  Deep Residual Bidir-LSTM for Human Activity Recognition Using Wearable Sensors , 2017, Mathematical Problems in Engineering.

[9]  Geoff V. Merrett,et al.  Real-time room occupancy estimation with Bayesian machine learning using a single PIR sensor and microcontroller , 2017, 2017 IEEE Sensors Applications Symposium (SAS).

[10]  Song Han,et al.  Deep Compression: Compressing Deep Neural Network with Pruning, Trained Quantization and Huffman Coding , 2015, ICLR.

[11]  Shiwen Mao,et al.  DeepML: Deep LSTM for Indoor Localization with Smartphone Magnetic and Light Sensors , 2018, 2018 IEEE International Conference on Communications (ICC).

[12]  Saeid Nahavandi,et al.  Driving behavior classification based on sensor data fusion using LSTM recurrent neural networks , 2017, 2017 IEEE 20th International Conference on Intelligent Transportation Systems (ITSC).

[13]  Juan Pardo,et al.  Online Learning Algorithm for Time Series Forecasting Suitable for Low Cost Wireless Sensor Networks Nodes , 2015, Sensors.

[14]  Zhang Lei,et al.  Powering the IoT through embedded machine learning and LoRa , 2018, 2018 IEEE 4th World Forum on Internet of Things (WF-IoT).

[15]  Udo W. Pooch,et al.  A Survey of Indexing Techniques for Sparse Matrices , 1973, CSUR.

[16]  Lennart Ljung,et al.  Bacteria classification based on feature extraction from sensor data , 1998 .

[17]  Vikas Chandra,et al.  CMSIS-NN: Efficient Neural Network Kernels for Arm Cortex-M CPUs , 2018, ArXiv.

[18]  Li Li,et al.  Using LSTM and GRU neural network methods for traffic flow prediction , 2016, 2016 31st Youth Academic Annual Conference of Chinese Association of Automation (YAC).

[19]  D. Huffman A Method for the Construction of Minimum-Redundancy Codes , 1952 .

[20]  Vivek Seshadri,et al.  Compiling KB-sized machine learning models to tiny IoT devices , 2019, PLDI.

[21]  J. MacQueen Some methods for classification and analysis of multivariate observations , 1967 .

[22]  Sebastian Tschiatschek,et al.  Resource-Efficient Neural Networks for Embedded Systems , 2020, ArXiv.

[23]  Guigang Zhang,et al.  Deep Learning , 2016, Int. J. Semantic Comput..

[24]  Ruqiang Yan,et al.  Learning to Monitor Machine Health with Convolutional Bi-Directional LSTM Networks , 2017, Sensors.