| Customize Help

MIL Classification module



The MIL Classification module helps you solve identification and categorization issues that are not easily addressed with traditional image processing techniques. To solve such issues, the module uses algorithmic architectures known as classifiers that apply deep learning or machine learning technologies.

A typical classification problem is to identify and categorize images in which it is difficult to define the proper information (features) to extract. For example, consider trying to identify a specific type of pasta, among similarly shaped pasta, in images filled with pasta that are randomly positioned, overlapping, and pointing in every direction.

Categorizing the kind of pasta in such images by defining and distinguishing the groups of features to extract, as is required by traditional image processing techniques, would likely prove problematic. The MIL Classification module makes this problem more easily solvable by taking a different approach.

First, you would collect and label multiple images of each kind of pasta and add them to a dataset context (the MIL object that holds the data). Then, you would use that dataset context to train a classifier context (the MIL object that holds the classification technology). During training, that classifier context learns how to recognize the different kinds of pasta. Once training is done, you can use the trained classifier context to properly predict the kind of pasta that is in your target images.

Note, having a proper set of labeled data is a prerequisite for using the MIL Classification module (and for using supervised classification technologies).

Depending on the problem you want to solve, you can use the MIL Classification module with one of two different classifier contexts:

  1. A predefined CNN, which is for image classification. This classifier context uses a convolutional neural network (CNN) that was predefined by Matrox, and that must be trained with an images dataset context. You should typically use this classifier context to classify an entire image. You can also use it to perform a coarse pixel level classification of an image (known as coarse segmentation).

  2. A tree ensemble, which is for feature classification (classifying numerical data). This classifier context uses groups of decision trees that must be trained with a features dataset context. You should typically use this classifier to identify a class, such as a type of blob (for example, a circle, square, or triangle blob), given a set of values (such as a list of blob feature values). The features that you are classifying typically trace back to an image.

When using the MIL Classification module, there are computer related requirements that are additional to what is already required to run MIL. For example, datasets can have a substantial number of entries, and you must ensure that you have enough RAM to use them for training. Also, when using a CNN, it is recommended to train with a GPU (although training with the CPU is supported). For more information, see the Requirements, recommendations, and troubleshooting section later in this chapter.

Note, Matrox can construct and train a CNN classifier context for you, using the labeled images that you provide. For more information, contact customer support.