Common Vision Blox - Tools

PROGRAMMING LIBRARY

FOR DEMANDING MACHINE VISION TASKS

CVB Polimago

Tool for fast and robust recognition of polymorphic objects

CVB Polimago is well­suited to any application where the target is variable, this includes industrial applications were defects might be difficult to closely­specify.

The key features of CVB Polimago are small training data requirements and low computing requirements. This enables applications that would otherwise not be feasible including many industrial applications. CVB Polimago also handles more of the complexity of the learning process than most Convolutional Neural Network (CNN) tools, bringing machine learning capabilities to more users.



In recent years deep learning and machine learning have become hot topics in machine vision. Many of these have been based on neural networks, but these have intrinsic drawbacks such as a requirement for a large number of training images and a heavy processing load, especially during training.

CVB Polimago has the advantages of other machine learning tools, such as the ability to search for and classify variable targets, but avoids some of the drawbacks. Typically CVB Polimago needs tens of images per class, compared to five hundred to a thousand for a neural network tool. Whereas most neural networks rely on GPUs to be fast enough for industrial use, CVB Polimago runs on a standard CPU, and often runs faster than neural networks. This makes it wellsuited to many machine vision environments, where training and execution time and the numb er of training images are constraints. In tests, CVB Polimago returns similar levels of accuracy to neural network approaches.


Search and classification

CVB Polimago applications divide into two types ‒ search and classification. Search applications include finding variable defects that are not easily found by classical methods. Classification might follow a search step, to allow a target to be found and then classified as a specific type. One example of this is complex OCR, such as stamped characters or handwriting.

3D pose estimation

A niche usage of CVB Polimago is 3D pose estimation. For a planar target, it is possible to learn the effects of perspective as well as rotation, scaling and variability. This means that CVB Polimago can return the x,y position, the scale and also the 3D axial angles (alpha, beta, gamma) ‒ resulting in the description of the position and 3D direction that the object is facing.

Polimago VS Deep learning

CVB Polimago can be used in virtually identical applications to neural networks and is part of the Common Vision Blox machine vision toolkit from STEMMER IMAGING. It uses ridge regression supervised learning method for search and classification in machine vision applications. Supervised learning means that there is some prior knowledge in the training images where the user has marked typical examples of the features for classification with a region of interest. This allows the ridge regression algorithm to generate a function to produce the desired output. Crucially CVB Polimago requires typically just 20 - 100 training images whereas CNNs could require 500 training images per class as well as 500 good ones. As an example, for an OCR application with alphanumerics A-Z and 0-9, a CNN could require 36 x 500 = 18000 training images.

There are a number of significant benefits that arise from having smaller training sets. In particular, training times for Polimago will be much shorter than for CNNs. Polimago has been trained in times of typically 5-20 minutes compared to hours for a CNN. It can also take a long time simply to label the required features in the larger training sets needed for CNNs. If an iterative training process is required to evaluate different parameters then CNNs become even more unwieldy.

CVB Polimago is designed to be run on a CPU and achieves comparable speeds to a CNN using GPU acceleration. Since Polimago does not require a GPU it can be used on a compact PC rather than a 19“ rack mounted PC. Typical execution times for Polimago search are of the order of tens of milliseconds, which are comparable to GPU-accelerated neural network speeds, but CVB classification-only tasks run at much faster speeds – often sub-millisecond.

CVB POLIMAGO is available at significantly lower cost than many commercial CNN tools, and has the added benefit that in CVB 2019 (due for release Q3 2019) it will also be available for Linux (on Intel and ARM platforms) for the first time. This means that it can also be used in embedded vision applications.


Markets and Applications

  • CVB Polimago applications are many and varied ‒ they include the search (and tracking) of organic or continuously­variable objects. This makes it a good choice for the food industry.

  • The variability of a target's appearance might also be due to illumination, so CVB Polimago can be a good choice for outdoor applications or those with uncontrolled lighting, such as agriculture and traffic applications.

  • CVB Polimago classification applications can be similar to the search applications, except that a decision is made between multiple trained classes. OCR, gender classification, vehicle­type recognition and defect classification are all examples of this. test


Show products

Licences

CVB POLIMAGO

Robust recognition of polymorphic objects

  • Position, rotation, scaling and tipping invariant pattern recognition
  • Pose estimation for pick&place tasks
  • Fast execution ...

CVB POLIMAGO 2L

Single Runtime License for POLIMAGO

  • delivery: softwarecode (Magic Number)