Hossain Hajimowlana
工业机器视觉的目标之一是开发计算机和电子系统,以取代人类视觉在工业生产的质量控制中。卷筒纸检测系统目前用于许多应用中的缺陷检测和质量控制,例如制造高压电缆绝缘、纸张、塑料袋、钢条、燃料颗粒、芯片包装、木材、布料和织机。与人工检测相比,自动检测系统具有许多优点。表面缺陷的手动检测即使不是不可能,也是一项繁琐的任务,通常是因为许多缺陷的尺寸很小,需要检测的区域非常大。
传统的检测系统由线阵扫描相机、主机、图像采集卡和一个或多个专用处理电路板组成。在本文中,我们将讨论开发一种新的集成设计环境(用于实时缺陷检测),该环境无需外部图像采集卡,并消除或减少了对其他相关主机外围系统的需求。处理板包含一个可重新配置的现场可编程门阵列(FPGA),安装在DALSA CCD相机内。FPGA直接连接到视频数据流,并将数据输出到相关的ADI Blackfin型ADSP-BF535P处理器进行进一步处理。仅使用 FPGA 进行低级处理代表了软件和专用硬件实现之间的出色权衡。处理后的数据可以通过 USB 或 Firewire 端口传输到 PC 进行存储、监控和其他处理。目前的系统是针对卷筒纸检查的,但可能具有更广泛的适用性。图1显示了无需图像采集卡即可运行的工业检测系统的基本框图。
图1.工业检测过程框图。
缺陷检测任务委托给两种算法。第一个(预处理)承担保守总过滤器的作用。其目的是检测所有可能的缺陷。这项任务将主要使用FPGA作为视频流滤波器实时执行。这里的目的是提供一种可靠的方法来快速识别可能最终归类为有缺陷的可疑区域,也可能不会。在后处理中,我们的目标是使用ADI Blackfin ADSP-BF535P处理器识别缺陷的类型和严重程度。通常,后一个过程已在主机中执行,但该过程的很大一部分可以在修改后的相机系统本身中使用功能强大的ADI Blackfin处理器在本地完成。
为实时应用程序(如 Web 检查)建立适当的计算环境是一项具有挑战性的任务。在本文中,“实时”描述了任何能够接收和处理连续视频数据的成像系统。实时系统必须在分配的关键时间范围内执行所有必需的操作。即使在极端系统负载条件下,系统响应的执行时间和逻辑顺序也必须正确。本说明中描述的系统可以实现每秒多达 30 万个样本的实时视频处理。
测试设置
如图2所示,设置了一个模拟卷材制造过程的测试夹具,并提供了变速操作。测试设置包括一个DALSA TDI线扫描相机,一个带轴编码器的电动滚筒,用于TDI同步,以及一个带光纤光导的直流光源。我们的FPGA/DSP处理板安装在常规摄像机控制板的上方。来自各种网络来源的缺陷样本用于测试和验证候选算法。
图2.生产线模拟的测试设置。
硬件
完整的硬件组件如图 3 所示。
图3.处理硬件。
图4显示了处理系统的框图。来自FPGA的预处理数据存储在FIFO中,FIFO缓冲数据,以便数字信号处理器(DSP)进一步处理。处理硬件组件包括三个 PCB——FPGA 板、DSP 板和用于连接到 PC 的 USB/Firewire 板。其他资源在董事会之间共享。
图4.处理板框图。
FPGA 与 DSP 的对比
我们的处理板支持在 FPGA 和/或 DSP 中进行处理。如何为应用程序选择处理能力的配置?
DSP是一种专用的微处理器,通常用C语言编程,偶尔使用汇编代码来提高系统性能。DSP非常适合极其复杂的数学密集型任务,涉及条件处理。它的性能受到时钟速率以及每个时钟可以执行的有用操作数的限制。相比之下,FPGA是一个未承诺的“大门之海”。该器件通过将门连接在一起以形成乘法器、寄存器、加法器等来编程。数学是通过互连这些构建块在硬件中完成的。这些模块的复杂程度可以从单个栅极到非常高水平的FIR滤波器或FFT,前提是有足够的门和互连它们的能力。性能受芯片上可用门数和时钟速率的限制。
因此,FPGA和DSP代表了两种截然不同的信号处理方法,每种方法都擅长于不同的事情。FPGA可以轻松完成许多高采样率应用,但DSP不适合这些应用。同样,FPGA也无法解决许多复杂的软件问题(对于DSP来说很容易)。
由于这些互补的特性,理想的系统将在FPGA和数字信号处理器之间分配工作。在我们的网络检测系统中,对图像本身的大多数操作都很简单且非常重复;因此,这些基元操作最好在FPGA中实现。但是,成像管道通常用于识别被检查对象中的“斑点”或“感兴趣区域”。这些 blob 的大小可能有所不同,因此后续处理往往更加复杂。使用的算法通常是自适应的,具体取决于 blob 的结果。考虑到所有因素,基于 DSP 的方法在成像管道的后端通常更有效。
赛灵思 Spartan IIE 系列 FPGA 用于我们的系统,因为它具有额外的可配置逻辑块 (CLB) 功能,可在基于存储器的设计中以更高的速度运行,并支持高达 200 MHz 的系统时钟速率。负载均衡包括四输入函数发生器、进位逻辑和存储元件。每个CLB还包含组合函数生成器以提供五或六个输入功能的逻辑。
目前,我们的设计使用XC2S200E,它具有5292个逻辑单元和200K系统门。该FPGA为我们的许多目标应用提供了足够的资源,并经过适当封装,可以构建到单板相机内系统中。
选择合适的 DSP
为我们的应用选择合适的处理器非常重要。功耗、成本和封装、速度、性能以及合适的外设和开发工具的可用性是我们决定选择ADSP-BF535P的主要因素。
ADSP-BF535P是ADI公司Blackfin DSP产品系列的成员。它将双 MAC DSP 引擎、类似 RISC 的微处理器指令集和单指令、多数据 (SIMD) 多媒体功能集成到单个指令集架构中。
权力
电源在卷材检测系统中起着重要作用。在现场使用十几个这样的相机并不少见。可能有些应用不需要通过 DSP 进一步处理数据,或者应用可以以较低的 DSP 时钟速度运行。通过使用ADSP-BF535P,我们无需为了性能而牺牲功耗。在Blackfin中,ADSP-BF535P可以通过降低内核电压和频率来降低功耗。为此,可以使用外部配套电源管理芯片ADP3053对内核电压电平进行动态控制。Blackfin DSP允许动态调度每个外设的时钟输入,从而提供额外的功率控制功能。此外,内部时钟仅路由到设备的启用部分。例如,256KB片上L2存储器分为八个32KB组。此功能可以降低功率,因为这些组仅在访问时才会计时。
成本和包装
Blackfin ADSP-BF535P是一款通用DSP,其成本通常远低于最接近的数字处理同类产品。在此应用中,其紧凑的 PBGA260 封装形式非常适合我们的 3.5“ × 3.5” PCB。
速度
卷筒纸检测系统是使用密集实时算法的苛刻处理应用。因此,需要快速可编程的通用数字信号处理器来应对高速数据速率带来的挑战。ADSP-BF535P的最大内核时钟(CCLK)为350 MHz。我们能够在 300 MHz 下成功运行我们的应用程序(在某些情况下更低,以降低功耗)。CCLK 脉冲通过 PLL 生成,该 PLL 具有 1 到 31 的可用 CCLK 与系统时钟 (SCLK) 比率。借助 20 MHz 外部振荡器,我们能够实现 300 MHz 的 CCLK。 根据 CCLK 的不同,可实现 133 MHz 的最大 SCLK。
性能
Blackfin处理器经过高度优化,可以有效地执行DSP应用程序代码。在图像处理应用中,我们通常处理不同尺寸和种类的滤波器(无限脉冲响应,IIR;和有限脉冲响应,FIR)或对数据应用快速傅里叶变换(FFT)。表1显示了在ADSP-BF535P上进行的一些基准测试。
表 1.ADSP-BF535P信号处理算法基准测试。
基准说明 | 时钟周期数 |
256点复数FFT | 3,176 |
块FIR滤波器 |
[(样本数)/2] × [(抽头数)+2] |
双二阶 IIR 滤波器 |
2.5 ×(双二阶截面数)+ 3.5 |
外设
ADSP-21535P包含一组丰富的外设,通过多条高带宽总线连接到内核,提供系统配置灵活性和出色的整体系统性能。它提供 USB 和 PCI 总线,用于无缝外设扩展,无需昂贵的外部组件。
对于以中等数据速率将处理后的数据从相机传输到PC,USB似乎是一个很好的解决方案。但是,由于处理板的功耗相对较高,因此无法使用USB的总线供电功能。USB最有用的功能之一是它是可热插拔的,扫描相机可以插入或拔出监控系统(在这种情况下是PC),而无需关闭PC。对于使用一系列监控摄像机的高数据速率应用,建议使用 IEEE Std. 1394 Firewire,它的带宽是 USB 30.1 的 1 倍。
开发工具
我们使用了 VisualDSP++™开发和调试我们的代码。VisualDSP++ 包括一个集成开发环境 (IDE) 和一个调试器,可提供高效的项目管理,使我们能够在程序的编辑、构建和调试之间轻松切换。还提供ADSP-BF535评估平台。
算法
不同的算法已经在FPGA/DSP处理系统中成功仿真和实现。在这里,我们简要介绍模糊逻辑和一维AR算法。有兴趣的读者可以参考参考资料以获取更多详细信息。
模糊逻辑
模糊逻辑的一个新的令人兴奋的应用是卷材检测系统中的缺陷检测。手动检测系统中的缺陷通常由语言变量描述和识别,例如,较暗或较亮的区域;更小或更大的对象,因此模糊逻辑似乎是缺陷检测应用的良好候选者。为了应用该算法,从“金色”(无缺陷)模板离线派生一组纹理特征。这些纹理特征用作模糊决策引擎的输入。获得整个可能输入范围的输出,并存储在查找表(LUT)中。所提出的算法已在具有多个染色缺陷的随机纹理样本上进行了测试(图5);图像以 256 行× 256 列的分辨率进行数字化,具有 8 位灰度级信息。应用该算法的结果如图 6 所示。
图5.对样品上的缺陷进行染色
使用ADSP-BF535P,采用一维自回归(1D AR)算法,定位缺陷的确切位置。
图6.图5中所选缺陷线的图像。
一维AR算法的硬件实现
图7显示了1D AR算法的简化信号流。
图7.1D AR的简化信号流程图。
1D AR算法可以在ADSP-BF535P中轻松实现,并与模糊逻辑算法结合使用,以检测缺陷线中缺陷的确切位置。
AR算法的核心是IIR滤波器(AR预测器)。由于IIR滤波器比FIR滤波器更快,因此它们更适合实时应用。实验表明,8阶滤波器适用于大多数纹理。计算单元执行单周期操作,并且没有计算管道。缺陷线像素的灰度可以存储在片上SRAM中,然后通过DMA控制器以不可见的方式传输到外部存储器或PC。
结论
我们已经介绍了一个摄像头内原型处理板,它基本上由FPGA和ADI Blackfin处理器组成。会议讨论了实时卷材检测系统的一些重要问题,以及功耗、成本、封装、速度、性能以及对正确外设和开发工具的需求等参数,促使我们为应用选择ADSP-BF535。我们展示了Blackfin ADSP-BF535为实现低功耗、高性能、实时嵌入式应用提供了一个出色的平台。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !