Home

Awesome

MCITrack

Exploring Enhanced Contextual Information for Video-Level Object Tracking<br> Ben Kang, Xin Chen, Simiao Lai, Yang Liu, Yi Liu, Dong Wang

PWC PWC PWC PWC PWC PWC

[Models] , [raw_results], [training_logs]

This is an official pytorch implementation of the paper Exploring Enhanced Contextual Information for Video-Level Object Tracking.

Highlights

New contextual information propagation method

MCITrack utilizes hidden states to efficiently transmit richer and more significant contextual information.

MCITrack_pipeline

Simple architecture

MCITrack has a simple structure, consisting of a backbone, a contextual information fusion module, and a prediction head.

MCITrack_Framework

Strong performance

Comparsion with SOTA Models:

TrackerLaSOT (AUC)LaSOT_ext (AUC)TrackingNet (AUC)GOT10K (A0)
MCITrack-B22475.354.686.377.9
ODTrack-B38473.252.485.177.0
ARTrackV2-25671.650.884.975.9
LoRAT-B22471.750.383.572.1

Large-Scale Comparsion:

TrackerLaSOT (AUC)LaSOT_ext (AUC)TrackingNet (AUC)GOT10K (A0)
MCITrack-L38476.655.787.980.0
ODTrack-L38474.053.986.178.2
ARTrackV2-L38473.653.486.179.5
LoRAT-L37875.156.685.677.5

Install the environment

conda create -n mcitrack python=3.11
conda activate mcitrack
bash install.sh
export PYTHONPATH=<absolute_path_of_MCITrack>:$PYTHONPATH

Data Preparation

Put the tracking datasets in ./data. It should look like:

${MCITrack_ROOT}
 -- data
     -- lasot
         |-- airplane
         |-- basketball
         |-- bear
         ...
     -- got10k
         |-- test
         |-- train
         |-- val
     -- coco
         |-- annotations
         |-- images
     -- trackingnet
         |-- TRAIN_0
         |-- TRAIN_1
         ...
         |-- TRAIN_11
         |-- TEST
     -- vasttrack
         |-- Zither
         |-- Zebra
         ...

Set project paths

Run the following command to set paths for this project

python tracking/create_default_local_file.py --workspace_dir . --data_dir ./data --save_dir .

After running this command, you can also modify paths by editing these two files

lib/train/admin/local.py  # paths about training
lib/test/evaluation/local.py  # paths about testing

Train

Download pre-trained weights and put it under ./pretrained

Train MCITrack

torchrun --nproc_per_node 8 lib/train/run_training.py --script mcitrack --config mcitrack_b224 --save_dir .

Test and evaluate on benchmarks

Put the downloaded checkpoints under ./checkpoints/train/mcitrack

python tracking/test.py mcitrack mcitrack_b224 --dataset lasot --threads 2
python tracking/analysis_results.py # need to modify tracker configs and names
python tracking/test.py mcitrack mcitrack_b224 --dataset lasot_extension_subset --threads 2
python tracking/analysis_results.py # need to modify tracker configs and names
python tracking/test.py mcitrack mcitrack_b224_got --dataset got10k_test --threads 2
python lib/test/utils/transform_got10k.py --tracker_name mcitrack --cfg_name mcitrack_b224_got
python tracking/test.py mcitrack mcitrack_b224 --dataset trackingnet --threads 2
python lib/test/utils/transform_trackingnet.py --tracker_name mcitrack --cfg_name mcitrack_b224
python tracking/test.py mcitrack mcitrack_b224 --dataset tnl2k --threads 2
python tracking/analysis_results.py # need to modify tracker configs and names
python tracking/test.py mcitrack mcitrack_b224 --dataset uav --threads 2
python tracking/analysis_results.py # need to modify tracker configs and names
python tracking/test.py mcitrack mcitrack_b224 --dataset nfs --threads 2
python tracking/analysis_results.py # need to modify tracker configs and names

Test FLOPs, Params and Speed

python tracking/profile_model.py --script mcitrack --config mcitrack_b224

Citation

@inproceedings{kang2025exploring,
  title={Exploring Enhanced Contextual Information for Video-Level Object Tracking}, 
  author={Ben Kang and Xin Chen and Simiao Lai and Yang Liu and Yi Liu and Dong Wang},
  booktitle={AAAI},
  year={2025}
}

Contact