Skip to content

Computer Vision Formats

15 import and 29 export formats, 11 round-tripping. COCO with RLE and crowd regions, YOLO, Pascal VOC, CVAT, Darwin both ways, KITTI, MOT, DAVIS, Cityscapes and more.

Potato reads 15 computer-vision formats and writes 29, with 11 round-tripping. If you are deciding whether to migrate a dataset, the question is usually not whether the labels can come in but whether they can go back out.

Importing

bash
potato import --format coco path/to/annotations.json
potato import path/to/dataset/          # auto-detects by signature file

potato import takes directories and zips, and detects the format from its signature files rather than requiring you to name it.

Import formats: COCO (polygon, RLE, crowd regions, panoptic, keypoints), YOLO, Pascal VOC, CVAT XML, Darwin (V7), LabelMe, KITTI, MOT, DAVIS, Cityscapes, Labelbox, Open Images, VIA, WebDataset, HuggingFace.

COCO imports as-is, including polygon and RLE segmentation and iscrowd crowd regions, with no preprocessing step. Existing annotations and model output can be corrected rather than recreated.

The migration question

An import-only path lets a team leave a platform once but never hand work back. That asymmetry is worth checking before you commit to a tool.

Darwin is bidirectional in Potato, so a V7 dataset can come in, be worked on, and go back. That is the strongest single thing to say about this surface.

The matrix is generated and tested

The format matrix is generated from the registries and pinned by a test that asserts every named format is actually registered, that no registered format is missing from the table, and that one-way paths are labelled one-way in both directions.

A matrix that can drift from the code is worse than no matrix: it tells people a migration will work when it will not, and understating what works steers them away from a migration that would have succeeded.

What each format can carry

Formats differ in which geometry survives them, and the losses are not always obvious:

  • Pascal VOC and KITTI carry boxes only. A polygon exported to either becomes its bounding box.
  • YOLO carries boxes and polygons, not masks.
  • DAVIS carries per-instance masks and nothing else.
  • Cityscapes carries polygons, not boxes.
  • KITTI 3D carries a single yaw, so pitch and roll are discarded — and the export reports how much orientation it dropped. See point clouds.

Round-tripping through a lossy format is lossy in the obvious way, and Potato states which direction loses what rather than leaving you to discover it.