Edinburgh Informatics Forum Pedestrian Database

Introduction

The dataset consists of a set of detected targets of people walking through the Informatics Forum, the main building of the School of Informatics at the University of Edinburgh. The data covers several months of observation which has resulted in about 1000 observed trajectories each working day. By July 4, 2010, there were 27+ million target detections, of which an estimated 7.9 million were real targets, resulting in 92,000+ observed trajectories.

A view of the scene and image data from which the detected targets are found is:
XXX
The main entry/exit points (marked) are at the bottom left (front door), top left (cafe), top center (stairs), top right (elevator and night exit), bottom right (labs). Occasionally, there are events in the Forum which mean that there are many detected targets and tracking is rather difficult. There may be some false detections (noise, shadows, reflections). Normally, only about 30% of the captured frames contain a target and normally there are only a few targets in each frame (1 target in 46% of active frames, 2:25%, 3:14%, 4:8%, 5:4% 6-14:3% of time). There are occasional events in the recorded data, which may result in many 10s or 100s targets detected. Also, sometimes fixed furniture was moved into the field of view which resulted in a constant detection of the furniture in every frame. This accounts for several days (Jul 30, Aug 13) where the file sizes are much larger than usual.

The camera is fixed overhead (although it might drift and vibrate a little over time) approximately 23m above the floor. The distance between the 9 white dots on the floor is 297 cm vertically and 485 cm horizontally. The images are 640x480, where each pixel (horizontally and vertically) corresponds to 24.7 mm on the ground. The capture rate is about 9 frames per second depending on the local ethernet and capture host machine loads. Unfortunately, the sample rate can vary over short periods. Sometimes the capture program crashed, so some capture files may not cover all of a day. Since each captured frame is relatively independent of captured frames more than 10-20 seconds later, this should not make a difference.

The dataset does not consist of the raw images (although a short set of frames of 1 person is here). It contains a summary of each detected target in each image, namely:

The histogram has 64 bins, each counting the number of target foreground pixels that lie in a given colour range. Each RGB colour was quantized into 4 ranges (hence the 4*4*4=64 bins). Because the images are a little dark, we adjusted the bin boundaries to use the full histogram better than if we had used equal sized bins. The quantization we finally chose was four bins with ranges 0:[0..19], 1:[20..49], 2:[50..89], 3:[90..255].

To illustrate the image source process, we start with a frame:
XXX
Detection uses an absolute difference from a fixed median image plus a weighted first eigenimage, which mainly encodes lighting variations. The binary image of the detected target is:
XXX
A typical detected target is:
XXX
from which this colour histogram is extracted:

XXX XXX XXX

A typical set of blobs for a single target is shown here, where each dot marks the center-of-mass of the detected target:
XXX
A view of a few hundred of the trajectories is:
XXX
A view of the corresponding tracked trajectories is:
XXX
A view of the corresponding spline fits to the trajectories is:
XXX

Source image files: We did not keep the source image files for the 92K tracks because this would have been about 5-10 Tb. We include here a 1000 frame sample captured at a later date. There are no detections or tracks for this data.

Detection data files:Each file contains one or more header lines: BEGIN TTT where TTT is the "number of seconds since (00:00:00 UTC, January 1, 1970)". Then, for each frame thereafter in which a target is detected there is a line F M T where T is the time since the start of this file in 0.1 second units and M is the number of the downloaded frame since the start of the program. Due to occasional detector program crashes, there may be more than one BEGIN statements and even the occasional reset without the BEGIN, which can be seen by the M and T values restarting. For each frame, there are one or more detected blobs. Each blob is encoded on one line in the file in the form: [blob id]: [number of pixels] [x_center] [y_center] [x_top_left] [y_top_left] [width] [height] HISTOGRAM. The blob ids are notional and the same target in the next frame may have a different blob number. The number of pixels is a count of the pixels that are detected as being foreground inside the bounding box. The (x_center,y_center) is the center of mass of the foreground pixels. The bounding box is defined from the pixel (x_top_left, y_top_left) at the top left with the given width and height. The colour histogram bin order is rgb : 000,001,002,003,010,011,012,013,020,...,033,100,...,133,200,...233,300...333, where indices 0,1,2,3 cover the ranges given above. So bin 032 means red range 0, green range 3 and blue range 2. NOTE: these files include spurious targets as well as moving people. This includes: packages, tables, chairs, shadows, highlights and other 'non-targets'. Much of this has been removed before this file was produced, but a lot remains. The "Number of detections in tracking" column below is the number of detections that were allocated to actual tracked moving people. There are a few people that were detected, but not included in the tracked trajectories, usually because their detections were intermittent (ie. were not detected for 3 or more frames).

Tracked target files: These files contain sets of detections that have been tracked together into a single target's trajectory. Tracker files start with "% Total number of trajectories in file are [Number]", where Number defines the number of trajectories. Files contain the information in the form of a Matlab structure. The trajectory points and the properties are in two different variables with same identifier.
Each trajectory has a different identifier like "R1" for trajectory number 1 and "R2" for trajectory number 2 and so on. The first variable is
Properties.{Identifier}= [ Number_of_Points_in_trajectory, Start_time, End_Time, Average_Size_of_Target,Average_Width, Average_height, Average_Histogram ];. The histogram has the same format as in the detection file. The second variable contains the full trajectory as TRACK.{Identifier}= [[ centre_X(1) Centre_Y(1) Time(1)] ; [ centre_X(2) Centre_Y(2) Time(2)] ........ and so on .......... until ........ [ centre_X(end) Centre_Y(end) Time(end) ]];. The size of tracked files is about 1MB each.

Tracked spline files: These files contain sets of 6 point spline descriptions of the tracked trajectory. The spline file contains the average error of the spline fit to the tracked trajectories, and the control points. This is for each trajectory produced by tracker with same identifier as tracker. The first line of spline file is "% Total number of trajectories in file are [Number]", where Number defines the number of trajectories. "X and Y are normalized by dividing 640 and 460 respectively" and "Image size is 640*460". Normalization is done because the spline fit works for variables in the range [0,1], so we transformed the values of the trajectory points to fall into [0,1]. The file contain the information in the form of a Matlab structure. Identifiers of each spline are the same as given in the tracker file for the corresponding trajectory . Deviation and Control points are stored as Deviation.{Identifier}= [ Standard deviation ];. This is the average distance between the tracked point and the closest point on the spline.
The control points are stored as: Controlpoints.{Identifier}= [[Controlpoint_x1 Controlpoint_y1]; [Controlpoint_x2 Controlpoint_y2]........ and so on until six points ]]; The size of spline files is about 80KB each. The splines were fit based on a temporal parameterisation, so regions with more detections get more control points. This has the side effect that trajectories where people stand still for long periods of time are not represented accurately. People using the data might also consider investigating a spatial parameterisation whereby control points are spaced uniformly along the spatial trajectory.

The data files can be downloaded by clicking on a file and then unzipping them.



DetectedSize (MB) NumberTrackedNumberNumber Target
Target of Targetof of detectionsSpline
Filename DetectionsFilenameTrajectoriesin trackingFilename
Aug.248254071tracks.Aug2466476260spline.Aug24
Aug.252.270725tracks.Aug2547441164spline.Aug25
Aug.2610.9320393tracks.Aug261992191981spline.Aug26
Aug.2712.8389793tracks.Aug272046201269spline.Aug27
Aug.288.5263960tracks.Aug281666150571spline.Aug28
Aug.292.9263960tracks.Aug2930427279spline.Aug29
Aug.301.869840tracks.Aug301268314spline.Aug30
Sep.0124.1920485tracks.Sep012342217559spline.Sep01
Sep.028.7268967tracks.Sep021478127807spline.Sep02
Sep.0418.9593516tracks.Sep041701165140spline.Sep04
Sep.054.6150050tracks.Sep0530228142spline.Sep05
Sep.061.763237tracks.Sep0618514790spline.Sep06
Sep.0731.5 N/A N/A
Sep.0817 N/A N/A
Sep.0912.5 N/A N/A
Sep.1013.8453259 tracks.Sep10 1266104594spline.Sep10
Sep.116.5208332tracks.Sep11 105470593spline.Sep11
Sep.121.134804tracks.Sep1225324168spline.Sep12
Sep.131.033569tracks.Sep1315711915spline.Sep13
Sep.148.6452786tracks.Sep14109585762spline.Sep14
Sep.1522 N/AN/A
Sep.1613.8432475tracks.Sep161301112710spline.Sep16
Sep.1727.8 N/A N/A
Sep.1814.8467279tracks.Sep18118295853spline.Sep18
Sep.198.1344066tracks.Sep1976543827spline.Sep19
Sep.20139641tracks.Sep20825391spline.Sep20
Sep.216237310tracks.Sep2162251664spline.Sep21
Sep.2214427189tracks.Sep22121494518spline.Sep22
Sep.2314421778tracks.Sep231927171060spline.Sep23
Sep.2411.8390636tracks.Sep2433822521spline.Sep24
Sep.2513.2418718tracks.Sep2547470386spline.Sep25
Sep.2624.6 N/A N/A
Sep.2717570727tracks.Sep2949259262spline.Sep27
Sep.2810.2314295tracks.Sep291592142488spline.Sep28
Sep.2919.2610724tracks.Sep291451132093spline.Sep29
Sep.3014.3469568tracks.Sep301195106941spline.Sep30
Oct.0213268967tracks.Oct021478127807spline.Oct02
Oct.032.171977tracks.Oct0320927769spline.Oct03
Oct.042.3109837tracks.Oct041015797spline.Oct04
Oct.0517550115tracks.Oct05110686827spline.Oct05
Oct.0613.5423540tracks.Oct061581146421spline.Oct06
Oct.0715.3464579tracks.Oct0793967948spline.Oct07
Oct.0811.2333924tracks.Oct081325106863spline.Oct08
Oct.0913.5406033tracks.Oct092046193215spline.Oct09
Oct.109.8453259tracks.Oct101266104594spline.Oct10
Oct.112.179589tracks.Oct1122116436spline.Oct11
Oct.1228.91258247tracks.Oct12147097836spline.Oct12
Oct.1311330339tracks.Oct131548106031spline.Oct13
Oct.1417.3567833tracks.Oct1474252376spline.Oct14
Oct.1514.6524403tracks.Oct15145678523spline.Oct15
Dec.061.250160tracks.Dec06996884spline.Dec06
Dec.115.3158949tracks.Dec1190198140spline.Dec11
Dec.149.4292875tracks.Dec14100079519spline.Dec14
Dec.1514.7452786tracks.Dec151092102961spline.Dec15
Dec.1611361456tracks.Dec1689956163spline.Dec16
Dec.187201854tracks.Dec1897284528spline.Dec18
Dec.191.347230tracks.Dec19837978spline.Dec19
Dec.201.140790tracks.Dec20739579spline.Dec20
Dec.211.342839tracks.Dec21879527spline.Dec21
Dec.226.5229257tracks.Dec2259947271spline.Dec22
Dec.234.6 154641tracks.Dec2330734005spline.Dec23
Dec.247342588tracks.Dec2451523938spline.Dec24
Dec.2513.9 N/A N/A
Dec.2615.2 N/A N/A
Dec.278.5 N/A N/A
Dec.2814.5 N/A N/A
Dec.291.2 56630tracks.Dec291748181spline.Dec19
Dec.301.776178tracks.Dec3027514928spline.Dec30
Dec.310.625198tracks.Dec31684250spline.Dec31
Jan.010.625648tracks.Jan0114429spline.Jan01
Jan.020.733298tracks.Jan02513238spline.Jan02
Jan.030.732813tracks.Jan03331930spline.Jan03
Jan.041.343840tracks.Jan0422420758spline.Jan04
Jan.055.3157060tracks.Jan0590272625spline.Jan05
Jan.069.2286314tracks.Jan0670255357spline.Jan06
Jan.076.6202937tracks.Jan07116598138spline.Jan07
Jan.084.9152989tracks.Jan0889170073spline.Jan08
Jan.0916.6 N/A N/A
Jan.102.6119608tracks.Jan101166363spline.Jan10
Jan.117.4212927tracks.Jan111583150547spline.Jan11
Jan.126.8202268tracks.Jan12107090762spline.Jan12
Jan.139272972tracks.Jan131580160048spline.Jan13
Jan.1413.1409309tracks.Jan1496276947spline.Jan14
Jan.159.3285990tracks.Jan151502148132spline.Jan15
Jan.16137459tracks.Jan1612410387spline.Jan16
Jan.176.1269312tracks.Jan1745423493spline.Jan17
Jan.189.2269312tracks.Jan18102573036spline.Jan18
Jan.1910.4325341tracks.Jan19120389260spline.Jan19
May 291.033640tracks.May2916717829spline.May29
May 300.620413tracks.May3013611334spline.May30
May 315.8170735tracks.May311015126811spline.May31
Jun 213.0406473tracks.Jun0291569920spline.Jun02
Jun 312.6371085tracks.Jun031658162106spline.Jun03
Jun 411.6347280tracks.Jun041975169102spline.Jun04
Jun 50.620734tracks.Jun051159264spline.Jun05
Jun 60.617855tracks.Jun0613212176spline.Jun06
Jun 86.8206832tracks.Jun0885367181spline.Jun08
Jun 94.2124405tracks.Jun0953166483spline.Jun09
Jun 115.7169948tracks.Jun11949103278spline.Jun11
Jun 120.12345tracks.Jun125209spline.Jun12
Jun 149.1267092tracks.Jun141677145965spline.Jun14
Jun 1611.0317900tracks.Jun162126183230spline.Jun16
Jun 1713.1395091tracks.Jun172064195349spline.Jun17
Jun 1811.8344925tracks.Jun182283193658spline.Jun18
Jun 202.878422tracks.Jun2067763979spline.Jun20
Jun 225.2147304tracks.Jun2285288737spline.Jun22
Jun 2412.0360129tracks.Jun241413141791spline.Jun24
Jun 256.5194079tracks.Jun251218123516spline.Jun25
Jun 260.720026tracks.Jun2611813713spline.Jun26
Jun 296.4182450tracks.Jun291118102752spline.Jun29
Jun 3012.0353554tracks.Jun301864171008spline.Jun30
Jul 018.6250529tracks.Jul011262111230spline.Jul01
Jul 023.8109622tracks.Jul0273981610spline.Jul02
Jul 043.9118724tracks.Jul0465250756spline.Jul04
Jul 110.726489tracks.Jul11596094spline.Jul11
Jul 126.7204759tracks.Jul1283893222spline.Jul11
Jul 135.6168670tracks.Jul1395990736spline.Jul13
Jul 1425.8855589tracks.Jul142804384479spline.Jul14
Jul 170.727435tracks.Jul17705429spline.Jul17
Jul 180.626185tracks.Jul18634625spline.Jul18
Jul 199.0256490tracks.Jul191567139437spline.Jul19
Jul 2023.2723206tracks.Jul202631272229spline.Jul20
Jul 2122.9686813tracks.Jul212172240424spline.Jul21
Jul 227.6216624tracks.Jul221508159866spline.Jul22
Jul 233.6105806tracks.Jul2368041849spline.Jul23
Jul 250.516183tracks.Jul25929694spline.Jul25
Jul 267.6238275tracks.Jul261089110071spline.Jul26
Jul 273.7109111tracks.Jul2742951877
Jul 289.3283965tracks.Jul281247125431spline.Jul28
Jul 290.929626tracks.Jul29989572spline.Jul29
Jul 308.8250782tracks.Jul301574188325spline.Jul30
Aug 012.585702tracks.Aug0114622195spline.Aug01
Total (before July 19)28975370959988382100

N/A - tracking is not available on that particular day, usually because there was some event happening so there were a lot of people standing around rather than walking on a focused trajectory.

Programs to do the detection, tracking and spline fitting and abnormal behaviour detection can be downloaded from here:

This data collection was initiated by Barbara Majecka as part of her MSc project. Please cite this dissertation if you use the data in a publication: B. Majecka, "Statistical models of pedestrian behaviour in the Forum", MSc Dissertation, School of Informatics, University of Edinburgh, 2009. The spline fitting code was developed by Rowland Sillito. Improvements to the tracking was by Gurkirt Singh as part of a summer internship. This resulted in the Tracks and Splines datasets. You can read a report of his work here.

Back to the Bob Fisher's homepage


There have been ****** accesses since July 2010.

Valid HTML 4.01 Transitional

© 2010 Robert Fisher