Silicon Software: Applets - Apps for Frame Grabbers
4 Aug 2011
Hardware applets are a software code of only a few MBytes for FPGA processors. It is loaded to the chip in just a few milliseconds and then restructures the chip's hardware configuration. This provides the processor with new functions, which can be executed directly on the hardware and under real-time conditions. The logic density of FPGAs has increased considerably over the past few years, thus enabling complex program sequences. Instead of monolithic programs, which can only be loaded once and describe the entire functionality of a device, the concept of function applets has proven its effectiveness. Tailored to their use, the available resources are used efficiently for the required functions. If you want to use the frame grabber for an additional task, you just load a new applet in place of the old one. This process is automated via software programming and does not slow down the system, due to the short duration of the loading operations.
AcquisitionApplets for Area or Line Scan Cameras
The feasibility of an application is defined, among other things, by the selection of the camera type and colour mode. These criteria are used for selecting the AcquisitionApplets of Silicon Software. Area or line scan cameras are distinguished, apart from the sensor type, also by the required trigger functions or sensor corrections. Coupling to encoder signals is, for instance, a typical line requirement.
In contrast, a spatial correction, which corrects the offset of the RGB colour lines, is not used with monochrome sensors. Tap sorting, which re-sorts sensor data to obtain a complete image, is of no significance for area and line scan cameras. This functional matrix allows efficient and specialised programs to be created even for small FPGAs.
Image Acquisition and Pre-processing
The AcquisitionApplets from Silicon Software cover the frame grabber and image pre-processing basic functionality. What is beyond this functionality, is covered by the SmartApplets. They use the same principle for loading extended image-processing functions as a function of the application.
The basic idea of the frame grabber apps is similar to that of the smartphones: They offer additional functions that are easy to use and are tailored to the device that executes them. In the same way that apps do not replace a desktop computer, the image-processing software is not replaced by the hardware applets. By transferring image pre-processing to the dedicated hardware, the overall system is accelerated, relieving the CPU at the same time.
The ease of use of frame grabber apps is an important argument. Programming is replaced with configuring. The image-processing system is defined via function blocks that are activated or deactivated and parameterised. Like the apps, a SmartApplet can be put into operation intuitively and immediately.
Despite complex functions and hardware processing, the user does not have to deal in detail with these complex issues. The functions preview immediately shows the results on which the user can base his decision about which configuration to use. Since the libraries are constantly extended, the user can increasingly find, select and load more and more suitable functions, as already happens today in the apps shop.
Two libraries for Important Fields of Application
Binarisation, segmentation and object classification are among the most important functions in image processing. Silicon Software has developed one SmartApplets library each for these two areas. Further libraries for measuring tasks, compression and colour processing are currently in preparation.
The image-processing step used most frequently is binarisation, which is the basis of most image evaluations. It consists in defining a global threshold for the grey values in an image, above which the pixels are shown in white and below in black.
For simple recognition processes, this method is sufficient in most cases. The calculation of local threshold values, performing this distinction in regard to the surroundings, is more complex. For each pixel, its surroundings of up to 64x64 pixels will be considered, before taking a decision in favour of black or white. This allows adaptive binarisation to work more independently of inhomogeneous or varying illumination situations or even of changes in material.
In addition to previous image improvements and a median noise filter, dual morphology is also able to suppress undesired small objects. This provides high-quality algorithmic image processing at the rate of the image acquisition without additional load on the CPU, allowing the software-based image analysis to be continued on this basis. The »Binarisation« Smart Applets library consists of a total of 20 applets.
Segmentation and Object Classification
Another important function is object recognition. This requires pixel regions to be removed from their background. Blob analysis is one of the best known methods used for this. The algorithm evaluates the surroundings of each pixel with regard to its connection to an object.
If a continuous pixel area has been detected as an object, it will be classified via its properties. They include, among other things, the size and position of a bounding box, the pixel area and the contour length. These properties allow objects to be selected or excluded.
This method is often used when, for example, objects must be counted or image areas cut out and transmitted to allow more detailed image analysis. This allows the bandwidth to become intelligently reduced. Since applets work on the basis of binarised images, many pre-processing stages of the »Binarisation« SmartApplets library are used. The »Segmentation and Object Classification« Smart Applets library consists of 22 applets.
Silicon Software GmbH was founded in 1997 as a product development and manufacturing company with focus on the automation and machine vision markets. Headquarters are located in Mannheim, Germany where Silicon Software develops and produces off-the-shelf and customised OEM hardware and software solutions.