Multiple Object Tracking (MOT)#
Format specification#
The Multiple Object Tracking (MOT) challenge dataset provides bounding box tracking data for multiple objects within image sequences.
Supported annotation types:
Bbox
(object detection)
Supported annotation attributes:
track_id
(int) - Unique ID assigned to an object within a trajectoryvisibility
(float) - Visibility ratio of each bounding box due to occlusion by another static or moving object, or due to image border croppingoccluded
(boolean) -True
ifvisibility < occlusion_threshold
, otherwiseFalse
ignored
(boolean) -True
if the confidence score of bounding box is zero, otherwiseFalse
score
(float) - Confidence score of bounding box
Import MOT dataset#
You can download the MOT challenge dataset here.
A Datumaro project with the MOT challange source can be created in the following way:
datum project create
datum project import --format mot <path/to/dataset>
It is possible to specify project name and project directory. Run
datum project create --help
for more information.
The MOT challenge dataset directory should have the following structure:
└─ Dataset/
├── gt
│ ├── gt.txt
│ └── labels.txt
├── img1
│ ├── <name_1>.<img_ext>
│ ├── <name_2>.<img_ext>
│ └── ...
└── seqinfo.ini (optional)
seqinfo.ini
is provided by the MOT challange dataset but it is optional in Datumaro.
It includes imdir
field which is the name of directory having image files.
If this file is given, Datumaro will find the image files from the directory written in the imdir
field.
To make sure that the selected dataset has been added to the project, you can
run datum project info
, which will display the project information.
Export to other formats#
Datumaro can convert the MOT challange dataset into any other format Datumaro supports.
Such conversion will only be successful if the output
format can represent the type of dataset you want to convert,
e.g. object detection annotations can be
saved in COCO instances
format, but not as COCO keypoints
.
There are several ways to convert the MOT dataset to other dataset formats:
datum project create
datum project import -f mot <path/to/mot>
datum project export -f coco_instances -o <output/dir>
or
datum convert -if mot -i <path/to/mot> -f coco_instances -o <output/dir>
Or, using Python API:
import datumaro as dm
dataset = dm.Dataset.import_from('<path/to/dataset>', 'mot')
dataset.export('save_dir', 'coco_instances', save_media=True)
Extra options for importing to the MOT format:
occlusion_threshold
determines theoccluded
boolean attribution of a bounding box. Ifvisibility < occlusion_threshold
, the bounding box will haveoccluded=True
, otherwise it will haveoccluded=False
. The default value isocclusion_threshold=0.0
.
Export to MOT#
There are several ways to convert a dataset to the MOT format:
# export dataset into MOT format from existing project
datum project export -p <path/to/project> -f mot -o <output/dir> \
-- --save-media
# converting to MOT format from other format
datum convert -if coco_instances -i <path/to/dataset> \
-f mot -o <output/dir> -- --save-media
Extra options for exporting to the MOT format:
--save-media
allow to export dataset with saving media files (by defaultFalse
)--image-ext IMAGE_EXT
allow to specify image extension for exporting dataset (by default - keep original or use.png
, if none)--save-dataset-meta
- allow to export dataset with saving dataset meta file (by defaultFalse
)
Examples#
Examples of using this format from the code can be found in the format tests