科技论文
通过帧捕捉器的预处理提高视觉性能
发表于09/12/2019.
当今最前沿的机器视觉和视频监控应用程序承担比以往任何时候都更加困难需求,如确定少量的病人的血液中癌细胞和跟踪哪些项目客户留给一个商店所以他们的账户可以不用检查。相机制造商正在通过传感器来解决这些应用,这些传感器可以显著提高图像质量和每秒帧数。视觉接口标准通过提供更高的连接比特率跟上了步伐,例如新的CoaXPress 2.0标准提供了高达12.5千兆每秒(Gbps)的数据速率。
这些进展使中央处理单元(cpu)面临着处理大量图像数据的压力。有些应用程序使用高端cpu或在几台个人计算机中分配处理,但这两种方法都很昂贵,后者还增加了相当大的大小和重量。结果是,许多应用程序在CPU负载略低于100%的情况下运行,这限制了它们进一步提高性能的能力。
euresys通过使相机制造商和视觉集成商能够将代码上传到FPGA的Coaxlink octo和Coaxlink Quad CXP-12帧抓取器来解决这些挑战,以处理否则必须在主机上执行的图像处理任务。Euresys CustomLogic FPGA设计套件几乎可以处理在图像的每个像素上执行的任何重复图像预处理任务。典型应用包括基于查找表来转换图像,例如通过将来自RGB的颜色转换为YUV刻度,实现降噪算法,并补偿诸如黑色像素的传感器缺陷。另一个常见应用是平坦的场校正,补偿了视野中光强度的差异。
在帧Grabber上执行图像处理提供图像质量和处理速度的显着提高,特别是对于当前由主计算机的处理能力瓶颈的尖端视觉系统。FPGA处理与图像传输并行处理图像,因此在不添加帧抓取器中的任何延迟的情况下实现了对主计算机上的处理时间。这意味着视觉系统可以提供更高的分辨率,更高的图像速度和更低的延迟,而不会增加主计算机的成本。
在过去,Frame Grabber供应商提供了将客户的代码纳入其框架抓斗的核心的FPGA。这种方法要求用户共享他们的专有知识产权,以便它可以设计为帧抓取物。
另一方面,在新的CustomLogic方法中,用户创建并将自己的FPGA代码编译为目标文件,然后使用帧抓取器公司提供的工具将其上传到FPGA。
Vision Integrator的专有代码从未离开其房屋,由此产生的FPGA将是极其困难和昂贵的逆向工程师。
许多大型机器制造商根据FPGA开发了自己的帧抓取器,也执行图像处理和分析任务。这些帧在几乎所有情况下都使用Veneral相机链路协议。设计它们的机器制造商现在面临重新设计帧抓取器以适应当前生成CXP-12等高速接口的难度挑战。通过利用内置的CXP接口和上传新的EURESYS帧抓取器提供的专有图像处理例程,可以大大简化他们的任务。
CustomLogic FPGA设计为用于Coaxlink Octo和Coaxlink Quad CXP-12帧抓取器的Xilinx Kintex Ultrascale XCKU035 FPGA留下高达70%的资源,用于图像预处理。
该设计套件提供了访问CoaXPress摄像机像素流、板载DDR4内存和PCIe Gen3连接。设计阶段使用Xilinx Vivado开发工具。
Coaxlink CustomLogic设计工具包附带一个参考设计,该参考设计由Xilinx Vivado项目组成,该项目公开了用户可用的所有接口。
数据流(像素)接口基于AMBA AXI4-Stream协议。在源端,该接口提供从摄像机获取的图像。该接口将用户逻辑的后续处理传输到PCI Express DMA后端通道。Control/Status接口允许用户通过Coaxlink Driver API读写用户逻辑中的寄存器。
事件接口允许用户逻辑以1 μs的精度将带有时间戳的事件发送到Memento Logging工具。Memento为开发人员提供了带有时间戳的事件的精确时间轴,以及上下文信息和逻辑分析器视图。它在应用程序开发和调试以及机器运行期间提供了宝贵的帮助。
Vivado®高级合成(HLS)包括在所有Vivado HLX版本中没有成本升级,通过启用C,C ++和系统C规范加速IP创建,以直接针对Xilinx可编程设备,而无需手动创建寄存器传输级别(RTL)代码。除C ++编程技能外,FPGA设计还需要了解FPGA的约束和限制。例如,FPGA中的随机存取存储器(RAM)限制通常会排除内存分配。
CushesMogic可以并行化许多图像处理任务,在没有任何缓冲或延迟的情况下运行像素。通过将重复和大规模的并行任务卸载到FPGA,CPU被释放到专注于高级任务,以满足当今尖端成像应用的要求。CustomLogic包含的知识产权如Coaxpress接口和Memento Log系统,有助于在更短的时间内将产品用于市场。