Tracking dataset prepare
数据集准备⚓︎
本页面提供了现有基准数据集的准备说明,包括:
-
多目标跟踪
-
视频实例分割
1. 下载数据集⚓︎
请从官方网站下载数据集,并将数据集的根目录建立软链接到 $MMDETECTION/data 目录下。
1.1 多目标跟踪⚓︎
-
对于多目标跟踪任务的训练和测试,需要下载MOT Challenge数据集之一(例如MOT17、MOT20),CrowdHuman数据集可以作为补充数据集。
-
对于中国的用户,可以从 OpenDataLab 上高速下载如下数据集:
- MOT20
- CrowdHuman
1.2 视频实例分割⚓︎
- 对于视频实例分割任务的训练和测试,只需要选择一个YouTube-VIS数据集(例如YouTube-VIS 2019、YouTube-VIS 2021)即可。
- 可以从 YouTubeVOS 上下载YouTube-VIS 2019数据集。
- 可以从 YouTubeVOS 上下载YouTube-VIS 2021数据集。
1.3 数据结构⚓︎
如果您的文件夹结构与以下结构不同,则可能需要在配置文件中更改相应的路径。
mmdetection
├── mmdet
├── tools
├── configs
├── data
│ ├── coco
│ │ ├── train2017
│ │ ├── val2017
│ │ ├── test2017
│ │ ├── annotations
│ │
| ├── MOT15/MOT16/MOT17/MOT20
| | ├── train
| | | ├── MOT17-02-DPM
| | | | ├── det
| │ │ │ ├── gt
| │ │ │ ├── img1
| │ │ │ ├── seqinfo.ini
│ │ │ ├── ......
| | ├── test
| | | ├── MOT17-01-DPM
| | | | ├── det
| │ │ │ ├── img1
| │ │ │ ├── seqinfo.ini
│ │ │ ├── ......
│ │
│ ├── crowdhuman
│ │ ├── annotation_train.odgt
│ │ ├── annotation_val.odgt
│ │ ├── train
│ │ │ ├── Images
│ │ │ ├── CrowdHuman_train01.zip
│ │ │ ├── CrowdHuman_train02.zip
│ │ │ ├── CrowdHuman_train03.zip
│ │ ├── val
│ │ │ ├── Images
│ │ │ ├── CrowdHuman_val.zip
│ │
2. 转换注释⚓︎
在这种情况下,您需要将官方注释(Annotations)转换为COCO格式。我们提供了相应的脚本,使用方法如下:
# MOT17
# 其他 MOT Challenge 数据集的处理方式与 MOT17 相同。
python ./tools/dataset_converters/mot2coco.py -i ./data/MOT17/ -o ./data/MOT17/annotations --split-train --convert-det
python ./tools/dataset_converters/mot2reid.py -i ./data/MOT17/ -o ./data/MOT17/reid --val-split 0.2 --vis-threshold 0.3
# CrowdHuman
python ./tools/dataset_converters/crowdhuman2coco.py -i ./data/crowdhuman -o ./data/crowdhuman/annotations
# YouTube-VIS 2019
python ./tools/dataset_converters/youtubevis/youtubevis2coco.py -i ./data/youtube_vis_2019 -o ./data/youtube_vis_2019/annotations --version 2019
# YouTube-VIS 2021
python ./tools/dataset_converters/youtubevis/youtubevis2coco.py -i ./data/youtube_vis_2021 -o ./data/youtube_vis_2021/annotations --version 2021
运行这些脚本后,文件夹结构将如下所示:
mmdetection
├── mmtrack
├── tools
├── configs
├── data
│ ├── coco
│ │ ├── train2017
│ │ ├── val2017
│ │ ├── test2017
│ │ ├── annotations
│ │
| ├── MOT15/MOT16/MOT17/MOT20
| | ├── train
| | | ├── MOT17-02-DPM
| | | | ├── det
| │ │ │ ├── gt
| │ │ │ ├── img1
| │ │ │ ├── seqinfo.ini
│ │ │ ├── ......
| | ├── test
| | | ├── MOT17-01-DPM
| | | | ├── det
| │ │ │ ├── img1
| │ │ │ ├── seqinfo.ini
│ │ │ ├── ......
| | ├── annotations
| | ├── reid
│ │ │ ├── imgs
│ │ │ ├── meta
│ │
│ ├── crowdhuman
│ │ ├── annotation_train.odgt
│ │ ├── annotation_val.odgt
│ │ ├── train
│ │ │ ├── Images
│ │ │ ├── CrowdHuman_train01.zip
│ │ │ ├── CrowdHuman_train02.zip
│ │ │ ├── CrowdHuman_train03.zip
│ │ ├── val
│ │ │ ├── Images
│ │ │ ├── CrowdHuman_val.zip
│ │ ├── annotations
│ │ │ ├── crowdhuman_train.json
│ │ │ ├── crowdhuman_val.json
│ │
│ ├── youtube_vis_2019
│ │ │── train
│ │ │ │── JPEGImages
│ │ │ │── ......
│ │ │── valid
│ │ │ │── JPEGImages
│ │ │ │── ......
│ │ │── test
│ │ │ │── JPEGImages
│ │ │ │── ......
│ │ │── train.json (the official annotation files)
│ │ │── valid.json (the official annotation files)
│ │ │── test.json (the official annotation files)
│ │ │── annotations (the converted annotation file)
│ │
│ ├── youtube_vis_2021
│ │ │── train
│ │ │ │── JPEGImages
│ │ │ │── instances.json (the official annotation files)
│ │ │ │── ......
│ │ │── valid
│ │ │ │── JPEGImages
│ │ │ │── instances.json (the official annotation files)
│ │ │ │── ......
│ │ │── test
│ │ │ │── JPEGImages
│ │ │ │── instances.json (the official annotation files)
│ │ │ │── ......
│ │ │── annotations (the converted annotation file)
MOT15/MOT16/MOT17/MOT20中的注释和reid文件夹⚓︎
以 MOT17 数据集为例,其他数据集的结构类似。
在 data/MOT17/annotations 文件夹中有8个JSON文件:
train_cocoformat.json: 包含MOT17数据集训练集的注释信息的JSON文件。
train_detections.pkl: 包含MOT17数据集训练集的公共检测结果的Pickle文件。
test_cocoformat.json: 包含MOT17数据集测试集的注释信息的JSON文件。
test_detections.pkl: 包含MOT17数据集测试集的公共检测结果的Pickle文件。
half-train_cocoformat.json、half-train_detections.pkl、half-val_cocoformat.json 和 half-val_detections.pkl 与 train_cocoformat.json 和 train_detections.pkl 具有类似的含义。half 表示将训练集中的每个视频分成两半。前一半的视频被标记为 half-train 集,后一半的视频被标记为 half-val 集。
data/MOT17/reid 文件夹的结构如下所示:
reid
├── imgs
│ ├── MOT17-02-FRCNN_000002
│ │ ├── 000000.jpg
│ │ ├── 000001.jpg
│ │ ├── ...
│ ├── MOT17-02-FRCNN_000003
│ │ ├── 000000.jpg
│ │ ├── 000001.jpg
│ │ ├── ...
├── meta
│ ├── train_80.txt
│ ├── val_20.txt
train_80.txt 中的 80 表示训练数据集在整个ReID数据集中的比例为80%。而验证数据集的比例为20%。
关于训练,我们提供了一个注释列表 train_80.txt。列表中的每一行包含一个文件名及其对应的真实标签。格式如下所示:
MOT17-05-FRCNN_000110/000018.jpg 0
MOT17-13-FRCNN_000146/000014.jpg 1
MOT17-05-FRCNN_000088/000004.jpg 2
MOT17-02-FRCNN_000009/000081.jpg 3
MOT17-05-FRCNN_000110 表示 MOT17-05-FRCNN 视频中的第110个人。
对于验证集,注释列表 val_20.txt 的格式与上述相同。
reid/imgs 中的图像是通过相应的 gt.txt 从 MOT17/train 中的原始图像中裁剪而来。真实标签的值应在 [0, num_classes - 1] 的范围内。
CrowdHuman 中的 annotations 文件夹⚓︎
data/crowdhuman/annotations 文件夹下有两个JSON文件:
crowdhuman_train.json:包含 CrowdHuman 数据集训练集的注释信息的JSON文件。
crowdhuman_val.json:包含 CrowdHuman 数据集验证集的注释信息的JSON文件。
youtube_vis_2019/youtube_vis2021 中的 annotations 文件夹⚓︎
There are 3 JSON files in data/youtube_vis_2019/annotations or data/youtube_vis_2021/annotations:
youtube_vis_2019_train.json/youtube_vis_2021_train.json:包含 youtube_vis_2019/youtube_vis2021 数据集训练集的注释信息的JSON文件。
youtube_vis_2019_valid.json/youtube_vis_2021_valid.json:包含 youtube_vis_2019/youtube_vis2021 数据集验证集的注释信息的JSON文件。
youtube_vis_2019_test.json/youtube_vis_2021_test.json:包含 youtube_vis_2019/youtube_vis2021 数据集测试集的注释信息的JSON文件。
创建日期: November 27, 2023