快捷搜索:

如何选择嵌入式的视觉处理技术

嵌入式系统可所以任何基于微处置惩罚器的系统,它们完成特定的事情,且随处可见,例如:汽车、厨房、破费电子、医疗东西等等;谋略机视觉则应用数字处置惩罚和智能算法去理解图像或者视频,它是一个已经被钻研好久,但仍旧旭日东升的领域。

“嵌入式视觉”这一名词是指在嵌入式系统中应用谋略机视觉技巧。换句话说,“嵌入式视觉”是指从视觉输入中提掏出其背后含义的嵌入式系统。与以前10年中无线通信技巧的盛行相类似,嵌入式视觉技巧有望在往后10年获得广泛利用。

很显着,嵌入式视觉技巧能够为多种利用带来伟大年夜的代价(图1)。两个例子是,Mobileye基于视觉的帮助驾驶系统,用于赞助防止车辆变乱的发生;以及MG国际公司的泳池安然系统,旨在防止泅水溺水。还有一些纯挚的怪才发现,Intellectual Ventures的激光灭蚊枪,设计用于防止人们感染疟疾等。

图1.嵌入式视觉是从谋略机视觉利用开始的,这些利用包括,装置线反省、光学字符识别、机械人技巧、监控和军事系统等。然则,近来几年,对低落资源前进机能的需求加速了这一技巧在各类其他市场上的广泛利用。

正犹如高速无线互联是从高资源别致技巧起步一样,今朝为止,嵌入式视觉技巧一样平常只用于繁杂昂贵的系统中,例如,毛发移植的手术机械人,制造业的质量节制反省系统等。

数字集成电路的成长是高速无线技巧从别致成长到主流的关键身分。芯片速率足够快,资源足够低,能效足够高时,高速无线技巧便成为市场主流技巧。本日,人们能够以不到100美元的价格购买宽带无线调制解调器。

同样的,数字芯片技巧的进步为嵌入式视觉的大年夜批量利用铺平了蹊径(图2)。与无线通信相似,嵌入式视觉必要很强的处置惩罚能力——分外是,越来越多的利用采纳了高分辨率摄像机,开始应用多台摄像机。以足够低的资源实现这类处置惩罚能力,从而匆匆进大年夜批量利用,这是一个很大年夜的寻衅。事实是嵌入式视觉利用必要很强的可编程能力,进一步增大年夜了这一寻衅的难度。在无线利用中,标准意味着不合手机之间的基带算法不会有太大年夜的变更,与之比拟,在嵌入式视觉利用中,经由过程独特的算法,有可能获得更好的结果——实现更有代价的功能。

图2.嵌入式视觉帮助系统涉及到硬件、半导体和软件元器件供应商,子系统开拓职员、系统集成商,以及终极用户,还有实现未来冲破的根基钻研等。本文主要关注图中显示的嵌入式视觉算法处置惩罚技巧。

采纳嵌入式视觉,业界进入了一种“良性轮回”,这是很多其他数字旌旗灯号处置惩罚(DSP)利用领域的特征。今朝虽然很少有专门用于嵌入式视觉利用的芯片,然则,这些利用越来越多的采纳了针对其他利用开拓的高机能、高性价比处置惩罚芯片,包括,数字旌旗灯号处置惩罚器、CPUFPGAGPU等。这些芯片单位资源、单位功率的可编程机能越来越高,是以,能够支持实现大年夜批量嵌入式视觉产品。这些大年夜批量利用也响应的引起了硅片供给商更多的关注,他们会供给更好的机能、更高的效率和可编程处置惩罚能力。

处置惩罚选择

如前所述,视觉算法平日必要很强的谋略能力。当然,所有的嵌入式系统一样平常都受限于严格的资源和功耗要求。在其他DSP利用领域,例如,数字无线通信等,芯片设计职员应用专用协处置惩罚器和加速器来完成利用所要求的苛刻的处置惩罚义务,同时满意了高机能、低资源和低功耗需求,从而办理了这一难题。然则,芯片用户一样平常不能对这些协处置惩罚器和加速器进行编程。

无线利用平日能够吸收这些优毛病,无线利用标准意味着不合设备设计职员应用的算法之间有很强的共性。然而在视觉利用中,对算法的选择并没有标准约束。相反,一样平常可以选择很多措施来办理某一特殊的视觉问题。是以,视觉算法是异常多样的,每每跟着光阴的变更而迅速变更。结果,与数字无线和以压缩技巧为主的破费类视频设备等利用比拟,视觉利用并不倾向于采纳非可编程加速器和协处置惩罚器。

然则很难同时实现高机能、低资源和低功耗以及可编程功能。专用硬件平日能够以低资源实现高机能,然则可编程能力较弱。通用CPU具有可编程能力,然则机能较差,性价比不高,能效也较低。要求较高的嵌入式视觉利用平日结合应用多个处置惩罚单元,例如,可能会包括:

●通用CPU,用于启迪式繁杂讯断、收集造访、用户接口存储治理和总体节制等。

●高机能数字旌旗灯号处置惩罚器,用于实时中等速度处置惩罚,不太繁杂的算法等。

●用于简单算法像素速度处置惩罚的一个或者多个高度并行的引擎。

任何处置惩罚器在理论上都可以用于嵌入式视觉,今朝最有可能的类型是:

●高机能嵌入式CPU

●专用标准产品(ASSP)与CPU相结合

●具有CPU的图形处置惩罚单元(GPU)

●具有加速器以及CPU的数字旌旗灯号处置惩罚器

●移动“利用场置惩罚器”

●具有CPU的现场可编程门阵列(FPGA)

种种处置惩罚器,及其在嵌入式视觉利用上的关键优毛病

高机能嵌入式CPU

在很多环境下,嵌入式CPU不能供给足够的机能实现要求较高的视觉算法——也不能够以可以吸收的价格或者功耗来满意机能要求。平日,存储器带宽是关键机能瓶颈,由于视觉算法平日应用大年夜量的数据,不会重复造访相同的数据。嵌入式CPU的存储器系统无法设计适应这类数据流。然而,与大年夜部分处置惩罚器相类似,跟着光阴的推移,嵌入式CPU的机能在徐徐增强,在某些环境下,能够供给足够的机能。

在可能的环境下,有足够的来由在CPU上运行视觉算法。首先,大年夜部分嵌入式系统必要CPU来实现各类功能。假如所必要的视觉功能能够经由过程这种CPU来实现,那么,相对付多处置惩罚器办理规划比拟,这低落了系统的繁杂度。而且,大年夜部分视觉算法一开始是在PC上开拓的,应用了通用CPU及其相关的软件开拓对象。PC CPU和嵌入式CPU (及其相关的对象)之间的相似性意味着,与其他类型的嵌入式视觉处置惩罚器比拟,一样平常对照轻易在嵌入式CPU上经由过程嵌入要领实现视觉算法。着末,嵌入式CPU应用起来平日比其他类型的嵌入式视觉处置惩罚器更简单,这是由于其相对直不雅的体系布局、成熟的对象以及其他的利用开拓根基支持平台等,例如,操作系统。

结合了CPU的ASSP

ASSP是专用、集成度很高的芯片,定制用于特殊利用或者专业利用。ASSP可以采纳CPU,或者应用零丁的CPU芯片。凭借专业化,与其他类型的处置惩罚办理规划比拟,ASSP平日具有优良的资源和能效。在其他技巧中,ASSP经由过程应用专用协处置惩罚器和加速器来前进效率。而且,因为ASSP主要集中在专业利用上,是以,平日必要大年夜量的利用软件。

这种专业化使得ASSP能够实现很高的效率,然则,也带来了很大年夜的局限:短缺机动性。设计用于某一利用的ASSP一样平常不能用于其他利用,以致目标利用相关的利用。ASSP应用独一的体系布局,与其他类型的处置惩罚器比拟,更难进行编程。实际上,某些ASSP并不支持用户编程。另一方面的斟酌是风险问题。ASSP平日由小供应商供给,这可能会增添难以供给芯片的风险,或者无法供给后续产品以赞助系统设计职员更新其设计,设计职员不得不从头开始进行设计。

具有CPU的GPU

GPU主如果用于3D图形,并且越来越多的用于实现其他功能,例如,视觉利用等。今朝,小我谋略机的GPU倾向于可编程,除了3D图形还能完成其他功能。这类GPU被称为“通用GPU”,或者“GPGPU”。GPU有很强的并行处置惩罚能力。它们在小我谋略机上是环球无双的。可以免费应用GPU软件开拓对象,从GPGPU开始进行编程并不是很繁杂。出于这些缘故原由,在PC上第一次开拓其谋略机视觉算法的开拓职员平日采纳GPU作为并行处置惩罚引擎,他们出于仿真或者原型开拓的目的,必要加速算法的履行。

GPU慎密集成了通用CPU,无意偶尔候是在同一芯片上。然而,GPU芯片的一种局限是今朝能够集成的CPU类型有限,而且支持这类集成的CPU操作系统也很有限。今朝,可以供给设计用于智能电话和平板电脑等产品的低资源、低功耗GPU。然则,这些GPU一样平常不是GPGPU,是以,除了3D图形之外,将其用在其他利用中有很大年夜的难度。

具有加速器以及CPU的数字旌旗灯号处置惩罚器

数字旌旗灯号处置惩罚器是专门用于旌旗灯号处置惩罚算法和利用的微处置惩罚器。对付视觉利用核心的旌旗灯号处置惩罚等义务,这种专业化使得数字旌旗灯号处置惩罚器的效率要远远高于通用CPU。而且,与其他类型的并行处置惩罚器比拟,数字旌旗灯号处置惩罚器比拟较较成熟,应用起来更方便。

然则,虽然数字旌旗灯号处置惩罚器在视觉算法上的机能和效率要高于通用CPU,但仍旧难以供给足够的机能来满意算法要求。出于这一缘故原由,DSP一样平常必要一个或者多个帮助协处置惩罚器。是以,视觉利用中一个范例的DSP芯片包括了CPU、数字旌旗灯号处置惩罚器以及多个协处置惩罚器。这种异质结合能够孕育发生很好的机能和很高的效率,但也难以编程。实际上,DSP供应商一样平常不支持用户对协处置惩罚器进行编程;而是让协处置惩罚器运行芯片供应商开拓的软件函数库。

移动“利用场置惩罚器”

移动“利用场置惩罚器”是集成度异常高的芯片系统,一样平常主要设计用于智能电话,而不是其他利用。利用场置惩罚器平日包括高机能CPU内核,以及各类特殊的协处置惩罚器,例如,数字旌旗灯号处置惩罚器、GPU、视频处置惩罚单元(VPU)、2D图形处置惩罚器,以及图像采集处置惩罚器等。

这些芯片专门针对电池供电利用进行了设计,是以,能效异常高。而且,因为环抱智能电话和平板电脑的利用越来越紧张,是以,移动利用场置惩罚器一样平常有很强的软件开拓根基支持平台,包括,低资源开拓电路板LinuxAndroid端口等。然而,正如前面章节对数字旌旗灯号处置惩罚器的评论争论,利用场置惩罚器中的专用协处置惩罚器一样平常不是用户可编程的,限定了它们在视觉利用中的成长。

具有CPU的FPGA

FPGA是机动的逻辑芯片,可以在门级和模块级进行从新设置设置设备摆设摆设。这一机动性使得用户能够随时实现定制满意利用需求的谋略布局。它还支持选择满意利用需求的I/O接口和片内外设。能够定制谋略布局,结合今世FPGA中大年夜量的资本,同时实现了高机能和优越的性价比和能效比。

然则,应用FGPA实际上是硬件设计功能,而不是软件开拓事情。一样平常在寄存器传送级(RTL)应用硬件描述说话(Verilog或者VHLD)来进行FPGA设计,寄存器传送级是很低的抽象级。与应用本文评论争论的其他类型的处置惩罚器比拟,这使得FPGA设计异常耗时,资源也高。

虽然如斯,应用FPGA越来越方便了,这是由多种身分造成的。首先,是所谓的“IP模块”库——可重用FPGA设计组件库,其功能越来越强大年夜了。在某些环境下,这些库能够直接满意视觉算法要求。在其他一些利用中,它们还支持视频I/O端口或者扫描线缓冲等功能。而且,FGPA供应商及其相助伙伴供给了越来越多的参考设计——采纳了FPGA的可重用系统设计,面向专业利用。着末,使用高档综合对象,设计职员应用高档说话,在FPGA中实现视觉和其他算法,而且效率越来越高。用户可以在FPGA中实现机能相对低一些的CPU。而且,在少量的利用中,FPGA制造商在器件中集成了高机能CPU。

滥觞:中国电子网

您可能还会对下面的文章感兴趣: