Data labeling

Data labeling is a way of giving an algorithm (model) some information, facts, details about particular data unit – in our case, image. Labeled images that you use to train the model are commonly called training data.
There are many things that describe an image – apparent objects, colors, style, level of light. The contours of different parts of an image may be given, or a count of certain elements, etc. This labeling information is commonly divided into three groups: image classification, object detection and semantic/instance segmentation.

How to use the SentiSight platform

  1. Labeling for image classification

If you plan to do image classification, you can label the images already during the image upload – just write one or more comma separated labels into a label field. Alternatively, you can add or adjust image labels after the upload using the panel on the left screen side. Select some images and press '+' to add label or press '-' to remove the label. You can also adjust the label name, by clicking on it with a mouse, entering the new name and pressing 'Enter'.

In case an image has more than one label, one of those labels is called the "default" label and it is encircled in white. This is the label that will be used if you train a single-label classification model on images with multiple labels.

You can change which label is the "default" one, by clicking on the label of interest with a mouse. Alternatively, you can select some images that already have the label of interest, and label them again using the '+' button with the same label. The default label will change in all of those images.

  1. Labeling for object detection or image segmentation
  • Select a group of pictures that you want to label
  • Choose label group: select Object detection or Segmentation on the left menu
  • You will now see the first image and the necessary tools to draw a bounding box or contours.
  • Try it! Add a new object and draw your chosen figure (label). You will also find some hints, look for blue question marks!
  • Write a new name for it or choose from existing labels.
  • You get to the next picture from your selection by pressing Next.
  1. Uploading annotation files for image classification

Sometimes it might happen that you already have image annotations that were prepared with some other tools and you want to upload those annotations to SentiSight.ai platform. In that case, you need to save image annotations into a format suitable for SentiSight.ai platform.

For image classification annotations we use a format that is similar to Comma Separated File (.csv). The first field in each row should be the filename of the image, and the rest of the fields should be the image labels. Fields should be separated by commas. The file extension in the first field can optionally be skipped. In case of multi-label classification, the number of fields in each row might be different, because each image might have a different number of labels. Here is an example of an annotation file for image classification.

  1. Uploading annotation files for object detection or image segmentation

Similarly, it is also possible to upload existing annotation files for object detection and segmentation. In this case, we use .json format. Here are the example annotation files for object detection and segmentation. Below is a rough description of the fields in the .json file.

Object Detection annotation fields:

  1. Name - Image name
  2. Boundary Groups - JSON array of groups of boundary boxes that share the same label
  3. Boundaries - JSON array of boundary boxes
  4. x0, y0 - coordinates of the top left corner of the boundary box
  5. x1, y1 - coordinates of the bottom right corner of the boundary box
  6. Label - label of the boundary group

Segmentation annotation fields:

  1. Name - Image name
  2. Polygon Groups - JSON array of groups of polygons that share the same label
  3. Polygons - JSON array of polygons
  4. Points - array of points that define a specific polygon
  5. x, y - coordinates of a point.
  6. Hole - a True/False value. True if the polygon is defines a hole, False if otherwise. This parameter is optional, value "FALSE" is taken as default.
  7. Closed - a True/False value. True if the polygon is closed, False if otherwise. This parameter is optional, value "TRUE" is taken as default.
  8. Label - label of the polygon group

Please note: both object detection and segmentation annotations can be uploaded as a single .json file.

Learn more about the process

  • How do I choose the labeling type?

    When using the trained model for your predictions on new “unseen” images, you must label the training data giving the same sort of information that you wish to “get back”. For example, if you want to find a certain object showing its location on the image – you label training images for object detection, giving the information about the target objects class and its location (bounding box).