使用实例

最大化实时检测效能

基于FPGA的Blob分析

高效特征提取在目标检测与分类等机器视觉任务中至关重要。Basler视觉方案通过FPGA处理流简化此流程以实现实时处理,其核心突破在于:直接在FPGA端执行Blob分析,显著降低算力开销。实现原理如下:

基于FPGA的Blob分析进行实施特征提取

高效特征提取:聚焦核心要素

feature extraction process
典型图像特征处理流程:去拜耳→ 色彩空间转换 → HSI阈值分割 → 形态学滤波 → Blob分析

特征提取将原始图像转化为可驱动目标检测/分类的数值特征,通过关键特征筛选与数据降维加速实时处理。我们在FPGA与CPU架构上对比演示了典型处理流程: Debayering(拜耳解码)→ Color conversion(色彩空间转换)→ HSI thresholding(HSI阈值分割)→ Morphology(形态学滤波)→ Blob analysis(Blob分析)

图示展示了从原始图像到计算机可解析格式的转换过程(示例中乐高立方体最终被识别为64位格式Blob,左侧数值代表包围盒坐标,右侧为区域面积)。

在 CPU 与 FPGA 上执行的典型特征提取步骤
在 CPU 与 FPGA 上执行的典型特征提取步骤

FPGA处理流程:高帧率·低CPU负载

在500万像素CXP-12相机@122fps的演示中,我们通过帧捕捉卡上的VisualApplets软件对比了PC CPU与FPGA的处理效能:

  • CPU端:帧率降至9fps;CPU占用率100%

  • FPGA端:保持122fps帧率;CPU负载仅9%

关键结论:对于复杂且时效性强的视觉任务,FPGA流水线技术可确保最优性能,在最小CPU负载下维持高速处理。接下来我们将深入解析FPGA直接执行斑点分析带来的显著优势。


Blob分析的技术原理

Blob分析用于识别并分析二值图像中的连通区域(Blob),提取目标尺寸、形状、位置、面积及连通性等关键图像数据。

尽管业界普遍认为图像采集卡的FPGA仅适用于图像预处理,其能力远不止于此。Blob分析通常处于图像处理流程的终段,当前行业多由CPU执行。然而鉴于Blob分析的高算力需求,将其迁移至FPGA可显著降低CPU负载并提升整体系统性能。

为什么在FPGA上运行Blob分析能产生如此大的不同?

使用2500万像素CXP-12相机@72fps,在51×51点阵测试图(含2601个Blob)上对比CPU与FPGA的Blob分析性能。维持相机满帧率(72fps)时,右侧表格清晰呈现测试结果:

Blob分析属于计算密集型任务,CPU处理将显著拖慢实时任务进程,导致产线缺陷检测等关键应用产生延迟。通过FPGA硬件级实现Blob分析,可大幅降低CPU负载,使系统保持全速运行并实现微秒级延迟。

Blob分析:CPU vs FPGA | 设置:25MP CXP-12相机@72fps
FPGA与CPU运行Blob分析对负载影响的对比

应用影响:实时性能的转变

硬实时需求

在高速卷材检测系统等硬实时应用中,通过FPGA执行图像预处理与分析,仅需处理缺陷区域数据,使传输至PC的数据量大幅削减。
这种由易用型FPGA编程软件VisualApplets驱动的精简方案,可实现微秒级延迟的高效处理。我们的FPGA解决方案采用单次遍历算法,一次性完成图像处理,以最小算力开销优化实时应用。

释放应用潜能


基于FPGA的Blob分析核心优势

  • 高效数据处理:在流水线前端完成预处理与数据精简

  • 零延迟保障:无损速率实现实时性能

  • 系统效能最大化:充分释放相机及系统潜力

  • 场景普适性强:适配高速移动与复杂环境


该解决方案所用的产品


想实施类似的解决方案?这些产品将能助您一臂之力。


准备好一起开始了吗?

探索我们的产品和服务,详细了解我们可以如何帮助您开展下一个项目。