SenseFlow: An Experimental Study for Tracking People

The main challenges in large-scale people tracking are the recognition of people density in a specific area and tracking the people flow path. To address these challenges, we present SenseFlow, a lightweight people tracking system. SenseFlow utilises off-the-shelf devices which sniff probe requests periodically polled by user's smartphones in a passive manner. We demonstrate the feasibility of SenseFlow by building a proof-of-concept prototype and undertaking extensive evaluations in real-world settings. We deploy the system in one laboratory to study office hours of researchers, a crowded public area in city to evaluate the scalability and performance "in the wild", and four classrooms in the university to monitor the number of students. We also evaluate SenseFlow with varying walking speeds and different models of smartphones to investigate the people flow tracking performance.


page 8

page 11

page 15


Anxiety Detection Leveraging Mobile Passive Sensing

Anxiety disorders are the most common class of psychiatric problems affe...

Open Challenges of Blind People using Smartphones

Blind people face significant challenges when using smartphones. The foc...

Online People Tracking and Identification with RFID and Kinect

We introduce a novel, accurate and practical system for real-time people...

Iterative Path Reconstruction for Large-Scale Inertial Navigation on Smartphones

Modern smartphones have all the sensing capabilities required for accura...

Analysis of a Decentralised Digital Token Architecture for Public Transport

Digitisation is often viewed as beneficial to a user. Where originally p...

Augmented Unlocking Techniques for Smartphones Using Pre-Touch Information

Smartphones store a significant amount of personal and private informati...

1 Introduction

In recent years, the popularity of mobile and pervasive computing stimulates many research efforts on wireless people tracking. An increasingly common requirement of people tracking is to extract information regarding the people density and moving trajectories in an environment li2015senseflow ; teixeira2010survey . Many questions could be asked, e.g.: how many customers visit a shopping mall everyday and which shops get more customers than the others in the mall? How many people are waiting in a subway station, and how the flows of people move inside interchange stations? How long do the people walk from an entrance to an exit? Such tracking information can help the service provider understand public space usage patterns so as to improve their resource allocation petrenko2013human . Moreover, it is also a significance to understand pedestrian flows kjaergaard2012mobile and human mobility xu2012exploiting , e.g., for social psychology studies to sense people’s mood based on their attitude towards joining flocks or for epidemiological studies to consider how often people join flocks rachuri2010emotionsense . Furthermore, flock detection can also enable new tools for emergency research studies which is concerned with the size of flocks and how they form, dissolve or are slowed down by constraints, e.g., door passages schadschneider2011evacuation .

The integration of wireless sensing techniques and mobile devices such as smartphones is enabling next generation light-weight people tracking applications lane2010survey . A possible way of people tracking is to utilise probe requests that are broadcast by smartphones for Wi-Fi connection fujinami2013human ; musa2012tracking as a proxy for the people present in the area. People’s trajectory can be tracked only when these spatial-temporal probe requests at different locations are fully collected by the sensors. Unfortunately, translating this broad idea into a practical people tracking system entails a range of challenges. First, a large number of probe requests (i.e. hundreds of people and smartphones in a crowded area) is generated in real time. Forwarding all the probe requests generates a peak of traffic in the network, which poses a challenging problem on the data collection and processing. Second, the probe request generating interval highly depends on operational mode of a mobile device (shown by our experiments in Section 4.1

). As a result, the smartphone will not be tracked if its probe request is missed when the user moves across the sensing range of the sensor. Third, tracking people flow in a spacious area is non-trivial since multiple trajectories are available between any two locations, and the exact people movement pattern is often unknown. Additionally, the probability of probe request detection decreases with pedestrian walking speed since the sensor node has a limited sensing coverage. However, no existing work studies how the probe request frequency and human walking behaviour effect people flow tracking performance.

To address the above issues, in this paper, we propose SenseFlow, a lightweight sensing testbed to monitor people quantity in a given area and track people flow movement, based on a passive collection of the probe requests from their smartphones without knowing the environmental feature or fingerprint. Specifically, SenseFlow uses a number of time-synchronised wireless gateway nodes (GNs) to collect probe requests broadcasting by users’ smartphones at different locations, as shown in Figure 1. A user’s presence is detected when the probe request of the smartphone is received by the GN the user passes by. Therefore, the trajectory of the user is obtained by tracking the probe requests on a series of GNs according to time. In SenseFlow, a server is deployed to amalgamate the data from all GNs so as to investigate when and which GNs collect the probe requests. To provide a real-time people tracking, one of data collection schemes requires the GN to transmit all probe requests from each smartphone. However, transmitting all probe requests in real time generates a large network traffic. To address this issue, we propose a novel Probe Request Interval-based Data Collection Scheme (PRI-DCS), where the GN extracts source MAC address and timestamp from probe request, and upload the extracted data (dataset) according to the probe request interval of smartphone. The datasets transmitted from all GNs are amalgamated to monitor people density of the area by counting the amount of MAC addresses during a certain time interval.

Furthermore, we find that the people tracking system based on smartphone monitors people density inaccurately due to a probe request overhearing problem, where the nodes deployed at adjacent locations can receive probe requests from the same smartphone. To address this issue, in SenseFlow, we extend the PRI-DCS by selecting the GN that has the maximum Received Signal Strength Indicator (RSSI) of probe requests as the location where the smartphone presents.

We formulate the trajectory of individual user as a sequence of GN IDs in the datasets. Next, we implement a Longest Common Subsequence (LCS) algorithm to recognise the user’s trajectory, and track the flow of people from one a specific starting point to an ending point.

Figure 1: System architecture of SenseFlow. Each GN covers a specific area and the datasets of GN are uploaded to the sever through public network.

The rest of this paper is organised as follows. Section 2 presents the related work on different types of people tracking system. We then present the details of the proposed SenseFlow system in Section 3. Section 4 illustrates the implementation and evaluation results in both controlled and real-world experiments. Finally, we conclude this work in Section 5.

2 Related Work

In this section, we present a brief overview of previous work of people tracking systems covering the people density monitoring and movement tracking.

2.1 Sensor-based People Tracking Systems

The GPS-based localisation system is widely used for outdoor position determination and this technology is currently implemented in many mobile devices deak2012survey . Unfortunately, the main challenge in indoor environments is the unavailability of GPS signals since the technology requests for Line-of-Sight when connecting to satellites. In addition, such system requires the user to install an application on the mobile device in order to enable GPS localisation, which does not track people in a passive way.

Camera-based system was proposed to address the people tracking using thermal infrared, stereo and time of flight camera chen2013survey ; fernandez2010optical

. The vast majority of human-detection approaches currently deployed in camera-based systems rely on background subtraction, pattern matching and face recognition, which can process the conventional images from the camera. However, these systems are affected by lighting variations and shadows. Moreover, camera-based system has limited coverage due to a fixed location and angle 

guvensan2011coverage .

Apart from cameras, other devices used for people tracking are range finders, such as radar, and sonar. In mozos2010multi , Mozos et al. proposes people tracking by using multiple layers of 2D laser range scans. premebida2009exploiting presents a valuable analysis of pedestrian detection in urban scenario using exclusively lidar-based features. Unfortunately, the impressionable wave and laser signal lead a large number of false negatives teixeira2010survey .

Sensor fusion approaches build upon the use of multiple sensors such as camera and microphone beal2003graphical , camera and range finder hu2012bayesian , camera and motion sensor zhaivm , etc. The idea is to combine their advantages while cancelling out their disadvantages as much as possible. Unfortunately, sensor fusion systems require the installation of a complex infrastructure, which causes a large capital investment in setup teixeira2010survey . In addition, the state-of-the-art sensor fusion systems can hardly meet the accuracy and delay requirement for large-scale people tracking.

The comparison of people tracking systems in literature is summarised in Table 1.

Camera GPS Range finders Sensor fusion SenseFlow
Indoor tracking Yes No Yes Yes Yes
Large-scale people tracking No Yes No Yes Yes
Trajectories recognition accuracy Low High Low Low High
Tracking latency High Low Low High Low
System Complexity High Low Low High Low
Table 1: Comparison of people tracking systems.

2.2 People Tracking with Smartphone

Wi-Fi RSSI sigg2014passive and ambience fingerprinting azizyan2009surroundsense have been researched for mobile device based indoor localisation. In sigg2014passive , Wi-Fi RSSI in received packets at a mobile phone is utilised to detect user’s presence in the area. Furthermore, fluctuation on WiFi RSSI might indicate the number of people around or even activities conducted in proximity. By combining optical, acoustic, and motion attributes from various sensors of the mobile phone, SurroundSense system constructs an identifiable fingerprint, which includes ambient sound, light, colour, RF and user movement azizyan2009surroundsense . This fingerprint is then used to identify the user’s location.

In barbera2013signals , the social links in a venue of large political and religious gatherings are studied from the probe requests. A database that associates each device is built, as identified by its MAC address, to the list of SSIDs derived from its probe requests. Moreover, an automated methodology is proposed to learn the social links of mobile devices given that two users sharing one or more SSIDs indicate a potential social relationship between the two.

A tracking system, which consists of a number of road-side Wi-Fi monitors and a central server, is presented in musa2012tracking

. They propose a probabilistic method to estimate smartphone trajectories for single user from Wi-Fi detections. It is shown that the accuracy of Wi-Fi tracking depends to a large degree on the density and geometry of monitors’ deployment.

A low-cost tracking system for pedestrian flow estimations based on Bluetooth and Wi-Fi captures is proposed in schauer2014estimating . The system tracks a pedestrian’s movement through an area of interest by capturing the device specific MAC address at different monitor nodes located at the entrances/exits to this area of interest. Furthermore, they propose a hybrid tracking approach that considers both the RSSI value and the time when a MAC address was captured.

Compared with the existing solutions and concepts, we experimentally measure the probe request interval with different operational modes of three typical smartphone operating systems, and the effect of human walking behaviour. With those studies, our people tracking system collects dataset packets from GNs based on the probe request interval to mitigate network traffic and tracking latency. Moreover, our approach is able to address the probe request overhearing problem to improve the tracking accuracy.

3 SenseFlow System

In this section, we first present the design of gateway node and system architecture with a new data collection scheme. Next, we study the probe request overhearing problem in the people tracking system. We then outline a people tracking algorithm based on the datasets from GNs.

3.1 Probe Request Collection and Overhearing

We implement the GN (shown in Figure 2) based on Raspberry PI, which connects with a Wi-Pi USB Dongle for probe request collection, and a ourLink Wi-Fi adapter so that the dataset of GN can be transmitted to the server through existing Wi-Fi network. Both of them work in 2.4GHz. The reason of using two wireless interfaces is that dual wireless interface system achieves probe requests collection while transmitting the datasets simultaneously.

Figure 2: The GN is a Raspberry PI connecting with Wi-Pi (white colour) and OURLINK (black colour) wireless interfaces.

Different smartphone models may have different probe request definitions. Generally, the probe request contains the Type of Frame, Duration, Source MAC address, BSSID, SEQ, and etc freudiger2015talkative . We propose a Probe Request Interval-based Data Collection Scheme (PRI-DCS) for SenseFlow. The PRI-DCS is shown in Figure 3 and Algorithm 1. is the time to transmit the dataset packet. denotes the time of the probe request from the smartphone in , e.g., is the second probe request from smartphone One. We define as a time threshold to merge two probe requests of the smartphone. Specifically, if the time interval between two consecutive probe requests is smaller than , the smartphone is assumed to be not moving, and only one record that contains timestamp of the first probe request and the last one is kept by the PRI-DCS. Otherwise, both timestamps are kept in two independent records as the smartphone may leave and return to the coverage of the GN. Our aim to do so is to reduce the packet size to be uploaded. Finally, the MAC address of the smartphone, timestamps and average of RSSI of the probe requests are added to the dataset packet that is transmitted to the server for people tracking (details are presented in Section 3.2).

Figure 3: PRI-DCS of SenseFlow. In each , MAC address is provided by the probe request from the smartphone.
1:  The timestamp of the latest probe request of smartphone is .
2:  if A new probe request is received by GN then
3:     , the timestamp of is .
4:     The connection time in is: .
5:     if  then
6:        Update the latest timestamp of smartphone as in .
7:     else
8:        Create a new record for smartphone with timestamp in .
9:     end if
10:     if  then
11:        Calculate average of RSSI for each MAC address.
12:        GN uploads to the server.
13:     end if
14:  else
15:     The GN keeps listening.
16:  end if
Algorithm 1 PRI-DCS Algorithm

Most of people tracking systems are based on the probe requests received by the distributed sensor nodes from the smartphones. However, the sensor node at one location can receive the probe requests of a smartphone at an adjacent location due to an overlapping coverage area. As a result, those systems are not able to monitor accurate people density and track people flow since some of smartphones are captured at multiple locations at the same time, which we name probe request overhearing problem. In SenseFlow, we extend the PRI-DCS by utilising RSSI deviation at different locations to address this probe request overhearing problem. Although the RSSI of the probe request does not depict a precise location of the smartphone, it implies how far the smartphone is away from the GN since the RSSI measurements attenuate in distance with a power decay factor. Therefore, when multiple GNs receive the probe request from the same smartphone at the same time, the GN that is closest to the smartphone has the highest RSSI value. Specifically, in SenseFlow, the GN calculates an average value of RSSI for each smartphone in . The RSSI values are appended to the corresponding MAC address in the dataset packet (shown in Figure 3). On the server, if any MAC address is captured in dataset packets from multiple GNs, we select the GN that has the maximum RSSI value as the location where the smartphone presents.

3.2 SenseFlow People Tracking Algorithm

In order to monitor people density and track people flow, a SenseFlow People Tracking (SFPT) algorithm is proposed. Details are provided in Algorithm 2. Specifically, The SFPT algorithm amalgamates dataset packets to monitor people density and track people movement on the server. Based on the spatial-temporal dataset of all GNs, the MAC address of smartphone with timestamp is extracted. To address the probe request overhearing problem, each MAC address only keeps one GN who has the highest RSSI at any time. Therefore, people density at any location is known by counting the unique MAC addresses that connect to the GN at that location.

1:  if  is received from the GN  then
2:      is sorted by unique MAC address of the smartphone .
3:     for  the total number of users do
4:         = max([1], [2], …, [], …).
5:        PeopleDensity[] = PeopleDensity[] + 1.
6:        if  = LCS(, then
7:           The number of people in increases by 1.
8:        else
9:           Continue.
10:        end if
11:     end for
12:  end if
Algorithm 2 SFPT Algorithm

The trajectory of smartphone can be known by tracking the GNs that receive its probe requests according to time. Specifically, we formulate the trajectory as a sequence of GN IDs, which is denoted as , where is ID of the GN that has the strongest RSSI of probe request. Given a targeting trajectory , we decide whether smartphone has ever travelled along based on the LCS of . If all GNs in detect the probe requests from smartphone , the LCS of and is . The number of people moving along is obtained by counting the users who fulfil .

For trajectory recognition, as an example shown in Fig 4, we have eight GNs along the walking path in an area. From GN (7) to (8), we consider two targeting trajectories, and . Assume the system detects a smartphone moving from GN (7) to (8), and the trajectories is given by . Then, we have and . Therefore, by using LCS, the system recognises that travels along , not since has more nodes than . Additionally, the more GNs detect the smartphone, the more accurate trajectory recognition SenseFlow achieves. Consider an extreme case that only three GNs detect a smartphone, . Then, we have and . The trajectory of the smartphone is not be able to be tracked since it is hardly detected by GNs.

Figure 4: An example for trajectory recognition: eight GNs are deployed along the walking path in an area.

4 Experiments On Testbed and Evaluation

In this section, we first present the experiments to show the effect of probe request transmitting interval on . Then, the extensive experiments for monitoring people density are conducted in four classrooms and one laboratory on SUTD university campus, and a crowded public area in Singapore. Next, we measure how people walking behaviour effects the probe request detection under different smartphone’s operational modes. We evaluate the performance of for tracking people flow on our testbed in the university.

4.1 Probe Request Interval Measurement

Generally, on any smartphone, probe requests are transmitted in bursts, the interval of which depends on the OS and Wi-Fi chipset driver and varies greatly according to status of the Wi-Fi connection and screen mode demir2013wi ; JamesCisco . Some of smartphones may not be captured since the probe request interval, (in Alg. 1) is longer than the time when the people move across the sensing range of GN, which degrades the tracking accuracy of the system. To understand how smartphones affect the performance, we evaluate the system with four operational modes, (Wi-Fi registered, screen on), (Wi-Fi non-registered, screen on), (Wi-Fi registered, screen off), and (Wi-Fi non-registered, screen off). Specifically, “Wi-Fi registered” implies that the phone is authorised to connect to a Wi-Fi network.

In this experiment, we choose three typical smartphone models, two iOS phones (one iPhone 4 and one iPhone 4S), five Android phones (one Samsung Galaxy Nexus, one ASUS MeMo pad, three Sony Xperia Z5) and one Windows phone (Nokia Lumia 520). Table 

2 presents average probe request interval of smartphones in different Wi-Fi and screen conditions. Specifically, in screen off and Wi-Fi non-registered mode, the smartphones increase the probe request interval to conserve battery power, comparing to the mode of screen on. Moreover, iOS phone and Windows phone have a long interval around 1200 seconds when the smartphone has connected to Wi-Fi network. However, Android phone still keeps a short interval of 2.11 and 2.15 seconds. The different probe request interval is caused by a differentiated energy-saving design of smartphones in Wi-Fi registered mode.

Smartphones non-registered Wi-Fi registered Wi-Fi
screen on screen off screen on screen off
iOS 70.6s 109.8s 1200.8s 1204.4s
Android 0.8s 1s 2.11s 2.15s
Windows 10.9s 13.9s 1200.8s 1204.4s
Table 2: Average probe request interval of smartphones in different Wi-Fi and screen mode.

4.2 and Characterisation

The GN in SenseFlow transmits the dataset to the public network wirelessly. A practical question is how much data traffic will the GN generate everyday? This issue is crucial when the data is forwarded to the server via cellular network since more data traffic causes higher data bill. Therefore, we next study the impact of and on the daily data size. In this experiment, we deploy 12 GNs with different and configuration in a lab on the SUTD University campus. We run the experiment for one day (1440 minutes), and analyse the total data size collected from the GN.

The experimental results are shown by Figure 5. The maximum data traffic is 506KB when is 10mins and is 5mins. With an increase of , the GN uploads data in a long transmission interval where the unique MAC address is merged and the number of records is reduced significantly. For example, given =5mins and =120mins, the daily data size is reduced to 186KB. Moreover, Figure 5 shows that increasing also reduces data traffic. The reason is the records of the MAC address that fulfils are merged to one record.

Figure 5: Data traffic with different and .

4.3 People Density Monitoring

To monitor people density in a public area, we deploy SenseFlow in three applications: one lab room in the university to observe office hours of researchers, a crowded area in city to learn people density in public, and four closely located classrooms on the SUTD University campus to study the number of students in the classrooms.

4.3.1 Laboratory In University

We deploy one GN and one off-the-shelf Meshlium model, produced by Libelium, in a lab room on campus for 7 days X 24 hours continuous people tracking, as shown in Figure 6. They are put at the same location. Furthermore, we personally visit the lab, and record the number of people by head count from 10AM to 6PM every weekday as the ground truth of this experiment.

Figure 6: GN M and Libelium device are deployed at the same location in a lab in the university.

Figure 7(a) and (b) show the number of unique smartphones detected by the GN M and Libelium node. Generally, the amount of smartphones detected by Libelium node is larger than the detections of GN M for around 10 phones. The reason is Libelium node has higher packet receiving sensitivity and larger signal coverage. Therefore, Libelium node scans more smartphones from other rooms. From Monday to Friday, both of the nodes detect more people in the daytime, from 8AM to 5PM, than the time before dawn and midnight. Specifically, the amount of smartphones detected by our GN is closer to the number of people recorded by head count during daily office hours, which is shown in Figure 7(c). On weekends, people density decreases significantly. Less than 20 smartphones are detected in the lab.

(a) Smartphones detected by GN M (b) Smartphones detected by Libelium node

(c) Number of people at specific time recorded by head count

Figure 7: People density monitoring in a lab in the university from Monday to Sunday (from 4th Jan 2016 to 10th Jan 2016).

4.3.2 Crowded Public Area In City

To test system scalability, two GNs, GN A and GN C, are placed along the walking path in a crowded city area in Singapore, as shown in Figure 8(a). The experiment was carried out from 11PM 28 Oct, 2014 to 4PM 29 Oct, 2014 (30 hours in total). The people counting performance is shown in Figure 8(b). It can be observed that there are three peaks of people quantity at 9AM, 12PM and 6PM in one day. The results indicates that they are rush hours and many people go through the public area. Moreover, more smartphones connecting to GN A than GN C indicates that the location of GN A is more popular than the one of GN C in the monitoring area. This result can be used for guidance of city planning and promotion of coordinated development of the public area.

(a) GNs A and C are deployed
in a public area. (b) The number of unique smartphones
connects to GN A or C in the monitoring area.

(c) The number of devices connecting to GN A or C in a specific duration.

Figure 8: People density monitoring in a crowded city area in Singapore (from 11PM 28 Oct, 2014 to 4PM 29 Oct, 2014).

Based on the SFPT algorithm in Section 3.2

, how long each people stays in the monitoring area can be known. Due to a large variance on the people, Figure 

8(c) presents the number of devices connecting to GN A or GN C during one day in scale. Specifically, the amount of devices whose connection time to GN A and GN C is less than 10 minutes is about 17008 and 4462. A few smartphones connects to the GNs for more than 20 minutes. This indicates that most of people could just pass by the GNs. Moreover, there are only 20 and 2 smartphones connecting with GN A or C for longer than 90 minutes. Those people could be the staff who works in the nearby shops. The significance of this experiment and result is that the building planner can make a more efficient plan based on information of the people quantity and flow movement.

4.3.3 Classrooms In University

To monitor people density, eight GNs are deployed in four adjacent classrooms. Classrooms One and Two are in the 3rd floor of the building, and classrooms Three and Four are right over One and Two in the 4th floor. The GNs are closely located, as shown in Figure 9(a).

(a) Eight GNs are deployed in four adjacent classrooms. Each classroom has two GNs.
(b) The number of smartphones detected by SenseFlow compared with ground truth.
Figure 9: The number of smartphones in the Classroom Four on 18th Nov 2015 (from 0:00:00AM to 11:59:59PM).

Figure 9(b) presents the number of unique smartphones in the Classroom Four for one day (18th Nov 2015) when the data analysing time window, , is 10mins, 20mins, or 60mins. Namely, we calculate the number of unique smartphones every . It is observed that the number of smartphones from daytime to midnight are generally more than the ones before dawn. In this experiment, we personally visit the classrooms at different time to count the number of students. We use these recorded head counts to compare with SenseFlow when = 10mins since the ground truth is based on the discrete time point. Generally, the difference between SenseFlow and ground truth is less than 2. It is also observed that SenseFlow with = 10mins undercounts 6, 7 and 3 people comparing to the ground truth at 2:00PM, 4:30PM, and 8:30PM. A possible reason is that there is an event in the classroom where some of the students switch off their mobile devices. Additionally, it is observed from = 60mins that around 100 different smartphones are in the classroom from 1PM to 2PM, which indicates the peak hour in the classroom Four.

The data of SenseFlow is collected over 33 days in total, and we record 130 samples for the ground truth. To compare the number of mobile phones detected by SenseFlow with the actual number of people in classrooms, we define system detection error at a specific time as follows.


where the data of SenseFlow is based on = 10mins, which is comparable to the ground truth. Moreover, we select the data to compare given the non-zero ground truth value. Therefore, we have three possible results of detection error:

the detection error 0

the number of phones detected by SenseFlow is more than the number of people in the four classrooms.

the detection error 0

the number of phones detected by SenseFlow is the same as the number of people in the four classrooms.

the detection error 0

the number of phones detected by SenseFlow is lower than the number of people in the four classrooms.

Figure 10 presents the histogram of detection error over the four classrooms. As observed, 127 samples are as accurate as the ground truth, 151 samples have 10% detection error, and 87 samples have 20% detection error.

Figure 10: The detection error of SenseFlow in the four classrooms. The figure shows the performance for 33 days.

4.4 Human Walking Behaviour Effect

(a)(screen on, Wi-Fi non-registered) (b) (screen off, Wi-Fi non-registered)
(c) (screen on, Wi-Fi registered) (d) (screen off, Wi-Fi registered)
Figure 11: Detection rate of the smartphones under different human walking behaviours and operational modes.

From Table 2, it is observed that a longer contact time between the GN and smartphone can increase the probe request receiving probability. Namely, the slower the people move, the higher chance that the GN can capture the probe requests from the smartphone. Therefore, we further measure the effect of people walking behaviour on SenseFlow.

In this experiment, the GNs are deployed in a monitoring area to capture the user’s presence. One person carrying five smartphones, i.e., two iOS phones, two Android phones, and one Windows phone, goes through the area with different walking speed. We employ four human walking behaviours, slow walking, normal walking, jogging and running with referred speeds of 1.25, 2.25, 2.6, and 4.5m/s, respectively. The four operational modes (described in Section 4.1) are also considered. In each experiment, we increase the number of GNs from 1 to 4. For each operation mode and walking behaviour, we repeat the experiment for ten times, therefore, detection rate equals to the average number of smartphones that are detected by any one of GNs.

Figure 11 shows the performance of detection rate under different operational modes and walking behaviours. Generally, the detection rate grows with an increase in the number of GNs. However, with an increase of walking speed, the detection rate of smartphones decreases. Because the probe request is unable to be detected when its interval is longer than the contact time of smartphone and the GN. Moreover, SenseFlow achieves the highest detection rate when the smartphone is in (screen on, Wi-Fi non-registered) mode. The reason is the smartphone’s energy-saving design prolongs the probe request interval when the screen is turned off or Wi-Fi is connected.

4.5 People Flow Tracking Experiments

We evaluate the performance of SenseFlow by deploying a proof of concept testbed on the SUTD University campus. The testbed consists of fourteen GNs which are evenly deployed at seven locations in four buildings of the university, and each location contains two GNs where are one meter away from each other. The location sequence is from 1 to 7. Three people move from location 1 to 7 at normal walking speed and each of them carries one smartphone. The smartphones in this experiment are one iOS, one Android and one Windows phone. We choose two targeting trajectories from the same starting point (location 1) to the same destination (location 7), and . The starting and ending time are denoted as and respectively.

Given the trajectory of smartphone is , the length of is presented by . Moreover, the number of locations successfully detects the smartphone is . Therefore, the tracking accuracy can be given by


Figure 12 shows the performance of SenseFlow with different smartphone models and operational modes. In RWifiScrOn (screen on, Wi-Fi registered), Android phone achieves the highest , about 92.9%. iOS and Windows phone achieve and on average. In NRWifiScrOn (screen on, Wi-Fi non-registered), the average of Android, iOS and Windows phone is 90%, 80% and 50%, respectively. The tracking accuracy of iOS and Windows phone in this case is higher than the one in RWifiScrOn. The reason is that when the Wi-Fi of the smartphones is not connected, they broadcast probe requests more frequently in order to search the Wi-Fi connection. NRWifiScrOff (screen off, Wi-Fi non-registered) and RWifiScrOff (screen off, Wi-Fi registered) present the walking trajectories tracked by SenseFlow when the screen of smartphone is off. Specifically, the of Android phone is 71.4% and iOS is 40% in NRWifiScrOff. The of Android and iOS go down to 44.3% and 27.2% in RWifiScrOff. This is because the smartphone increases the probe request interval when Wi-Fi is connected. Moreover, in both experiments, the trajectory of Windows phone is not tracked since its wireless transceiver is turned off when its screen is off.

Figure 12:

Tracking accuracy of iOS, Android and Windows phone in four modes, (screen on, Wi-Fi registered), (screen on, Wi-Fi non-registered), (screen off, Wi-Fi non-registered), and (screen off, Wi-Fi registered). The confidence interval is based on 10 experiments.

The recognition of the two targeting trajectories, and , depends on and . Furthermore, since the locations 5 and 6 are in the same order in and , for simplicity, we denote them as one combined location (5, 6), then we have and .

To evaluate the trajectories recognition of , we define successful trajectory recognition rate which is a ratio of number of phones on the targeting trajectory and the total number of phones. In this experiment, five people walk from location 1 to location 7 along the trajectories and , and each of them carries one smartphone. The types of smartphone we use include two android phones, two iPhones and one Windows phone. We find that the highest successful recognition rate of the two targeting trajectories, and , is 100% when the phones are in the mode, (screen on, Wi-Fi non-registered). The reason is the smartphone transmits probe requests frequently in this operational mode. The GNs at the locations in and detect the smartphone successfully. In (screen off, Wi-Fi non-registered) mode, SenseFlow recognises 40% of trajectories on , and 60% of trajectories on . In (screen on, Wi-Fi registered) mode, the recognition rate achieved by is 60%. However, for the phones with (screen off, Wi-Fi registered), the trajectories are hardly recognised, the recognition rate is only 20%. The reason is the probe request interval is increased when the Wi-Fi connection of smartphone is set up and the screen is locked (shown in Table 2).

5 Conclusion

In this work, we have investigated SenseFlow system to monitor people density and track people flow by using a passive collection of probe requests from their smartphones. We explored the lightweight system architecture and data collection scheme based on the probe request interval. In SenseFlow, the probe request overhearing problem is addressed to improve people tracking performance. We measured the effect of smartphone’s operational modes and human walking behaviour, and evaluated the tracking accuracy of SenseFlow in four typical application scenarios.


This research is supported by the MND Research Fund Sustainable Urban Living Grant.


  • (1) K. Li, C. Yuen, S. Kanhere, SenseFlow: An experimental study of people tracking, in: Proceedings of the 6th ACM Workshop on Real World Wireless Sensor Networks (REALWSN), ACM, 2015, pp. 31–34.
  • (2) T. Teixeira, G. Dublon, A. Savvides, A survey of human-sensing: Methods for detecting presence, count, location, track, and identity, ACM Computing Surveys 5.
  • (3) A. Petrenko, S. Bell, K. Stanley, W. Qian, A. Sizo, D. Knowles, Human spatial behavior, sensor informatics, and disaggregate data, in: Spatial Information Theory, Springer, 2013, pp. 224–242.
  • (4) M. B. Kjærgaard, M. Wirz, D. Roggen, G. Troster, Mobile sensing of pedestrian flocks in indoor environments using wifi signals, in: 2012 IEEE International Conference on Pervasive Computing and Communications (PerCom), IEEE, 2012, pp. 95–102.
  • (5) C. Xu, B. Firner, Y. Zhang, R. Howard, J. Li, Exploiting human mobility trajectory information in indoor device-free passive tracking, in: Proceedings of the 11th international conference on Information Processing in Sensor Networks (IPSN), ACM, 2012, pp. 121–122.
  • (6) K. K. Rachuri, M. Musolesi, C. Mascolo, P. J. Rentfrow, C. Longworth, A. Aucinas, EmotionSense: a mobile phones based adaptive platform for experimental social psychology research, in: Proceedings of the 12th ACM international conference on Ubiquitous computing (UbiComp), ACM, 2010, pp. 281–290.
  • (7) A. Schadschneider, W. Klingsch, H. Klüpfel, T. Kretz, C. Rogsch, A. Seyfried, Evacuation dynamics: Empirical results, modeling and applications, in: Extreme Environmental Events, Springer, 2011, pp. 517–550.
  • (8) N. D. Lane, E. Miluzzo, H. Lu, D. Peebles, T. Choudhury, A. T. Campbell, A survey of mobile phone sensing, IEEE Communications Magazine 48 (9) (2010) 140–150.
  • (9) K. Fujinami, Y. Xue, S. Murata, S. Hosokawa, A human-probe system that considers on-body position of a mobile phone with sensors, in: Distributed, Ambient, and Pervasive Interactions, Springer, 2013, pp. 99–108.
  • (10) A. Musa, J. Eriksson, Tracking unmodified smartphones using wi-fi monitors, in: Proceedings of the 10th ACM Conference on Embedded Network Sensor Systems (SenSys), ACM, 2012, pp. 281–294.
  • (11) G. Deak, K. Curran, J. Condell, A survey of active and passive indoor localisation systems, Computer Communications 35 (16) (2012) 1939–1954.
  • (12)

    L. Chen, H. Wei, J. Ferryman, A survey of human motion analysis using depth imagery, Pattern Recognition Letters 34 (15) (2013) 1995–2006.

  • (13) A. Fernández-Caballero, J. C. Castillo, J. Martínez-Cantos, R. Martínez-Tomás, Optical flow or image subtraction in human detection from infrared camera on mobile robot, Robotics and Autonomous Systems 58 (12) (2010) 1273–1281.
  • (14) M. A. Guvensan, A. G. Yavuz, On coverage issues in directional sensor networks: A survey, Ad Hoc Networks 9 (7) (2011) 1238–1255.
  • (15) O. M. Mozos, R. Kurazume, T. Hasegawa, Multi-part people detection using 2d range data, International Journal of Social Robotics 2 (1) (2010) 31–40.
  • (16) C. Premebida, O. Ludwig, U. Nunes, Exploiting lidar-based features on pedestrian detection in urban scenarios, in: Proceedings of 12th International Conference on Intelligent Transportation Systems (ITSC), IEEE, 2009, pp. 1–6.
  • (17) M. J. Beal, N. Jojic, H. Attias, A graphical model for audiovisual object tracking, IEEE Transactions on Pattern Analysis and Machine Intelligence 25 (7) (2003) 828–836.
  • (18) N. Hu, G. Englebienne, B. J. Kröse, Bayesian fusion of ceiling mounted camera and laser range finder on a mobile robot for people detection and localization, in: Human Behavior Understanding, Springer, 2012, pp. 41–51.
  • (19) Q. Zhai, S. Ding, X. Li, F. Yang, J. Teng, J. Zhu, D. Xuan, Y. F. Zheng, W. Zhao, VM-tracking: visual-motion sensing integration for real-time human tracking, IEEE, INFOCOM, 2015.
  • (20) S. Sigg, M. Hock, M. Scholz, G. Troester, L. Wolf, Y. Ji, M. Beigl, Passive, device-free recognition on your mobile phone: tools, features and a case study, in: Mobile and Ubiquitous Systems: Computing, Networking, and Services, Springer, 2014, pp. 435–446.
  • (21) M. Azizyan, I. Constandache, R. Roy Choudhury, Surroundsense: mobile phone localization via ambience fingerprinting, in: Proceedings of the 15th international conference on mobile computing and networking (MobiCom), ACM, 2009, pp. 261–272.
  • (22) M. V. Barbera, A. Epasto, A. Mei, V. C. Perta, J. Stefa, Signals from the crowd: uncovering social relationships through smartphone probes, in: Proceedings of the 2013 conference on Internet measurement conference, ACM, 2013, pp. 265–276.
  • (23) L. Schauer, M. Werner, P. Marcus, Estimating crowd densities and pedestrian flows using wi-fi and bluetooth, in: Proceedings of the 11th International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services, ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering), 2014, pp. 171–177.
  • (24) J. Freudiger, How talkative is your mobile device?: an experimental study of wi-fi probe requests, in: Proceedings of the 8th ACM Conference on Security & Privacy in Wireless and Mobile Networks (WiSec), ACM, 2015, p. 8.
  • (25) L. Demir, Wi-fi tracking: what about privacy, Ph.D. thesis, M2 SCCI Security, Cryptologyand Coding of Information-UFR IMAG (2013).
  • (26) J. Little, B. O’Brien, A technical review of cisco’s wi fi-based location analytics white paper.