Data Formats
DIVE Desktop and Web support a number of annotation and configuration formats. The following formats can be uploaded or imported alongside your media and will be automatically parsed.
- DIVE Annotation JSON (default annotation format)
- DIVE Configuration JSON
- VIAME CSV
- KPF (KWIVER Packet Format)
- COCO and KWCOCO (web only)
- MASK Zip Files (web only)
DIVE Annotation JSON
Info
The current DIVE schema version is v2. Version 2 was introduced in DIVE version 1.9.0. It is backward-compatible with v1.
Files are typically named result_{dataset-name}.json
. Their schema is described as follows.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
|
The full source TrackData definition can be found here as a TypeScript interface.
Example JSON File
This is a relatively simple example, and many optional fields are not included.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
|
DIVE Configuration JSON
This information provides the specification for an individual dataset. It consists of the following.
- Allowed types (or labels) and their appearances are defined by
customTypeStyling
andcustomGroupStyling
. - Preset confidence filters for those types are defined in
confidenceFilters
- Track and Detection attribute specifications are defined in
attributes
The full DatasetMetaMutable definition can be found here.
1 2 3 4 5 6 7 |
|
VIAME CSV
Read the VIAME CSV Specification.
Warning
VIAME CSV is the format that DIVE exports to. It doesn't support all features of the annotator (like groups) so you may need to use the DIVE Json format. It's easier to work with.
KWIVER Packet Format (KPF)
DIVE supports MEVA KPF
- Read the KPF Specification
- See example data in meva-data-repo
Info
KPF is typically broken into 3 files, but DIVE only supports annotations being loaded as a single file. However, the 3-file breakdown is just convention and KPF can be loaded from a single combined file.
1 2 |
|
COCO and KWCOCO
Only supported on web.
- Read the COCO Specification
- Read the KWCOCO Specification
DIVE Segmentation Masks Format
DIVE supports the use of per-frame PNG masks and optional COCO-style RLE masks, bundled in a ZIP file. This format is intended for semantic or instance segmentation overlays tied to specific tracks and frames.
ZIP File Requirements
The ZIP file should contain a top-level masks/
folder. Each subfolder inside masks/
corresponds to a track ID and contains PNG files named by frame number (both as integers without leading zeros).
This structure ensures DIVE can properly associate each mask image with the correct track and frame.
Folder Structure Example
1 2 3 4 5 6 7 8 9 |
|
All track and frame keys should be strings representing integers with no leading zeros.
Girder Metadata Structure
When processed in Girder (via the DIVE import tool or programmatically):
- The top-level
masks/
folder is created and tagged with metadata:
1 2 3 |
|
- Each subfolder (e.g.,
1/
,2/
) representing a track is tagged with metadata:
1 2 3 |
|
- Each PNG image file will be uploaded under its corresponding track folder and automatically associated with the appropriate track ID and frame number.
- A Girder Item located ./masks/4/150.png would have the following metadata associated with it
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
|