scieee AI-readable full text Open interactive document viewer

Pedestrian Trajectory Dataset of Public European Squares

Wolff, Nils; Perry, Layne

Abstract

Note 2026-01-16: Access restricted for copyright reasons. Please see version v1.1 for full access. Pedestrian trajectories are used in urban and behavioral research to learn about human behavior in public space and the impact of spatial features on pedestrian flows. Currently, these trajectories are collected manually, with self-tracking devices, or with video cameras. Even when trajectories are obtained using computational techniques, such as using computer vision to trace them in space, these datasets are not made available for reproducibility or comparative studies between different locations. To close this gap, this dataset makes available the data of pedestrian trajectories collected in 39 European squares. The collection process is based on collecting footage from publicly available webcams. Trajectories where then extracted using object detection (YOLOv10), tracking (Bytetrack), and georeferencing (QGis and Python-opencv). Data cleaning and validation steps are described in the README file. The dataset ultimately includes 348,200 pedestrian trajectories extracted from 193 hours of video footage, collected at different times of the day, during working days and weekends, and during the Spring and Summer season.

Full text

1. Dataset Descrip-on This trajectory dataset is provided here as an output of ongoing MIT Senseable City Lab research. It is part of the publica=on “Pedestrian Trajectory Dataset of Public European Squares” by Wolff et al. containing pedestrian trajectories in 39 European squares in pixeland real-world coordinates. A"ribute Value Resolu=on (pixel) 1280 x 720 Frame rate (fps) 15 Annotated frame rate (fps) 2 Annotated pedestrian number 346,600 2. How to download the data and the code Data: h[ps://doi.org/10.5281/zenodo.16362241 Code: h[ps://doi.org/10.5281/zenodo.17855754 3. Disclaimer The dataset, containing anonymous, georeferenced trajectories of pedestrians on European squares, was made accessible by MIT SCL to the scien=fic community. The proprietary dataset is not accessible to the public. 4. Dataset crea-on process 1. Data collec0on: Places were recorded in the given resolu=on and compression algorithm of the webcam stream. These varied between HD and 4K. 2. Preprocessing of video file: a. Video length was cut to a length of 30min b. The resolu=on was set to HD (1280x720 pixels) c. The framerate was set to 15fps 3. Object detec0on algorithm a. As object detec=on algorithm a custom trained YOLOv10l_crowdhuman was used. b. The tracking algorithm was Bytetrack. c. Output: i. Annotated video ii. CSV file with trajectories 4. Trajectory processing a. Trajectories with less than 30 frames were removed. b. The center coordinates for each human loca=on (y_max = bo[om; x_centre=x_maxx_min) were calculated. c. Ji[ering and outliers were removed by applying a sliding window on human coordinates. Window size = 8. d. Real-world coordinates were calculated. i. Input files: transforma=on matrix to transform pixel coordinates into realworld coordinates. ii. Real-world coordinates were saved in the system ESPG: 3857. e. Trajectories were masked with the place polygons: Coordinates outside of the place polygon were removed (e.g. when on private ground or road). f. Again, all trajectories with less than 30 frames were removed. g. The complexity (and size) of trajectories was reduced by reducing the resolu=on of data points from 15 points per second to two points per second. This increased the processing speed of following calcula=on steps and removed unneeded complexity. The impact of outliers was reduced by already having calculated the moving average in step 4-c. h. A geojson file with all trajectories per place was created. It was used to display trajectories in tools like QGIS or ArcGIS for data valida=on and visualiza=on. i. The walking speed was calculated: i. A column with longitude and la=tude was added to avoid distor=on of the Mercator projec=on. long and lat were represented in the crs EPSG:4326. ii. Speed of pedestrians was calculated based on the =me column and “real_world_x” and “real_world_y”. j. The number of people was calculated for every =me of the recording. 5. Content Place stats: Item Usage Type Format Unit Source No. unique iden=fier for square Int number City City name string - Country Country name string - lat La=tude of square float ° long Longitude of square float ° Date Date of recording string YYYYMMDD - =meslot Time-category of recording String morning/noon/ evening/saturday - rec_dur Dura=on of the recording int seconds people_total Total number of unique tracker_ids int people_mean Mean number of tracker_ids per frame int people_median Median number of tracker_ids per frame int count_staying total number of people staying (speed <0.2m/s for more than 5s) int count_walking total number of people walking (people not staying) int speed_total_mean Mean speed of all people float speed_total_median Median speed of all people float speed_total_std std speed of all people float speed_walking_mean Mean speed of people classified as walking float speed_walking_median Median speed of people classified as walking float speed_walking_std std speed of people classified as walking float speed_staying_mean Mean speed of people classified as staying float speed_staying_median Median speed of people classified as staying float speed_staying_std std speed of people classified as staying float dur_sum Total accumulated =me of people detected on square float dur_mean Mean =me per tracker_id detected on square float dur_median Median =me per tracker_id detected on square float dur_std std =me per tracker_id detected on square float Residents Number of residents in city int Wikipedia café Presence of cafe string Yes/No Google earth fountain Presence of fountain string Yes/No Google earth area area of square int m2 our data collec=on Temp city temperature during recording Int °C API Windspeed city windspeed during recording Int km/h API precipita=on city precipita=on during recording Int mm API humidity city humidity during recording Int 0…100 % API descrip=on descrip=on for weather during recording string partly cloudy/sunny/Mist - API Rec_=me exact =me of recording =me hh:mm:ss - descrip=on weather descrip=on string sunny/partly cloudy/clear/patchy rain nearby/mist API Trajectory files: Item Usage Type Format Unit Source x_min the les edge of the bounding box in pixel coordinates float YOLOv10 x_max the right edge of the bounding box in pixel coordinates float YOLOv10 y_min the top edge of the bounding box in pixel coordinates float YOLOv10 y_max the bo[om edge of the bounding box in pixel coordinates float YOLOv10 centre_x (x_max + x_min)/2 float centre y y_max float centre_x_sw sliding window over centre_x (window_size = 8) float centre_y_sw sliding window over centre_y (window_size = 8) float real_world_x centre_x georeferenced float ESPG:3857 real_world_y centre_y georeferenced float ESPG:3857 real_world_sw_x sliding window over real_world_x (window_size = 8) float real_world_sw_y sliding window over real_world_y (window_size = 8) Float longitude real_world_sw_x transformed Float ESPG:4326 la=tude real_world_sw_x transformed Float ESPG:4326 class_id The ID of a class follows the defini=ons of the COCO dataset. Float In this research always ‘0’ for the class human YOLOv10 confidence percentage of confidence that the bounding box describes the specific class Float 0…1 YOLOv10 tracker_id a unique ID for every detected human Int Bytetrack frame_index The video frame on which the detec=on was performed. For a video with 15 frames per second (fps), there is a =me difference of 0.067 seconds between every frame. Float speed Calculated based on longitude and la=tude Float m/s nr_people number of unique tracker_ids calculated for each frame Int Loca0on of places: 6. Sample Data