fpga和gpu在嵌入式视觉图像处理中的优势

虽然嵌入式视觉仍然是一项新兴技术,但到目前为止,通常有两种主要类型的处理器用于嵌入式系统-现场可编程门阵列(fpga)和图形处理单元(gpu)。

通过友邦保险 2019年5月16日

嵌入式视觉系统与传统的机器视觉系统有许多不同之处。从它们的设计到在非传统应用中的使用,它们的使用方式与机器视觉系统完全不同,机器视觉系统通常位于工厂内,在高度结构化的环境中,并捕获高质量的图像。

嵌入式视觉系统需要高度紧凑,在高度具有挑战性和非结构化的环境中发挥作用,同时仍然提供高质量的图像。正因为如此,它们的处理架构不同于大多数机器视觉系统。虽然嵌入式视觉仍然是一项新兴技术,但到目前为止,通常有两种主要类型的处理器用于嵌入式系统-现场可编程门阵列(fpga)和图形处理单元(gpu)。

gpu在嵌入式视觉中的应用

gpu被广泛应用于嵌入式视觉系统,因为它们能够提供大量的并行计算潜力。这甚至可能包括加速处理像素数据的处理管道的关键部分。这在生成大量图像数据的高分辨率或高速应用程序中特别有用。通用gpu (gpgpu)是最常见的gpu形式之一,因为它们是为满足广泛应用程序的需求而构建的。

所有gpu都利用成像算法软件。这有很多好处,因为它允许终端用户根据现场需要调整或更改成像功能。这为一个系统提供了极大的灵活性,可以完成多种类型的成像功能,以及在现场微调视觉系统——这在许多户外和远离pc的嵌入式应用程序中非常重要。

fpga在嵌入式视觉中的应用

gpu是一种流行的选择,但近年来fpga作为图像处理器越来越受欢迎。它们的主要缺点一直是,并且在某种程度上仍然是,fpga缺乏gpu的灵活性。FPGA利用算法的硬件表示,这意味着利用FPGA对系统的图像处理进行重编程或微调需要花费更多的时间和资源。

然而,硬件比软件快得多。fpga由于其低延迟水平而越来越受欢迎。它们还能提供更大的加工潜力和更低的能耗。它们还可以加速计算机视觉管道的几个部分,而gpu只能加速其中一个部分。

每种形式的处理器都有其自身的优点和缺点。如果您的应用程序需要高度的灵活性,那么gpu可能是正确的答案。如果低延迟和速度是最重要的,fpga可能是应用程序的最佳处理器。

无论使用哪种类型的处理器,嵌入式视觉系统正在颠覆传统的视觉行业,并在应用程序中添加了旧机器视觉系统永远无法利用的视觉功能。

本文最初发表于视觉在线.AIA是先进自动化协会(A3)的一部分,是CFE媒体的内容合作伙伴。由CFE媒体制作编辑克里斯·瓦夫拉编辑,cvavra@cfemedia.com

原始内容可以在www.visiononline.org