Page 30 - VSDC_JulAug2017_eMag
P. 30
应用与解决方案 Applications & Solutions
智能相机
智能相机检验钞票真伪
利用开源软件和模块化嵌入式硬件,快速开发验钞系统。
文/Ricardo Ribalda博士;Qtechnology公司首席固件工程师
传统上,许多视觉系统构建者开 Qtechnology 公司已经用这款相机开 相机内的 FPGA 控制传感器的设
发定制的视觉系统,都是使用现成的 发出了一套执行纸币高速扫描和验证 置,处理图像并通过 PCIe 接口传输
基于 Windows 的 PC 硬件和供应商提 的视觉系统。 捕获的图像。 几项操作由 FPGA 执行,
供的软件库。然而最新的一种发展趋 该应用突出显示了如何通过使用 如图像、白平衡、透视和照明校正,
势是:使用较便宜的嵌入式系统硬件、 具有特定光谱范围的光源扫描纸币、 从而将这些任务从 CPU 中分离出来。
开源操作系统软件(如 Linux)以及 并使用 Qtechnology 相机捕获纸币的 一旦图像经过 FPGA 的预处理,
开源图像处理库(如 OpenCV)。 图像,然后通过检查生成的图像来识 就将通过 PCI Express Gen2 x4 接口传
丹麦相机供应商 Qtechnology 别纸币真伪(见图 1)。为了实现实时 输到 R 系列 SOC。 如果需要进一步
公司最近与美国 AMD 公司和美国 性能,该软件使用 Mentor Embedded 的计算能力,则可以在相机主体内添
Mentor Graphics 公司合作,展示了 Sourcery CodeBench 和 Integrated 加额外的 GPU。 但对于大多数应用
如何使用嵌入式系统和开源软件快 Sourcery Analyzer 进行分析和优化, 来说,R 系列 SOC 的计算能力就足
速而有效地构建这样的工业机器视 以识别和解决功能和性能问题。 够了。
觉应用。 访问系统中 GPU 计算单元的功
在这项展示中,Qtechnology 公 相机和软件 能,是通过开放式计算语言(OpenCL)
司使用的工业相机,采用的是 AMD Qtechnology 相机为模块化产 来实现的,OpenCL 语言是由非营利
公 司的 R 系 列片 上 系统(SoC,此 品,并且包含可以安装各种 CMOS、 技术联盟美国 Khronos Group 维护的
前代号为“Merlin Falcon”),其上运 CCD、InGaAs 和微测辐射热计传感 开放标准,用于编程并在诸如 FPGA、
行 Mentor 嵌入式 Linux 操作系统。 器的多种机头。还有各种相机机身, CPU 和 GPU 之类的设备上执行程序。
从纯 FPGA 系统(QT5012) 类似地,图像传感器的功能可以通过
到包含两个主要计算单元 Video4Linux 访问,这是一组设备驱
(QT5122)的全新系统 : 动程序和用于在 Linux 系统上支持视
FPGA 和 AMD 的 R 系 列 频捕获的 API。这样能够控制诸如图
SoC,其具有四个 Excavator 像分辨率和帧率等参数,使用户无需
x86 CPU 内核,并且在单 使用专有库。
个芯片上具有 Radeon 图形 由于 Qtechnology 平台的开放架
GPU 和 I/O 控制器。该系 构,开发人员有许多编程选项可供选
统的模块化特性使开发人员 择(见图 3)。首先,可以使用 C 或
可以将机头与机身混合和匹 C++ 创建应用程序。其次,可以通
图1:展示中使用的工业相机,采用AMD R系列SoC,运行 配,以满足其应用需求(见 过连接一些专有的或第三方图像处理
Mentor嵌入式Linux操作系统。Qtechnology已经利用该相机创建
了一套执行纸币高速扫描和验证的视觉系统。 图 2a 和 2b)。 插件部署开源软件,如 GStreamer 来
28 Jul/Aug 2017 视觉系统设计 Vision Systems Design China