Classifier

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

Classifier types

Classification of the whole image

This type of Classifier lets you distinguish between different kinds of images by assigning a class to an image as a whole. 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 which have already been detected in the previous modules (for example Detector, Surface Detector, Code, Anomaly...). The combination with Detector is described in 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 on static positions

With this type of Classifier, you first need to draw the rectangles determining the positions on which the objects are supposed to be located and then the contents of those areas are being classified on each image. You only need to draw the rectangles on one image and they will be automatically copied on the other images. Then you assign classes to each of these rectangles on images to be used for training, depending on which object appeared on that position. To delete a rectangle you can either use the trashcan icon in the top right corner or press 'Delete' when the rectangle is selected.

Training

Class Name by Filename

This allows you to automatically classify all the detected objects into classes according to image names. All objects within the image will belong to the same class. Classes are assigned depending on whether the entered text is a prefix to the image name. If the image corresponds to multiple classes, only the first one is taken into consideration. Processing may take a while.

Classes

To assign a class to an object, click on that object. 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. To select the class faster, you can press a numeric key corresponding to the class number which is in square brackets.

Max size

For training, classifier module must resize all images to the size of the biggest one, so that they all have the same size, with maximum value of 800 pixels.

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

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

Detection

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

The ‘classNames’ adds an attribute into the ‘detectedRectangles’ box. It inserts an associative field with a class description.

Before

{ "height": 257, "detectedAsLast": true, "y": 14, "width": 360, "id": 1527681328266, "x": 87 }

After

{ "height": 257, "detectedAsLast": true, "y": 14, "width": 360, "id": 1527681325656, "x": 87, "classNames": [ { "id": 1527681328266, "label": "Classname" } ] }

Tensor RT

The model can optionally be optimized using Tensor RT for the specific GPU used when you check the TRT switch in model list. The optimisation improves inference times when processing images using this model.

The model is optimized for specific GPU, so if you transfer the project to a PC with different type of GPU, the optimisation needs to be done again for the new graphics card.

Â