Sapera Processing
Sapera Processing is at the heart of Sapera Vision Software delivering a suite of image processing and artificial intelligence functions which include the following:
Basic image processing primitives such as filtering, morphology, geometry and point-to-point operations.
Image analysis tools such as barcode reading/grading, pattern matching (search), OCR, color analysis, camera calibration for lens distortion correction, 2D/3D measurement and blob analysis functions.
Artificial intelligence (AI) inference based on models imported from AstrocyteTM training tool.
3D processing, analysis and measurement functions to operate on data from Z-Trak 3D sensor or any third-party 3D device.
Sapera Processing also offers a suite of demo programs showing how to integrate acquisition from Teledyne devices via Sapera LT
Key Features
- Hardware independent, image acquisition, image processing/analysis and artificial intelligence library
- Supports Area-scan and Line-scan, monochrome and color, 2D and 3D cameras
- Power tools for tasks like image recognition, object identification, 2D/3D measurement, machine guidance, surface inspection, object segmentation, object tracking and others
- Designed for machine vision OEMs, System Integrators and End users
- Modular components supporting C++ and .NET languages
- Multi-Core optimization supported on single or multiple CPU configurations
- User-friendly non-programming graphical environment to quickly prototype and test drive application specific imaging tools
Key Benefits
- Extensive camera and frame-grabber support
- Industrial strength algorithms ensure accuracy and reliability
- Cost effective solution for inspection, identification, guidance and measurement applications
- Solution to very complex vision tasks involving highly varying environment
- Upgrade with no code change given code and binary backward compatibility
AI Tool
Sapera Processing includes a series of classes to perform AI inference on models generated by Astrocyteâ„¢ (available only with Sapera AI license).
Performs inference on video input based on the loaded model. Inference consists in executing an AI model (i.e. a trained neural network) to a stream of input images in order to produce results such class names, bounding boxes, labeled images, etc.
Allows loading a model file exported from the Astrocyteâ„¢ AI training tool.
Supports the following AI architectures:
Classification
Classification involves predicting which class an item belongs to. Some classifiers are binary resulting in a yes/no decision. Others are multi-class and can categorize an item into one of several categories. Classification is used to solve problems like detect identification, character recognition, presence detection, food sorting, etc. Astrocyte supports the following classification neural networks: Resnet-18, Resnet-50, Resnet-101. Astrocyte also supports continual classification allowing further training at inference time.
Anomaly Detection
Anomaly Detection is the identification of rare occurrences, items or events of concern due to their differing characteristics from majority of the processed data. Anomaly Detection is a binary classifier dedicated to identifying good and bad samples. Unlike regular classification Anomaly Detection can train on unbalanced datasets (i.e. large number of good samples and small number of bad samples). Anomaly Detection is used on any application involving identification of defects on a surface or scene. Astrocyte supports the following anomaly detection neural networks: Alexnet and VGG16.
Object Detection
Object Detection involves localizing one or more objects of interest in an image. It combines the two tasks of localizing and classifying objects into one single execution. The output of Object Detection includes bounding box and a class label for each of the objects of interest. Object Detection is used to solve problems like presence detection, object tracking, defect localization and sorting, etc. Astrocyte supports the following object detection neural networks: SSD300, SSD512 and SSDLite.
Segmentation
Image segmentation involves dividing input image into segments to simplify image analysis. Segments represent objects or parts of objects and are composed of groups of pixels. Image segmentation sorts pixels into larger components
eliminating the need to consider individual pixels as units of observation. Image segmentation is a critical process in computer vision and is used for defect sorting/qualification, food sorting, shape analysis, etc. Astrocyte supports the following segmentation neural networks: DeepLabV3-Resnet-50, DeepLabV3-Resnet-101, Unet.
Noise Reduction
Image denoising aims to reconstruct a high-quality image from its degraded observation. It represents an important building block in real applications such as digital photography, medical image analysis, remote sensing, surveillance and digital entertainment. Astrocyte supports the following noise reduction neural networks: Residual Channel Attention Network (RCAN).
- One class per architecture with functions to access specific types of results
- Access to detailed model properties
- Automatic internal pre-processing and post-processing for adapting to input images of various size and format
- Generate heatmaps at runtime for finding location and shape of objects
- Continual learning (aka Lifelong Learning) in classification. Allows learning from a few extra image samples at runtime to add new classes or improve accuracy on existing classes.
- Selection of execution on GPU or CPU
- Integrates well with other tools such as blob analysis for combining AI with traditional image processing for a complete solution
Application Examples
Classification of good and bad metal sheets. Tiny scratches on metal are detected and classified as bad samples. Sapera AI detects small defects on high resolution images of rough texture. Just a few tens of samples are required to train a good accuracy model. Classification is used when good and bad samples are available while Anomaly Detection is used when only good samples are available.
Location/identification of hardware parts
Localization and classification of various hardware parts such as nuts, bolts, washers, nails and crimp terminals. Sapera AI can robustly find and identify parts in an environment with varying conditions such as occlusion, shadow, lighting change, scaling, rotation, etc.
Detection/segmentation of vehicles
Detection and segmentation of various types of vehicles in outdoor scenes. Sapera AI provides output shapes where each pixel is assigned a class. Usage of blob tool on the segmentation output allows performing shape analysis on the vehicles.
Noise reduction on x-ray medical images
Denoising of high-noise x-ray medical images such as dental and mammography. Sapera AI provides good output signal-to-noise ratio while preserving image sharpness.
3D Tool
- Supports Z-Trak 3D Laser Profiler
- Device-independent 3D classes and functions (adapted to Z-Trak 3D output data)
- Can support third-party
- Linescan/Areascan 3D devices via 16-bit data input
- World-unit measurements in 3D tool and other tools such as Blob and EdgeX.
- 3D data storage in TIFF and CRC (proprietary) file formats
- 3D Processing
Special data classes for 3D profiles and 3D range maps - Adapted processing for invalid points
- Pixel-to-world and world-to-pixel conversions
- Region-based thresholding on profile data and feature computation
- Profile and range statistics and roughness measurement
- Profile un-tilting (correction of camera/floor orthogonality)
- Profile slicing and resampling
- Filtering: gap filling, spike cutting, smoothing, averaging
- Primitive fitting: line, circle, rotated ellipse and arbitrary quadratic
- Projection of profile data on curved model
- Non-Rectangular Regions-Of-Interest
- Circle, Rotated Ellipse,
- Polygon and Annulus
- Operations between
- ROIs (union, intersection, etc.) for complex shape creation
- Geometric and Run-
- Length representation for ease-of-use and efficiency
- Demo Programs
- Acquisition module for direct Z-Trak interface
- Acquisition emulator using file-based data with profile rate simulation
- Large number of small examples showing function-level processing
- Application specific demos illustrating real industrial cases such as v-groove angle measurement, protruded part inspection, height measurement on mechanical part, lead flatness inspection on chip, etc.
- New UI demo framework based on Qt
- New rendering capabilities based on VTK (Visual Toolkit) which uses latest GPU graphics
Downloads
- Sapera Processing Brochure
- Sapera Processing Programmer's Manual .NET
- Sapera Processing Programmer's Manual .NET