嵌入式视觉系统的基本原理:设计和功能的基本概述

  一、理解嵌入式视觉组件和系统配置

  嵌入式视觉是一项令人兴奋的新技术,在广泛的行业中具有难以置信的潜力,只是在近期才通过视觉和处理组件的小型化而成为可能。从广义上讲,嵌入式视觉系统将图像采集和图像处理功能结合在一起。然而,嵌入式视觉系统有许多不同的配置。

  在较基本的层次上,嵌入式视觉系统包括传感器或摄像机模块、标准接口和某种形式的处理体系结构。对于任何嵌入式视觉系统,对于每一个组件都有各种各样的选择–选择正确的组件取决于理解设计、性能和成本权衡。

  要了解嵌入式视觉系统是如何工作的,重要的是了解处理体系结构、处理器类型、标准接口以及视觉和成像模块如何创建一个完整的嵌入式系统。

  二、嵌入式视觉处理体系结构

  强大的、高度紧凑的处理能力是嵌入式视觉的促成器–小型处理平台现在可以完成传统上需要大型、笨重计算机的工作。对于嵌入式视觉系统,处理组件可以采取几种不同的配置,包括系统上芯片(SoC)、系统上的模块(Som)、单板计算机(SBC)和完全定制的设计。

  SoC是一种处理结构,中央处理器(CPU)、图形处理单元(GPU)、接口控制器等都位于单个芯片上。这项技术的发展主要是由大型移动设备制造商推动的,因为开发SoC的成本可能高达数百万甚至数十亿美元。

  三、紧凑图像处理是嵌入式视觉技术的核心

  SOMS实际上包含SoC,但也包括RAM、电源管理和总线系统以及SoC的图像处理能力。SOMS较常与带有插头连接器的载波板一起使用,用于电源或网络连接。这些系统帮助公司克服了SoC开发的高昂成本,同时为开发人员提供了很大的灵活性,可以根据他们的需要调整系统。

  SBCS本质上是集成到带有一系列外围设备连接器的单一电路板上的SOMS。它们是Soms和载体板在一起-这与成本和性能的权衡。SBCS的初始成本较低,易于实现,但由于其预先集成的特性,它们没有很大的灵活性来适应特定的应用程序。

  完全定制的处理设计并不常见–它们基本上是为一个特定应用程序定制的SBCS。通常,当一家公司确定其嵌入式视觉应用程序较便宜的选项是开发自己的SBC时,就会出现这种情况。定制的嵌入式处理体系结构具有成本效益,因为没有不必要的组件,但由于它们是为特定目的而构建的,它们在成像功能方面几乎没有任何灵活性。

  在嵌入式视觉系统中有两种主要的处理体系结构。即使在每一种情况下,不同制造商的专有技术在功能上也有差异。尽管结构多样,但紧凑的图像处理是嵌入式视觉技术的基础。

  四、嵌入式视觉处理器的类型

  嵌入式视觉系统的图像处理能力不仅取决于整体处理体系结构,还取决于所使用处理器的类型。虽然有几种不同类型的图像处理器,但主要的两种类型是图形处理单元(GPU)和现场可编程门阵列(FPGAs)。

  GPU被广泛应用于嵌入式视觉系统中,因为它们能够提供大量的并行计算潜力,尤其是加速处理像素数据的部分。通用GPU(GPU)是较常见的形式之一,因为它们是为满足各种应用程序的功率限制而构建的。

  五、FPGA和GPU在大多数嵌入式视觉系统中都有发现。

  所有GPU都利用软件进行成像算法,这有其优点和缺点。使用GPU,调整或完全改变成像功能就像改变系统的软件指令一样容易。这为一个系统执行多个成像功能提供了较大的灵活性。另一方面,软件总是比硬件慢-在GPU中延迟是多个数量级的。

  近年来,FPGA一直受到人们的青睐,原因有几点。首先,它们的主要优点是延迟程度低–它们是算法的硬件表示,使它们更快。FPGA的能源效率也要高得多,尽管它们提供了较高的处理潜力,具有数万亿倍累加/秒的计算性能(TERA-Mac)。FPGA可以同时加速计算机视觉流水线的多个部分–GPU不能。

  FPGA处理器的主要缺点是缺乏GPU的灵活性。为另一个成像任务准备FPGA比在GPU中调整算法要花费更长的时间。然而,在过去的几年里,随着开发人员引入具有预先配置的接口块的开源计算机视觉库,以更快、更容易地进行更改,这种情况一直在改变。

  当然还有其他类型的图像处理器,包括专用集成电路(ASIC)和数字信号处理器(DSP),GPU和FPGA是较流行的两种。两者都有各自的优点和缺点,这取决于如何将它们部署到嵌入式VISION应用程序中。

  六、嵌入式视觉标准接口

  传感器和图像处理器之间的连接非常重要–如果选择不当,可能会成为性能的瓶颈。与其他嵌入式视觉组件一样,嵌入式接口也有多种可能性。

  USB3.0通常是一些嵌入式视觉系统的简单即插即用解决方案,就像它们适用于传统的机器视觉系统一样。然而,它们很少采用紧凑的设计,这立即排除了它们作为许多空间需求小的嵌入式视觉系统设计的解决方案。

  七、图像数据传输的产品选择正在增加

  平挠性电缆,如那些遵循MIPI CSI-2标准的MIPI联盟,是一个更强大,紧凑的解决方案,相机集成。然而,这些类型的电缆需要每个单独的组件在一个板级,以适应平挠性电缆的能力。这可能会变得昂贵,而扁平的挠性电缆通常长度不能超过20厘米–对于某些应用来说,这是两个主要的缺点。

  一种更可靠的嵌入式视觉接口解决方案之一是低压差分信号(LVDS),其中电缆可以有几米长。LVDS电缆通常与FPGA处理器一起使用,用于集成和调整系统特定的读取例程.LVDS电缆不使用标准化的插头或数据传输协议,这意味着除非有公开记录的传输协议,否则集成成本将很高。

  在任何嵌入式视觉系统中,传感器与处理器之间的数据传输是一个至关重要的过程。再一次,嵌入式系统可以使用几个潜在的接口,每个接口都有各自的成本和性能权衡。

  八、嵌入式视觉成像模块

  嵌入式视觉系统的末尾一块是成像模块。通常,这些模块可以作为传感器模块或相机模块使用。两者之间有一个微妙的差别,对整个成像系统都有重大影响。

  传感器模块几乎没有处理能力。它们将原始图像数据发送给主机处理器,用于诸如降噪或特定于应用程序的功能,如面部识别。对于嵌入式视觉系统来说,传感器模块通常是一种精简的、成本效益高的方法.然而,它们缺乏灵活性–每次使用新传感器时,都须编写新的驱动程序。

  九、成像模块是通过处理能力来区分的。

  相机模块,另一方面,包括一些处理能力和它的图像捕捉责任。这减轻了主机处理器的处理工作量,同时消除了每次更换成像模块时对新驱动程序的需求,从而使开发人员能够专注于应用软件。

  相机模块,通常利用FPGA,可以更容易地集成比传感器模块,但初始成本可以大大高于传感器模块。相机模块近期出现作为嵌入式视觉周边,并已证明是一种灵活的成像解决方案。

  成像模块,无论是传感器模块还是摄像机模块,都在成像过程中起着至关重要的作用。每种类型的处理过程都会影响到整体图像质量、能源消耗和成本。

  十、嵌入式视觉系统正在变得越来越小、更便宜和更先进

  嵌入式视觉系统有多种配置,但基本组件一般是相同的。嵌入式系统的设计通常是流线型的,包括处理架构和处理器、相机接口和成像模块。

  理解嵌入式视觉系统的组件和系统配置是理解整个嵌入式视觉系统是如何工作的第一步,以及它如何转换部署在其中的应用程序。这似乎很容易想象一个系统,有相机,电缆和处理器;但这项技术是非常复杂的。

  近期,处理器和成像组件的技术进步才使嵌入式系统在商业上可行。考虑到嵌入式视觉系统在众多行业中的巨大潜力,研发者们一直致力于使嵌入式视觉系统比以往任何时候都更小、更便宜、更先进。