ショートカット

データセットの準備

このページでは、既存のベンチマークでのデータセット準備手順について説明します。以下を含みます。

1. データセットのダウンロード

公式ウェブサイトからデータセットをダウンロードしてください。$MMDETECTION/dataにデータセットのルートへのシンボリックリンクを作成することをお勧めします。

1.1 複数物体追跡

  • 複数物体追跡タスクの学習とテストには、MOTチャレンジデータセット(例:MOT17、MOT20)のいずれかが必要であり、CrowdHumanを補足的なデータセットとして使用できます。

  • 中国のユーザー向けには、以下のデータセットをOpenDataLabから高速でダウンロードできます。

1.2 ビデオインスタンスセグメンテーション

  • ビデオインスタンスセグメンテーションタスクの学習とテストには、YouTube-VISデータセット(例:YouTube-VIS 2019、YouTube-VIS 2021)のいずれか1つのみが必要です。

  • YouTube-VIS 2019データセットはYouTubeVOSからダウンロードできます。

  • YouTube-VIS 2021データセットはYouTubeVOSからダウンロードできます。

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. アノテーションの変換

この場合、公式アノテーションをcoco形式に変換する必要があります。スクリプトを提供しており、使用方法は以下のとおりです。

# MOT17
# The processing of other MOT Challenge dataset is the same as 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/youtubevis2coco.py -i ./data/youtube_vis_2019 -o ./data/youtube_vis_2019/annotations --version 2019

# YouTube-VIS 2021
python ./tools/dataset_converters/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.jsonhalf-train_detections.pklhalf-val_cocoformat.jsonhalf-val_detections.pklは、train_cocoformat.jsontrain_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.txt80は、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 のアノテーションフォルダ

data/crowdhuman/annotationsには2つのJSONファイルがあります。

crowdhuman_train.json:CrowdHumanデータセットの訓練セットのアノテーション情報を格納したJSONファイル。crowdhuman_val.json:CrowdHumanデータセットの検証セットのアノテーション情報を格納したJSONファイル。

youtube_vis_2019/youtube_vis2021 のアノテーションフォルダ

data/youtube_vis_2019/annotationsまたはdata/youtube_vis_2021/annotationsには3つのJSONファイルがあります。

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ファイル。