Annotation Formats

Remo can read and output annotations in a variety of formats.

We aim to offer native support for:

  • most used formats by the Computer Vision community
  • simple formats to be used as conversion points to process custom annotation formats

Supported Annotation formats

You can import and export annotations using the following formats:

Image Classification

Supported Format Example Input / Output
Plain CSV plain_img_class.csv Both
Pascal VOC XML voc_img_class.xml Input
Remo JSON remo_img_class.json Output

Object Detection

Supported Format Example Input / Output
Coco JSON coco_obj_det_io.json Both
Plain CSV obj_det.csv Both
Pascal VOC XML voc_obj_det.xml Input
Open Images CSV old_obj_det_i.csv Input
Remo JSON plain_obj_det_o.json Output

Instance Segmentation

Supported Format Example Input / Output
Coco JSON coco_inst_seg.json Both
Remo JSON plain_inst_seg.json Output
Plain CSV plain_inst_seg_o.csv Output

Additional info

Image files

  • can have any of these extensions: .png, .jpg, .jpeg, .tif, .tiff

Class encoding

A custom class encoding csv file can be passed to convert between IDs and labels

Some pre-made class encodings are also available

Coordinates

  • can be expressed in either pixels or percentages wherever possible
  • (0,0) indicates the top left corner of an images
  • percentage example: (x, y) = (0.6, 0.9) means (x = 0.6*width , y=0.9*height)

Image Classification

When importing data in Remo, these are the minimum fields required:


Format File type Required fields Optional Fields Example
Pascal VOC XML filename, object {name} voc_img_class.xml
Plain CSV file CSV file_name, class_name plain_img_class.csv

Pascal VOC

The Pascal VOC XML annotation format became popular thanks to the ImageNet challenge, which adopted the format of the PASCAL VOC challenge.

By default, on import classes follow the WordNet encoding, which you can download here

Plain CSV

This is a custom simple format we support to facilitate converting data.

  • Columns in the file have to be separated by commas
  • Remo supports the following variations on column headers:
file_name class_name
image, image_id, image id, file_name, filename, file, file name, file_path, path, file path class, label, name, class_name, class name, label_name, label name, category

Object Detection

When importing data in Remo, these are the minimum fields required:

Format File type Required fields Optional Fields Example
Coco Object Detection JSON file_name, segmentation, area, iscrowd, image_id, bbox, category_id, id info {url, version, year, contributor, date_created}, licences: {url, id, name}, images{ date_captured,license, url}, annotations {area} coco_obj_det_io.json
Pascal VOC XML filename, size, object{name, bndbox} voc_obj_det.xml
Open Images CSV ImageID, LabelName, Confidence,XMin, XMax, YMin, YMax Source, IsOccluded, IsGroupOf, IsDepiction, IsInside old_obj_det_i.csv
Plain CSV file CSV file_name, class_name, xmin, ymin, xmax, ymax - obj_det.csv

Coco

You can read more about the Common Objects in Context challenge here

Coordinates for bounding boxes are expressed in pixel values as [xmin, ymin, width, height].

Pascal VOC

You can read more about the Pascal Visual Objects Classes challenge here.

Classes are WordNet encoded which you can download here.

Open Images

You can read more about the Open Images challenge here.

Classes (LabelName) are Google Knowledge Graph encoded which you can access here.

Plain CSV

We support the following variations on column headers:

file_name class_name xmin xmax ymin ymax
image, image_id, image id, file_name, filename, file, file name, file_path, path, file path class, label, name, class_name, class name, label_name, label name, category xmin, x_min, x min, x1, x_1 xmax, x_max, x max, x2, x_2 ymin, y_min, y min, y1, y_1 ymax, y_max, y min, y2, y_2

Instance Segmentation

When importing data in Remo, these are the minimum fields required:

Format File type Required fields Optional Fields Example
Coco Instance Segmentation JSON file_name, segmentation, area, iscrowd, image_id, category_id, id info {url, version, year, contributor, date_created}, licences {url, id, name}, images {date_captured, license, url}, annotations {bbox} coco_inst_seg.json

Coco

You can read more about the Common Objects in Context challenge here

Coordinates are expressed in pixel values as [x, y] pairs.