日期
12/10
2024
咨询
  • QQ扫一扫

  • Vision小助手
    (CMVU)

利用FPGA驱动Blob分析的视觉方案:实时精准,成本优化,系统减负
收藏
2024-12-10 14:12:37来源: 中国机器视觉网

在物体检测和分类等机器视觉任务中,高效的特征提取至关重要。Basler视觉方案利用 FPGA处理流程简化了这一过程,通过直接在FPGA上运行Blob分析,提高了方案的实时性能,这一独特优势能够显著优化计算成本。

高效特征提取:专注于关键信息

微信图片_20241210141331.png

典型的特征提取过程:去拜耳 > 色彩空间转换 > HSI 阈值处理 > 图像形态学处理 > Blob 分析

特征提取可将原始图像数据转化为数字特征,为物体检测和分类等任务提供更精确和专业的支持。通过专注于关键图像特征并降低数据维度,特征提取不仅能提高数据处理的实时性,还能提高处理效率。

上图展示了基于 FPGA 和 CPU 架构的典型特征提取流程:去拜耳、色彩空间转换、HSI 阈值处理、形态过滤和 Blob 分析。这些步骤将图像转换成计算机可以解读的格式。在最后一步中,被测物被识别为 64 位格式的 Blob,左边的数字代表其边界框,右边的数字显示其面积。

FPGA处理流程:提高帧速率,降低CPU负载

微信图片_20241210141346.png

基于FPGA和CPU典型特征提取步骤对比

我们采用500万像素的CXP-12接口相机进行演示,将其设置为以122fps的速率运行。随后,在PC端CPU与图像采集处理卡端的FPGA上,分别采用VisualApplets以进行典型特征提取流程的对比,并得出以下结论:CPU:占用100%CPU负载,帧速率降至9fps;FPGA:占用9%CPU负载,帧速率维持在122fps;由此我们可以看出,对于复杂且对时序要求严格的视觉任务,FPGA 处理流程可确保最佳性能,以最优的 CPU 负载维持高帧率运行。

了解 Blob 分析的作用

Blob 分析可识别并分析二进制图像中的连接区域(Blob),提取关键图像数据,如对象的大小、形状、位置、面积和连接性。

虽然许多人认为 FPGA 在图像采集卡中的功能仅限于图像预处理,但其实远远不止于此。通常情况下,图像处理最后阶段执行的 Blob 分析由 CPU 处理。然而,考虑到 Blob 分析对资源的需求,将其转移到 FPGA 上可显著降低 CPU 负载,提高系统整体性能。

在FPGA端运行Blob分析产生显著差异的原因?

在另一组测试中,我们采用2500万像素的CXP-12相机,并使其以72fps的帧速率进行51*51,共计2601点网格的检测,在CPU和FPGA端同时运行Blob分析并进行对比。结果如下:Blob 分析需要高强度、高密度的计算,如果由中央处理器处理,会大大降低实时任务的速度,导致装配线缺陷检测等关键应用出现延迟。将 Blob 分析硬连接到 FPGA 上可大大降低 CPU 负载,使系统以最低延迟全速运行。

微信图片_20241210141359.jpg

由FPGA和CPU进行Blob分析的对比

在难度高、对时序要求高的应用场景(如高速网状检测系统)中,通过在FPGA上执行图像预处理和分析,仅需处理存在缺陷的区域,从而将PC端数据负载大幅降低。借助Basler 简单易用的FPGA编程软件VisualApplets,能够实现快速、高效的处理,且延迟极低。我们的FPGA方案采用单次通过算法,一次性处理图像,并以最小的计算成本优化实时应用。