Algorithm Designer and Runtime Processor
The Designer allows a developer to visually build Computer Vision algorithms, using the functions available in the different modules as designing blocks. This tool facilitates the development of an algorithm. The user can build a complex and specific flow including graphic debugging tools and relying upon the documentation of each module. It is particularly useful for pre-processing purposes, also considering that there is an infinite number of cameras and sensors in the market with various characteristics, and the environmental conditions are also a particularly key factor. This tool allows an algorithm to be tested so it is easy to check if the algorithm is stable or it needs to be tweaked. Besides traditional Machine Vision module implementing classical techniques and Contour Analysis module for profile extraction, measurement and comparison, also AI Inference modules can be used to include AI models, trained and tested relying on the AI Suite services presented in the section below.
The AI Image Annotator tool allows annotating interesting features within an image,
associating a class with each of them: for example, surface defects can be annotated
inside an image of a product, and neural networks can be trained to learn to detect
defects from an annotated dataset.
Different types of annotations are available: simple image classification, rectangular
boxes for object detection, or other shapes for segmentation. A SAM (Segment Anything
Model) engine for automatic segmentation is available too.
With the Training and Inference tools it is possible to launch trainings on images or perform inferences in cloud. Training will be possible by accessing the AI Image Annotator tool and by selecting a pre-annotated dataset of images. The metrics of training phase can be controlled through epochs and once a model has been trained it can be tested more images through the Inference service. The models can be exported to be uploaded to the Inference modules of the Designer service, to build a final algorithm, or to be deployed in the edge unit of an inspection system for in-line quality control.