Skip to content

Importing Data & Annotations

Options to import data and annotations exist throughout the platform. Data can be imported during dataset creation or by adding to existing datasets, and annotations can be imported from the dataset tab of a project details page.

Importing Data

Data can be imported to the Innotescus platform in two ways - either through the dataset creation process, or by adding data to an existing dataset.

Sources

Data can be uploaded from your local machine or a list of pre-signed URLs, imported from Dropbox, Google Drive, Google Cloud, Azure or Amazon S3. Any stored links to cloud providers can be removed from a user's profile page. See below for details on each option:

Local Uploads

Upload images and videos from your local computer by dragging and dropping or selecting files or folders using the available buttons.

Pre-Signed URLs

Users can import images and video from a .csv or .txt file containing a list of filenames and their respective URLs as shown below:

"filename1.jpg", https://storage.googleapis.com/example-bucket/signature1
"filename2.jpg", https://storage.googleapis.com/example-bucket/signature2
"filename3.jpg", https://storage.googleapis.com/example-bucket/signature3
.
.

Google Drive

Users can link a Google Drive account to import files directly from their Google Drive storage. Linked Google Drive accounts will be stored and can be unlinked from the profile page.

Google Cloud

Users can link a Google Cloud Platform account to import files directly from their Google Cloud storage. After linking their Google Cloud accounts, users must enter the proper project ID - not project name - for the files or buckets they wish to access. Linked google cloud accounts will be stored and can be unlinked from the profile page.

Dropbox

Users can import from a linked Dropbox account. Linked Dropbox accounts will be stored and can be unlinked in the profile page.

Microsoft Azure

Import from Azure by first providing a connection string for the proper account. The connection string can be retrieved in Azure by going to Home -> Storage Account -> Access Keys -> Show Keys and copying the appropriate key. Once validated, users can explore buckets to import files. Azure connections are not stored.

AWS S3

To import from AWS, users must provide a public access key ID and secret access key to browse their buckets and import directly from them; AWS integrations are not stored.

Accepted Image Formats

The Innotescus platform currently accepts jpg, png, jpeg, pjpeg, bmp, dicom, tiff, jpe, and jfif images smaller than 50MB.

Accepted Video Formats

The Innotescus platform currently accepts mp4, webm, mov, mpeg, wmv, avi, mkv, and ogg videos smaller than 5GB.

Importing Annotations

Annotations can be imported to a dataset to view, edit, and analyze in the Innotescus platform. For a complete overview of this process, see Importing Annotations in the 'Datasets' section.

Coco Imports

Coco imports have the exact same format as coco exports, and are only available for image datasets.

info
{
  "description": str,
  "date_created": datetime
}

images
{
  "license": int,
  "file_name": str,
  "width": int,
  "height": int,
  "id": int
}

categories
{
  "supercategory": str,
  "id": int,
  "name": str
}

annotations
{
  "image_id": int,
  "id": int,
  "category_id": int,
  "segmentation": [[x1, y1, x2, y2...][x1, y1, x2, y2...]]
  "area": int,
  "bbox": [x,y,width,height],
  "iscrowd": 0 or 1,
}

.csv Imports

.csv imports have the same format as .csv exports and are only available for image datasets. Each line in the .csv corresponds to a single annotation, and has the format shown below:

image name, width, height, task type, class, points, rotation

task type: Valid task types are Classification, Object Detection, Semantic Segmentation, and Instance Segmentation.

points: For segmentations, this resembles "[x1, y1, x2, y2, x3, y3...]"; multi-polygon segmentations are given by a list of segmentaions, such as "[[xa1, ya1, xa2, ya2, xa3, ya3...],[xb1, yb1, xb2, yb2, xb3, yb3...]]" for a mask comprised of separate sub-masks a and b. For bounding boxes, this field contains x_min, y_min, x_max, y_max where (0, 0) is at the top left of the image. This field is empty for classification tasks.

rotation (optional): This is measured in radians, and ranges from -π to π with respect to the positive x-axis. Rotation is only added for object detection tasks with bounding box rotation enabled.

CVAT Imports

Annotations can be imported to Innotescus using version 1.1 of CVAT's .xml format, given here. Innotescus does not currently support metadata imports via CVAT's .xml format.

Dataloop Imports

Annotations can be imported to Innotescus in the Dataloop proprietary .json format, shown here.

Innotescus .json Imports

The Innotescus .json format can be used to import annotations to images with or without metadata. To import, select the containing folder, or the .json files themselves. See the full format definition in the exports section.

KITTI Imports

Annotations can be imported in the KITTI format. To import, select or click and drag the containing folder, a zip of the KITTI .txt files, or the files themselves.

LabelBox Imports

Annotations can be imported to Innotescus in the Labelbox proprietary .json format, shown here.

LabelMe Imports

Annotations can be imported to Innotescus in the LabelMe format, shown below. LabelMe annotations are stored in .json files with the same name as the image they correspond to:

filename: image1.json:

{
    "version": "4.5.0",
    "flags": "",
    "shapes": [{
        "label": "class_name_1",
        "points": [[100, 100],[100, 120],[150,120],[170, 130],[150,100]],
        "shape_type": "polygon",
        "group_id": null,
        "flags": {}
    },{
        "label": "class_name_2",
        "points": [[200, 200],[200, 240],[300,240],[340, 260],[300,200]],
        "shape_type": "polygon",
        "group_id": null,
        "flags": {}
    }],
    "imagePath": "./image.jpeg",
    "imageData": "base64String",
    "imageHeight": 350,
    "imageWidth": 450
}
version: Gives an information about Labelme version.

flags: LabelMe-specific flag

shapes: Contains a list of shapes within image

  • label: Class name of annotation

  • points: Array of [x,y] points that define the annotation

  • shape_type: Defines type of shape

  • group_id: For specifying label group; each group has its own color

  • flags: LabelMe-specific flag

imagePath: Path of the image

imageData: Base64 encoded image

imageHeight: Height of image in pixels

imageWidth: Width of image in pixels

Mask Imports

Mask Imports for Images

Mask imports for images must contain a classes.txt file and the individual masks, or a separate .zip or folder of masks, named for the image they correspond to, as shown below. Because a classes.txt file is required, only Aggregate Instance and Aggregate Class Masks are valid mask import formats.

classes.txt
/masks
  /image_name_1
  /image_name_2
  /image_name_3
  /image_name_4
  /image_name_5
    ⠇

the classes.txt file should be formatted as shown below, with each pixel value for each image or video mapped to a class name:

file: sample_image1.jpg
1 Vehicle
2 Building
3 Human
file: sample_image2.jpg
1 Human
2 Human
3 Human
4 Animal
5 Building

Mask Imports for Videos

Mask imports for videos follows the same format as above with a slight change - users must import mask files separately from the classes.txt file. Mask files must be imported as a zip file with a folder named for each video in the dataset, each containing numbered mask files that correspond to each annotated frame of the video, as shown below:

classes.txt
masks.zip
  /video_name_1
    /0.png
    /1.png
    /2.png
    ⠇
  /video_name_2
    /0.png
    /1.png
    /2.png
    ⠇
  /video_name_3
    /0.png
    /1.png
    /2.png
    ⠇

Pascal VOC (.xml) Imports

Annotations can be imported in the Pascal VOC format, as shown here.

ScaleAI Imports

Annotations can be imported to Innotescus in the Scale AI proprietary .json format, shown here.

Superannotate Imports

Annotations can be imported to Innotescus in the Superannotate proprietary .json format, shown here.

YOLO Darknet V4(.txt) Imports

Annotations can be imported in the YOLO Darknet format, as specified here.

YOLO Keras (.txt) Imports

Annotations can be imported in the YOLO Keras format, as specified here.

Monitoring Import Progress

Imports and Jobs

The Imports Tab

A log of every import to a project, both of data and annotations, is kept in the imports tab of the project. View every import along with its details and any associated errors in the table.

The Jobs Dropdown

While an import is processing, its activity will be shown using the jobs icon. Clicking on the jobs icon will reveal in progress jobs, and includes a stop icon if you wish to end an in-progress job.