SYNTHIA
Format specification
The original SYNTHIA dataset is available here.
Datumaro supports all SYNTHIA formats except SYNTHIA-AL.
Supported annotation types:
Mask
Supported annotation attributes:
dynamic_object
(boolean): whether the object moving
Import SYNTHIA dataset
A Datumaro project with a SYNTHIA source can be created in the following way:
datum create
datum import --format synthia <path/to/dataset>
It is also possible to import the dataset using Python API:
import datumaro as dm
synthia_dataset = dm.Dataset.import_from('<path/to/dataset>', 'synthia')
SYNTHIA dataset directory should have the following structure:
dataset/
├── dataset_meta.json # a list of non-format labels (optional)
├── GT/
│ ├── COLOR/
│ │ ├── Stereo_Left/
│ │ │ ├── Omni_B
│ │ │ │ ├── 000000.png
│ │ │ │ ├── 000001.png
│ │ │ │ └── ...
│ │ │ └── ...
│ │ └── Stereo_Right
│ │ ├── Omni_B
│ │ │ ├── 000000.png
│ │ │ ├── 000001.png
│ │ │ └── ...
│ │ └── ...
│ └── LABELS
│ ├── Stereo_Left
│ │ ├── Omni_B
│ │ │ ├── 000000.png
│ │ │ ├── 000001.png
│ │ │ └── ...
│ │ └── ...
│ └── Stereo_Right
│ ├── Omni_B
│ │ ├── 000000.png
│ │ ├── 000001.png
│ │ └── ...
│ └── ...
└── RGB
├── Stereo_Left
│ ├── Omni_B
│ │ ├── 000000.png
│ │ ├── 000001.png
│ │ └── ...
│ └── ...
└── Stereo_Right
├── Omni_B
│ ├── 000000.png
│ ├── 000001.png
│ └── ...
└── ...
RGB
folder containing standard RGB images used for training.GT/LABELS
folder containing containing PNG files (one per image). Annotations are given in three channels. The red channel contains the class of that pixel. The green channel contains the class only for those objects that are dynamic (cars, pedestrians, etc.), otherwise it contains0
.GT/COLOR
folder containing png files (one per image). Annotations are given using a color representation.
When importing a dataset, only GT/LABELS
folder will be used.
If it is missing, GT/COLOR
folder will be used.
The original dataset also contains depth information, but Datumaro does not currently support it.
To add custom classes, you can use dataset_meta.json
.
Export to other formats
Datumaro can convert a SYNTHIA dataset into any other format Datumaro supports. To get the expected result, convert the dataset to a format that supports segmentation masks.
There are several ways to convert a SYNTHIA dataset to other dataset formats using CLI:
datum create
datum import -f synthia <path/to/dataset>
datum export -f voc -o <output/dir> -- --save-media
or
datum convert -if synthia -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>', 'synthia')
dataset.export('save_dir', 'voc')
Examples
Examples of using this format from the code can be found in the format tests