嵌入式视觉技术--潜力巨大,有待开发
"嵌入式视觉"这一名词是指在嵌入式系统中使用计算机视觉技术。换句话说,"嵌入式视觉"是指从视觉输入中提取出其背后含义的嵌入式系统。与过去10年中无线通信技术的流行相类似,嵌入式视觉技术有望在今后10年得到广泛应用。而在实际的应用系统中,嵌入式视觉技术如何才能发挥它的真正潜力呢?
在缺乏共通标准而使嵌入式视觉技术发展受阻之际,需要一种兼容各层面功能的标准,才能真正开启并普及嵌入式视觉应用。例如,如果基于手势的用户介面变得普及,对于用户而言,能够使用一套具有多种不同机制的通用手势功能将会变得十分重要。而如果3D成像成为视觉应用的共同工具,那么不管使用什么样的传感器,我们都将必须为视觉应用找到一个重现3D图形数据的共同方式。
而对于嵌入式视觉系统所用的处理器,视觉演算法与应用大大地延伸了处理器性能要求的范围,就运算能力的这一点而言,处理器的性能至关重要。但当你跨越学术研究到实际系统的鸿沟,采用先进演算法以即时执行视频输入时,却不可避免地会消耗掉许多的处理功率。在许多嵌入式系统中,设计人员面临着尺寸、功耗与成本等严苛的限制条件,因此,能够以低成本与低功耗提供充份的处理能力是至关重要的。
而在其它一些要求大量运算的嵌入式处理领域──如随即浮现于我脑海中的消费性视频设备──在某种程度上而言,演算法是标准化的。这意味着芯片设计人员可以使用功能固定的硬件加速器和协同处理器,以低功耗和低成本提供大量的处理器运算性能。
但在视觉应用方面,不同的应用之间往往采用不同的演算法,甚至是在同一款应用中,所用的演算法也可能因设计不同或时间不同而异。因此,除了极其少数的一些大量应用以外,功能固定的硬件往往无法作为解决方案。在嵌入式视觉系统中,我们需要的处理器必须能够以低成本与低功耗,提供每秒数十亿次即时运算处理性能,并具有弹性化的可编程性能。过去几年来,已经有这样的处理器问世,并可协助嵌入式视觉技术进一步导入主流应用中。
处理器类别的选择
视觉算法通常需要很强的计算能力。当然,所有的嵌入式系统一般都受限于严格的成本和功耗要求。在其他DSP应用领域,例如,数字无线通信等,芯片设计人员使用专用协处理器和加速器来完成应用所要求的苛刻的处理任务,同时满足了高性能、低成本和低功耗需求,从而解决了这一难题。但是,芯片用户一般不能对这些协处理器和加速器进行编程。
无线应用通常能够接受这些优缺点,无线应用标准意味着不同设备设计人员使用的算法之间有很强的共性。然而在视觉应用中,对算法的选择并没有标准约束。相反,一般可以选择很多方法来解决某一特殊的视觉问题。因此,视觉算法是非常多样的,往往随着时间的变化而迅速变化。结果,与数字无线和以压缩技术为主的消费类视频设备等应用相比,视觉应用并不倾向于采用非可编程加速器和协处理器。
但是很难同时实现高性能、低成本和低功耗以及可编程功能。专用硬件通常能够以低成本实现高性能,但是可编程能力较弱。通用CPU具有可编程能力,但是性能较差,性价比不高,能效也较低。要求较高的嵌入式视觉应用通常结合使用多个处理单元,例如,可能会包括:
●通用CPU,用于启发式复杂判决、网络访问、用户接口、存储管理和总体控制等。
●高性能数字信号处理器,用于实时中等速率处理,不太复杂的算法等。
●用于简单算法像素速率处理的一个或者多个高度并行的引擎。
任何处理器在理论上都可以用于嵌入式视觉,目前最有可能的类型是:
●高性能嵌入式CPU
●专用标准产品(ASSP)与CPU相结合
●具有CPU的图形处理单元(GPU)
●具有加速器以及CPU的数字信号处理器
●移动"应用处理器"
●具有CPU的现场可编程门阵列(FPGA)
各类处理器,及其在嵌入式视觉应用上的关键优缺点
高性能嵌入式CPU
在很多情况下,嵌入式CPU不能提供足够的性能实现要求较高的视觉算法——也不能够以可以接受的价格或者功耗来满足性能要求。通常,存储器带宽是关键性能瓶颈,因为视觉算法通常使用大量的数据,不会重复访问相同的数据。嵌入式CPU的存储器系统无法设计适应这类数据流。然而,与大部分处理器相类似,随着时间的推移,嵌入式CPU的性能在逐渐增强,在某些情况下,能够提供足够的性能。
在可能的情况下,有足够的理由在CPU上运行视觉算法。首先,大部分嵌入式系统需要CPU来实现各种功能。如果所需要的视觉功能能够通过这种CPU来实现,那么,相对于
- 嵌入式视觉设计要创新,选择FPGA成关键(07-20)
- 未来的使用者界面--带你走进嵌入式视觉的“前世今生”(07-20)
- 神经网络协同处理器降低视觉处理功耗(05-30)
- 嵌入式视觉系统基本概念以及传感器的选择(11-22)
- 基于RS-485总线的宿舍智能防火防盗报警系统(06-28)
- 可穿戴型下肢助力机器人感知系统研究(06-25)