1. Introduction
In 2007, the Visible Light Communication (VLC) standards CP-1221 (VLC system) and CP-1222 (Visible Light ID system) were established by the Japan Electronics and Information Technology Industries Association (JEITA). CP-1222 is a standard concerned with the field of visible light positioning (VLP) [
1]. In addition to the standards that came from Japan, the IEEE Standards Association has published IEEE 802.15.7: Visible Light Communication: Modulation Schemes and Dimming Support [
2], and IEEE 802.15.7-2018—IEEE Draft Standard for Local and Metropolitan Area Networks—Part 15.7: Short-Range Optical Wireless Communications [
3]. Standardization in VLC may be the catalyst for technological innovation and product commercialization in the near future.
VLC-based indoor positioning provides opportunities to develop highly reliable, robust, and inexpensive positioning technologies [
4]. Philips, one of the largest electronics companies in the world, has achieved some initial success in this field. Their solution is to embed Light Emitting Diode (LED) luminaires with VLC technology, and utilize the store lighting to provide location data using the store’s mobile app [
5]. Additional VLP applications, such as mobile robots, assistive devices for patients with impaired vision or other handicaps are being studied [
6,
7,
8].
The Global Positioning System (GPS) is the perfect choice for outdoor applications because of its coverage and cost [
9]. For indoor positioning, there are several possible options, including WiFi [
10,
11], Zigbee-based internet of things (IoT) [
12], Bluetooth [
13], radio frequency identification (RFID) [
14], and camera-based solutions [
15]. Depending on many factors, each option achieves a different level of accuracy, but the applied algorithms can be considered a fundamental factor. In this article, we examine some of the indoor positioning studies utilizing machine learning (ML) algorithms, which play a key role in our proposed solution. First, indoor WiFi localization is always the preferred choice, because of the universality of WiFi signals and the availability of many wearable devices with WiFi signal receivers [
10]. Akram et al. [
11] proposed a novel hybrid indoor WiFi localization that combined soft clustering with the random decision forest algorithm. Zan Li et al. [
12] used another ML approach that was applied to the ZigBee-based IoT network. These authors investigated a narrow-band indoor positioning system (IPS) fusing time and received signal strength via ensemble learning. Using a random forest regression model, their solution achieved a 36.1% improvement over the traditional method based on received signal strengths (RSS). For RFID technology, the application of ML to locate an object position in the indoor environment is also efficacious. In Reference [
14], to overcome the limitation of the mutual dependence of positioning accuracy and the density of reference tags, an extreme ML algorithm was adopted. The results showed that their solution created a better performance than existing solutions. In addition to using device-based localization systems, there is also the option of using device-free localization (DFL) in a wireless sensor network field to locate a person. In this innovative approach, the application of ML to optimize positioning quality is an inevitable trend. The logistic regression classifier has been used to improve the localization accuracy of a fingerprint-based DFL in a changing environment [
16], and an extreme ML algorithm with parameterized geometrical feature extraction for DFL is also suggested in Reference [
17].
Several recent studies in the field of VLC-based IPS have applied traditional methods as well as improved ML algorithms for better positioning efficiency [
18,
19,
20,
21]. Xiansheng Guo et al. [
18] proposed an indoor localization solution based on the fusion of multiple classifiers (grid-independent least squares and grid-dependent least squares). This solution produced remarkable results, and obtained 93.03% and 93.15% improvement, respectively, over the RSS ratio and RSS matching methods. Besides reducing positioning errors, the analysis and optimization of other parameters, such as the receiver angle [
19] and the LED-ID detection accuracy [
20], also contribute significantly to the quality of the system, especially when carried out with the support of ML. However, the influence of reflected waves and noises has not been deeply concerned in these articles. In our previous work [
21], the detrimental effects of reflected waves on the VLC-based positioning accuracy as well as incomplete solutions in recent studies have been analyzed in great detail. From this constraint, we proposed a novel method (using kNN-RF) to decrease positioning error in the areas outside the center in the multipath reflection environment without signal pre-processing. We also utilized the importance rate function to reduce computational time, but we found that if we removed too many features in an effort to minimize execution time, the positioning accuracy was reduced.
In this article, to achieve a much higher positioning accuracy and faster computational time under the negative influence of multipath reflection and noises, we suggest an innovative indoor positioning solution. This solution is based on the signal pre-processing technique and dual-function ML algorithms that contain machine learning classification (MLC) and machine learning regression (MLR) functions. The algorithms used were support vector machine (SVM), decision tree (DT), random forest (RF), and k-nearest neighbors (kNN). The obtained results proved that the proposed technique can produce the mean positioning accuracy of 8.75 cm with SVM compared to 19.3 cm with kNN-RF in our previous work [
21]. Depending on the selected algorithm, the CPU time also showed a significant improvement with 78.26% in the best case. The encouraging results can be applied to many different indoor environments, from public places (such as supermarkets, theaters, museums, and shopping centers) to private places (such as factories and warehouses). In addition, VLC-based positioning systems can be used for smart home applications and can be used in conjunction with smart canes and smart wheelchairs [
8,
21]. VLC-based positioning systems can be used to locate the current position of a person carrying an optical sensor, and to help them determine the route to their destination inside a building. Obviously, applications with VLP using the proposed method are very diverse and useful in the world today.
The main features of our solution can be summarized as follows:
We first performed noise reduction by using outlier and average filtering. These processes include noise filtering and elimination of low-intensity reflected signals. This type of signal pre-processing improves the accuracy of the later position estimation process.
Then these data were classified using the classification function of ML algorithms. Data points were assigned to one of two areas: the center area or the edge area. The area division was based on the correlation between the actual location of the receiver on the floor and the RSS from four groups of LED lights suspended from the ceiling. Data division by region is a unique idea that not only significantly reduces total execution time but also contributes to the improvement in positioning accuracy, due to the signal integrity within each individual area.
After noise reduction and area division, the regression function of the ML algorithms was used to predict the location of the receiver. The results show that the proposed solution greatly improved the execution time and positioning accuracy, despite being influenced by many adverse factors, including noises and reflected waves.
To evaluate the effectiveness of each ML algorithm, we compared their accuracy in both in the classification process and the regression process after the Cross-Validation (CV) technique was employed to verify the reliability of the algorithm and avoid overfitting. The comparison of positioning accuracy and computational time for all the methods provides a basis for selecting the optimal algorithm for future research.
In the remainder of the article, the proposed system is presented in
Section 2. Then, our proposed solution including noise reduction, area division, and location prediction using dual-function ML algorithms are shown in
Section 3. In
Section 4, we find the optimal parameters for each algorithm.
Section 5 offers the simulation performance, some discussions and the comparisons of some popular ML algorithms in terms of computational time and the positioning accuracy. Finally, the conclusion is considered in
Section 6.
3. Proposed Solution
In an optimal environment, traditional indoor positioning solutions can achieve very high accuracy, particularly when the reflected channel is ignored. However, besides the noises due to sunlight and other electric lights, reflection light always exists, and its intensity may vary according to the current position of the receiver. These reflected signals produce a detrimental effect on positioning accuracy [
21]. This is clearly shown in
Figure 5 when we use a Trilateration algorithm for indoor positioning composed of two completely opposing environments, one side is the environment that only exists as a directed channel (
Figure 5a), and one side is the environment including the highest reflection (
Figure 5b). Under the negative impact of multipath reflections, the SNR decreases at the corners and the edges, thus the positioning errors are substantially worse when the PD moves away from the room’s center (see
Figure 4) [
26]. With the maximum error of approximately 1.5 m occurring at the corners,
Figure 5b is a vivid illustration of the negative impact of multipath reflections on positioning accuracy. Therefore, VLC-based indoor positioning techniques must take into consideration all types of noise and reflected signals.
In recent years, ML has made great leaps and has achieved outstanding successes in many fields of science, especially in the field of image processing. However, the application of ML for VLC-based IPS has been quite limited. Challenges when using ML for this application, including sensitivity to noise and high computational times [
27], can be considered underlying causes.
From the above discussion, we propose an effective solution for VLC-based indoor positioning that improves not only the positioning accuracy but also the execution time (
Figure 6). To deal with those two parameters, we combine signal pre-processing techniques and two popular functions of ML-based algorithms (the classification function and the regression function). Signal pre-processing helps filter the noise and eliminates low-intensity reflective signals, thereby reducing the sensitivity to noise. This creates a basis for more accurate positioning later. Then, the two classification and regression functions, in turn, are carried out. The classification process plays a key role in reducing the computational time by dividing the floor surface into two isolated areas, and the regression process helps determine the estimated location of the PD. The whole process is divided into two distinct modes: offline mode and online mode. The main tasks of the offline mode are to collect the RSS from all fingerprints, then in turn conduct noise reduction, area division, and training process. While the online mode gathers online data from the current location of the PD, then the same processes of noise reduction and area division are taken place. However, the difference happens in the final step, when the online mode uses training data in the offline mode to predict the current location of the PD. Further details are discussed in the following Sections.
3.1. Low-Intensity Reflected Signal Elimination and Noise Reduction
With the LOS channel, the time it takes for the PD to receive the optical signal depends on the distance between the LED light and the PD. With the diffuse channel, it depends on the position of the PD in relation to the reflective point on the wall. At any particular time, the signal received by the PD may be a directed signal from an LED, or a non-directed signal from one of the four walls. The intensity of the reflected signal depends on the position of the receiver as well as the reflective rate of the wall [
23]. In Reference [
28], to eliminate the diffuse signals, the strongest waves collection was conducted, which can help reduce the impact of multipath reflections. However, in some cases, a combination of a very high reflective rate and other noise sources (i.e., thermal noise and shot noise) can cause the highest signals received at some locations to be diffuse signals. We describe some popular ML algorithms used for area division and location prediction in the next two Sections, while noise sensitivity is a major weakness of ML. It is clear that noise reduction and the elimination of low-intensity reflected signals are important signal pre-processing steps for improving positioning quality. To accomplish this, the following steps were taken:
Step 1: Low Reflected Optical Power Elimination
The received signal from the LED light can be either an LOS signal or a diffuse signal, and this happens randomly according to each sampling. As shown in
Figure 7, there is a great difference between the intensity of direct signals and reflected signals at a random point on the floor. If the reflected signal has a very small power compared to direct signals, the training data is no longer uniform. Therefore, eliminating these signal types an important step. To implement this, we calculated the mean value of the RSS based on N sampling data using the following equation:
Next, we used the outlier RSS filter to remove the signals whose power magnitudes are significantly different from the other signals [
12]:
where α is the outlier ratio and is set to 0.2 in our work after evaluating many different values (α > 0).
Step 2: Noise Reduction with Moving Average Filter
After removing the low power reflected signals, we continued to optimize the signals by eliminating the other noise types (i.e., thermal noise and shot noise), which are known as Gaussian noises due to the sunlight from a window or an entrance door [
29]. In this Section, we proposed a very simple noise reduction technique called moving average filter [
30]. In some cases, this method may not achieve high efficiency if the signal and noise distribution are related to each other [
31]. However, in VLC case, the thermal noise and shot noise are signal-independent Gaussian noises [
32] and the sum of these random noises is zero in any phase of signal. This filter uses the current and previous
K − 1 samples to calculate the average RSS:
After performing this averaging process, the results were utilized as the training dataset for the next steps. The effectiveness of this method is analyzed in detail in
Section 5, by comparing cases before and after noise removal.
3.2. Area Division with MLC
As discussed in
Section 1, computational time is a major constraint when using ML algorithms. In this study, we utilized the classification function of ML to reduce the effect of run time on system performance. This solution is based on the heterogeneous distribution of the SNR (
Figure 4). In
Figure 4a, the shape of the signal is uniform across the entire floor thanks to the elimination of reflected noise. This homogenous state, however, disappears when the received signal at the PD is a combination of directed and non-directed optical signals (
Figure 4c). To conduct area division, we divided the floor of the room into two sections: a center area and an edge area (corners and near-the-wall areas). To prepare for collecting the training dataset, the boundary between the two areas can be determined by two important factors: the identity of the received optical power and the amount of data used for the training process.
Figure 8 shows the average power distribution according to the vertical projection of the room in three reflection level cases: 0.2, 0.5, and 0.8. These values depend directly on the surface material used for the walls, which cause reflective noises [
23]. There is a significant difference in the power distribution between the central area (with red spots) and the edge area (with blue spots). It is clear that the central area has a more uniform distribution and is more stable than the edge area, which shows greater reflection intensity.
To ensure similarity in the amount of training data for the two areas, we set the boundary as shown in
Figure 9. By using this division, the training data in the center area and the edge area accounted for 47.93% and 52.07%, respectively, of the total 676 reference points. This balance in the amount of training data helped to reliably assess the effectiveness of the classification process.
In this study, we used the SVM, DT, kNN, and RF ML algorithms, due to their ability to both classify and regress. After the training and prediction process, we calculated the accuracy score and conducted K-fold CV to evaluate the robustness of each method.
3.3. Location Prediction with MLR
After finishing the noise reduction and area division processes, we estimated the position of the optical receiver as accurately as possible. As mentioned earlier, the ML algorithms used in this article are dual-function, hence SVM, DT, RF, and kNN continue to be adopted with the regression function. From the optimal parameters analysis in the next Section (
Table 2), we have the basis to make the final estimation step. This process helps to model a target value based on independent predictors. In this work, the root mean square error (RMSE) was calculated to estimate the skill of the regression predictive model. The results of the location prediction process, as well as the positioning quality comparison of each method, are fully presented and thoroughly explained in
Section 5.
5. Simulation and Results
5.1. Computational Time Comparison
As depicted in
Figure 21, in all four algorithms, there was a significant decrease in the computational time required after applying area division, although each algorithm showed distinct levels of improvement. To compare them with each other, the specific parameters of each algorithm were first optimized. After finding the optimal parameters, the execution time for each method was calculated. The total execution time includes the time spent on the data classification process (for area division) and the location prediction process. In
Figure 21, the red column shows the total CPU time before area division, while the orange and yellow columns show the total execution time for unseen data that belong to the edge area and the center area, respectively, after area division. An unknown data can only belong to either the center area or the edge area. Once this data is in the center area, the total CPU time will not include the location estimation time for the edge area data, and vice versa.
Table 3 presents the exact time of each method, while the level of improvement in CPU time for each proposed algorithm is shown in
Table 4.
It is clear that the system with SVM suffers from the heaviest computation burden but also presents the greatest improvement in execution time after area division. The improvement was 86.21% for the center area and 70.31% for the edge area (see
Table 4). The kNN and DT algorithms execute much faster than RF and SVM, with total times of 7.5 ms, and 7.19 ms, respectively. Furthermore, unlike SVM, the time improvement in DT is the lowest of the four suggested methods, with 10.85% for the center area and 6.4% for the edge area. In summary, all four methods show a significant reduction in computation cost after area division is performed using classification.
5.2. Positioning Accuracy Assessment
We performed simulations to evaluate the effectiveness of each algorithm. As shown in
Figure 22, all four methods exhibited a significant decrease in positioning error after noise reduction and area division, although improvement levels varied. As seen in
Table 5, DT demonstrated the most positive change, with 59.21% improvement for the center area, and 45.89% improvement for the edge area. The least improved method was kNN, which showed 32.54% improvement and 10.06% improvement for the center area and edge area, respectively. The RF and SVM algorithms also showed a very positive improvement when the average RMSE percentage was approximately the same and around 37%.
To acquire a more accurate assessment of the degree of influence of each process (i.e., noise reduction and area division) on the final positioning accuracy, the RMSEs of each algorithm (i.e., DT, kNN, RF, and SVM) are surveyed under four cases (
Figure 23):
(I): Without noise reduction and without area division
(II): Without noise reduction and with area division
(III): With noise reduction and without area division
(IV): With noise reduction and with area division
Case II (incorporating area division) showed a relatively small improvement in the RMSE, with the kNN and SVM algorithms showing 2.13% and 6.54% improvement, respectively. This means that area division has a negligible effect on these two algorithms in term of accuracy. In contrast, the DT and RF algorithms were strongly influenced by the area division process, showing an improvement of 33.73% and 26.54%, respectively.
Case III, with noise reduction and no area division, showed a very promising decline in positioning errors compared to Case I. SVM achieved the best improvement, followed by RF. The DT algorithm continued to show the lowest level of accuracy.
It is clear that the mean positioning errors tended to gradually improve progressing from Case I to Case IV. The highest accuracy (8.6 cm) occurs with SVM in Case IV. The worst accuracy (16.8 cm) occurs with DT. It is interesting to note, however, that the DT algorithm had the highest improvement, showing an RSME reduction of nearly 60% (from 48.1 cm in Case I to 16.8 cm in Case IV). Also, RF showed the same improvement level as DT but RF has a much better positioning accuracy of 10.2 cm. This result is only slightly worse than SVM. Of the four algorithms, kNN shows the least improvement at 30.85%.
In summary, all four methods achieve better positioning accuracy after noise reduction and area division, in the following ascending order of accuracy: DT, kNN, RF, and SVM. The area division technique had a relatively small impact on the accuracy of kNN and SVM, although it did provide significant savings in execution time, as was discussed in the previous Section.
Next, we analyzed the positioning errors, based on the hypothetical roadmap of a mobile robot. On this route, the robot started from the left upper corner, as shown in
Figure 24, then went to the opposite position with LED 1 (see
Figure 1), then proceeded through the center of the floor and the area near the wall. Finally, the robot went to the corner opposite the start point. Since the effects of multipath reflections and noises varied greatly from location to location in the room, this route helped us to evaluate the efficiency of the proposed solution under varying conditions.
Before applying our proposed solution, the positioning errors in the two corners were very bad (
Figure 24). A contrasting image, however, is shown in
Figure 25, which shows the results after our solution is deployed. The errors significantly decreased, although the corner area still showed the least accuracy, due to multipath reflections and noises. Furthermore, positioning quality is also better expressed in the remaining areas in which the SVM and RF algorithms provided the best results. Although each method has its own advantages and disadvantages, they all showed a significant improvement in positioning accuracy after applying both area division and noise reduction.
6. Conclusions
In summary, the simulation results showed that after applying the proposed solution, the SVM and RF methods obtained the highest positioning accuracy, at 8.6 cm and 10.2 cm, respectively. The SVM algorithm had the best improvement in execution time (approximately 78%). Our results indicated that if practical applications need a low positioning error, SVM is the optimal option. For applications that need fast execution time but moderate accuracy, we suggest kNN, which demonstrated a positioning accuracy of 13 cm and an average computational time of 5.6 ms.
In this article, we proposed an enhanced ML-based indoor positioning solution using LED lights. Our solution not only improved positioning accuracy, but also reduced computational time. In addition to using signal pre-processing to achieve more accurate positioning, the novel adoption of dual-function ML was employed. The classification function saved execution time and provided a slight improvement in positioning accuracy, while the regression function helped determine the exact location of the object in the final step. In particular, this study compared four popular ML algorithms: SVM, DT, RF, and kNN. The results from this comparison gave us a comprehensive view of the advantages and disadvantages of each algorithm in positioning applications using VLC.
Because developing VLC-based indoor mobile robot applications is our main pursuit, the optimization of ML algorithms to improve positioning accuracy and execution time in a real environment is our highest priority. In our future work, we continue to optimize positioning accuracy using deep machine learning.