Matrox Imaging Library (MIL) Tools
MIL X includes Classification tools for automatically categorizing image content or previously extracted features using machine learning. Image-oriented classification makes use of deep learning technology—specifically the convolutional neural network (CNN) and variants—in three distinct approaches.
The global approach assigns images or image regions to pre-established classes. It lends itself to identification tasks where the goal is to distinguish between similarly looking objects including those with slight imperfections. The results for each image or image region consist of the most likely class and a score for each class.
The segmentation approach generates maps indicating the pre-established class and score for all image pixels. It is appropriate for detection tasks where the objective is to determine the incidence, location, and extent of flaws or features. These features can then be further analyzed and measured using traditional tools like Blob Analysis.
The object detection approach locates instances of pre-established classes. It is suited for inspection tasks whose goal is to find, size and count objects or features. The result for each located instance is the most likely class, the score and a bounding box including the corner coordinates, center, height and width. Image-oriented classification is particularly well-suited for inspecting images of highly textured, naturally varying, and acceptably deformed goods in complex and varying scenes.
Users can opt to train a deep neural network on their own or commission Matrox Imaging to do so using previously collected images; these images must be both adequate in number and representative of the expected application conditions. Different types of training are supported, such as transfer learning and fine-tuning, all starting from one of the supplied pre-defined deep neural network architectures. MIL X provides the necessary infrastructure and interactive environment for building the required training dataset—including the labeling of images and augmenting the dataset with synthesized images—as well as monitoring and analyzing the training process. MIL X can hide the associated intricacies by automatically subdividing the training dataset, offering preset augmentations, and proposing a neural network model to start with. Training is accomplished using a NVIDIA GPU3 or x64-based CPU. Inference is performed on a CPU, Intel integrated GPU3, and NVIDIA GPU3, supporting different speed and budget requirements. Alternately, users can import a trained and compatible neural network model stored in the popular ONNX format.
Feature-oriented classification uses a tree ensemble technique to categorize objects of interest from their features, expressed in numerical form, obtained from prior analysis using tools like Blob Analysis. The categorization is made by majority voting of the individual-feature decision trees. As with image-oriented classification, users can train a tree ensemble on their own using the facilities provided in MIL X or employ Matrox Imaging for the task.