Maximizing Real-Time Inspection Efficiency
introducing FPGA-based blob analysis
Efficient feature extraction: focusing on what matters
Feature extraction transforms raw image data into valuable numerical features that power tasks like object detection and classification. By focusing on key image features and reducing data dimensionality, it accelerates real-time processing. Our demo compares typical feature extraction processes— debayering, color space conversion, HSI thresholding, morphological filtering, and blob analysis— on both FPGA and CPU architectures. You'll see how FPGA pipelining dramatically enhances real-time performance.
The image illustrates how these steps transform an image into a format the computer can interpret. In the last step, the LEGO cube is recognized as a blob in 64-bit format, with the left numbers representing its bounding box and the right numbers showing its area.
FPGA pipeline: high FPS without straining your CPU
In our demo with a 5MP CXP-12 camera at 122 fps, we compared the above-mentioned processes on a PC CPU and an FPGA using VisualApplets on a frame grabber. The results:
CPU: speed dropped to 9 fps; 100% CPU usage
FPGA: maintained 122 fps; only 9% CPU load
The takeaway? For complex, time-critical vision tasks, FPGA pipelining ensures optimal performance, maintaining high speeds with minimal CPU strain. Next, we will dive into why running blob analysis directly on FPGA makes a real difference.
Understanding the role of blob analysis
Blob analysis identifies and analyzes connected regions (blobs) in binary images, extracting critical image data such as object size, shape, position, area, and connectivity.
While many assume that FPGA capabilities in frame grabbers are limited to image pre-processing, they extend far beyond that. Blob analysis, typically performed in the final stages of image processing, is usually handled by the CPU across the industry. However, given the resource demands of blob analysis, shifting it to FPGA significantly reduces CPU load and enhances overall system performance.
Why running blob analysis on FPGA makes a difference?
In another demo, we use a 25MP CXP-12 camera at 72fps to compare blob analysis on both CPU and FPGA, inspecting a Dot Grid Test Chart with 51 x 51 dots (2601 blobs). When maintaining the camera’s full frame rate (72fps), the results are clearly shown in table on the right.
Blob analysis is computationally intensive and can significantly slow real-time tasks when handled by the CPU, causing delays in critical applications like defect detection in assembly lines. Hardwiring blob analysis onto an FPGA drastically reduces CPU load, keeping the system running at full speed with minimal latency.
Application Implications: transforming real-time performance
In hard real-time applications, such as high-speed web inspection systems, executing image pre-processing and analysis on the FPGA allows only arears with defects to be processed, reducing data load on the PC to a fraction. This streamlined approach, powered by our easy-to-use FPGA programming software, VisualApplets, enables fast, efficient processing with minimal latency. Our FPGA-based solution uses a single-pass algorithm, handling images in one go and optimizing real-time applications with minimal computing overhead.
Enhance your applicationKey benefits of FPGA-based blob analysis
Efficient data handling: pre-processes and reduces data load early in the pipeline.
No added latency: delivers real-time performance without sacrificing speed.
Enhanced system performance: maximizes camera and system capabilities.
Versatile applications: ideal for fast-moving and complex environments.
Products for this solution
Looking to implement a comparable solution? These products will help you.