通过图像采集卡预处理提高视觉性能

Product / 08.2019


当今最先进的机器视觉和视频监控应用所面临需求的困难程度比以往任何时候都大,例如,在患者血液中识别少量癌细胞,以及跟踪客户离开商店时带走哪些商品,这样无需前台结算即可从其账户扣款。相机制造商正在使用能够明显提高图像质量和每秒帧数的传感器来满足这些应用需求。视觉接口标准通过提供更高的连接比特率紧跟步伐,例如新的CoaXPress 2.0标准,其提供高达12.5千兆位/秒(Gbps)的数据速率。
这些进步让中央处理单元(CPU)很有压力,因为现在处理器的任务是满足处理大量成像数据的需要。一些应用程序使用高端CPU或在几台个人计算机之间分摊处理,但这两种方法成本都很高,后者还增加了相当大的尺寸和重量。结果是许多应用程序只能在CPU负载略低于100%的情况下运行,这样限制了它们进一步提高性能。

Coaxlink-octo-and-CXP-12.pngEuresys通过使相机制造商和视觉集成商能够将代码上传到公司的Coaxlink Octo和Coaxlink Quad CXP-12图像采集卡中的FPGA来应对这些挑战,以处理否则必须在主机上执行的图像处理任务。Euresys CustomLogic FPGA设计套件几乎可以处理在图像的每个像素上执行的任何重复的图像预处理任务。典型应用包括基于查找表变换图像,例如通过将颜色从RGB转换为YUV标度,实现降噪算法,以及补偿诸如黑色像素的传感器缺陷。另一种常见的应用是平场校正,补偿视场上光强度的差异。
在图像采集卡上执行图像处理可明显提高图像质量和处理速度,特别是对于目前因为主机处理能力造成瓶颈的最先进的视觉系统。FPGA通过图像传输并行处理图像,从而节省了主机上的处理时间,且不会在图像采集卡中增加任何延迟。这意味着视觉系统可以提供更高的分辨率,更高的图像速度和更低的延迟,而不会增加主机的成本。
过去,图像采集卡供应商已经提出将其客户代码整合到他们的图像采集卡内的FPGA中。这种方法要求用户共享其专有知识产权,以便将其设计到图像采集卡中。

 
而在新的CustomLogic方法中,用户创建并编译自己的FPGA代码到目标文件中,然后使用图像采集卡公司提供的工具将其上传到FPGA。视觉集成商的专有代码永远不会离开它的环境,因此产生的FPGA对于逆向工程来说将极其困难和昂贵。
许多大型机器制造商已经开发了自己的基于FPGA的图像采集卡,它们也可以执行图像处理和分析任务。几乎在每种情况下,这些图像采集卡都使用古老的Camera Link协议。设计它们的机器制造商现在面临着重新设计图像采集卡以适应当前一代高速接口(如CXP-12)的艰巨挑战。利用内置的CXP接口和新Euresys图像采集卡提供的上传专有图像处理程序的能力,可以大大简化他们的任务。
CustomLogic FPGA设计在用于图像预处理的Coaxlink Octo和Coaxlink Quad CXP-12图像采集卡中使用的Xilinx Kintex Ultrascale XCKU035 FPGA上留下了高达70%的资源。

FPGA-scale-(2).png

该设计套件可以访问CoaXPress相机像素流、板载DDR4内存和PCIe Gen3连接。设计阶段使用Xilinx Vivado开发工具。
Coaxlink CustomLogic设计套件提供的参考设计包含Xilinx Vivado项目,该项目公开了用户可用的所有接口。

ReferenceDesignCustomLogic-(1).png
 














数据流(像素)接口基于AMBA AXI4-Stream协议。在源端,该接口提供从相机获取的图像。该接口将用户逻辑的后处理传送到PCI Express DMA后端通道。控制/状态接口允许用户通过Coaxlink Driver API读取和写入用户逻辑内的寄存器。
 
CustomLogic-(1).png

事件接口允许用户逻辑将带时间戳的事件发送到Memento Logging工具,精度为1 μs。Memento为开发者提供时间戳事件的精确时间表以及上下文信息和逻辑分析器视图。它可以在应用程序开发和调试,以及机器操作期间提供宝贵的协作。
Vivado®High-Level Synthesis(HLS)作为所有Vivado HLx版本的免费升级版本,通过将C、C++和System C规范直接定位到Xilinx可编程设备而无需手动操作创建寄存器传输级别(RTL)代码,从而加速了IP创建。除了C++编程技能外,FPGA设计还需要了解FPGA的约束和限制。例如,FPGA中的随机存取存储器(RAM)限制通常会排除存储器分配。

VivadoProjectCustomLogic_Interface1.png

VivadoProjectCustomLogic_VHD.png


CustomLogic可以并行化许多图像处理任务,即时处理像素,没有任何缓冲或延迟。通过将重复且大规模并行的任务迁移到FPGA,CPU可以专注于高级任务,以满足当今最先进成像应用的要求。CustomLogic中包含的知识产权(如CoaXPress接口和Memento日志系统)可帮助您在更短的时间内将产品推向市场。