Difference between revisions of "Predicting Floor Level For 911 Calls with Neural Network and Smartphone Sensor Data"

From statwiki
Jump to: navigation, search
(2) Vertical height and floor level)
Line 118: Line 118:
[6] James Bergstra and Yoshua Bengio. 2012. Random search for hyper-parameter optimization. J. Mach. Learn. Res. 13 (February 2012), 281-305.
[6] James Bergstra and Yoshua Bengio. 2012. Random search for hyper-parameter optimization. J. Mach. Learn. Res. 13 (February 2012), 281-305.
[7] Greg Milette, Adam Stroud: Professional Android Sensor Programing, 2012, Wiley India

Revision as of 01:38, 7 November 2018

Work in progress


In high populated cities where there are many buildings locating individuals in the case of an emergency is an important task. For emergency responders, time is of the essence. Therefore, accurately locating a 911 caller plays an integral role in this important process.

The motivation for this problem in the context of 911 calls: Victims trapped in a tall building who seeks immediate medical attention, locating emergency personnel such as firefighters or paramedics, or a minor calling on behalf of an incapacitated adult.

In this paper a novel approach is presented to accurately predict floor level for 911 calls by leveraging neural networks and sensor data from smartphones.

In large cities with tall buildings, relying on GPS or Wi-Fi signals are not able to to provide an accurate location of a caller.

17floor.png 19floor.png

In this work there are two major contributions. The first is that they trained a recurrent neural network to classify whether a smartphone was either inside or outside of a buildings. The second contribution is that they used the output of their previously trained classifier to aid in predicting the change in the barometric pressure of the smartphone from once it entered the building to its current location. In the final part of their algorithm they are able to predict the floor level by clustering the measurements of height.

Related Work

In general, previous work falls under two categories. The first category of methods are classification methods based on the user's activity. Therefore, some current methods leverages the user's activity to predict which is based from the offset in their movement [2]. These activities include running, walking, and moving through the elevator. The second set of methods focus more on the use of a barometer which measures the atmospheric pressure. As a result utilizing a barometer can provide the changes in altitude.

Avinash Parnandi and his coauthors used multiple classifiers in the predicting the floor level [2]. The steps in their algorithmic process are:

  1. Classifier to predict whether the user is indoors or outdoors
  2. Classifier to identify if the activity of the user, i.e. walking, standing still etc.
  3. Classifier to measure the displacement

One of the downsides of this work is that in order to achieve high accuracy the user's step size is needed, therefore heavily relying on pre-training to the specific user. In a real world application of this method this would not be practical.

Song and his colleagues model the way or cause of ascent. That is, was the ascent a result of taking the elevator, stairs or escalator [3]. Then by using infrastructure support of the buildings and as well as additional tuning they are able to predict floor level. This method also suffers from relying on data specific to the building.

Overall, these methods suffer from relying on pre training to a specific user, needing additional infrastructure support, or data specific to the building. The method proposed in this paper aims to predict floor level without these constraints.


In their paper the authors claim that to their knowledge "there does not exist a dataset for predicting floor heights" [4].

To collect data they designed and developed a iOS application specifically the iPhone 6s to aggregate the data. They used the smartphone's sensor to record different features such as barometric pressure,GPS course, GPS speed, RSSI strength GPS longitude, GPS latitude and altitude.

From [4] the data was collected as follows:


Their algorithm used to predict floor level is a 3 part process:

  1. Classifying whether smartphone is indoor or outdoor
  2. Indoor/Outdoor Transition detector
  3. Estimating vertical height and resolving to absolute floor level

1) Classifying Indoor/Outdoor


From [5] they are using 6 features which was found through forests of trees feature reduction. The features are smartphone's barometric pressure, GPS vertical accuracy, GPS horizontal accuracy, GPS speed, device RSSI level, and magnetometer total reading.

The magnetometer total reading was calculated from given the 3 dimensional reading [math]x, y, z [/math]

Total Magnetic field strength [math]= \sqrt{x^{2} + y^{2} + z^{2}}[/math]

They used a 3 layer LSTM where the inputs are [math] d [/math] consecutive time steps. The output [math] y = 1 [/math] if smartphone is indoor and [math] y = 0 [/math] if smartphone is outdoor.

In their design they set [math] d = 3[/math] by random search [6]. The point to make is that they wanted the network to learn the relationship given a little bit of information from both the past and future.

For the overall signal sequence: [math] \{x_1, x_2,x_j, ... , x_n\}[/math] the aim is to classify [math] d [/math] consecutive sensor readings [math] X_i = \{x_1, x_2, ..., x_d \} [/math] as [math] y = 1 [/math] or [math] y = 0 [/math] as noted above.

This is a critical part of their system and they only focus on the predictions in the subspace of being indoor.

They have trained the LSTM to minimize the binary cross entropy between the true indoor state [math] y [/math] of example [math] i [/math].

The cost function is shown below:


2) Transition Detector

Given the predictions from the previous step, now the next part is to find when the transition of going in or out of a building has occurred.


In this figure, they convolve filters [math] V_1, V_2[/math] across the predictions T and they pick a subset [math]s_i [/math] such that the Jacard distance (defined below) is [math] \gt = 0.4 [/math]


Jacard Distance:


After this process we are now left with a set of [math] b_i[/math]'s describing the index of each transition. The process is shown in the first figure.

2) Vertical height and floor level


In the final part of the system the vertical offset needs to be computed given the smartphone's last known location i.e. the last known transition which can easily be computed given the set of transitions from the previous step. All that needs to be done is to pull the index of most recent transition from the previous step and set [math] p_0[/math] to the lowest pressure within a ~15 second window around that index.

Future Work



[1] Sepp Hochreiter and Jurgen Schmidhuber. Long short-term memory. Neural Computation, 9(8): 1735–1780, 1997.

[2] Parnandi, A., Le, K., Vaghela, P., Kolli, A., Dantu, K., Poduri, S., & Sukhatme, G. S. (2009, October). Coarse in-building localization with smartphones. In International Conference on Mobile Computing, Applications, and Services (pp. 343-354). Springer, Berlin, Heidelberg.

[3] Wonsang Song, Jae Woo Lee, Byung Suk Lee, Henning Schulzrinne. "Finding 9-1-1 Callers in Tall Buildings". IEEE WoWMoM '14. Sydney, Australia, June 2014.

[4] W Falcon, H Schulzrinne, Predicting Floor-Level for 911 Calls with Neural Networks and Smartphone Sensor Data, 2018

[5] Kawakubo, Hideko and Hiroaki Yoshida. “Rapid Feature Selection Based on Random Forests for High-Dimensional Data.” (2012).

[6] James Bergstra and Yoshua Bengio. 2012. Random search for hyper-parameter optimization. J. Mach. Learn. Res. 13 (February 2012), 281-305.

[7] Greg Milette, Adam Stroud: Professional Android Sensor Programing, 2012, Wiley India