Skip to content

Official repository for the MVA2025 SMOT4SB Challenge. Provides dataset, baseline code, and evaluation scripts for the Small Multi-Object Tracking for Spotting Birds (SMOT4SB) competition, focusing on UAV-based small bird tracking.

License

Notifications You must be signed in to change notification settings

IIM-TTIJ/MVA2025-SMOT4SB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

33 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

MVA2025-SMOT4SB Baseline Code

πŸ† Challenge Page | πŸ“‚ Dataset | πŸ”₯ Baseline Code | πŸ“Š Leaderboard

GitHub stars GitHub forks LICENSE Python GitHub Issues

πŸ† About SMOT4SB Challenge

The SMOT4SB (Small Multi-Object Tracking for Spotting Birds) challenge aims to advance object tracking and detection techniques for small objects in real-world scenarios. Participants are expected to develop tracking methods that improve the SO-HOTA (Small Object Higher-Order Tracking Accuracy) metric, a new evaluation criterion tailored for this challenge.

πŸ”Ή Task: Small Multi-Object Tracking
πŸ”Ή Dataset: SMOT4SB dataset
πŸ”Ή Metric: SO-HOTA

For more details, visit the challenge webpage.

Additionally, the SOD4SB Challenge@MVA2023 baseline model (GitHub repository) and dataset (Google Drive) are also available for use.

Submission format

The submission format follows the TrackEval's format, which is based on the MOT Challenge format, as shown below:

1,1,912,484,97,109,0,7,1  
2,1,912,484,97,109,0,7,1  
3,1,912,484,97,109,0,7,1  
...

The meaning of each column may differ between ground truth (GT) and predictions (pred). Please refer to the table below for details.

cols GT pred
1 frame
2 track id
3 bbox left
4 bbox top
5 bbox width
6 bbox height
7 evaluation flag
(0 means not evaluated)
confidence
(evaluated even if 0)
8 class id (fixed 1 for bird only)
9 visibility ratio (set to 1)

πŸš€ About Baseline Code

Requirements

  • Python 3.8.20
  • FFmpeg (Required if using the visualizer in scripts/visualize_for_mot_sub.py)

πŸ“Œ Quick Start

0️⃣ Clone the repository with submodules

To properly clone this repository along with its submodules, use the following command:

git clone --recurse-submodules https://github.com/IIM-TTIJ/MVA2025-SMOT4SB.git
cd MVA2025-SMOT4SB

1️⃣ Dataset preparation

Download the SMOT4SB dataset from here, and place it under datasets. The directory structure should look like this:

datasets
β”” SMOT4SB
γ€€ β”œ train
γ€€ β”œ pub_test
γ€€ β”œ private_test
γ€€ β”” annotations

After that, run the following command to format the dataset according to the baseline code and place it in OC_SORT/datasets:

python3 scripts/prepare_dataset.py

2️⃣ Package installation

pip3 install -r requirements.txt
pip3 install git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI
cd OC_SORT
python3 setup.py develop
cd ..

3️⃣ Training

First, run the following command under the project root to get the COCO-pretrained YOLOX model and save it under OC_SORT/pretrained:

mkdir OC_SORT/pretrained
wget -P OC_SORT/pretrained https://github.com/Megvii-BaseDetection/storage/releases/download/0.0.1/yolox_x.pth

You can also use any model from this link.

To train the model, run the following command:

sh scripts/train.sh -f OC_SORT/exps/smot4sb.py -d 8 -b 48 --fp16 -c OC_SORT/pretrained/yolox_x.pth

Outputs will be saved under YOLOX_outputs/smot4sb.

4️⃣ Prediction

To make predictions using the trained model, run the following command:

sh scripts/predict.sh -f OC_SORT/exps/smot4sb.py --path OC_SORT/datasets/SMOT4SB/pub_test --ckpt YOLOX_outputs/smot4sb/best_ckpt.pth.tar

Outputs will be saved under YOLOX_outputs/smot4sb/predictions as MOT Challenge format.

5️⃣ Submission

To submit the predictions, you need to compress the prediction txt files into a zip file. Run the following command to do so:

python3 scripts/create_submission.py -i YOLOX_outputs/smot4sb/predictions/pub_test/

The submission file will be saved as <YYYY-MM-DD_hh-mm-ss>.zip.

Once the submission file is generated, go to the CodaBench Submission Page and upload your zip file under the My Submission tab. Your submission will be evaluated automatically, and the results will be displayed on the leaderboard.

🧰 How to use a tools

πŸ‘οΈ Visualization

To visualize the predictions, run the following command:

python3 scripts/visualize_for_mot_ch.py -m YOLOX_outputs/smot4sb/predictions/pub_test/0001.txt -o visualized_video -i OC_SORT/datasets/SMOT4SB/pub_test/0001 --mp4 --show-bbox

This will generate a video named visualized_video.mp4 in the cwd.

The 0001 represents the video name, matching a subdirectory under datasets/SMOT4SB/pub_test. To process a different video, replace 0001 in both the -m and -i options with the corresponding video name.

πŸ“Š Evaluation for validation dataset

For evaluation, the ground truth (GT) and predictions must be in the format and directory structure compatible with TrackEval. The following commands prepare the necessary files:

# Make predictions on the validation data
sh scripts/predict.sh -f OC_SORT/exps/smot4sb.py --path OC_SORT/datasets/SMOT4SB/val --ckpt YOLOX_outputs/smot4sb/best_ckpt.pth.tar

# Modify the directory structure of the predictions
python scripts/cp_preds_for_eval.py -i YOLOX_outputs/smot4sb/predictions/val/ -o eval_inputs

# Prepare the GT
python3 scripts/oc_sort_ann_to_mot_ch.py -i OC_SORT/datasets/SMOT4SB/annotations/val.json -o eval_inputs

The conversion results will be output to the eval_inputs directory.

Next, evaluate using the following command:

python3 TrackEval/scripts/run_smot4sb_challenge.py eval_inputs eval_outputs val --metric-smot4sb

The evaluation results will be saved in the eval_outputs directory.

πŸŽ₯ Demos & Results

πŸ“Œ Sample detection and tracking results:


Public test (0001)

Public test (0004)

πŸ“œ Citation

If you use this baseline, please cite:

@inproceedings{mva2025_smot4sb_challenge,
  title={{MVA2025 Small Multi-Object Tracking for Spotting Birds Challenge: Dataset, Methods, and Results}},
  author={Yuki Kondo and Norimichi Ukita and Riku Kanayama and Yuki Yoshida and Takayuki Yamaguchi and [Challenge winners]},
  booktitle={2025 19th International Conference on Machine Vision and Applications (MVA)},
  note={\url{https://www.mva-org.jp/mva2025/challenge}},
  year={2025}}
Note: This paper is scheduled to be published in July 2025, and the title and other details are subject to change.
@misc{baselinecode_mva2025_smot4sb_challenge,
  title={{Baseline code for SMOT4SB by IIM-TTIJ}},
  author={Riku Kanayama and Yuki Yoshida and Yuki Kondo},
  license={MIT},
  url={\url{https://github.com/IIM-TTIJ/MVA2025-SMOT4SB}},
  year={2025}}

🎨 Contributing

We welcome contributions! If you find any issues or want to improve this repository, please submit a pull request.

About

Official repository for the MVA2025 SMOT4SB Challenge. Provides dataset, baseline code, and evaluation scripts for the Small Multi-Object Tracking for Spotting Birds (SMOT4SB) competition, focusing on UAV-based small bird tracking.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •