Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Current »

This module classifies the detected objects. Each object can be in one class only. This module can classify the whole image, objects detected in previous modules, or objects in static positions.

Classifier types

classifier settings.png

Classification of the whole image

This type of Classifier lets you distinguish between different kinds of images by assigning a class to a whole image. It is also possible to select multiple images at once using the ‘Shift’ key and classify them in bulk.

Classification of objects detected in previous modules

When using this type of Classifier, you assign classes to objects already detected in the previous modules (for example Detector, Surface Detector, Code, Anomaly...). The combination with Detector is described in the video below. In this video, the classification and detection process is split into two modules, but it is possible to perform this type of classification directly in the Detector and thereby speed the process up.

Classification of objects in static positions

This option needs the user to draw rectangles determining the position in the image that is supposed to be evaluated. The rectangles ar eautomatically copied to the rest of the images. It is necessary to assign at least 2 different classes.

You are able to lock and unlock the rectangle positions to prevent unwanted relocation during annotations.

classifier lock rectangle.png

To delete a rectangle either press ‘Delete’ on your keyboard or use a trashcan icon at the top of the image.

Set allowed classes manually

With this option it is possible to specify which classes are allowed for individual rectangles. Create classes in Class manager and then specify the Allowed classes for a particular rectangle.

allowed classes.png

Class management

This module allows a user to set custom classes for the model. It is necessary to define at least two classes and specify their names and colors.

classifier class manager.png

Automatic class import (Classes by folders)

In case your images are named and sorted into folders, it is possible to use the feature Add Folders in the Images Manager. This way your images are going to have a prefix from the folder.

add folders.png

With this method you can automatically create the required classes and annotate images without any additional input.

class by folder.png

Training

Look at the following annotations in one image.

classifier example annotation.png

Before starting a training we have several options. You are able to https://pekatvision.atlassian.net/wiki/spaces/KB3/pages/698057883/Training+Overview#Extend-Model an existing model, set https://pekatvision.atlassian.net/wiki/spaces/KB3/pages/698058476/Classifier#Max-size and other.

It is also possible to set a custom Training Data Split, this allows the user to specify how many annotation examples go into training the model and and how many go into testing the accuracy of classification.

The recommendation is 80% training and 20% testing.

If the amount of available images is very low, it is recommended to set the slider to 100% train.

classifier start training.png

Smart sorting

Smart sorting allows you to automatically classify all the detected objects according to image names or tags. All objects within the image will belong to the same class.

Classes can be assigned by image name prefix, creating a custom regex, or by using tags on images.

If the image corresponds to multiple classes, only the first one is taken into consideration. Processing may take a while.

smart sort.png

Classes

To assign a class to an object, click on that object and select a class. The minimum number of classes for training is 2. Not all objects need to have a class assigned. The number in brackets next to the class name indicates the number of objects in that class. Classes can also be selected by pressing a numeric key for faster annotations.

Max size

For training, the classifier module must resize all images to the size of the biggest one, so that they all have the same size, with a maximum value of 800 pixels. The pre-set and recommendation is to keep max size at 256 pixels for most usecases.

During training, annotations are automatically adjusted to fit the max size selected.

If you want to improve accuracy, you can try to select a bigger max size. If you want to improve the processing time or lower the GPU memory required for training, you can try setting a smaller max size.

Inference

Each classified object/image enclosed in a rectangle is labeled with a class name and a percentage - confidence of classification.

classification example.png

To evaluate the accuracy of the trained model you can have a look atConfusion Matrix. The matrix shows the classification results on the testing data.

confusion matrix.png

In Context a new attribute classNames is added to the detectedRectangles box. It inserts an associative field with a class description.

Before

{
    "x": 28.588958740234375,
    "y": 4.583988189697266,
    "width": 90.23117065429688,
    "height": 64.35350036621094,
    "id": 1681720335225001,
    "confidence": 0.9833984375
}

After

{
    "x": 28.588958740234375,
    "y": 4.583988189697266,
    "width": 90.23117065429688,
    "height": 64.35350036621094,
     "id": 1681720335225001,
     "confidence": 0.9833984375,
     "classNames": [
      {
        "label": "Class 1",
        "id": 1,
        "accuracy": 0.9995
      }
    ]
}
  • No labels