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

图2.嵌入式视觉辅助系统涉及到硬件、半导体和软件元器件供应商,子系统开发人员、系统集成商,以及最终用户,还有实现未来突破的基础研究等。本文主要关注图中显示的嵌入式视觉算法处理技术。

采用嵌入式视觉,业界进入了一种“良性循环”,这是很多其他数字信号处理(DSP)应用领域的特点。目前虽然很少有专门用于嵌入式视觉应用的芯片,但是,这些应用越来越多的采用了针对其他应用开发的高性能、高性价比处理芯片,包括,数字信号处理器、CPU、FPGA和GPU等。这些芯片单位成本、单位功率的可编程性能越来越高,因此,能够支持实现大批量嵌入式视觉产品。这些大批量应用也相应的引起了硅片提供商更多的关注,他们会提供更好的性能、更高的效率和可编程处理能力。

处理选择

如前所述,视觉算法通常需要很强的计算能力。当然,所有的嵌入式系统一般都受限于严格的成本和功耗要求。在其他DSP应用领域,例如,数字无线通信等,芯片设计人员使用专用协处理器和加速器来完成应用所要求的苛刻的处理任务,同时满足了高性能、低成本和低功耗需求,从而解决了这一难题。但是,芯片用户一般不能对这些协处理器和加速器进行编程。

无线应用通常能够接受这些优缺点,无线应用标准意味着不同设备设计人员使用的算法之间有很强的共性。然而在视觉应用中,对算法的选择并没有标准约束。相反,一般可以选择很多方法来解决某一特殊的视觉问题。因此,视觉算法是非常多样的,往往随着时间的变化而迅速变化。结果,与数字无线和以压缩技术为主的消费类视频设备等应用相比,视觉应用并不倾向于采用非可编程加速器和协处理器。

但是很难同时实现高性能、低成本和低功耗以及可编程功能。专用硬件通常能够以低成本实现高性能,但是可编程能力较弱。通用CPU具有可编程能力,但是性能较差,性价比不高,能效也较低。要求较高的嵌入式视觉应用通常结合使用多个处理单元,例如,可能会包括:

●通用CPU,用于启发式复杂判决、网络访问、用户接口、存储管理和总体控制等。

●高性能数字信号处理器,用于实时中等速率处理,不太复杂的算法等。

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

任何处理器在理论上都可以用于嵌入式视觉,目前最有可能的类型是:

●高性能嵌入式CPU

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