Dataset

Purpose

The SHL dataset was collected primarily to investigate the recognition of users’ modes of locomotion and transportation from the sensors in mobile phone based on using machine learning methods and heuristics.

The dataset is highly versatile due to the rich set of multimodal sensor measures and high-quality annotations. It could be used for numerous other applications, such as:

  • Activity recognition of user, phone placement and modality
  • User independent, placement independent, modality independent wireless coverage estimation and prediction depending on transportation mode and location
  • Satellite coverage estimation and prediction depending on transportation modes and location
  • Road condition analysis
  • Traffic analysis
  • Assessment of Google’s API for activity recognition
  • Activity discovery
  • Probabilistic mobility models
  • Localisation using sensor fusion
  • Vision-based activity recognition, object recognition
  • Audio-based activity recognition, computational auditory scene analysis (audio data is upcoming)

Everyday scenarios

Three participants performed full-time data collection in realistic scenarios. A weekly outline of the activities was defined each week with the experiment leader. This outline sketched what the focus of each day would be, but left significant room for the participant to decide which activities to carry out, when during the day, and where.

For example, as one day may focus on long distance travel by public transport, another may cover physical activities such as cycling, running or sightseeing.

Overall, the participants combined data collection with activities they would have liked to perform in their daily life, such as visiting a museum, stopping at a particular restaurant for lunch, or cycling to visit friends. This ensures that the dataset comprises realistic activities and typical locations.

Phone placement

Four HUAWEI Mate 9 smartphones were used for the data collection. They were placed on body locations where people are commonly carring phones:

  • the 1st phone was held in the hand, or carried in an armband on the lower-arm; in the dataset this location is referred to as “Hands”;
  • the 2nd phone was carried in a breast pocket or on a chest strap (e.g. when running); in the dataset this location is referred to as “Torso”;
  • the 3rd phone was carried at hip height, typically in the trousers front pocket; in the dataset this location is referred to as “Hips;
  • the 4th phone was carried in a backpack or side bag; in the dataset this location is referred to as “Bag”.

The phones are equipped with our data logging application. which collects the data, synchronizes the phones and allows to control phone 2, 3 and 4 through a “master” phone 1.

Sensor data

The dataset contains the data from all sensors of 4 synchronised phones. The following sensor modalities were recorded:

  • Accelerometer: x, y, z in m/s2
  • Gyroscope: x, y, z in rad/s
  • Magnetometer: x, y, z in μT
  • Orientation: quaternions in the form of w, x, y, z vector
  • Gravity: x, y, z in m/s2
  • Linear acceleration: x, y, z in m/s2
  • Ambient pressure in hPa
  • Google’s activity recognition API output: 0-100% of confidence for each class (“in vehicle”, “on bicycle”, “on foot”, “running”, “still”, “tilting”, “unknown”, “walking”)
  • Ambient light in lx
  • Battery level (0-100%) and temperature (in °C)
  • Satellite reception: ID, SNR, azimuth and elevation of each visible satellite
  • Wifi reception including SSID, RSSI, frequency and capabilities (i.e. encryption type)
  • Mobile phone cell reception including network type (e.g. GSM, LTE), CID, location area code (LAC), mobile country code (MCC), mobile network code (MNS), signal strength
  • Location obtained from satellites (latitude, longitude, altitude, accuracy)
  • Audio

A body worn-camera recorded a timelapse video with one frame taken every 30 seconds. The camera was worn on the chest or backpack straps, generally facing in the forward direction.

Annotations

Main annotations

  • Still: standing or sitting; inside or outside a building
  • Walking: inside of outside
  • Run
  • Bike
  • Car: as driver, or as passenger
  • Bus: standing or sitting; lower deck or upper deck
  • Train: standing or sitting
  • Subway: standing or sitting

Additional annotations

The dataset comprises additional label tracks:

  • Road condition: city, motorway, countryside, dirt road
  • Social interactions: yes, no
  • Tunnel: yes indoors/inside tunnel, no
  • Traffic: heavy traffic, normal traffic
  • Food: eating, drinking, both

Null class

The null class marks activities that cannot be identified with sufficient confidence or are not in the annotated set. Some activities of interest may take place these un-annotated periods but only for a very short period of time (e.g. a person walks in-between two camera snapshots).

Data organisation and format

Additional explanations of the data format is available in the download section.

Dataset hierarchy

The dataset is organised in recording days (e.g. 120617 for 12th of June 2017) for each user (User1,… User3) and stored in a hierarchical structure. All the files related to a recording day are stored in the corresponding directory.

This is an example of the directory structure, when the dataset is extracted the root directory:

root\User1\120617\00inf.txt
root\User1\120617\Bag_Ambient.txt
root\User1\120617\Bag_API.txt
root\User1\120617\Bag_Battery.txt
root\User1\120617\Bag_Cells.txt
root\User1\120617\Bag_DeprCells.txt
root\User1\120617\Bag_GPS.txt
root\User1\120617\Bag_Location.txt
root\User1\120617\Bag_Motion.txt
root\User1\120617\Bag_WiFi.txt
root\User1\120617\data.mat
root\User1\120617\datainf.mat
root\User1\120617\GPS.kml
root\User1\120617\Hand_Ambient.txt
...
root\User1\120617\Hips_Ambient.txt
...
root\User1\120617\Label.txt
root\User1\120617\labels_track_food.txt
root\User1\120617\labels_track_main.txt
root\User1\120617\labels_track_road.txt
root\User1\120617\labels_track_social.txt
root\User1\120617\labels_track_traffic.txt
root\User1\120617\labels_track_tunnels.txt
root\User1\120617\timelapse.avi
root\User1\120617\Torso_Ambient.txt
...
root\User1\130617\00inf.txt
...
...
root\User2\120617\00inf.txt
...
...

File formats

There are two main file formats: fixed-width format and variable-width format.

Fixed-width format

The fixed-width format is used to store time-series from the mobile sensors. Time-series are provided by motion sensors (accelerometer, gyroscope, etc.), battery, ambient light, location, etc. These files are stored as matrices in plain text. Each line corresponds to a sample, and each column corresponds to a sensor channel. Matrices stored as plain text files can be read with any text editor and easily imported in Matlab/Octave (with load), Python (with numpy.loadtxt), and Julia (with readdlm).

This is an extract of root\User1\120617\Bag_Motion.txt:

1497257073220.000000 0.397439 -0.023940 9.696515 0.002443 0.001222 0.000000 20.053148 19.376336 -39.687500 0.550250 0.004402 -0.011677 0.238670 0.081468 -0.003959 1.959333 -0.002120 0.000080 -0.051512 1012.076630 0.000000 0.000000
1497257073230.000000 0.402226 -0.038307 9.691729 0.002443 0.001222 0.000000 19.834379 19.407589 -39.687500 0.917217 0.007343 -0.019458 0.397843 0.407380 -0.019760 9.798099 -0.005260 0.004039 -0.124881 1012.076334 0.000000 0.000000
1497257073240.000000 0.383072 -0.028730 9.686939 0.002443 0.001222 0.000000 19.622318 19.437500 -39.710299 0.917216 0.007357 -0.019450 0.397847 0.407300 -0.019520 9.798099 -0.001321 0.013559 -0.119000 1012.076038 0.000000 0.000000
1497257073250.000000 0.402229 -0.028723 9.701301 0.002443 0.001222 0.000000 19.559823 19.437500 -40.241504 0.917214 0.007371 -0.019439 0.397851 0.407260 -0.019140 9.798099 0.004580 0.011280 -0.126840 1012.075742 0.000000 0.000000
1497257073260.000000 0.416591 -0.019154 9.686941 0.003054 0.001222 0.000611 19.508015 19.437500 -40.755344 0.917214 0.007383 -0.019423 0.397853 0.407060 -0.018820 9.798099 -0.003058 -0.000760 -0.122925 1012.075446 0.000000 0.000000
1497257073270.000000 0.421380 -0.019154 9.672575 0.001223 0.000002 0.001221 19.695515 19.437500 -40.880344 0.917212 0.007399 -0.019406 0.397856 0.406860 -0.018420 9.798099 -0.010663 -0.001160 -0.107235 1012.075150 0.000000 0.000000

In this example, the first column represents the timestamp of the sample, in milliseconds. The columns 2-4 represent the x, y, z acceleration; the columns 5-7 represent the x, y, z gyroscope, etc.

Variable-width format

The variable-width format is used for sensors that deliver a variable number of readings. This is the case for the WiFi scans, cell tower scans, and visible GPS satellites. The data is stored in plain text, with one line per sample and timestamp in the first column.

This is an extract of root\User1\120617\Bag_Wifi.txt, which contains the received WiFi access points:

1497271351125;14346801041559;2551140624;17;64:e9:50:96:0e:97;Virgin Media;-52;2412;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:0e:92;1234;-52;2412;[WPA2-EAP-CCMP][ESS];64:e9:50:96:0e:91;BBConnect;-52;2412;[WPA2-PSK-CCMP][ESS];40:27:0b:02:15:dd;MEW30G_40270B0215DD;-67;2412;[WPA2-PSK-CCMP][ESS];64:e9:50:96:17:46;Wifi Extra;-75;2462;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:12:71;BBConnect;-75;2412;[WPA2-PSK-CCMP][ESS];64:e9:50:96:17:42;1234;-75;2462;[WPA2-EAP-CCMP][ESS];64:e9:50:96:17:41;BBConnect;-75;2462;[WPA2-PSK-CCMP][ESS];64:e9:50:05:f8:f2;1234;-76;2412;[WPA2-EAP-CCMP][ESS];64:e9:50:05:f8:f1;BBConnect;-77;2412;[WPA2-PSK-CCMP][ESS];64:e9:50:05:f0:52;1234;-82;2412;[WPA2-EAP-CCMP][ESS];64:e9:50:05:f0:51;BBConnect;-82;2412;[WPA2-PSK-CCMP][ESS];64:e9:50:96:0e:93;Virgin Media WiFi;-53;2412;[ESS];64:e9:50:96:17:43;Virgin Media WiFi;-75;2462;[ESS];64:e9:50:96:12:73;Virgin Media WiFi;-75;2412;[ESS];64:e9:50:05:f8:f3;Virgin Media WiFi;-76;2412;[ESS];64:e9:50:05:f0:53;Virgin Media WiFi;-82;2412;[ESS]
1497271352130;14347805174372;2551140624;17;64:e9:50:96:0e:97;Virgin Media;-52;2412;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:0e:92;1234;-52;2412;[WPA2-EAP-CCMP][ESS];64:e9:50:96:0e:91;BBConnect;-52;2412;[WPA2-PSK-CCMP][ESS];40:27:0b:02:15:dd;MEW30G_40270B0215DD;-67;2412;[WPA2-PSK-CCMP][ESS];64:e9:50:96:17:46;Wifi Extra;-75;2462;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:12:71;BBConnect;-75;2412;[WPA2-PSK-CCMP][ESS];64:e9:50:96:17:42;1234;-75;2462;[WPA2-EAP-CCMP][ESS];64:e9:50:96:17:41;BBConnect;-75;2462;[WPA2-PSK-CCMP][ESS];64:e9:50:05:f8:f2;1234;-76;2412;[WPA2-EAP-CCMP][ESS];64:e9:50:05:f8:f1;BBConnect;-77;2412;[WPA2-PSK-CCMP][ESS];64:e9:50:05:f0:52;1234;-82;2412;[WPA2-EAP-CCMP][ESS];64:e9:50:05:f0:51;BBConnect;-82;2412;[WPA2-PSK-CCMP][ESS];64:e9:50:96:0e:93;Virgin Media WiFi;-53;2412;[ESS];64:e9:50:96:17:43;Virgin Media WiFi;-75;2462;[ESS];64:e9:50:96:12:73;Virgin Media WiFi;-75;2412;[ESS];64:e9:50:05:f8:f3;Virgin Media WiFi;-76;2412;[ESS];64:e9:50:05:f0:53;Virgin Media WiFi;-82;2412;[ESS]
1497271353157;14348832423851;2551140624;0
1497271354166;14349841369163;2551140624;0
1497271355178;14350853492080;2551140624;0
1497271356218;14351893369163;2551140624;0
1497271357225;14352900100933;2551140624;43;64:e9:50:96:10:39;Wifi Extra;-64;5220;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:10:38;VodafoneWiFi;-64;5220;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:10:35;Virgin Media;-64;5220;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:10:3d;BBConnect;-64;5220;[WPA2-PSK-CCMP][ESS];64:e9:50:96:10:3e;5150-5725;-64;5220;[WPA2-EAP-CCMP][ESS];64:e9:50:96:10:36;EE WiFi-Auto;-64;5220;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:10:3b;1234;-65;5220;[WPA2-EAP-CCMP][ESS];64:e9:50:96:10:3a;222666328;-65;5220;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:10:3f;2288;-66;5220;[WPA2-EAP-CCMP][ESS];64:e9:50:96:10:32;BBConnect;-53;2412;[WPA2-PSK-CCMP][ESS];64:e9:50:96:10:31;5150-5725;-53;2412;[WPA2-EAP-CCMP][ESS];64:e9:50:96:10:34;1234;-53;2412;[WPA2-EAP-CCMP][ESS];64:e9:50:96:10:30;2288;-53;2412;[WPA2-EAP-CCMP][ESS];64:e9:50:96:10:35;222666328;-54;2412;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:05:38;VodafoneWiFi;-67;5660;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:05:3f;2288;-68;5660;[WPA2-EAP-CCMP][ESS];64:e9:50:96:00:f2;BBConnect;-64;2437;[WPA2-PSK-CCMP][ESS];64:e9:50:96:00:f4;1234;-64;2437;[WPA2-EAP-CCMP][ESS];64:e9:50:96:00:f1;5150-5725;-65;2437;[WPA2-EAP-CCMP][ESS];64:e9:50:96:05:39;Wifi Extra;-69;5660;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:05:36;EE WiFi-Auto;-69;5660;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:05:35;Virgin Media;-70;5660;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:05:31;5150-5725;-70;2462;[WPA2-EAP-CCMP][ESS];64:e9:50:96:05:32;BBConnect;-70;2462;[WPA2-PSK-CCMP][ESS];64:e9:50:96:05:3a;222666328;-74;5660;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:05:3d;BBConnect;-75;5660;[WPA2-PSK-CCMP][ESS];64:e9:50:96:05:3e;5150-5725;-75;5660;[WPA2-EAP-CCMP][ESS];64:e9:50:96:05:3b;1234;-75;5660;[WPA2-EAP-CCMP][ESS];64:e9:50:96:05:34;1234;-74;2462;[WPA2-EAP-CCMP][ESS];64:e9:50:96:00:fe;5150-5725;-81;5300;[WPA2-EAP-CCMP][ESS];64:e9:50:96:00:f9;Wifi Extra;-83;5300;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:00:fa;222666328;-83;5300;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:00:ff;2288;-83;5300;[WPA2-EAP-CCMP][ESS];64:e9:50:96:04:e2;BBConnect;-81;2437;[WPA2-PSK-CCMP][ESS];64:e9:50:96:04:e4;1234;-82;2437;[WPA2-EAP-CCMP][ESS];64:e9:50:96:04:e1;5150-5725;-82;2437;[WPA2-EAP-CCMP][ESS];8a:70:8c:46:a9:2e;DIRECT-;-77;2412;[WEP];64:e9:50:96:10:3c;Virgin Media WiFi;-64;5220;[ESS];64:e9:50:96:10:33;Virgin Media WiFi;-53;2412;[ESS];64:e9:50:96:00:f3;Virgin Media WiFi;-65;2437;[ESS];64:e9:50:96:05:3c;Virgin Media WiFi;-75;5660;[ESS];64:e9:50:96:05:33;Virgin Media WiFi;-73;2462;[ESS];64:e9:50:96:04:e3;Virgin Media WiFi;-81;2437;[ESS]
1497271358250;14353925819683;2551140624;43;64:e9:50:96:10:39;Wifi Extra;-64;5220;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:10:38;VodafoneWiFi;-64;5220;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:10:35;Virgin Media;-64;5220;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:10:3d;BBConnect;-64;5220;[WPA2-PSK-CCMP][ESS];64:e9:50:96:10:3e;5150-5725;-64;5220;[WPA2-EAP-CCMP][ESS];64:e9:50:96:10:36;EE WiFi-Auto;-64;5220;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:10:3b;1234;-65;5220;[WPA2-EAP-CCMP][ESS];64:e9:50:96:10:3a;222666328;-65;5220;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:10:3f;2288;-66;5220;[WPA2-EAP-CCMP][ESS];64:e9:50:96:10:32;BBConnect;-53;2412;[WPA2-PSK-CCMP][ESS];64:e9:50:96:10:31;5150-5725;-53;2412;[WPA2-EAP-CCMP][ESS];64:e9:50:96:10:34;1234;-53;2412;[WPA2-EAP-CCMP][ESS];64:e9:50:96:10:30;2288;-53;2412;[WPA2-EAP-CCMP][ESS];64:e9:50:96:10:35;222666328;-54;2412;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:05:38;VodafoneWiFi;-67;5660;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:05:3f;2288;-68;5660;[WPA2-EAP-CCMP][ESS];64:e9:50:96:00:f2;BBConnect;-64;2437;[WPA2-PSK-CCMP][ESS];64:e9:50:96:00:f4;1234;-64;2437;[WPA2-EAP-CCMP][ESS];64:e9:50:96:00:f1;5150-5725;-65;2437;[WPA2-EAP-CCMP][ESS];64:e9:50:96:05:39;Wifi Extra;-69;5660;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:05:36;EE WiFi-Auto;-69;5660;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:05:35;Virgin Media;-70;5660;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:05:31;5150-5725;-70;2462;[WPA2-EAP-CCMP][ESS];64:e9:50:96:05:32;BBConnect;-70;2462;[WPA2-PSK-CCMP][ESS];64:e9:50:96:05:3a;222666328;-74;5660;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:05:3d;BBConnect;-75;5660;[WPA2-PSK-CCMP][ESS];64:e9:50:96:05:3e;5150-5725;-75;5660;[WPA2-EAP-CCMP][ESS];64:e9:50:96:05:3b;1234;-75;5660;[WPA2-EAP-CCMP][ESS];64:e9:50:96:05:34;1234;-74;2462;[WPA2-EAP-CCMP][ESS];64:e9:50:96:00:fe;5150-5725;-81;5300;[WPA2-EAP-CCMP][ESS];64:e9:50:96:00:f9;Wifi Extra;-83;5300;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:00:fa;222666328;-83;5300;[WPA2-EAP+FT/EAP-CCMP][ESS];64:e9:50:96:00:ff;2288;-83;5300;[WPA2-EAP-CCMP][ESS];64:e9:50:96:04:e2;BBConnect;-81;2437;[WPA2-PSK-CCMP][ESS];64:e9:50:96:04:e4;1234;-82;2437;[WPA2-EAP-CCMP][ESS];64:e9:50:96:04:e1;5150-5725;-82;2437;[WPA2-EAP-CCMP][ESS];8a:70:8c:46:a9:2e;DIRECT-;-77;2412;[WEP];64:e9:50:96:10:3c;Virgin Media WiFi;-64;5220;[ESS];64:e9:50:96:10:33;Virgin Media WiFi;-53;2412;[ESS];64:e9:50:96:00:f3;Virgin Media WiFi;-65;2437;[ESS];64:e9:50:96:05:3c;Virgin Media WiFi;-75;5660;[ESS];64:e9:50:96:05:33;Virgin Media WiFi;-73;2462;[ESS];64:e9:50:96:04:e3;Virgin Media WiFi;-81;2437;[ESS]

This is an extract of root\User1\120617\Bag_Cells.txt, which contains the received cell tower information:

1497257100569 96244423942 2551140624 4 LTE 1 128000386 234 10 20 144 25 -115 2 LTE 0 2147483647 234 10 398 2147483647 23 -117 1 LTE 0 2147483647 234 10 4 2147483647 18 -122 1 LTE 0 2147483647 234 10 20 2147483647 13 -127 1
1497257101589 97264905192 2551140624 2 LTE 1 128000386 234 10 20 144 25 -115 2 LTE 0 2147483647 234 10 398 2147483647 23 -117 1
1497257102595 98270604671 2551140624 2 LTE 1 128000386 234 10 20 144 25 -115 2 LTE 0 2147483647 234 10 398 2147483647 23 -117 1
1497257103614 99289591129 2551140624 2 LTE 1 128000386 234 10 20 144 25 -115 2 LTE 0 2147483647 234 10 398 2147483647 21 -119 1
1497257104623 100298500504 2551140624 2 LTE 1 128000386 234 10 20 144 25 -115 2 LTE 0 2147483647 234 10 398 2147483647 21 -119 1
1497257105643 101318074462 2551140624 3 LTE 1 128000386 234 10 20 144 26 -114 2 LTE 0 2147483647 234 10 398 2147483647 22 -118 1 LTE 0 2147483647 234 10 20 2147483647 10 -130 1
1497257106649 102324433837 2551140624 3 LTE 1 128000386 234 10 20 144 26 -114 2 LTE 0 2147483647 234 10 398 2147483647 22 -118 1 LTE 0 2147483647 234 10 20 2147483647 10 -130 1
1497257107663 103338323420 2551140624 4 LTE 1 128000386 234 10 20 144 26 -114 2 LTE 0 2147483647 234 10 398 2147483647 22 -118 1 LTE 0 2147483647 234 10 4 2147483647 19 -121 1 LTE 0 2147483647 234 10 20 2147483647 11 -129 1

This is an extract of root\User1\120617\Bag_GPS.txt, which contains the visible satellites:

1497257286114 281789985372 2551140624 19 23.0 0.0 1.0 24 25.0 0.0 1.0 25 14.0 0.0 1.0 3
1497257287114 282789970268 2551140624 19 24.0 0.0 1.0 24 26.0 0.0 1.0 25 14.0 0.0 1.0 3
1497257288112 283787435893 2551140624 19 24.0 0.0 1.0 24 26.0 0.0 1.0 25 14.0 0.0 1.0 3
1497257289120 284795554122 2551140624 19 24.0 61.0 36.0 24 26.0 104.0 76.0 25 14.0 238.0 33.0 3
1497257290118 285794011934 2551140624 19 24.0 61.0 36.0 24 26.0 104.0 76.0 25 13.0 238.0 33.0 3
1497257291124 286799792663 2551140624 12 20.0 227.0 77.0 19 24.0 61.0 36.0 24 26.0 104.0 76.0 25 13.0 238.0 33.0 4