Public site of CityLife Sim
This is the official code repository to accompany the paper “CityLifeSim: A High-Fidelity Pedestrian and Vehicle Simulation with Complex Behaviors”. Here we provide python code for generating and running scenarios using the simulation environment as well as links to the datasets and code used for running our experiments
CityLife is a flexible, high-fidelity simulation that allows users to define complex scenarios with essentially unlimited actors, including both pedestrians and vehicles. This tool allows each vehicle and pedestrian to operate with basic intelligence that governs the \emph{low-level} controls needed to maneuver, avoiding collisions, navigating corners, stopping at traffic lights, etc. The high-level controls for each agent then allows the user to define behaviors in an abstract form controlling their sequence of actions (e.g., hurry to this intersection, then cross the road, turn left at the park, following that wait for a bus at the stop, etc.), their speed changes in different legs of the journey, their stopping distances, their susceptibility to be influenced by their environment and their risk taking behavior.
Paper Cheng Yao Wang, Eyal Ofek, Daniel McDuff, Oron Nir, Sai Vemprala, Ashish Kapoor, Mar Gonzalez-Franco (2022)” CityLifeSim: A High-Fidelity Pedestrian and Vehicle Simulation with Complex Behaviors,” 2022 IEEE 2nd International Conference on Intelligent Reality (ICIR), Piscataway, NJ, USA, 2022, pp. 11-16, doi: 10.1109/ICIR55739.2022.00018(https://ieeexplore.ieee.org/abstract/document/10070899)
Video
The dataset contains videos (RGB, depth, segmentation frames) of six scenarios. There a total of 128 pedestrians in each video. One of the scenarios is captured from 17 different points of view (i.e., cameras) to simulate static view points, the others are captured from cameras on moving autonomous vehicles. Here are the download link for each scenario:
You can download the CityLifeSim executable here
$ python generate_scenario.py --traverse_type <TRAVERSE_TYPE> --out_file <SCENARIO_FILE_NAME>.csv
conda env create -f \CityLife_v1\citylifesim.yml
conda activate citylifesim
CityLifeSim python client currently runs on AirSim 1.5.0 verion. Newer version won’t work due to the syntx change for some AirSim API.
$ python run_scenario.py --ped_scenario <SCENARIO_FILE_NAME> --cam_mode <CAM_MODE> --recording
$ python seg2bbox.py --folder <RGB-D FOLDER> --seg_rgbs <FILE_PATH> --save_image
$ python vis_bbox.py --folder <RGB-D FOLDER> --image_id <RGB_IMAGE_ID>
The following Colab downloads CityLifeSim into your drive, applies a SoTA MOT and evaluate it. We leverage the work of (Zhang et al., 2021). For more details please refer to the paper or dive into the code…
Cheng Yao Wang, Eyal Ofek, Daniel McDuff, Oron Nir, Sai Vemprala, Ashish Kapoor, Mar Gonzalez-Franco Microsoft Research