如何选择嵌入式系统中的视觉处理技术
时间:05-16
来源:互联网
点击:
Processing Options For Implementing Vision Capabilities in Embedded Systems
作者:嵌入式视觉联盟 BDTI创始人兼总裁Jeff Bier
随着功能越来越强大的处理器、图像传感器、存储器和其他半导体器件以及相关算法的出现,可以在多种嵌入式系统中实现计算机视觉功能,通过视频输入来分析周围环境。微软的Kinect游戏控制器和Mobileye的辅助驾驶系统等产品都非常重视嵌入式视觉技术的发展潜力。结果,很多嵌入式系统设计人员开始思考如何实现嵌入式视觉功能。本文研究嵌入式视觉的发展机遇,对比实现这一技术的各种处理器选择,介绍帮助工程师在其设计中采用视觉功能的业界联盟。
“嵌入式视觉”这一名词是指在嵌入式系统中使用计算机视觉技术。换句话说,“嵌入式视觉”是指从视觉输入中提取出其背后含义的嵌入式系统。与过去10年中无线通信技术的流行相类似,嵌入式视觉技术有望在今后10年得到广泛应用。
很明显,嵌入式视觉技术能够为多种应用带来巨大的价值(图1)。两个例子是,Mobileye基于视觉的辅助驾驶系统,用于帮助防止车辆事故的发生;以及MG国际公司的泳池安全系统,旨在防止游泳溺水。还有一些纯粹的怪才发明,Intellectual Ventures的激光灭蚊枪,设计用于防止人们感染疟疾等。
图1.嵌入式视觉是从计算机视觉应用开始的,这些应用包括,装配线检查、光学字符识别、机器人技术、监控和军事系统等。但是,最近几年,对降低成本提高性能的需求加速了这一技术在各种其他市场上的广泛应用。
正如同高速无线互联是从高成本新奇技术起步一样,目前为止,嵌入式视觉技术一般只用于复杂昂贵的系统中,例如,毛发移植的手术机器人,制造业的质量控制检查系统等。
数字集成电路的发展是高速无线技术从新奇发展到主流的关键因素。芯片速度足够快,成本足够低,能效足够高时,高速无线技术便成为市场主流技术。今天,人们能够以不到100美元的价格购买宽带无线调制解调器。
同样的,数字芯片技术的进步为嵌入式视觉的大批量应用铺平了道路(图2)。与无线通信相似,嵌入式视觉需要很强的处理能力——特别是,越来越多的应用采用了高分辨率摄像机,开始使用多台摄像机。以足够低的成本实现这类处理能力,从而促进大批量应用,这是一个很大的挑战。事实是嵌入式视觉应用需要很强的可编程能力,进一步增大了这一挑战的难度。在无线应用中,标准意味着不同手机之间的基带算法不会有太大的变化,与之相比,在嵌入式视觉应用中,通过独特的算法,有可能得到更好的结果——实现更有价值的功能。
图2.嵌入式视觉辅助系统涉及到硬件、半导体和软件元器件供应商,子系统开发人员、系统集成商,以及最终用户,还有实现未来突破的基础研究等。本文主要关注图中显示的嵌入式视觉算法处理技术。
采用嵌入式视觉,业界进入了一种“良性循环”,这是很多其他数字信号处理(DSP)应用领域的特点。目前虽然很少有专门用于嵌入式视觉应用的芯片,但是,这些应用越来越多的采用了针对其他应用开发的高性能、高性价比处理芯片,包括,数字信号处理器、CPU、FPGA和GPU等。这些芯片单位成本、单位功率的可编程性能越来越高,因此,能够支持实现大批量嵌入式视觉产品。这些大批量应用也相应的引起了硅片提供商更多的关注,他们会提供更好的性能、更高的效率和可编程处理能力。
处理选择
如前所述,视觉算法通常需要很强的计算能力。当然,所有的嵌入式系统一般都受限于严格的成本和功耗要求。在其他DSP应用领域,例如,数字无线通信等,芯片设计人员使用专用协处理器和加速器来完成应用所要求的苛刻的处理任务,同时满足了高性能、低成本和低功耗需求,从而解决了这一难题。但是,芯片用户一般不能对这些协处理器和加速器进行编程。
无线应用通常能够接受这些优缺点,无线应用标准意味着不同设备设计人员使用的算法之间有很强的共性。然而在视觉应用中,对算法的选择并没有标准约束。相反,一般可以选择很多方法来解决某一特殊的视觉问题。因此,视觉算法是非常多样的,往往随着时间的变化而迅速变化。结果,与数字无线和以压缩技术为主的消费类视频设备等应用相比,视觉应用并不倾向于采用非可编程加速器和协处理器。
但是很难同时实现高性能、低成本和低功耗以及可编程功能。专用硬件通常能够以低成本实现高性能,但是可编程能力较弱。通用CPU具有可编程能力,但是性能较差,性价比不高,能效也较低。要求较高的嵌入式视觉应用通常结合使用多个处理单元,例如,可能会包括:
●通用CPU,用于启发式复杂判决、网络访问、用户接口、存储管理和总体控制等。
●高性能数字信号处理器,用于实时中等速率处理,不太复杂的算法等。
●用于简单算法像素速率处理的一个或者多个高度并行的引擎。
任何处理器在理论上都可以用于嵌入式视觉,目前最有可能的类型是:
●高性能嵌入式CPU
●专用标准产品(ASSP)与CPU相结合
●具有CPU的图形处理单元(GPU)
●具有加速器以及CPU的数字信号处理器
●移动“应用处理器”
●具有CPU的现场可编程门阵列(FPGA)
作者:嵌入式视觉联盟 BDTI创始人兼总裁Jeff Bier
随着功能越来越强大的处理器、图像传感器、存储器和其他半导体器件以及相关算法的出现,可以在多种嵌入式系统中实现计算机视觉功能,通过视频输入来分析周围环境。微软的Kinect游戏控制器和Mobileye的辅助驾驶系统等产品都非常重视嵌入式视觉技术的发展潜力。结果,很多嵌入式系统设计人员开始思考如何实现嵌入式视觉功能。本文研究嵌入式视觉的发展机遇,对比实现这一技术的各种处理器选择,介绍帮助工程师在其设计中采用视觉功能的业界联盟。
“嵌入式视觉”这一名词是指在嵌入式系统中使用计算机视觉技术。换句话说,“嵌入式视觉”是指从视觉输入中提取出其背后含义的嵌入式系统。与过去10年中无线通信技术的流行相类似,嵌入式视觉技术有望在今后10年得到广泛应用。
很明显,嵌入式视觉技术能够为多种应用带来巨大的价值(图1)。两个例子是,Mobileye基于视觉的辅助驾驶系统,用于帮助防止车辆事故的发生;以及MG国际公司的泳池安全系统,旨在防止游泳溺水。还有一些纯粹的怪才发明,Intellectual Ventures的激光灭蚊枪,设计用于防止人们感染疟疾等。
图1.嵌入式视觉是从计算机视觉应用开始的,这些应用包括,装配线检查、光学字符识别、机器人技术、监控和军事系统等。但是,最近几年,对降低成本提高性能的需求加速了这一技术在各种其他市场上的广泛应用。
正如同高速无线互联是从高成本新奇技术起步一样,目前为止,嵌入式视觉技术一般只用于复杂昂贵的系统中,例如,毛发移植的手术机器人,制造业的质量控制检查系统等。
数字集成电路的发展是高速无线技术从新奇发展到主流的关键因素。芯片速度足够快,成本足够低,能效足够高时,高速无线技术便成为市场主流技术。今天,人们能够以不到100美元的价格购买宽带无线调制解调器。
同样的,数字芯片技术的进步为嵌入式视觉的大批量应用铺平了道路(图2)。与无线通信相似,嵌入式视觉需要很强的处理能力——特别是,越来越多的应用采用了高分辨率摄像机,开始使用多台摄像机。以足够低的成本实现这类处理能力,从而促进大批量应用,这是一个很大的挑战。事实是嵌入式视觉应用需要很强的可编程能力,进一步增大了这一挑战的难度。在无线应用中,标准意味着不同手机之间的基带算法不会有太大的变化,与之相比,在嵌入式视觉应用中,通过独特的算法,有可能得到更好的结果——实现更有价值的功能。
图2.嵌入式视觉辅助系统涉及到硬件、半导体和软件元器件供应商,子系统开发人员、系统集成商,以及最终用户,还有实现未来突破的基础研究等。本文主要关注图中显示的嵌入式视觉算法处理技术。
采用嵌入式视觉,业界进入了一种“良性循环”,这是很多其他数字信号处理(DSP)应用领域的特点。目前虽然很少有专门用于嵌入式视觉应用的芯片,但是,这些应用越来越多的采用了针对其他应用开发的高性能、高性价比处理芯片,包括,数字信号处理器、CPU、FPGA和GPU等。这些芯片单位成本、单位功率的可编程性能越来越高,因此,能够支持实现大批量嵌入式视觉产品。这些大批量应用也相应的引起了硅片提供商更多的关注,他们会提供更好的性能、更高的效率和可编程处理能力。
处理选择
如前所述,视觉算法通常需要很强的计算能力。当然,所有的嵌入式系统一般都受限于严格的成本和功耗要求。在其他DSP应用领域,例如,数字无线通信等,芯片设计人员使用专用协处理器和加速器来完成应用所要求的苛刻的处理任务,同时满足了高性能、低成本和低功耗需求,从而解决了这一难题。但是,芯片用户一般不能对这些协处理器和加速器进行编程。
无线应用通常能够接受这些优缺点,无线应用标准意味着不同设备设计人员使用的算法之间有很强的共性。然而在视觉应用中,对算法的选择并没有标准约束。相反,一般可以选择很多方法来解决某一特殊的视觉问题。因此,视觉算法是非常多样的,往往随着时间的变化而迅速变化。结果,与数字无线和以压缩技术为主的消费类视频设备等应用相比,视觉应用并不倾向于采用非可编程加速器和协处理器。
但是很难同时实现高性能、低成本和低功耗以及可编程功能。专用硬件通常能够以低成本实现高性能,但是可编程能力较弱。通用CPU具有可编程能力,但是性能较差,性价比不高,能效也较低。要求较高的嵌入式视觉应用通常结合使用多个处理单元,例如,可能会包括:
●通用CPU,用于启发式复杂判决、网络访问、用户接口、存储管理和总体控制等。
●高性能数字信号处理器,用于实时中等速率处理,不太复杂的算法等。
●用于简单算法像素速率处理的一个或者多个高度并行的引擎。
任何处理器在理论上都可以用于嵌入式视觉,目前最有可能的类型是:
●高性能嵌入式CPU
●专用标准产品(ASSP)与CPU相结合
●具有CPU的图形处理单元(GPU)
●具有加速器以及CPU的数字信号处理器
●移动“应用处理器”
●具有CPU的现场可编程门阵列(FPGA)
嵌入式 传感器 半导体 机器人 集成电路 DSP FPGA 仿真 平板电脑 电路 Linux Android Verilog 相关文章:
- 嵌入式系统的定义与发展历史(11-15)
- 嵌入式系统亲密接触(11-22)
- 嵌入式系统设计中的USB OTG方案(02-01)
- 嵌入式线控驾驶系统开发过程中设计和测试考虑(02-02)
- 一个典型的嵌入式系统设计和实现 (02-02)
- DDR SDRAM在嵌入式系统中的应用(02-07)