Skip to content

SKKUAutoLab/AIC25_Track_01

Repository files navigation

DepthTrack: Cluster Meets BEV for Multi-Camera Multi-Target 3D Tracking

Team SKKU-AutoLab - ID 15

Track 1: Multi-Camera 3D Perception of Automation Lab at Sungkyunkwan University

This paper has been accepted and will be presented at the ICCV 2025 Workshop.


I. Dataset preparation

a. Data download

Go to the website of AI-City Challenge to get the dataset.

Download dataset to the folder <MTMC_Tracking_2025>

The dataset folder structure should be as following:

<MTMC_Tracking_2025>
│   ├── test
│   │   ├── Warehouse_017
│   │   │   ├── videos
│   │   │   ├── depth_maps
│   │   │   ├── calibration.json
│   │   │   └── map.png
│   │   ├── Warehouse_018
│   │   ├── Warehouse_019
│   │   └── Warehouse_020
...
b. Data enhance download:

Download the data enhance files from the link below and put them in the folder <MTMC_Tracking_2025>/test/Warehouse_018/videos to replace the original.

<MTMC_Tracking_2025>
│   ├── test
│   │   ├── Warehouse_017
│   │   ├── Warehouse_018
│   │   │   ├── videos
│   │   │   │   ├── Camera_0000.mp4
│   │   │   │   ├── ...
│   │   │   │   └── Camera_0008.mp4

II. Environment setup

a. Installation Miniconda or Anaconda:

  1. Download & install Miniconda or Anaconda from https://docs.conda.io/projects/conda/en/latest/user-guide/install/linux.html

b. Create conda environment:

Follow the instructions in the following files to install the required dependencies.

  • setup/setup_aic25_track1.sh
  • setup/setup_kpr.sh
  • setup/setup_mmpose.sh
  • setup/setup_tracking.sh
AIC25_Track_01
│   ├── setup
│   │   ├── setup_aic25_track1.sh
│   │   ├── setup_kpr.sh
│   │   ├── setup_mmpose.sh
│   │   └── setup_tracking.sh

c. Load weights:

Downnoad each weight file and move them into the corresponding folder:

Move folder aic25_track1 into:

  • model_zoo/aic25_track1
AIC25_Track_01
│   ├── model_zoo
│   │   └── aic25_track1

Move weight swin_base_patch4_window7_224_22k.pth into:

  • ultilities/pose_reid_preprocess/keypoint_promptable_reidentification/pretrained_models/SOLIDER/swin_base_patch4_window7_224_22k.pth
AIC25_Track_01
│   ├── ultilities
│   │   ├── pose_reid_preprocess
│   │   │   ├── keypoint_promptable_reidentification
│   │   │   │   ├── pretrained_models
│   │   │   │   │   ├── SOLIDER
│   │   │   │   │   │   ├── swin_base_patch4_window7_224_22k.pth

Move weight td-hm_hrnet-w48_8xb32-210e_coco-256x192-0e67c616_20220913.pth into:

  • ultilities/pose_reid_preprocess/td-hm_hrnet-w48_8xb32-210e_coco-256x192-0e67c616_20220913.pth
AIC25_Track_01
│   ├── ultilities
│   │   ├── pose_reid_preprocess
│   │   │   ├── td-hm_hrnet-w48_8xb32-210e_coco-256x192-0e67c616_20220913.pth

III. Inference

a. Adjust the configuration

Default link to the dataset in the code is /media/vsw/Data1/MTMC_Tracking_2025/. You need to change it to your own path.

Change the varible ROOT_DATA_FOLDER in the file ultilities/pose_reid_preprocess/configuration.py to the folder path of the dataset <MTMC_Tracking_2025>.

  • ROOT_DATA_FOLDER = <MTMC_Tracking_2025> (example ROOT_DATA_FOLDER ='/media/vsw/Data1/MTMC_Tracking_2025/')

Change the varible ROOT_DATA_FOLDER in the file ultilities/tracking/configuration.py to the folder path of the dataset <MTMC_Tracking_2025>.

  • ROOT_DATA_FOLDER = <MTMC_Tracking_2025> (example ROOT_DATA_FOLDER ='/media/vsw/Data1/MTMC_Tracking_2025/')

Change the varible FOLDER_ROOT in the file ultilities/configuration.py to the folder path of the folder contain dataset <MTMC_Tracking_2025>.

  • FOLDER_ROOT = dirname(<MTMC_Tracking_2025>) (example FOLDER_ROOT = '/media/vsw/Data1/')
  • FOLDER_DATA_VERSION = "MTMC_Tracking_2025"

b. Run the code

Run the following commands in the terminal:

# Run all commands below from the folder AIC25_TRack_01

conda activate aic25_track1

bash run_inference_series.sh

cd ultilities/pose_reid_preprocess
conda activate mmpose
python run_pose.py 
cd ../..

cd ultilities/pose_reid_preprocess/keypoint_promptable_reidentification
conda activate kpr
python run_kpr_aicity25.py
cd ../../..

cd ultilities/tracking
conda activate tracking
python sv_tracking.py
python mv_tracking_prepare.py
python mv_tracking.py
cd ../..

conda activate aic25_track1
python ultilities/mapping_3d.py
python ultilities/filter_objects_out_bev.py
    

After running all command above, the output files will be in the folder

  • <MTMC_Tracking_2025>/ExtractFrames/lookup_table/final_result_filtered.txt
<MTMC_Tracking_2025>
│   ├── ExtractFrames
│   │   ├── lookup_table
│   │   │   └── final_result_filtered.txt

IV. Training (optional)

Training dataset:


V. Acknowledgement

Most of the code is adapted from Mon.

This repository also features code from Ultralytics, Torchreid, MMPose and Bot-Sort

About

Track 1: Multi-Camera 3D Perception of Automation Lab at Sungkyunkwan University

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published