# ImmortalTracker-for-CTRL **Repository Path**: zwhcodes/immortal-tracker-for-ctrl ## Basic Information - **Project Name**: ImmortalTracker-for-CTRL - **Description**: ImmortalTracker-for-CTRL - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-04-29 - **Last Updated**: 2025-08-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Immortal_tracker for CTRL ## This is a modified unofficial version of [ImmortalTracker](https://github.com/ImmortalTracker/ImmortalTracker), tailored to easier use for CTRL. We make the follow modifications: - Calculate 3D IoU on GPU for much faster tracking, requiring MMDet3D (/waymo ``` Run the following to convert detection results into to .npz files. The detection results should be in official WOD submission format(.bin) We recommand you to use CenterPoint(two-frame model for tracking) detection results for reproducing our results. Please follow https://github.com/tianweiy/CenterPoint or email its author for CenterPoint detection results. ``` bash preparedata/waymo/waymo_convert_detection.sh /detection_result.bin cp #you can also use other detections: #bash preparedata/waymo/waymo_convert_detection.sh ``` ### Inference Use the following command to start inferencing on WOD. The validation set is used by default. ``` python main_waymo.py --name immortal --det_name cp --config_path configs/waymo_configs/immortal.yaml --process 8 ``` ### Evaluation with WOD official devkit: Follow https://github.com/waymo-research/waymo-open-dataset to build the evaluation tools and run the following command for evaluation: ``` #Convert the tracking results into .bin file python evaluation/waymo/pred_bin.py --name immortal #For evaluation /bazel-bin/waymo_open_dataset/metrics/tools/compute_tracking_metrics_main mot_results/waymo/validation/immortal/bin/pred.bin /validation_gt.bin ``` ## nuScenes Dataset ### Prepare dataset & off-the-shelf detections #### Download nuScenes perception dataset ``` # For nuScenes Dataset └── NUSCENES_DATASET_ROOT ├── samples ├── sweeps ├── maps ├── v1.0-trainval ├── v1.0-test ``` To extract timestamp infos/ego infos, run the following: ``` bash preparedata/nuscenes/nu_preparedata.sh /nuscenes ``` Run the following to convert detection results into to .npz files. The detection results should be in official nuScenes submission format(.json) We recommand you to use centerpoint(two-frame model for tracking) detection results for reproducing our results. ``` bash preparedata/nuscenes/nu_convert_detection.sh /detection_result.json cp #you can also use other detections: #bash preparedata/nuscenes/nu_convert_detection.sh ``` ### Inference Use the following command to start inferencing on nuScenes. The validation set is used by default. ``` python main_nuscenes.py --name immortal --det_name cp --config_path configs/nu_configs/immortal.yaml --process 8 ``` ### Evaluation with nuScenes official devkit: Follow https://github.com/nutonomy/nuscenes-devkit to build the official evaluation tools for nuScenes. Run the following command for evaluation: ``` #To convert tracking results into .json format bash evaluation/nuscenes/pipeline.sh immortal #To evaluate python /nuscenes-devkit/python-sdk/nuscenes/eval/tracking/evaluate.py \ "./mot_results/nuscenes/validation_2hz/immortal/results/results.json" \ --output_dir "./mot_results/nuscenes/validation_2hz/immortal/results" \ --eval_set "val" \ --dataroot /nuscenes ```