MVTec Software GmbH
 

Deep Learning

MVTec software products offer a large selection of operators, functions and methods that are either based on deep learning technologies, or allow customers to use deep learning technologies in their own applications.

Deep-Learning-Powered Technologies

Featured in HALCON and MERLIC

HALCON (free trial here) and MERLIC (free trial here) both include deep-learning-based OCR (check out this video to see it in action). Training of these new classifiers has been conducted with the help of deep learning technology. With these it is possible to achieve higher reading rates than with all previous classification methods.

Deep Learning in Your Application

Featured in HALCON

HALCON allows customers to use deep learning technologies in their own applications. Users can train their own classfier using CNNs (Convolutional Neural Networks). These can then be utilized to classify new data.

HALCON offers a seamlessly integrated, comprehensive set of deep learning functions for:

Image classification with deep learning

 

Image Classification

Object detection with deep learning

 

Object Detection

Semantic segmentation with deep learning

 

Semantic Segmentation

Labeling of data

Mockup of a deep learning tool
Mockup of a deep learning tool

MVTec is working on a stand-alone tool for labeling training data required for deep learning. A first preview version will be re­leased in the course of Q1/2019. Customers will be able to label training images for object detection and semantic segmentation: The tool facilitates assigning objects in an image to different classes using bounding boxes as well as assigning each pixel of an image to a specific class. The labeled images can then be loaded into HDevelop for training a CNN.

For customers who want to start right away, we have prepared a solution for labeling training images within HDevelop. This HDevelop script, including a supporting documentation, can be downloaded here.

Customers who already have labeled their data (with any tool) can have a look at this HDevelop example script: It demonstrates how to create a DLDataset dictionary for object detection from their labeled data. For additional help to have their training data set converted into a format readable by HDevelop, customers can also get in touch with us.

Training user-specific CNNs

training the network by labeling images
CNN training with labeled image data

With HALCON, users are able to train their own classifier using pretrained CNNs (Convolutional Neural Networks) included in HALCON. These networks have been highly optimized for industrial applications and are based on hundreds of thousands of images. After training the CNN, it can be used for classifying new data.

Training is done by providing a sufficient amount of properly labeled training images. The software then analyzes these images and automatically learns which features can be used to identify the given classes. This is a big advantage compared to traditional classification methods, where these features had to be "handcrafted" by the user – a complex and cumbersome undertaking that requires skilled engineers with programming and vision knowledge.

Using the trained networks

Defect classification with deep learning
Trained CNN classifying defects on a per-image basis

Once the network has learned to differentiate between the given classes, e.g., tell if an image shows a scratched, a contaminated or a good sample, the network can be put to work. This means, users can then apply the newly created CNN classifier to new image data which the classifier then matches to the classes it has learned during training – this is also called "inference".This inference can be executed on GPUs, as well as on CPUs.

Application Areas

When looking for real-world applications, CNNs can for example be used for defect classification (e.g., for circuit boards, bottle mouths or pills), or for object classification (e.g., identifying the species of a plant from one single image).

Developed with Key Customers from Various Industries

While developing HALCON's deep learning features, we worked closely together with key pilot customers from various industries. Below, you find a quick overview of the different challenges and how deep learning helped us solve them.

Plant identification

The task: Identify plants

Before deep learning

New plant types had to be manually programmed. Separate MLP classifiers were used for feature extraction for each country – a time-consuming process.

With deep learning

It took us only around two weeks to solve the same tasks The error rate could be halved.

Identify emtpy rack spaces with deep learning

The task: identify empty rack spaces

Before deep learning

An elaborate hardware setup with 3D sensors was needed.

With deep learning

The solution works with 2D image data which - thanks to cheaper image capturing and quicker classification - translated into cost savings. In addition, the error rate could be significantly reduced.

Mood image: detect defective pills with deep learning

The task: detect defects on pills

Before deep learning

New defect classes had to be programmed manually and on site – a time-consuming and costly process.

With deep learning

New defect types can be trained automatically, a huge time- and cost-saver because engineers no longer have to travel to the customer's plant.

Lands inspection with deep learning

The task: check lands for defects

Before deep learning

A relatively high error rate required a lot of manual inspection by workers, slowing down production and increasing costs.

With deep learning

Implementing a deep-learning-based defect detection led to a massive reduction of the error rate, which drastically reduced the need for manual inspection, speeding up production and scaling down labor costs.

Deep Learning Tutorials

Our three-part tutorial series leads you through all necessary steps required to train and evaluate your own deep-learning-based classifier with HALCON.

Image preprocessing
(1) Image preprocessing
Training the classifier
(2) Training the classifier
Evaluate a trained classifier
(3) Evaluate a trained classifier

Deep Learning Helpers

Below you will find a few additional downloads to help you getting started with deep learning in HALCON.

 

DescriptionDownload
HDevelop script for labeling your data in HALCON

Zip-File

(19 MB)

HDevelop example script that demonstrates how to create a DLDataset dictionary for object detection from existing labeled data

Zip-File

(3.4 MB)

Minimal version of the Object Detection Example

Zip-File

(3 KB)

Minimal version of the Semantic Segmentation Example

Zip-File

(3 KB)