alfredgu001324 / MapUncertaintyPrediction

[CVPR 2024 Award Candidate] Producing and Leveraging Online Map Uncertainty in Trajectory Prediction
https://arxiv.org/abs/2403.16439
Apache License 2.0
154 stars 12 forks source link

Whether there is a full model readme? #12

Closed JT-Sun closed 3 months ago

JT-Sun commented 3 months ago

I configured the environment to process data according to the readme doc files you provided, but found that the Merge Map and Trajectory Dataset, Trajectory Train and Eval were not complete. For example, there is a lack of DenseTNT training and evaluation, and I would like to ask if there is a complete model readme guide.

alfredgu001324 commented 3 months ago

Thanks for pointing this out! I will let my collaborator know and update it as soon as possible.

In terms of the merging step, which part do you think is incomplete?

JT-Sun commented 3 months ago

Thank you for your quick reply!Looking forward to your update!

  1. As for Merge Map and Trajectory Dataset: There are 4 Trajdata pickle files: traj_sceneframe{full_train, full_val, mini_train, minival}.pkl But 3 Ground truth files: gt{full_train, full_val, mini_val}.pickle
  2. For merge code python adaptor.py \ --version mini \ # [trainval, mini] --split mini_val \ # [train, train_val, val, mini_train, mini_val] --map_model MapTR \ # [MapTR, StreamMapNet] there are 5 options for split [train, train_val, val, mini_train, mini_val] ,how does it correspond to the above file.
    1. After running the above script, what will become of the complete folder structure? MapUncertaintyPrediction ├── nuscenes/ ├── processed/ ├── adaptor_files/ ├── trj_data/ | ├── maptr/ │ | ├── mini_val/ │ | | ├── data/ │ | | | ├── scene-{scene_id}.pkl │ | ├── train/ │ | ├── val/ │ ├── maptrv2/ │ ├── maptrv2_cent/ │ ├── stream/ every subset of trj_data such as maptrv2 will conclude 3 subset? │ | | ├── data/ │ | | | ├── scene-{scene_id}.pkl │ | ├── train/ │ | ├── val/
alfredgu001324 commented 3 months ago
  1. Yes, there are only 3 gt files since I probably thought mini_train is not as important so did not generate it (sorry). I can try generating it for the sake of completeness but that might take a while since I am currently on my internship and this codebase is a while ago that I need to refresh my memory a little bit.

  2. Very good question. I followed the convention of trajdata, so trainval would corresponds to train and val, which is the complete training and validation set (corresponds to the files started with full_). mini would then corresponds to 'mini_train' and 'mini_val'.

  3. Yes that is correct. Basically each sub-directory of trj_data contains the merged map and trj data. So for example, trj_data/maptrv2 would contain the MapTRv2 map information along with the trajectory information. And depends on which split you want to generate based on the commands you mentioned in Q2, you can generate a maximum of 3 subsets of data here. I was mainly using train for training, val for full validation, mini_val for inspection purposes.

JT-Sun commented 3 months ago

Thank you very much for your timely reply and answer! So if I want to get the experimental results in the paper, I just need to follow the Ground truth files: gt_{full_train, full_val, mini_val}.pickle, split Select train,val, and mini_val and get three subset of each dataset under trj_data. So for the HiVT training,the trj_data of each subset I only need train for training.

alfredgu001324 commented 3 months ago

Yes that is exactly correct. Actually the wording should be 3 splits of the dataset under trj_data. But I think you get it haha

JT-Sun commented 3 months ago

Thank you very much!Looking forward to your update about DenseTNT training and evaluation! Best wishes