Next Article in Journal
MetaGAN: Metamorphic GAN-Based Augmentation for Improving Deep Learning-Based Multiple-Fault Localization Without Test Oracles
Next Article in Special Issue
Error Prediction and Simulation of Strapdown Inertial Navigation System Based on Deep Neural Network
Previous Article in Journal
Error Performance Analysis and PS Factor Optimization for SWIPT AF Relaying Systems over Rayleigh Fading Channels: Interpretation SWIPT AF Relay as Non-SWIPT AF Relay
Previous Article in Special Issue
Developing a Novel Muscle Fatigue Index for Wireless sEMG Sensors: Metrics and Regression Models for Real-Time Monitoring
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Seamless Indoor–Outdoor Localization Through Transition Detection

School of AI Convergence, Sungshin Women’s University, 34 da-gil 2, Bomun-ro, Seongbuk-gu, Seoul 02844, Republic of Korea
Electronics 2025, 14(13), 2598; https://doi.org/10.3390/electronics14132598
Submission received: 16 May 2025 / Revised: 21 June 2025 / Accepted: 26 June 2025 / Published: 27 June 2025
(This article belongs to the Special Issue Wireless Sensor Network: Latest Advances and Prospects)

Abstract

Indoor localization techniques operate independently of Global Navigation Satellite Systems (GNSSs), which are primarily designed for outdoor environments. However, integrating indoor and outdoor positioning often leads to inconsistent and delayed location estimates, especially at transition zones such as building entrances. This paper develops a probabilistic transition detection algorithm to identify indoor, outdoor, and transition zones, aiming to enhance the continuity and accuracy of positioning. The algorithm leverages multi-source sensor data, including WiFi Received Signal Strength Indicator (RSSI), Bluetooth Low-Energy (BLE) RSSI, and GNSS metrics such as carrier-to-noise ratio. During transitions, the system incorporates Inertial Measurement Unit (IMU)-based tracking to ensure smooth switching between positioning engines. The outdoor engine utilizes a Kalman Filter (KF) to fuse IMU and GNSS data, while the indoor engine employs fingerprinting techniques using WiFi and BLE. This paper presents experimental results using three distinct devices across three separate buildings, demonstrating superior performance compared to both Google’s Fused Location Provider (FLP) algorithm and a GPS.

1. Introduction

Accurate and continuous location tracking has become a fundamental requirement for a wide range of applications, including navigation, asset management, emergency response, and smart city services. While outdoor positioning is largely achieved by satellite-based systems such as GPSs, these signals are often unreliable or unavailable indoors due to signal attenuation and multi-path effects. Conversely, indoor positioning systems relying on technologies such as WiFi, Bluetooth, or inertial sensors typically lack coverage or accuracy once users move outside. This fragmentation creates significant challenges for providing seamless, uninterrupted tracking as users transition between indoor and outdoor environments [1].
Recent advances in sensor fusion, machine learning, and environmental awareness have enabled the development of integrated solutions that aim to bridge this gap. Systems such as IODetector in [2] and SUNS in [3] demonstrate the potential of combining data from multiple sources including GNSS, Wi-Fi, Bluetooth, and inertial sensors to achieve robust, user-friendly, and seamless tracking across diverse environments. However, despite these advances, ensuring high accuracy, low latency, and energy efficiency during indoor–outdoor transitions remains a complex problem, particularly in dynamic or infrastructure-limited settings.
This paper proposes a seamless tracking algorithm specifically designed for Google Android smartphones for the continuous and uninterrupted tracking of a person or object as they move between indoor and outdoor environments, maintaining smooth and continuous trajectory estimation [4,5,6]. The proposed positioning system integrates measurement data from three primary sources: WiFi RSSI and BLE RSSI, inertial sensors (IMUs), and a GNSS. The user’s environmental state, categorized as indoor, transition, or outdoor, is inferred using a combination of RSSI values, GNSS satellite information, and previously estimated positions. For indoor localization, the system employs a hybrid of WiFi-based fingerprinting and AI-augmented IMU tracking [7], with particle filtering applied in the post-processing stage. In contrast, the outdoor localization engine combines GNSS and AI-IMU data through an extended Kalman Filter (EKF) for robust estimation. During transitional phases, where both WiFi and GNSS signals tend to be unreliable, the system switches to AI-IMU tracking with a particle filter, operating without external signal sources.
Accurately detecting the transition zone is crucial for seamless tracking, as the handover strategy, which is responsible for determining whether the device is in an indoor, outdoor, or transition state, significantly impacts overall tracking performance. The classification into these three states is based on RSSI signals, the previously estimated position, and GNSS signals. Notably, the RSSI signal model is derived using a neural network activation function. While machine learning models typically require training data, which are often gathered through supervised methods such as fingerprinting [8], this paper adopts an unsupervised data collection approach. In our method, the device collecting RSSI signals operates freely, without constraints such as being held in a fixed position. An overview of the entire positioning process is illustrated in Figure 1.
This paper is structured as follows: Section 2 introduces some related works. Section 3 presents the handover strategy. Section 4 describes the separated positioning engines for indoor, transition, and outdoor. The experimental results and real-time verification results of the proposed model are analyzed in Section 5. The research directions and conclusions are proposed in Section 6.

2. Related Works

Recent research on indoor–outdoor seamless tracking has focused on integrating various sensors and positioning systems such as GNSS, Bluetooth, WiFi, and IMU using advanced fusion algorithms such as federated filters and machine learning. Key trends include smooth transitions at indoor–outdoor boundaries, high accuracy, real-time performance, and minimal infrastructure requirements [9,10,11,12,13].
Ref. [14] proposes a method to automatically detect and distinguish indoor, outdoor, and transition zones by analyzing the time series of GNSS error statistics. This helps decision-making process between visual–inertial odometry and GNSS-based trajectory estimation. Ref. [15] presents a hybrid positioning system that fuses Bluetooth Angle of Arrival and GNSS signals, which utilizes commercial tracking devices to simultaneously transmit Bluetooth and receive GNSS signals.
The hidden Markov model and Bayesian inference-based indoor–outdoor transition tracking in [16] overcome the limitations of threshold-based sensor switching by employing hidden Markov models (HMMs) and Bayesian inference for seamless indoor–outdoor tracking. This algorithm takes advantage of the continuous-time nature of HMMs for smooth and accurate localization during transitions.
The adaptive federated filter-based approach in [17] integrates IMU, GNSS, and indoor positioning systems using an adaptive federated filter. It enables multi-target indoor tracking and identification without additional hardware as well as provides stable and smooth tracking throughout the entire indoor–outdoor trajectory.
A navigation system  [3] was designed to provide seamless and ubiquitous positioning for users as they move between indoor and outdoor environments. It enhances environmental awareness by integrating multiple sensing technologies, such as GPS, WiFi, and inertial sensors, to accurately detect whether the user is indoors or outdoors. The IODetector in [2] detects whether a mobile device is indoors, semi-outdoor, or outdoors. It combines data from multiple sensors such as GPS, WiFi, Cellular RSS, IMU, proximity, light, and magnetic field sensors. To enable light and magnetism detectors, certain conditions must be met. For instance, the tracked device should be free from the interference caused by external magnetic sources, and the difference in lighting between indoor and outdoor environments should be significant.
Most related works on seamless indoor–outdoor tracking have focused on handover strategies within the transition zones between environments. Unlike other works, this paper proposes unsupervised data collection to detect the transition zone using a softmax activation function as a machine learning approach. Fused data also include multi-sensor as well as previously estimated position information.

3. Handover Strategy Based on Three State Density Functions

The positioning environment is categorized into three distinct states: indoor, transition, and outdoor, as illustrated in Figure 2. The transition state is defined symmetrically around the transitional features such as doors or building entrances that serve as physical boundaries between indoor and outdoor areas. When a state change is detected, a handover strategy is triggered, transferring both the latest estimated position and the corresponding error covariance matrix from the current positioning engine to the next.
A state handler continuously evaluates the probabilities P ( s ) for each possible state s S = { indoor , transition , outdoor } . The state with the highest probability is selected as the current operating state such that
s * = arg max s { i n , t r a n s i t i o n , o u t } P ( s ) .
The state probabilities are derived from three independent estimation models: an RSSI-based model, a position–distribution model, and a GNSS-based distribution model. Each model produces a probabilistic estimate for the current state, reflecting different aspects of the environment. The final state probability is calculated as a weighted sum of these individual model outputs.
P ( s ) = w r s s i P r s s i ( s ) + w p o s i t i o n P p o s i t i o n ( s ) + w g n s s P G N S S ( s )
The weights assigned to each model are manually tuned through empirical evaluation to achieve optimal state classification performance. This approach is necessary because each building features a unique configuration of WiFi and BLE access points, which affects P r s s i ( s ) , and distinct structural characteristics around transition zones, which influence P G N S S . Therefore, in this paper, the weights are experimentally optimized for each environment.

3.1. RSSI Model

The RSSI model P r s s i ( s ) takes the WiFi and BLE scan results as the input and returns the probabilities of states. The data to train the RSSI model are obtained from the RSSI data measured while randomly walking in specific areas. The data were measured for about 3 min for each state area, with 5 s of WiFi and BLE scanning intervals.
The RSSI scan result of the WiFi and BLE accumulated for each time window of 5 s is defined as a vector R S S I k of size m,
( R S S I k 1 , R S S I k 2 , , R S S I k m ) R m ,
where R S S I k i ( i = 1 , , m ) is the scalar value of the RSSI corresponding to the ith access point (including BLE beacons) at the kth location, which is normalized from ( 100  dBm, 0 dBm) to (0, 1). The measured RSSI values lower than 100  dBm are considered 100  dBm.
The autoencoder function f ( · ) transforms the normalized m-dimensional RSSI vector of WiFi and BLE into a dimensionality-reduced d-dimensional feature vector.
f : ( R S S I k 1 , R S S I k 2 , , R S S I k m ) X k = ( r k 1 , r k 2 , , r k d ) , m d
The learning model g ( · ) predicts the state for a given set of inputs. For the output layer, the softmax activation function was used to return estimations in the form of probabilities.
g : X k R d Y k = ( y k i n , y k t r a n s i t i o n , y k o u t )
P k R S S I ( s ) = s o f t m a x ( Y k )

3.2. Position-Based Model

The position-based distribution model takes the estimated position as the input and returns the probabilities of states. The position-based probability of states at the kth location P k p o s i t i o n ( s ) is an arbitrarily designed nonlinear function, which takes ( p ^ k , p t r a n s i t i o n ) as inputs, where p ^ k is the estimated position at the kth location, and p t r a n s i t i o n is the position of the transition point nearest to the estimated position, as shown below.
P k p o s i t i o n ( s = i n ) = 1 | | p ^ k p t r a n s i t i o n | | 2 | | p ^ k p t r a n s i t i o n | |
P k p o s i t i o n ( s = t r a n s i t i o n ) = | | p ^ k p t r a n s i t i o n | | 2 | | p ^ k p t r a n s i t i o n | |
P k p o s i t i o n ( s = o u t ) = 1 | | p ^ k p t r a n s i t i o n | | 2 | | p ^ k p t r a n s i t i o n | |
The probability of being in a transition state increases as the estimated position approaches the transition point, reaching a value of 1 when the estimated position coincides with the transition point. The remaining probability, after accounting for the transition state, is equally distributed between the indoor and outdoor states.

3.3. GNSS-Based Model

The GNSS-based distribution model P g n s s ( s ) considers the carrier-to-noise density in decibels ( C / N 0 ) and the number of satellites used in fix ( n s a t ) to determine the probabilities of each state. The cases are broken into two by checking if n s a t is below 4 or not, taking into account that at least 4 satellites are required for an accurate GNSS fix. After considering the number of satellites, it takes the mean of the carrier-to-noise density ( C / N 0 ) for four satellites with the highest value as the input and returns the probabilities of states at the kth location P k g n s s ( s ) , which is also an arbitrarily designed nonlinear function, as shown below.  
P k G N S S ( s = i n | n s a t < 4 ) = 1 , if C / N 0 , k < 30 40 C / N 0 , k 10 , if 30 C / N 0 , k 40 0 , if C / N 0 , k > 40
P k G N S S ( s = t r a n s i t i o n | n s a t < 4 ) = 0 , if C / N 0 , k < 30 C / N 0 , k 40 10 , if 30 C / N 0 , k 40 1 , if C / N 0 , k > 40
P k G N S S ( s = o u t | n s a t < 4 ) = 0
P k G N S S ( s = i n | n s a t 4 ) = 1 , if C / N 0 , k < 30 m a x ( 35 C / N 0 , k 5 , 0 ) , if 30 C / N 0 , k 40 0 , if C / N 0 , k > 40
P k G N S S ( s = t r a n s i t i o n | n s a t 4 ) = 0 , if C / N 0 , k < 30 1   | 35 C / N 0 , k 5 | , if 30 C / N 0 , k 40 0 , if C / N 0 , k > 40
P k G N S S ( s = o u t | n s a t 4 ) = 0 , if C / N 0 , k < 30 m a x ( 35 C / N 0 , k 5 , 0 ) , if 30 C / N 0 , k 40 1 , if C / N 0 , k > 40
For the case where n s a t 4 , P g n s s ( s = t r a n s i t i o n ) rises from 0 at C / N 0 = 30 and reaches the highest value of 1 at C / N 0 = 35 , decreasing back to 1 at C / N 0 = 40 . P g n s s ( s = i n d o o r ) starts to decrease from 1 at C / N 0 = 30 and reaches a minimum value of 0 at C / N 0 = 35 , where P g n s s ( s = o u t d o o r ) starts to increase from 0 until it reaches a value of 1 at C / N 0 = 40 .

4. Positioning Engines

4.1. Indoor Positioning Engine

In indoor environments where GNSS signals are obstructed, wireless-signal-based positioning technologies have gained significant attention. An unsupervised WiFi RSSI positioning model using a particle filter to fuse WiFi and AI-IMU location estimates for trajectory tracking was proposed in our previous work [18]. As an AI-IMU tracking model, we use RoNIN [7] in this paper.
The scanned RSSI data are dimensionality-reduced in a similar manner to Equations (3) and (4) but considering only WiFi results and thus excluding the BLE. The learning model h ( · ) predicts the position at a given RSSI feature vector X k W i F i .
h : X k W i F i R d ( p k x , p k y )
The sensing frequency of the WiFi RSSI is relatively low compared to the IMU. Furthermore, the absolute location is estimated from the WiFi RSSI while the relative location is estimated from the AI-IMU. To address this issue, a particle filter was employed for the sensor fusion.
The state of the particle is defined as below:
Y i = p k x , i p k y , i θ k i T
The prior for the indoor positioning is set by the existence of a wall.
p ( x k | x k 1 ) = 0 , if a particle crossed a wall 1 , if a particle did not cross a wall
The transition function g ( · ) from location k 1 to k of the ith particle is modeled as below:
p k x , i , a i i m u = p k 1 x , i , a i i m u + l ^ k cos ( θ k 1 i , a i i m u + θ ˙ ^ k ) p k y , i , a i i m u = p k 1 y , i , a i i m u + l ^ k sin ( θ k 1 i , a i i m u + θ ˙ ^ k ) θ k i , a i i m u = θ k 1 i , a i i m u + θ ˙ ^ k
p k x , i , W i F i = p k 1 x , i , W i F i + i = k n + 1 k l ^ k cos ( θ k 1 i , a i i m u + j = k n + 1 i θ ˙ ^ j ) p k y , i , W i F i = p k 1 y , i , W i F i + i = k n + 1 k l ^ k sin ( θ k 1 i , a i i m u + j = k n + 1 i θ ˙ ^ j ) θ k i , W i F i = θ k 1 i , W i F i + j = k n + 1 k θ ˙ ^ k
where l ^ k and θ ˙ ^ k are the position and angular displacement estimations from the AI-IMU.
The likelihood for particles corresponding to the AI-IMU is defined to measure the distance error of a particle to an average, while the likelihood for the particles corresponding to the WiFi positioning model is defined to measure distance error of a particle to the estimated position from the learning model h ( · ) ,
p ( X k | Y k i , a i i m u ) N ( | Y k i , a i i m u 1 N p a i i m u i N p a i i m u [ p k x , i , a i i m u , p k y , i , a i i m u ] | , σ 2 )
p ( X k | Y k i , W i F i ) N ( | Y k i , W i F i h ( X k W i F i ) , σ 2 ) ,
where the number of particles N p a i i m u , N p W i F i , and measurement error variance σ 2 are manually tuned parameters.
Both AI-IMU and WiFi particles are used for the resampling step of the particle filter to compensate for the bias error of the AI-IMU estimations at the WiFi particle update.
The pseudo-code of the indoor positioning algorithm is shown below in Appendix A.

4.2. Transition Positioning Engine

The transition positioning engine is separately designated to handle areas where both WiFi and GNSS signals are unreliable. Basically, this algorithm is a particle filter with only the AI-IMU particles described earlier, with increasing error covariance for each propagation. The prior function in Equation (18) is not applied for the transition positioning engine (the prior function p ( x k | x k 1 ) is always 1) since it can block estimation moving from outdoor to indoor or vice versa when the estimated position is not accurate, worsening the position error. Note that resampling process does not occur since the prior function is always 1.
The pseudo-code of the transition positioning algorithm is shown below in Appendix B.

4.3. Outdoor Positioning Engine

The GNSS fix position ( l a t , l o n ) and the confidence interval σ of the position are received from the Android LocationManager API every 1 s. The AI-IMU returns the estimated moved distance and rotated angle in a 0.25 s interval. The extended Kalman filter (EKF) was used to estimate the position using those measurements in the outdoor environment.
The rotational speed ω ( r a d / s ), direction angle θ ( r a d ), movement speed v ( m / s ), x position p x (m), and y position p y (m) were used as state variables, as shown below:
X = ω θ v p x p y T
The initial position p x , p y is either handed over from the indoor/transition positioning engine or decided from the initial GNSS fix position.
The state-transition function Φ and its Jacobian matrix A from the state at time t to time t + d t was modeled as below:
X [ t + d t | t ] = Φ ( X [ t ] ) = ω [ t ] ω [ t ] d t + θ [ t ] v [ t ] cos ( θ [ t ] ) v [ t ] d t + p x [ t ] sin ( θ [ t ] ) v [ t ] d t + p y [ t ]
A [ t ] = 1 0 0 0 0 d t 1 0 0 0 0 0 1 0 0 0 sin ( θ [ t ] ) v [ t ] d t cos ( θ [ t ] ) d t 1 0 0 cos ( θ [ t ] ) v [ t ] d t sin ( θ [ t ] ) d t 0 1
The prediction noise covariance matrix Q was designed as below:
Q = 1 × 10 2 0 0 0 0 0 1 × 10 2 0 1 × 10 2 1 × 10 2 0 0 4 × 10 1 0 0 0 1 × 10 2 0 1 × 10 1 1 × 10 2 0 1 × 10 2 0 1 × 10 2 1 × 10 1
The AI-IMU measurement gives the angular displacement in direction angle d θ a i i m u ( r a d ) and moved distance d p a i i m u (m) for time interval d t a i i m u (s), while the GNSS measurement gives latitude p l a t ( r a d ), longitude p l o n ( r a d ), and accuracy σ (m). The  σ value, obtained from the Android LocationManager API, represents the range within where there is 68% probability that the true position will be found.
The measured states ( z a i i m u , z g n s s ) at time t were derived as below:
z a i i m u [ t ] = ω a i i m u [ t ] v a i i m u [ t ] = 1 d t a i i m u [ t ] d θ a i i m u [ t ] | | d p a i i m u [ t ] | |
z g n s s [ t ] = θ g n s s [ t ] p x g n s s [ t ] p y g n s s [ t ] = u ( tan 1 ( d p y g n s s [ t ] d p x g n s s [ t ] ) ) p x g n s s [ t ] p y g n s s [ t ] ,
where u is a phase unwrapping function, and p ˙ g n s s is an estimated speed from the differentiated GNSS position in the time domain.
The measurement noise covariance matrices R a i i m u and R g n s s for the AI-IMU and GNSS were designed as below:
R a i i m u = 1 × 10 2 0 0 1 × 10 1
R g n s s [ t ] = π 3 0 0 0 1 2 σ [ t ] 2 × 10 1 0 0 0 1 2 σ [ t ] 2 × 10 1 c [ t ]
c [ t ] = 1000 1 + e d [ t ] 20 20 + 1 , if v [ t ] 10 4 min ( e 3 | v g n s s [ t ] v [ t ] | v [ t ] ( 1000 1 + e d [ t ] 20 20 + 1 ) , 10 4 ) , otherwise
where σ is the accuracy obtained from the android location request, and c [ t ] is a weight function of the predicted speed( v [ t ] ), the estimated speed from GNSS fix positions ( v g n s s [ t ] ), and the estimated moved distance from the transition region ( d [ t ] ), designed to increase the measurement error covariance when the position is close to the transition area or the displacement of the position from the GNSS measurement is too large compared to the estimated movement speed. The aim of this weight function is to suppress the error from the FLP measurements with a small σ value and a large position error, mostly due to the GNSS multi-path errors in the urban environment.
The threshold value that determines the condition in (31) was set to 10 4 based on the observation of the moving speed from the AI-IMU when the device was not moving, which showed random values between 10 5 and 10 4 .
The noise covariance matrix of the GNSS measurement is based on the assumption that the accuracy value σ is from a folded normal distribution of a position error p ˜ . The other coefficients were manually tuned.
The pseudo-code of the outdoor positioning algorithm is shown below in Appendix C.

5. Experimental Results

The test was conducted in three office buildings (indoor area: Maru360—140  m 2 , Keumha—220  m 2 , and Namsan Green—470  m 2 ) with three different kinds of smartphones (Samsung Galaxy S10, S20, and S21). To train the positioning model, 30 min was spent in collecting the unlabelled datasets by two people with two smartphones each (three Samsung Galaxy S21s and one Samsung Galaxy S20). The test trial was conducted by one person, and the same trajectory was repeated for three (Keumha, Namsan Green)/four (Maru360) times. The black line shows the ground truth trajectory, while the green, blue, and red lines each refer to the estimated trajectory from the proposed method, Google’s Fused Location Provider (FLP) algorithm [19], and GPS. For ground truth generation, the initial trajectory was estimated using the AI-IMU method. This trajectory was then refined by interpolating between the designated positions such as the start and end points within the time domain to produce a continuous ground truth path. Figure 3, Figure 4 and Figure 5 show examples of the experimental results compared with Google’s fused location provider API for each building.
The position errors were compared between the estimated trajectory, FLP, and GPS for each device. The distribution of errors is shown with box plots in Figure 6, Figure 7 and Figure 8, the box plot in the left column shows the distribution of the position errors during all trials, the box plot in the center column shows the errors between the FLP position measurement and the estimated trajectory, and the box plot in the right column shows the errors between the GPS position measurements and the estimated trajectory.
The estimated trajectory’s position error compared to the FLP error was calculated by interpolating the trajectory by the FLP measurement’s timestamp and then comparing it with the ground truth. Similarly, the estimated trajectory’s error compared to the GPS error was calculated by interpolating it with the GPS measurement’s timestamp and then comparing it with the ground truth.
The median, mean, and standard deviation of the errors shown in the plot are also summarized in Table 1, Table 2 and Table 3.
The accuracy of the state classification is shown in Table 4, Table 5 and Table 6. The ground truth of the states was decided by the located region (indoor/transition/outdoor) of the ground truth trajectory. The state classification accuracy of the estimated trajectory was evaluated by comparing the ground truth to the handover strategy’s state detection result, and the FLP’s accuracy was evaluated by comparing the ground truth to the FLP’s located region. The value in the table represents the ratio of the time period to the correct state estimation during the total trial time.
The position estimation result from the Maru360 building shows that the proposed positioning method produces better results than Google’s FLP and GPS, with smaller position error means and medians over all three devices.
The results for the Keumha building show that the proposed method produces better results than the FLP and GPS for S10 and S20, while S21 shows a slightly larger mean error compared to the FLP. This was due to the disadvantageous conditions in this building. The indoor positioning engine randomly assumes the initial direction and requires the behavior of the particle filter to correctly estimate the direction. The area of the indoor region was small and had a square shape, having almost no obstacles or structures, which limited the scale of the position estimation difference of the AI-IMU to that of the RSSI, making it hard for the indoor positioning engine to align the direction. The direction error from the indoor positioning engine not only affects the estimations indoors but also affects the estimation in other areas as well. The transition engine is fully affected by the direction error since it only relies on the integration of the AI-IMU measurement to estimate the position and direction. The outdoor engine is also affected since the Kalman Filter requires multiple updates from the GNSS measurement to reduce the direction error. Furthermore, the GNSS measured the position input with significant position error, which can be observed in the example in Figure 7, which also affected the estimation errors.
For the Namsan Green building, the proposed method shows a better result compared to the FLP and GPS for S10 and S20, while S21 shows a slightly larger mean error compared to the GPS. The trials of this building were also affected by the GNSS measurement inputs with large position errors, which can be observed in the example in Figure 8.
All three buildings were surrounded by near buildings, which thus heavily limited the sky view. This led to multi-path errors that significantly affected the accuracy of GNSS position measurements. The effect of multi-path errors in the FLP measurements was not distinguishable from the measurement data, as the accuracy value provided by the LocationManager did not show a significant difference from the location measurements, which was suspected to be heavily influenced by the multi-path error compared to more accurate GNSS measurements. These measurements with large errors updated the Kalman Filter with a smaller measurement error covariance matrix than it should have had, increasing the errors in the direction and position. The direction and position errors caused by those measurements required a certain time until it was reduced, increasing the errors in the estimations during that period. The estimated state shows significantly better results compared to the state estimation based on the FLP location on every device and trial, accurately estimating the state for 82.63% of the trial duration in the worst case.

6. Conclusions

Our proposed method does not require a time-consuming labeling process in training the model for indoor positioning. The outdoor positioning algorithm also does not require any additional GNSS receivers other than the internal GNSS module of an Android smartphone, as it only uses the FLP measurements from Google Android’s LocationManger API.
For three buildings (Maru360, Keumha, and Namsan Green), the accuracy of the estimated position was compared to the FLP and GPS from the Android LocationManager using three different smartphone models (Samsung Galaxy S10, S20, and S21). The accuracy of classifying the current state was also compared between the state estimated using the proposed method and the state estimated based on the FLP location. The result shows a significant enhancement in the indoor/outdoor classification of the proposed method compared to the FLP and GPS. The position estimation accuracy of the proposed method is also better than the FLP and GPS for the S10 and S20. However, the results with the S21 showed the proposed method’s vulnerability to the effect of multi-path errors in GNSS measurement updates.
To address the issue of GNSS multi-path error, we are currently in the process of investigating the utilization of the raw satellite measurements provided by Android for analyzing the multi-path error. Moreover, the manually designed and tuned weight function applied to the GNSS measurement’s error covariance matrix in the outdoor positioning engine needs to be replaced with a more data-driven approach to reduce the effort in tuning parameters for each place, which will be conducted in future studies.

Funding

This work was supported by a Sungshin Women’s University research grant, No. H20220092.

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The author declares no conflicts of interest.

Appendix A. Indoor Positioning Algorithm

Algorithm A1 Indoor positioning algorithm.
  • Input:  { p k 1 x , p k 1 y , θ k 1 , w k 1 } , z k
  • Output:  { p k x , p k y , θ k }
  • w s u m 0
  • for  i = 1 , , N p   do
  •      x k i q ( x k i | x k 1 i , z k )
  •      w k i w k 1 i p ( X k | Y k i ) p ( Y k i | Y k 1 i ) q ( Y k | Y 1 : k 1 , X 1 : k )
  •      w s u m w s u m + w k i
  • end for
  • Normalize weights
  • for  i = 1 , , N p   do
  •      w k i w k i / w s u m
  • end for
  • if Resample then
  •     Resample N p particles with replacement
  •     for  i = 1 , , N p  do
  •          w k i 1 / N p
  •     end for
  • end if
  • P p ( X k | Y k )

Appendix B. Transition Positioning Algorithm

Algorithm A2 Transition positioning algorithm.
  • Input:  { p k 1 x , p k 1 y , θ k 1 , w k 1 } , z k
  • Output:  { p k x , p k y , θ k }
  • w s u m 0
  • for  i = 1 , , N p   do
  •      x k i q ( x k i | x k 1 i , z k )
  •      w k i w k 1 i p ( X k | Y k i ) p ( Y k i | Y k 1 i ) q ( Y k | Y 1 : k 1 , X 1 : k )
  •      w s u m w s u m + w k i
  • end for
  • Normalize weights
  • for  i = 1 , , N p   do
  •      w k i w k i / w s u m
  • end for
  • P p ( X k | Y k )

Appendix C. Outdoor Positioning Algorithm

Algorithm A3 Outdoor positioning algorithm.
  • Input:  { X k 1 , P k 1 , t k 1 } , Z k
  • Output:  { X k , P k , t k }
  • Prediction step:
  •      d t k t k t k 1
  •      X k | k 1 Φ ( X k 1 )
  •      P k | k 1 A P k 1 A T Q
  • If measurement input is from AI-IMU:
  •      Measured state vector Z k a i i m u = ω k a i i m u , v k a i i m u T
  •      Update step:
  •          K k ( P k | k 1 H T ) ( H P k H T + R a i i m u ) 1
  •          P k ( I K k H ) P k | k 1
  •          X k X k | k 1 + K k ( Z k a i i m u H X k | k 1 )
  • Else if measurement input is from GNSS:
  •      Measured state vector Z k G N S S = θ k , p k x , p k y T at time t
  •      Calculate measurement noise covariance matrix R G N S S :
  •          R k G N S S c k R G N S S
  •      Update step:
  •          K k ( P k | k 1 H T ) ( H P k H T + R G N S S ) 1
  •          P k ( I K k H ) P k | k 1
  •          X k X k | k 1 + K k ( Z k G N S S H X k | k 1 )
  • End If

References

  1. Asaad, S.M.; Maghdid, H.S. A comprehensive review of indoor/outdoor localization solutions in IoT era: Research challenges and future perspectives. Comput. Netw. 2022, 212, 109041. [Google Scholar] [CrossRef]
  2. Li, M.; Zhou, P.; Zheng, Y.; Li, Z.; Shen, G. IODetector: A generic service for indoor/outdoor detection. ACM Trans. Sens. Netw. 2014, 11, 1–29. [Google Scholar] [CrossRef]
  3. Mansour, A.; Chen, W. SUNS: A user-friendly scheme for seamless and ubiquitous navigation based on an enhanced indoor-outdoor environmental awareness approach. Remote Sens. 2022, 14, 5263. [Google Scholar] [CrossRef]
  4. Yu, Y.; Chen, R.; Chen, L.; Li, W.; Wu, Y.; Zhou, H. A robust seamless localization framework based on Wi-Fi FTM/GNSS and built-in sensors. IEEE Commun. Lett. 2021, 25, 2226–2230. [Google Scholar] [CrossRef]
  5. Maghdid, H.S.; Lami, I.A.; Ghafoor, K.Z.; Lloret, J. Seamless outdoors-indoors localization solutions on smartphones: Implementation and challenges. ACM Comput. Surv. 2016, 48, 1–34. [Google Scholar] [CrossRef]
  6. Rizk, H.; Sakr, A.; Ghazal, A.; Hemdan, M.; Shaheen, O.; Sharara, H.; Yamaguchi, H.; Youssef, M. Indoor localization system for seamless tracking across buildings and network configurations. In Proceedings of the GLOBECOM 2023—2023 IEEE Global Communications Conference, Kuala Lumpur, Malaysia, 4–8 December 2023; pp. 776–782. [Google Scholar]
  7. Herath, S.; Yan, H.; Furukawa, Y. RoNIN: Robust neural inertial navigation in the wild: Benchmark, evaluations, & new methods. In Proceedings of the 2020 IEEE International Conference on Robotics and Automation (ICRA), Paris, France, 31 May–31 August 2020; pp. 3146–3152. [Google Scholar]
  8. Yoo, J. Wi-Fi Fingerprint Indoor Localization by Semi-Supervised Generative Adversarial Network. Sensors 2024, 24, 5698. [Google Scholar] [CrossRef] [PubMed]
  9. Li, N.; Guan, L.; Gao, Y.; Liu, Z.; Wang, Y.; Rong, H. A low cost civil vehicular seamless navigation technology based on enhanced RISS/GPS between the outdoors and an underground garage. Electronics 2020, 9, 120. [Google Scholar] [CrossRef]
  10. Zhu, Y.; Fang, X.; Li, C. Multi-Sensor Information Fusion for Mobile Robot Indoor-Outdoor Localization: A Zonotopic Set-Membership Estimation Approach. Electronics 2025, 14, 867. [Google Scholar] [CrossRef]
  11. Surojaya, A.; Zhang, N.; Bergado, J.R.; Nex, F. Towards fully autonomous UAV: Damaged building-opening detection for outdoor-indoor transition in urban search and rescue. Electronics 2024, 13, 558. [Google Scholar] [CrossRef]
  12. Wang, D.; Lu, Y.; Zhang, L.; Jiang, G. Intelligent positioning for a commercial mobile platform in seamless indoor/outdoor scenes based on multi-sensor fusion. Sensors 2019, 19, 1696. [Google Scholar] [CrossRef] [PubMed]
  13. Zou, H.; Jiang, H.; Luo, Y.; Zhu, J.; Lu, X.; Xie, L. Bluedetect: An ibeacon-enabled scheme for accurate and energy-efficient indoor-outdoor detection and seamless location-based service. Sensors 2016, 16, 268. [Google Scholar] [CrossRef] [PubMed]
  14. Angelats, E.; Gorreja, A.; Espín-López, P.F.; Parés, M.E.; Malinverni, E.S.; Pierdicca, R. Enhanced seamless indoor–outdoor tracking using time series of gnss positioning errors. Int. J. Geo-Inf. 2024, 13, 72. [Google Scholar] [CrossRef]
  15. Gamarra, M.V.; Papaharalabos, S.; Rezaei, F.; Bartlett, D.; Karlsson, P. Seamless indoor and outdoor positioning with hybrid bluetooth AOA and GNSS signals. In Proceedings of the 2023 13th International Conference on Indoor Positioning and Indoor Navigation (IPIN), Nuremberg, Germany, 25–28 September 2023. [Google Scholar]
  16. Cai, X.; Zhou, X.; Chen, Y.; Yang, J.; Guo, F. A Seamless Indoor-Outdoor Positioning Transition Method Based on HMM/Bayesian Inference Using GNSS and Bluetooth. In Proceedings of the 2024 IEEE 100th Vehicular Technology Conference (VTC2024-Fall), Washington, DC, USA, 7–10 October 2024; pp. 1–6. [Google Scholar]
  17. Liu, Y.; Wang, S.; Zuo, W.; Cen, M. Indoor and outdoor seamless positioning method for open environment. In Proceedings of the 2021 33rd Chinese Control and Decision Conference (CCDC), Kunming, China, 22–24 May 2021; pp. 3206–3211. [Google Scholar]
  18. Ju, C.; Yoo, Y. Machine Learning for Indoor Localization Without Ground-truth Locations. In Proceedings of the 2023 13th International Conference on Indoor Positioning and Indoor Navigation (IPIN), Nuremberg, Germany, 25–28 September 2023; pp. 1–5. [Google Scholar]
  19. Available online: https://developers.google.com/location-context/fused-location-provider (accessed on 25 June 2025).
Figure 1. Overview of the proposed seamless indoor–outdoor localization.
Figure 1. Overview of the proposed seamless indoor–outdoor localization.
Electronics 14 02598 g001
Figure 2. One of the experimental office buildings. This building has a pilotis structure, and both sides of the exterior entrances are surrounded by walls and obstacles, making seamless tracking more challenging. There is a double-door entrance connecting the indoor and outdoor spaces, and the transition zone was selected as the area between the inner and outer doors.
Figure 2. One of the experimental office buildings. This building has a pilotis structure, and both sides of the exterior entrances are surrounded by walls and obstacles, making seamless tracking more challenging. There is a double-door entrance connecting the indoor and outdoor spaces, and the transition zone was selected as the area between the inner and outer doors.
Electronics 14 02598 g002
Figure 3. Estimated trajectories compared to a GPS and Google’s FLP at Maru360.
Figure 3. Estimated trajectories compared to a GPS and Google’s FLP at Maru360.
Electronics 14 02598 g003
Figure 4. Estimated trajectories compared to the GPS and Google’s FLP at Keumha.
Figure 4. Estimated trajectories compared to the GPS and Google’s FLP at Keumha.
Electronics 14 02598 g004
Figure 5. Estimated trajectories compared to the GPS and Google’s FLP at Namsan Green.
Figure 5. Estimated trajectories compared to the GPS and Google’s FLP at Namsan Green.
Electronics 14 02598 g005
Figure 6. Position error distribution of the estimated trajectory at Maru360 compared to the GPS and FLP.
Figure 6. Position error distribution of the estimated trajectory at Maru360 compared to the GPS and FLP.
Electronics 14 02598 g006
Figure 7. Position error distribution of the estimated trajectory at Keumha compared to the GPS and FLP.
Figure 7. Position error distribution of the estimated trajectory at Keumha compared to the GPS and FLP.
Electronics 14 02598 g007
Figure 8. Position error distribution of the estimated trajectory at Namsan Green compared to the GPS and FLP.
Figure 8. Position error distribution of the estimated trajectory at Namsan Green compared to the GPS and FLP.
Electronics 14 02598 g008
Table 1. The median, mean and standard deviation of the position estimation errors over four walking scenario tests at Maru360 in meters.
Table 1. The median, mean and standard deviation of the position estimation errors over four walking scenario tests at Maru360 in meters.
S10
Estimated Estimated FLP Estimated GPS
Median4.5627.42610.7888.57311.118
Mean5.7926.95913.5767.70617.387
Std.4.5624.3008.9044.23013.864
S20
EstimatedEstimatedFLPEstimatedGPS
Median2.6072.6527.8522.7876.695
Mean3.2593.20023.8073.27813.015
Std.2.3352.06578.2802.13313.301
S21
EstimatedEstimatedFLPEstimatedGPS
Median4.82811.13713.65411.32113.199
Mean6.94610.35717.95710.48317.278
Std.5.5684.8419.5235.0148.876
Table 2. The median, mean, and standard deviation of position estimation errors over four walking scenario tests at Keumha in meters.
Table 2. The median, mean, and standard deviation of position estimation errors over four walking scenario tests at Keumha in meters.
S10
Estimated Estimated FLP Estimated GPS
Median3.9064.1106.5644.2247.926
Mean5.1515.23914.3295.49117.858
Std.4.5994.26414.5144.50516.899
S20
EstimatedEstimatedFLPEstimatedGPS
Median4.8705.26914.6375.36716.462
Mean7.3457.87316.8137.98220.618
Std.6.2426.4059.8226.53810.578
S21
EstimatedEstimatedFLPEstimatedGPS
Median4.7336.4926.6137.6397.667
Mean6.6518.1927.6339.2949.567
Std.5.9026.1835.3186.5728.178
Table 3. The median, mean, and standard deviation of position estimation errors over four walking scenario tests at Namsan Green in meters.
Table 3. The median, mean, and standard deviation of position estimation errors over four walking scenario tests at Namsan Green in meters.
S10
Estimated Estimated FLP Estimated GPS
Median3.7576.48611.8747.99314.982
Mean7.95410.87116.00812.37219.516
Std.9.0649.82811.61110.10816.395
S20
EstimatedEstimatedFLPEstimatedGPS
Median5.0635.46114.7445.41422.564
Mean9.0479.46721.42410.43833.114
Std.10.30810.23719.37211.17434.310
S21
EstimatedEstimatedFLPEstimatedGPS
Median8.44110.65511.75513.97810.856
Mean10.84214.96919.28017.97817.788
Std.9.89810.70018.19810.75315.984
Table 4. The state estimation accuracy of each trial at Maru360.
Table 4. The state estimation accuracy of each trial at Maru360.
DeviceS10S20S21
Trial Estimated FLP Estimated FLP Estimated FLP
10.90830.41560.91480.41390.89180.4125
20.92460.43190.91350.42860.90870.4321
30.91110.41330.94690.42380.92460.3858
40.90860.42870.91620.42460.93030.4272
Table 5. The state estimation accuracy of each trial at Keumha.
Table 5. The state estimation accuracy of each trial at Keumha.
DeviceS10S20S21
Trial Estimated FLP Estimated FLP Estimated FLP
10.82630.53010.84300.52490.91460.8439
20.84650.53240.87660.55900.93350.8502
30.81050.60990.91540.65380.87820.8856
Table 6. The state estimation accuracy of each trial at Namsan Green.
Table 6. The state estimation accuracy of each trial at Namsan Green.
DeviceS10S20S21
Trial Estimated FLP Estimated FLP Estimated FLP
10.93760.81740.94980.71570.92460.7810
20.93160.81190.90650.60110.86570.7800
30.93740.80570.94570.78280.88190.8549
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Yoo, J. Seamless Indoor–Outdoor Localization Through Transition Detection. Electronics 2025, 14, 2598. https://doi.org/10.3390/electronics14132598

AMA Style

Yoo J. Seamless Indoor–Outdoor Localization Through Transition Detection. Electronics. 2025; 14(13):2598. https://doi.org/10.3390/electronics14132598

Chicago/Turabian Style

Yoo, Jaehyun. 2025. "Seamless Indoor–Outdoor Localization Through Transition Detection" Electronics 14, no. 13: 2598. https://doi.org/10.3390/electronics14132598

APA Style

Yoo, J. (2025). Seamless Indoor–Outdoor Localization Through Transition Detection. Electronics, 14(13), 2598. https://doi.org/10.3390/electronics14132598

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop