MMTracking项目数据集准备完全指南
前言
MMTracking作为一款优秀的视频目标跟踪与检测工具箱,支持多种主流数据集。本文将详细介绍如何为MMTracking准备各类数据集,包括视频目标检测、多目标跟踪、单目标跟踪以及视频实例分割等任务所需的数据集。
数据集概览
MMTracking支持以下主要任务类型的数据集:
-
视频目标检测(Video Object Detection)
- ILSVRC数据集
-
多目标跟踪(Multiple Object Tracking)
- MOT Challenge系列
- CrowdHuman
- LVIS
- TAO
- DanceTrack
-
单目标跟踪(Single Object Tracking)
- LaSOT
- UAV123
- TrackingNet
- OTB100
- GOT10k
- VOT2018
-
视频实例分割(Video Instance Segmentation)
- 在线视频平台VIS系列
数据集下载与目录结构
1. 下载数据集
建议将所有数据集统一存放在data
目录下,保持以下目录结构:
mmtracking
├── data
│ ├── coco
│ ├── ILSVRC
│ ├── MOT17
│ ├── DanceTrack
│ ├── crowdhuman
│ ├── lvis
│ ├── tao
│ ├── lasot
│ ├── UAV123
│ ├── trackingnet
│ ├── otb100
│ ├── got10k
│ ├── vot2018
│ ├── online_vis_2019
│ ├── online_vis_2021
2. 特殊数据集处理说明
2.1 OTB100数据集
OTB100数据集可以通过提供的脚本自动下载:
python ./tools/convert_datasets/otb100/download_otb100.py -o ./data/otb100/zips -p 8
2.2 VOT2018数据集
使用官方脚本下载VOT2018:
python ./tools/convert_datasets/vot/download_vot.py --dataset vot2018 --save_path ./data/vot2018/data
数据格式转换
MMTracking使用CocoVID格式统一管理所有数据集,因此需要将原始数据集转换为该格式。
1. 转换脚本使用示例
1.1 ImageNet数据集
# DET部分转换
python ./tools/convert_datasets/ilsvrc/imagenet2coco_det.py -i ./data/ILSVRC -o ./data/ILSVRC/annotations
# VID部分转换
python ./tools/convert_datasets/ilsvrc/imagenet2coco_vid.py -i ./data/ILSVRC -o ./data/ILSVRC/annotations
1.2 MOT系列数据集
# MOT17转换
python ./tools/convert_datasets/mot/mot2coco.py -i ./data/MOT17/ -o ./data/MOT17/annotations --split-train --convert-det
python ./tools/convert_datasets/mot/mot2reid.py -i ./data/MOT17/ -o ./data/MOT17/reid --val-split 0.2 --vis-threshold 0.3
1.3 DanceTrack数据集
python ./tools/convert_datasets/dancetrack/dancetrack2coco.py -i ./data/DanceTrack -o ./data/DanceTrack/annotations
1.4 在线视频平台VIS数据集
# 2019版本
python ./tools/convert_datasets/onlinevis/onlinevis2coco.py -i ./data/online_vis_2019 -o ./data/online_vis_2019/annotations --version 2019
# 2021版本
python ./tools/convert_datasets/onlinevis/onlinevis2coco.py -i ./data/online_vis_2021 -o ./data/online_vis_2021/annotations --version 2021
关键文件说明
1. ILSVRC数据集注释文件
转换后在data/ILSVRC/annotations
目录下会生成三个关键文件:
imagenet_det_30plus1cls.json
:包含ImageNet DET训练集注释imagenet_vid_train.json
:包含ImageNet VID训练集注释imagenet_vid_val.json
:包含ImageNet VID验证集注释
2. MOT数据集注释文件
以MOT17为例,转换后会生成多个关键文件:
train_cocoformat.json
:训练集注释train_detections.pkl
:训练集公开检测结果test_cocoformat.json
:测试集注释test_detections.pkl
:测试集公开检测结果- 半分割文件:
half-train_*
和half-val_*
最佳实践建议
- 数据集管理:建议使用符号链接管理数据集,便于多项目共享
- 存储空间:视频数据集通常较大,确保有足够的存储空间
- 下载顺序:优先下载常用数据集如MOT17、DanceTrack等
- 转换验证:转换完成后检查生成的JSON文件是否完整
- 版本控制:注意不同年份的数据集版本差异
常见问题解答
Q:为什么需要转换数据集格式? A:统一使用CocoVID格式可以简化模型训练流程,便于不同数据集间的迁移学习和比较。
Q:转换过程中出现错误怎么办? A:首先检查原始数据集是否完整下载,路径是否正确;其次查看错误日志,通常是由于文件缺失或权限问题导致。
Q:如何验证数据集转换是否正确? A:可以使用MMTracking提供的可视化工具检查转换后的标注是否与图像匹配。
结语
正确准备数据集是使用MMTracking进行视频目标跟踪与检测研究的第一步。本文详细介绍了各类数据集的下载、转换和管理方法,希望能帮助研究者快速上手。在实际应用中,可以根据具体任务需求选择合适的数据集组合,发挥MMTracking的最佳性能。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考