Anomaly Detector
The Anomaly Detector module is the unsupervised deep-learning method available, where detailed annotations are not required and the end-user is only required to assign the OK class to at least 1 image.
This module looks for anomalies in images according to a model which was previously trained.
The model is trained using defect-free images as a reference. Therefore, finding defects in the remaining images.
Find a video below demonstrating the overall functionality of this module:
Tutorial
Alternatively, if you would like a step-by-step tutorial example for this module:
Open the application > Create new project > Start Tutorial
You will be guided through the main functionalities of our software, using this module.
You can enable running the tutorial with project start at any time using:
Open the application > Start the project > Settings > Show tutorial dialog
The tutorial dialog opens only if there are no images in the project.
Training
The input for training involves classifying at least 1 image as an ‘OK’ class.
There are 3 options to perform this classification:
1. [CLICKING] - When the image is selected, click on the option ‘OK’, within the ‘Annotations’ box.
2. [NUMPAD] - When the image is selected, press numpad key ‘1’, it then categorizes it as an 'OK' image.
3. [SMART SORTING] - Click on the ‘SMART SORTING’ button, and type what’s the prefix for the OK images within the field. There is also an option to use regular expressions instead of prefixes if you check the ‘Regex’ checkbox. You can also filter images by their tags.
Tip: It is also possible to select multiple images at once using the ‘Shift’ key and classify them in bulk, by selecting the first image, then holding 'Shift' and selecting the last image from the range.
Attention: For 3. [SMART SORTING], please note that if the filename standard is, for instance, ‘testpart_OK52’, you would have to type ‘testpart_OK' - if you type only ‘OK’ as part of the name it won’t classify, as it classifies literally by prefix. Another approach is to check the Regex checkbox which allows you to write regular expressions instead of prefixes - then if you write only ‘OK’ it matches all images which contain ‘OK’ anywhere in their name.
Type - Lightweight
Lightweight is the first type of Anomaly Detector, which uses a viewfinder size parameter, and its number of training epochs is set in the training settings. It offers faster inference than the Standard type.
View-finder
The view-finder size should be determined depending on how detailed the inspection model should be.
If you choose a size that is too small, the algorithm will not be able to identify details on the surroundings, therefore, some defects may not be identified.
On the other hand, if you select a size that is too large, some details can be overlooked - resulting in a large number of false positives.
Some errors are seen from a larger distance, and others can only be seen through a magnifying glass, just as when a human eye focuses on detecting errors.
Along with the view-finder size, the processing time will be directly proportional to it, as the user indicates how detailed the inspection should be.
There is no general rule on how to set the right size, however, the size of the defects you are searching for can be used as a guideline. You need to try out several sizes in order to learn what works best for your inspection scenario.
The view-finder size, ideally, should be slightly larger than the largest defect.
Detection Area
A blue rectangle is displayed on the image when in the Training tab.
Defects are only being detected in the area inside this rectangle, due to the way the algorithm works.
As a reference, the more the view-finder size increases, the less the software can inspect the edges of the image.
Types of training
Fast Training
Fast training is a type of training with a minimum number of training cycles.
At first, we recommend running different models in Fast Training mode, using different sizes of view-finder and training parameters (brightness resistance, resistance to deviation, etc.) to find out what combination works best in your case.
Deep Training
When you find suitable settings but want to achieve even more precise results, you should try Deep Training with more training cycles.
However, you should use the same settings as the best Fast Training model result, to compare them properly.
Type - Standard
Standard is the second type of Anomaly Detector. It doesn’t use the viewfinder size parameter, because it can search for features of different sizes at once. Can offer more precise results, but the inference time is longer than with the Lightweight type.
Detection Results - Heatmap
The result of the detection is a heatmap. When validating, heatmaps are plotted in the image for better illustration. In the heatmaps, the detected areas are surrounded by rectangles that are added to the ‘detectedRectangles’ item in the context.
Automatic sensitivity
This function helps you set the correct threshold, a value separating OK and NG images. Changing the threshold simultaneously changes how sensitive the model is.
After training, the threshold is only calculated based on training images. For better separation of OK and NG images, you should click on Recalculate threshold and classify both OK and NG (Not Good/defective) images in the dialog window that will be used for the calculation of the new threshold.
As a result, you get a graph containing two curves. The green curve shows how many OK images are wrongly classified as NG for a given threshold value. The red curve shows how many NG images are wrongly classified as OK for a given threshold value. Ideally, you want to choose a threshold at which both curves are minimized. It is possible to choose the threshold by clicking on the graph.