VoTT JSON
Format specification
VoTT (Visual Object Tagging Tool) is an open source annotation tool released by Microsoft. VoTT JSON is the format used by VoTT when the user exports a project and selects “VoTT JSON” as the export format.
Supported annotation types:
Bbox
Import VoTT dataset
A Datumaro project with a VoTT JSON source can be created in the following way:
datum create
datum import --format vott_json <path/to/dataset>
It is also possible to import the dataset using Python API:
import datumaro as dm
vott_json_dataset = dm.Dataset.import_from('<path/to/dataset>', 'vott_json')
VoTT JSON dataset directory should have the following structure:
dataset/
├── dataset_meta.json # a list of custom labels (optional)
├── img0001.jpg
├── img0002.jpg
├── img0003.jpg
├── img0004.jpg
├── ...
├── test-export.json
├── train-export.json
└── ...
To add custom classes, you can use dataset_meta.json
.
Export to other formats
Datumaro can convert a VoTT JSON dataset into any other format Datumaro supports. To get the expected result, convert the dataset to a format that supports bounding boxes.
There are several ways to convert a VoTT JSON dataset to other dataset formats using CLI:
datum create
datum import -f vott_json <path/to/dataset>
datum export -f voc -o ./save_dir -- --save-media
or
datum convert -if vott_json -i <path/to/dataset> \
-f voc -o <output/dir> -- --save-media
Or, using Python API:
import datumaro as dm
dataset = dm.Dataset.import_from('<path/to/dataset>', 'vott_json')
dataset.export('save_dir', 'voc')
Examples
Examples of using this format from the code can be found in VoTT JSON tests.