[TOC]
Metrics for the “Regular" and "Generalizability" tracks of single agent prediction in the NeurIPS20 stage.
Note that for metrics of the “Regular" and "Generalizability" tracks of the single agent prediction in the ICCV21 stage, please check https://github.com/interaction-dataset/INTERPRET_challenge_multi-agent.
- These scripts assist you to process the INTERACTION Dataset into segments that can be directly used for training, validation and test in the “Regular" and "Generalizability" tracks in the INTERPRET challenge.
- The challenge is based on the INTERACTION dataset. For details about and access to the dataset, visit https://interaction-dataset.com/
- If you want to visualize the INTERACTION dataset, please refer to the github at https://github.com/interaction-dataset/interaction-dataset
python3
is supported
[The INTERPRET challenge] (http://challenge.interaction-dataset.com/prediction-challenge/intro)) includes three tracks:
- Regular track: in this track, you will train your prediction model based on the released data. The test set in this track is sampled on the same traffic scenarios (e.g., maps and traffic conditions) as the released data. You will be given the observations of the test set, and submit the prediction results as csv files to performance evaluation.
- Generalizability track: in this track, you will train your prediction model based on the released data. The test set in this track is sampled on different and new traffic scenarios (e.g., maps and traffic conditions) compared to the released data. You will be given the observations and maps of the test set, and submit the prediction results as csv files to performance evaluation.
- Closed-loop track: this is a track that aims to evaluate the performance of prediction algorithms in a "prediction-->planning" pipeline so that the impacts of predictors to the closed-loop performance can be evaluated. In this track, you will train your prediction model based on the released data, and submit the model as docker images. We will run your predictor in our simulator on multiple scenarios selected on the same traffic scenarios as the release data to evaluate its performance. Virtual, dynamic, and responsive agents will be included in the simulator.
For detailed instructions for the "Closed-loop" track, please visit INTERPRET_challenge_Closed_loop.
csv
: for reading the csv track filesnumpy
,os
,sys
,functools
,shutil
andargparse
for processing the data
- copy/download the INTERACTION drone data into the right place
- copy/download the track files into the folder
recorded_trackfiles
, keep one folder per scenario, as in your download - copy/download the maps into the folder
maps
- copy/download the suggested split .txt file ( validation-set-list_INTERACTION-dataset_v1.txt ) for the train and validation set into the folder
recorded_trackfiles
- your folder structure should look like in folder-structure.md
- copy/download the track files into the folder
- to split all track files into train and validation subfolders
- run
./split_train_val_script.py <path_to_the_suggested_split_txt_file> <path_to_the_recorded_trackfiles>
from folderpython
to split the trackfiles in the corresponding scenarios into two subfolderstrain
andval
. (Internal note: the original csv files in the folder will be moved into the two newly created subfolders)
- run
- to prepare the data into segments that can be directly utilized for the INTERPRET prediction
- run
./segment_data.py <options> <path_to_folder_or_file_from_scenario_folder> number_of_frames_in_segments gap_frames_between_segments
from folderpython
- If users choose
option=default
, all trackfiles in both thetrain
andval
subfolders in all scenarios will be segmented. The segmented csv files will be saved in newly created subfolderssegmented
in corresponding train and validation folders. In the meanwhile, a foldersorted
will also be generated in thetrain
andval
subfolders which contains the csv files that are sorted based on the frame_id instead of the track_id in the file. - If users choose
option=dir
, and specify the <path_to_folder_or_file_from_scenario_folder> as a folder, then all csv files under this folder will be segmented, saved in a newly created subfoldersegmented
. If users chooseoption=file
, and specify<path_to_folder_or_file_from_scenario_folder>
as a .csv file, then the csv file will be segmented, saved in the subfoldersegmented
. - All the segmented track files will follow the names of the original csv files.
- If users choose
- run
- to split all track files and prepare all data into segments
- from the
python
folder, run./split_train_val_script.py <path_to_the_suggested_split_txt_file> <path_to_the_recorded_trackfiles>
- from the
python
folder, run./segment_data.py default <path_to_recorded_track_files> number_of_frames_in_segments gap_frames_between_segments
to split all the train and validation sets for all scenarios and segment all track files. The first parameternumber_of_frames_in_segments
determines how many frames (including both historical and predicted frames) are contained in each training case, and users can decide the length of historical frames and predicted frames as they need. The secondgap_frames_between_segments
defines the gap between two successive test cases with a sameagent
. Typically, you should setgap_frames_between_segments > number_of_frames_in_segments
to avoid overlaps between different test cases. Moreover, in the segmented files, there is one extra column compared to the original track files, i.e., theagent_role
column. Ifagent_role="agent"
, then that agent will be the one whose future trajectories need to be predicted, and all surronding vehicles will be marked asothers
.
- from the
Note: The segmentation process will take a while, so please be patient.