RSS-based Indoor Positioning Using Convolutional Neural Network

— Indoor Positioning has come under the spotlight in the last decade due to the increasing of location-based services demands. RSS Wi-Fi based positioning using fingerprinting technique is widely used due to its low hardware requirements and simplicity. However, multi-path and fading cause random fluctuations of collected RSS values which affects the positioning accuracy. For this purpose, we propose an indoor positioning system based on RSS and convolutional neural network. This approach aims to improve the accuracy by reducing the noise and the randomness of collected RSS values from a wireless sensor network. We implemented and evaluated our system using a single floor and multi-grid dataset. Our proposed approach provides a room and grid prediction accuracies of 100% and a mean error of location estimation of 0.98 m.


Introduction
Indoor positioning systems are mainly used to estimate and track node positions in indoor environments [1].With the emergence of position-based services such as objects tracking in warehouses, targeted adverting [2] and healthcare monitoring [3], the need for accurate indoor positioning systems has increased rapidly.
Commonly, Global Positioning System (GPS) requires a direct line of sight signals between the satellites and the device to achieve an accurate locating.Therefore, it performs poorly in indoor environments and it is used for outdoor positioning.
Depending on the context of the locating applications, existing Indoor solutions use wireless technologies such as Bluetooth, ZigBee, RFID and Wi-Fi.Different methods such as Received Signal Strength (RSS), Angle of Arrival (AOA) and Channel State Information (CSI) [4] are applied to estimate or determine the location of a mobile node within an indoor environment.While there are multiple techniques for position calculation, fingerprinting [5] is one of the most popular and used ones.In the offline phase, the system constructs a database of measurements collected from reference positions in the target locating area.Then, the system compares the real-time collected measurements with the one stored in the database in the online phase.While RSS Wi-Fi values are used in many existing indoor fingerprinting systems because of their low requirements [6] and their simplicity, Channel State Information is less used due to its high requirements.Table 1 shows a comparison between RSS and CSI method.
Multiple deep machine learning methods with RSS-based fingerprinting positioning such as Neural Network [7], Support Vector Machine (SVM) [8] and K-Nearest Neighbor [9] do not fully exploit training data to learn the environment complex features.Nevertheless, recent researches of RSS based indoor positioning [10], [11] use deep learning methods to improve the positioning process performances.In some cases, deep learning machine methods has low accuracies due to the shadowing effect and fading that cause instability of RSS.Multiple consecutive reading of RSS values come as a solution as it removes the noise from collected positioning data.Therefore, we used the convolutional neural network (CNN) in addition to the multiple consecutive RSS reading to locate the mobile node in a single floor and multi-grid environment.
The main contributions presented in this paper are the following: • We reduced the noise caused by the fading and the showing effects that affects RSS values reading.• We designed CNN models to boost the positioning process performances.
• We experimentally validate performances of our proposed model in a single floor and multi-grid environment.
In the following paper, we present related works in Section 2. We introduce our proposed system and present its performances in Section 3. Finally, conclusion is given in Section 4.

Related Works
Recently, various researches on indoor positioning systems have been developed and achieved high accuracies by adopting advanced techniques and algorithms.Table below presents and describe three types of fingerprinting positioning systems.RADAR Locates using a deterministic method by comparing collected fingerprints in the online and the offline phases.Performance restricted by RSS instability. [13]

Horus
Locates using the probabilistic method of K-nearest neighbor.RSS are influenced by the shadow fading effects and the multipath.
Collected RSS values highly depend on the environment.

Has an agreeable positioning precision
Deep learning [17] -Uses large data fusion to deal with large data information (network conflicts and congetion, information transmission) .Uses a heterogeneous RBF-neural network and an information fusion algorithm in wireless sensor network.
[18] -Uses RS-RBF neural network to fusion monitoring data in an information center.Monitores a wireless sensor network by calssifying the environment storage status. [19] DeepFi Uses an auto-encoder for CSI features extraction.
Uses the bias and the weight of three layers and well-trained auto-encoder as fingerprints. [20] DFLAR Uses an auto-encoder for CSI features extraction.
Trains the auto-encoder with phase values and images generated by CSI.Uses deep auto-encoder networks to improve the device-free positioning.

WiDeep
Combines a stacked denoising auto-encoder deep learning method using a probabilistic framework to improve the positioning estimation robustness. [23] CiFi Employs 6-layer Convolutional Neural Network (CNN).Stores a set of biases and weights and does not use fingerprinting database in the online phase.
[25] -Prevents the over-fitting problem with a limited training dataset.
Improves the positioning precision.

Convolutional neural network
Convolutional Neural Network (CNN) [26] is a special of neural networks.It processes grid-like topology data as image or time-series data.Its general structure (Fig. 1.) consists of one or more convolutional layers and one or more convolutional layers in a multi-layer neural network standard.Even if the convolutional neural network is mainly used for computer vision, CNN showed remarkable performance in different fields applications.As presented in [23], CNN is used for indoor positioning.For this purpose, we build a CNN positioning model based on collected RSS from positioning anchors.

Proposed indoor positioning method
Our proposed indoor positioning system addresses the positioning of a mobile node in a single floor and multi-grid using collected RSS values from positioning anchors (ESP8266 modules).We used deep learning models to predict the position of the mobile node.The positioning of the node consists of three parts: its room, grid and coordinates (x, y).In order to determine the mobile node position, our system architecture follows a hierarchical structure as illustrated in Fig. 2. Using the node room prediction, we predict the grid to finally estimate the mobile node coordinates (x, y).In order to start the positioning process, the mobile node (ESP8266 module) periodically collects RSS values from positioning anchors and sends the last j collections to the positioning server where we store the trained positioning models (Fig. 3.).We built an RSS features image (size: i x j) by putting the vector of j collections by each other as illustrated below.Using the collected dataset (Fig. 4.), we trained and evaluated the performances of our proposed single floor and multi-grid positioning system.

Experiment setup
Our experimental testbed is located on the second floor of the "Ecole Normale Supérieure de l'Enseignement Technique" building [27].Fig. 5. illustrates the layout of the indoor positioning environment.Firstly, we established a grid-size network constituted of three ESP8266 modules [28] as positioning anchors (AP1, AP2 and AP3) and two ESP8266 modules as a mobile node and a sink node.Secondly, we built a larger network using the previous one to create a floor-size positioning system (Fig. 6.).
• Equipped with ESP8266 modules configured as a sink node, a mobile node and four positioning anchors.The database consists of 900 training records and 400 testing records.Those data can be described as follows: • Received RSS values from the four ESP8266 positioning anchors are negative integer values from -90dBm to 0dBm.• Id of the floor where we locate is set to 2.
• Id of rooms where we locate takes integer values from 0 to 4 (room:1/ 2/ 3/ 4hall: 0).• Id of grids where we collected RSS values takes integer values from 0 to 9.
In order to predict the mobile node positions based on vectors of collected RSS values, we built a deep-neural network model.In these models, we used the records database for the training and the validation of model's parameters.We then evaluated the accuracy of the models using real-time collected RSS vectors.We illustrated the positioning process of our proposed system in the flowchart below.We built the scheme of our proposed models based on multiple consecutive RSS collections by reading multiple RSS values from the same area to train our model and evaluate it.We used ten consecutive RSS collections from the same grid every 20 milliseconds.We placed the positioning reference points at the center of each positioning grid.We averaged the ten RSS collections (Fig. 8.) and concatenated them to obtain a vector of 400 values (4 positioning anchors x 10 collections) to use them as an input (RSS features image) of CNNs to estimate the mobile node position.

Positioning models implementation
In order to predict the mobile node room, grid and position coordinates (x, y), we built three-level models.Thus, we trained different models (four) for each level.The three first models dealt with creating the CNN input by averaging, concatenating and building RSS-features image.The last model is based on 400 RSS values from four positioning anchors.In all the training models, we used the technique of early stopping regularization.We found the best parameters values by performing the grid search.We set all models parameters at parameters shown in table 3. We chose the best parameters values based on the best set error resulting from the training of the models.Room prediction: Firstly, we aimed to determine the room where the node is located from the 10 grids we have in the experimental setup.The room prediction can be formulated as a classification problem by training models to determine the grid id (from 0 to 9).We illustrate the parameters of the four models with the highest accuracy on the validation set in table 4. Grid prediction: In this step, we aimed to find the grid where the mobile node exists to determine its position.We achieved an accuracy of 100% by implementing models for grid positioning.Table 5 illustrates the configurations of the best models with their respective accuracies on validation set.Coordinates estimation: We determined mobile node coordinates (as continuous values) by training the DNN models for regression.The mobile node coordinates (x, y) are the regression outputs of each network.Table 6 illustrates the configurations of the different models with their respective mean positioning errors.The positioning error is calculated using the Euclidian distance between the estimated coordinates and the real ones.Evaluation of the positioning system performances: In order to evaluate the performances of our proposed positioning system, we used the models with the highest accuracies.Table 7 illustrates the accuracy results of the grid and the room prediction models.Results showed a high improvement in the positioning process performances.The RSS feature image models achieved an accuracy of 100% for room and grid prediction and 0.98m mean positioning error in estimating the coordinates of the mobile node.The RSS feature image models outperformed the RSS vector models that achieved 92.3% and 100% for room and grid prediction models with a mean error in estimating coordinates of 2.65m.
Compared to other positioning system such as Horus, DeepFi and WiDeep, our proposed system performed the best by achieving the highest accuracy for a floorlevel positioning.Table 8 shows the accuracy of different positioning systems in a floor-level environment.Results showed that the use of RSS data as series reduced the RSS collection noise and improved the performances of the positioning models.It also proved the effectiveness of RSS features image as it achieved the highest positioning accuracy.

Conclusion
In this paper, we presented an indoor positioning system for a single floor and multi-grid environments based on collected RSS from ESP8266 positioning anchors.We used the deep learning method by training different neural networks to determine the mobile node position which consists of find its grid id, room id and (x, y) coordinates.We handled collected RSS values by averaging and concatenating them.We introduced these results to a feed forward DNN model to obtain the mobile node positions.We generated an RSS features image to introduce it to CNN models to determine the mobile node position.Additionally, we studied the performances our system by comparing its results to DNN models using single RSS vectors.We trained and evaluated the models using the offline built database.CNN models showed an accuracy of 100% for both room and grid predictions and a positioning mean error of 0.98m.Our positioning method introduced a positioning improvement.Thus, we reduced the positioning error with consecutive RSS readings which deceased the noise and the instability of RSS values caused by fading and multipath effects at certain positions.
For future works, we aim to work on positioning in a multi-floor indoor environment and test our system using different configurations and datasets.

Fig. 1 .
Fig. 1.General structure of CNN The convolutional layer of CNN consists of three stages: • Stage 1: wherein the layer produces a set of linear activation functions by applying a kernel to its input and performing several parallel convolutions.• Stage 2: wherein the linear functions are run through non-linear activation functions.• Stage 3: wherein the output of the layer is modified by the pooling function (at certain locations the output of the net is replaced with the nearby outputs statistic summary).

Fig. 2 .
Fig. 2. CNN RSS-based positioning system architecture for a single floor and multi-grid

Fig. 3 .
Fig. 3. CNN RSS-based positioning system for a single floor and multi-grid

Fig. 4 .
Fig. 4. Collected RSS for training and testing

Fig. 6 .
Fig. 6.The testbed of the experimental floor-size positioning system

Table 1 .
Comparison between RSS and CSI method

Table 2 .
Survey of fingerprinting positioning systems

Table 3 .
Parameters of the models

Table 4 .
Parameters of models for room prediction and accuracy on validation set

Table 5 .
Parameters of models for grid prediction and mean error on validation set

Table 6 .
Parameters of models for coordinates prediction and mean error on validation set

Table
Results of the models evaluation on the real-time testing set

Table 8 .
Accuracy of different positioning systems in a floor-level environment