Current positioning systems are primarily based on the Global Positioning System (GPS). Although the GPS is accurate within 10 m, it is mainly used for outdoor positioning services (Location-Based Service; LBS). However, since satellite signals cannot penetrate buildings, indoor positioning has always been a blind spot for satellite signals. As indoor positioning applications are extensive with high commercial values, they have created a competitive niche in the market. Existing indoor positioning technologies are unable to achieve less than 10 cm accuracy except for the Ultra Wide Band (UWB) technology. On the other hand, the Bluetooth protocol achieves an accuracy of 1 to 2 m. In this work, we use Bluetooth wireless signals to build a novel indoor positioning framework to avoid the high manufacturing costs involved in the UWB technology. The Bluetooth signals are combined with the results from artificial intelligence algorithms to improve accuracy. During laboratory indoor location tracking, the accuracy rate is 96%, which provides effective indoor tracking for the movement of people.
Currently, indoor positioning is not as widely used in daily life as outdoor positioning, and fewer service types are provided. However, if accurate indoor positioning services can be provided, outdoor positioning services can be extended indoors. At the same time, if indoor positioning technology can be combined with other technologies such as physiological information acquisition technology, then home medical care or home lifestyle identification can be performed to achieve the goal of ubiquitous care. For example, indoor positioning technology can determine a patient’s location, such as in the living room, bedroom or bathroom. By combining indoor positioning technology with physiological information, the patient’s behavior, such as watching TV on the sofa, going to bed in the bedroom, or staying in the bathroom for overly long, can be speculated. The patient’s behavior can determine whether there is a possibility of an accident and provide appropriate assistance.
Furthermore, indoor positioning systems can provide the location of an automatically classified product to manufacturers to determine whether the product is classified correctly. Employees’ current locations can also be provided to managers through indoor positioning services to determine whether or not the employees have entered restricted areas and violated safety regulations. Other services such as indoor environment monitoring, indoor disaster protection, rescue management [
Since indoor environments may be quite complicated, indoor positioning systems may encounter difficulties that affect the accuracy, such as the attenuation of signal strength due to different obstructions, signal drift or positioning algorithm design. In this work, the strength of the Bluetooth wireless signal is used to calculate the person’s location. To obtain a person’s position accurately and rapidly, the system needs to overcome interference signal sources in the environment, such as the electromagnetic interferences generated by metal and electronic products, which attenuates the signal strength and reduces positioning accuracy.
This work uses artificial intelligence to build a novel indoor positioning framework and achieve accurate personnel positioning in a complex indoor environment. The proposed model is used to process the signals and complete the establishment of the algorithm.
There are many different positioning methods for positioning systems. For wireless signal positioning, multiple fixed communication receiving points are set up to communicate with the measured object, and the relative distance is calculated. Many approaches have been proposed to calculate the relative distance as well as the accuracy and computational complexity. Several papers have proposed different methods of indoor personnel positioning.
In 2013, Tsuboi et al. [
In 2015, Schafermeyer et al. [
In 2016, Kim et al. [
In 2017, Alkandari et al. [
In 2018, Cui et al. [
Al-Khaleefa et al. [
Nowadays, artificial intelligence is widely used in various systems. This study uses TensorFlow as the framework to build the neural network and uses three different neural network architectures to build a fall detection model. As the neural network strives to find the optimal weight value and deviation, the obtained values will be closer to the desired result when the input data passes through the function in the framework.
An activation function is added after the hidden layer of the neural network to determine the desired result and calculate the optimal effect for building a predictive fall detection model. Advantages and disadvantages comparisons of the multi-layer perceptron (MLP) and recurrent neural network (RNN) models are shown in
Neural network | Advantages | Disadvantages |
---|---|---|
MLP | A simple structure to | The number of nodes is difficult to select, |
solve classification problems | the learning speed is slow, | |
and the overfitting problem exists. | ||
RNN | Handles continuous signals | Vanishing gradient or exploding |
gradient problems exist, and the signal | ||
is poorly processed for a long time. |
The MLP is a kind of feedforward neural network. It has a three-layered structure: an input layer, a hidden layer and an output layer. The input layer is the current material to be learned. The hidden layer is the feature node that needs to be learned, and each node is a neuron with a nonlinear activation function so that its output meets the required results. The output layer is the category that needs to be learned. Each layer is a fully-connected layer in the middle. The multi-layer perceptron was widely used in the 1980s in problems such as speech recognition, image recognition, machine translation and has achieved good results in classification problems.
Early neural network architectures have no time concept and no label learning for sequence signals. In 1982, Hopfield [
Jordan [
Since the RNN is modeled by serial signals, it achieves better results if the signals are correlated before and after. Therefore, it is often applied to natural language, handwriting recognition, weather, or sensor values.
However, as the network’s hidden layer becomes deeper and deeper, the gradient vanishing or gradient exploding problem may occur, making it difficult to use in situations where the signal time is long.
The activation function in neural networks mainly uses nonlinear equations to solve nonlinear problems. Without activation functions, the neural network is a linear combination of operations. Since both the hidden and the output layers are input results of the upper layer, they are calculated with the weight value and the deviation. The calculation result is regarded as the layer’s output so that the output and the input have only a linear relationship. The learned model cannot solve nonlinear problems without using a nonlinear activation function. In this work, we have provided four different activation functions when learning the framework. Activation functions with good outcomes are selected through experiments to establish a fall detection model.
According to
According to
The result calculated according to
The result calculated according to
The proposed system combines low-power Bluetooth radio frequency technology, Raspberry Pi embedded system, artificial intelligence and cloud database and other related equipment and technologies. It also uses artificial intelligence algorithms to improve the accuracy of indoor positioning.
The system architecture diagram is shown in
The system continuously sends information packets to the information receiving device through the Bluetooth broadcast mode. The information receiver first uses the algorithm to calculate the RSSI value of the packet and sends the user’s positioning information to the computer through the wired network. The management computers first analyze the user’s status information in the packet, calculate the current user location through the positioning algorithm, display the user’s location in the management interface program and finally upload the positioning information to the cloud database for storage.
The device uses Texas Instruments’ CC2541 Bluetooth wireless chip, the core of which is an 8051 microcontroller. The power source is a 3.7 V 1000 mAh polymer lithium battery with a working endurance of about one month. The components of the wearable device are shown in
The embedded development software of the wearable device is the IAR Embedded Workbench F, and the program is developed using the C language.
For the system to have low power consumption, automatic detection of power and increased stability, three functions have been added: a low power consumption mode, ADC voltage detection and a watchdog timer (WDT). The low power consumption mode switches to sleep mode after completing an event to reduce power consumption. The ADC voltage detection checks whether or not the current battery power is sufficient when the system is turned on. The WDT checks whether or not the program continues to operate upon the completion of an event. The flowchart of the wearable device system is shown in
The Analog-to-Digital Converter (ADC) converts the analog voltage value into a digital value after comparing the reference voltage with the voltage to be measured. Since the power supply used by the wearing device is a 3.7 V polymer lithium battery, the ADC function is used to detect whether or not the battery is sufficient. In the proposed system, if the device’s battery voltage is higher than 2.2 V upon being turned on, the battery indicator lights up to indicate that the battery is sufficient. On the contrary, the indicator light is off if the power supply is insufficient or the device malfunctions. The flowchart for power detection is shown in
The system is based on the information packet of the device. Therefore, a WDT is added to the program to ensure that the device sends packets accordingly. The timer is reset after the execution of each event designed by the developer. When an error occurs in the main program and the count value is not cleared for a certain time after the main program crashes, the WDT sends a signal to restart the system to return it to normal and ensure its stability. The flowchart of the watchdog timer is shown in
The 8051 chip provides three low-power modes, as shown in
Mode | Function | Wake | Power |
---|---|---|---|
Consumption ( |
|||
Power Mode 1 | Low-frequency oscillator (LFO) | Wake up every 4 ms | 270 |
internal digital | |||
Power Mode 2 | Low-frequency oscillator | Set to wake up according | 1 |
(LFO) sleep clock | to the sleep clock | ||
Power Mode 3 | None | External triggers | 0.5 |
interrupt the program |
The flowchart of the indoor positioning system is shown in
The flowchart of the management interface program system used by the management personnel is shown in
The information receiver uses the Raspberry Pi 3B as its development platform. Due to the device’s small size, strong computing power and multiple functions, the proposed system adds a USB Bluetooth receiver to its microcomputer and uses the C language to develop a packet receiving program. This program’s main functions are to receive information packets from the wearable device, confirm that the packet information is correct, calculate the RSSI value of the packet, reassemble the packet information, and send it to the computer. The flowchart of the information receiver program is shown in
The system uses artificial intelligence to establish a positioning model and finds an optimal algorithm to solve the environmental factors that affect indoor positioning. Spyder and Python are used as the development software to create the model. The system uses Tensorflow to build a model and various neural network models to find a high-accuracy model. The established model is reproduced in C/C++, and the algorithm is applied to the indoor positioning system.
Four or six information receivers can be placed depending on the requirements, and the experimental field is divided into thirty-two areas.
Two placements for the information receivers have been proposed to ensure the quality of information receivers. When the signals are affected by environmental factors, the placement with six information receivers can be used; otherwise, four information receivers are sufficient. In addition, since the information receivers are placed in an array, the experiment field can be divided into thirty-two blocks (Block 1–Block 32) to cover all areas and avoid noise interference from the testing environment, as shown in
We have compared two neural network models to determine which area the user is in: the multi-layer perceptron (MLP) and recurrent neural network (RNN). Four thousand two hundred and eighty-three signals are used for training when building the architecture, and one thousand four hundred and ninety-nine three signals are used for testing the trained model architecture. The input unit is the receiver of either four or six signal strength values, and the output unit has thirty-two nodes to represent thirty-two areas. After modifying the number of nodes, the number of layers, and the activation function of the intermediate hidden layer, we use the framework provided by Tensorflow for training and select a model with low resource consumption and high accuracy. Regarding the setting of the number of hidden layers, we refer to the paper proposed by Xu et al. [
The architecture diagram of the multi-layer perceptron positioning model is shown in
The architecture diagram of the recurrent neural network (RNN) positioning model is shown in
There are two ways to place the information receivers, using either four or six receivers and dividing the experimental field into thirty-two areas. The receivers are placed in the experimental field, as shown in
The locations of the receivers are at 1, 3, 4 and 6 for the placement with four information receivers and at 1, 2, 3, 4, 5, and 6 for the placement with six information receivers. The training materials also adapt to the thirty-two-area receiver signals based on these two placement methods. Each area obtains one hundred seventy-five to one hundred and eighty-two data values, and a total of five thousand seven hundred thirty-two signals are acquired. The signal values of thirty-two areas are shown in
The model is divided into two structures, with four or six information receivers, to select the optimal number for information receivers placement. The wearable device is updated once per second, and the calculations are performed by a computer. As such, the architecture is expected to consume a lot of resources.
The MLP is a fully connected layer architecture, and the number of weights on a single node in the hidden layer is the number of input nodes. For example, the hidden layer has six input units, which means that each node of the layer has six weight values and one deviation value. The MLP model training architecture is shown in
Number of | Number of | Number of | Dropout | Activation |
---|---|---|---|---|
receivers | layers | nodes | function | |
6 | 2 | 1st layer 24 nodes | 0.9 | Relu |
2nd layer 36 nodes | ||||
6 | 2 | 1st layer 32 nodes | 0.9 | Relu |
2nd layer 48 nodes | ||||
4 | 2 | 1st layer 24 nodes | 0.9 | elu |
2nd layer 36 nodes | ||||
4 | 2 | 1st layer 32 nodes | 0.9 | elu |
2nd layer 48 nodes |
The MLP model training results are shown in
Number of | Architecture | Training | Test |
---|---|---|---|
receivers | accuracy (%) | accuracy (%) | |
6 | 1st layer 24 hidden nodes | 97.9 | 96.2 |
2nd layer 36 hidden nodes | |||
32 output nodes | |||
6 | 1st layer 32 hidden nodes | 99 | 96.9 |
2nd layer 48 hidden nodes | |||
32 output nodes | |||
4 | 1st layer 24 hidden nodes | 96 | 93.5 |
2nd layer 36 hidden nodes | |||
32 output nodes | |||
4 | 1st layer 32 hidden nodes | 96.7 | 94 |
2nd layer 48 hidden nodes | |||
32 output nodes |
The model resources for the MLP implementation is shown in
Number of | Architecture | Number of | Calculation |
---|---|---|---|
receivers | weights | time (ms) | |
6 | 1st layer 24 hidden nodes | 1068 hidden layers | 4 |
2nd layer 36 hidden nodes | 1184 output layers | ||
32 output nodes | |||
6 | 1st layer 32 hidden nodes | 1808 hidden layers; | 4.8 |
2nd layer 48 hidden nodes | 1568 output layers | ||
32 output nodes | |||
4 | 1st layer 24 hidden nodes | 1020 hidden layers | 3.9 |
2nd layer 36 hidden nodes | 1184 output layers | ||
32 output nodes | |||
4 | 1st layer 32 hidden nodes | 1744 hidden layers | 4.5 |
2nd layer 48 hidden nodes | 1568 output layers | ||
32 output nodes |
The indoor positioning model does not implement the algorithm due to the low training accuracy. The model architecture of RNN training is shown in
Number of | Number of | Number of | Dropout | Activation |
---|---|---|---|---|
receivers | layers | nodes | function | |
6 | 2 | 1st layer 24 nodes | 0.9 | Relu |
2nd layer 36 nodes | ||||
6 | 2 | 1st layer 32 nodes | 0.9 | Relu |
2nd layer 48 nodes | ||||
4 | 2 | 1st layer 24 nodes | 0.9 | Relu |
2nd layer 36 nodes | ||||
4 | 2 | 1st layer 32 nodes | 0.9 | Relu |
2nd layer 48 nodes |
The RNN model training results are shown in
Number of | Architecture | Training | Test |
---|---|---|---|
receivers | accuracy (%) | accuracy (%) | |
6 | 1st layer 24 hidden nodes | 53.5 | 51 |
2nd layer 36 hidden nodes | |||
32 output nodes | |||
6 | 1st layer 32 hidden nodes | 68 | 66 |
2nd layer 48 hidden nodes | |||
32 output nodes | |||
4 | 1st layer 24 hidden nodes | 48.6 | 46 |
2nd layer 36 hidden nodes | |||
32 output nodes | |||
4 | 1st layer 32 hidden nodes | 55 | 5 |
2nd layer 48 hidden nodes | |||
32 output nodes |
The comparisons of the three architectures are shown in
Comparison | Model | Number of | Number of | Consumption | Accuracy |
---|---|---|---|---|---|
items | nodes | weights | time (ms) | rate (%) | |
MLP positioning | 6 receivers | 1st layer 32 hidden nodes | 3376 | 4.8 | 97.95 |
architecture | 2nd layer 48 hidden nodes | ||||
32 output nodes | |||||
MLP positioning | 4 receivers | 1st layer 32 hidden nodes | 3312 | 4.5 | 95.35 |
architecture | 2nd layer 48 hidden nodes | ||||
32 output nodes | |||||
RNN positioning | 6 receivers | 1st layer 32 hidden nodes | 6704 | 9 | 67 |
architecture | 2nd layer 48 hidden nodes | ||||
32 output nodes |
This paper proposes a novel indoor positioning system using artificial intelligence algorithms and various neural network models for learning a low-resource, high-accuracy algorithm. The proposed algorithm can build effective and resource-efficient models to be used in different applications. Furthermore, experiments have shown that the number of receivers can vary according to the field’s size to implement the system at low costs. The system also provides a convenient user interface for the management personnel to quickly and effectively solve abnormal user problems.
According to comparisons of various indoor positioning frameworks, we have found that the MLP architecture is superior to the RNN architecture regardless of whether four or six receivers are used. Therefore, we have decided to use the MLP for the indoor positioning framework in this work. The proposed system has achieved a 95% positioning accuracy with four receivers and close to 98% accuracy with six receivers. In conclusion, the proposed indoor positioning system has significantly improved accuracy compared to previous indoor positioning systems.