Matrox Design Assistant X includes classification steps for automatically categorizing image content using machine learning. These steps make use of deep learning technology—specifically the convolutional neural network (CNN) and variants—in two distinct approaches.
The first or global approach—implemented by the CNNClassIndex step—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 second or segmentation approach—implemented by the CNNClassMap step—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 the BlobAnalysis step. These classification steps are particularly well suited for analyzing 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—using the included MIL CoPilot interactive environment—or commission Matrox Imaging to do so using previously collected images that are 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 CoPilot provides what is needed 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. Training is accomplished using a NIVIDIA GPU3 or x64-based CPU while inference is performed on a CPU in a Matrox Imaging vision controller, smart camera, or third-party computer, avoiding the need for specialized GPU hardware.