Smarter Vision带来身临其境的视觉体验
Smarter Vision在让我们保持联系方面也取得了重大进步。如果您在现代办公楼工作,您的公司很可能至少有一个装有高级远程呈现会议系统的会议室。这不仅便于您与世界各地的参会者对话,而且还能亲眼看到他们,就如同在身边面对面交流一样。这些视频会议系统的精密程度在不断提高,以至于能够感知在桌边或者会议中发言的人是谁,然后自动将镜头拉近并对准这个人,用更高画质的逼真视频显示。
赛灵思广播及消费市场营销总监Ben Runyan表示,开发远程呈现技术的企业正在探寻如何为用户创造更佳的浸入式体验。Runyan称:“这样做的目的是让用户感觉他们同处一间会议室,但实际上他们可能身处地球两端。要实现这个目的,需要高级的摄像头和显示技术,以及高级的图像处理功能。技术的不断进步会带来更加逼真的体验,这会让协作变得更加简单,使企业的工作效率进一步提高,同时减少差旅需求和费用。”
Smarter网络
大部分Smarter Vision系统都是局域网的组成部分,同时越来越多的这种系统依次连接到更大型的外部网络。例如在汽车应用中,嵌入式视觉系统通过CAN总线、LIN和FlexRay等标准协议进行通信。此外,通用汽车还为客户提供OnStar无线导航、安全和车辆诊断服务,以便OnStar操作人员能够接入车辆系统,诊断问题。
与此形成鲜明对比的是,工业制造领域的每家厂商似乎都已开发出自己的专有协议。但是在越来越多的行业中,客户呼吁制造商提供的系统要能兼容标准因特网协议网络或以太网网络。使用通过标准网络连接和通信的系统,客户便可更加方便地将新系统集成到自己的企业中,不必搭配和匹配多家厂商的系统,从而获得更大的定价优势。但是加强网络兼容性会使嵌入式视觉设计进一步复杂化,因为视觉系统现在必须集成更加复杂的网络技术、高速I/O,并能在协议变化或者新协议出现时更新系统。软件可编程解决方案往往无法直接满足这类变化提出的性能要求,迫使客户必须从其它厂商购买新的系统。因此嵌入式视觉系统必须拥有足够的I/O灵活性,才能跟上网络技术的快速发展变化。
赛灵思:为Smarter Vision而全力打造的All-Programmable
要全面快速推进Smarter Vision技术的发展,满足新市场的需求,就必须拥有一款极为灵活的处理平台、丰富的资源组合以及致力于推进Smarter Vision技术发展的可靠的生态系统。过去10年来,赛灵思器件在帮助有关公司推进这些视觉系统创新方面一直发挥着重大作用。今天,赛灵思经过长达5年的开发,成功推出了一款完整的解决方案,将力助Smarter Vision应用开发商快速推出新一代创新技术。
10多年来,嵌入式视觉技术设计人员一直充分利用赛灵思FPGA的可编程性、并行计算功能和快速I/O功能,满足一系列嵌入式视觉系统的需求。过去,设计人员用FPGA加速系统中可能拖慢主处理器的功能,或者用FPGA来运行仅靠处理器不能执行的并行计算任务。而现在,利用Zynq-7000 All Programmable SoC,嵌入式视觉技术开发人员拥有了一款全面可编程的器件,非常适合开发新一代Smarter Vision应用。
赛灵思公司视频技术工程设计总监Jose Alvarez指出:“Smarter Vision技术能在同一开发板上互联传输的不同处理器和FPGA中实现,而Zynq-7000 All Programmable SoC为电子产业带来了前所未有的高集成度。现在,我们能通过同一芯片上处理器和逻辑之间3,000个高性能连接以芯片速度而不是板级速度在智能处理器和FPGA逻辑之间交换信息。”
下图显示出Zynq-7000 All Programmable SoC在多功能汽车驾驶员辅助系统创建中相对于采用传统多摄像头多芯片架构的优势。在赛灵思架构(见图中左下方),将一组摄像头连接到一个Zynq-7000 All Programmable SoC,能支持盲区检测、360度环绕视图、车道偏移报警和行人检测等功能捆绑。相反,现有的多功能DA系统需要多个芯片和多个摄像头,这就会让集成更复杂化,对性能和系统功耗造成不利影响,也提高了BOM成本。
一些芯片厂商提供的ASSP将ARM处理器与DSP或GPU搭配一起使用,但这种器件过于僵化,而且针对今天许多Smarter Vision应用而言计算性能也不够高。基于这种器件的解决方案往往需要添加独立的FPGA来弥补自身的不足。
Zynq-7000 All Programmable SoC相对于以GPU和DSP为中心的SoC而言,其主要优势就是具有的可编程性和高性能。ARM处理系统具有软件可编程性,FPGA逻辑可通过HDL或C++编程,甚至I/O也是全面可编程的。这样,客户就能创建出适合其特定的应用极高性能Smarter Vision系统,并让其系统从竞争产品中脱颖而出。
下图详细给出了Smarter Vision系统的一般信号流程,从中可以看出Zynq All Programmable SoC相对于基于ARM和DSP以及基于ARM和GPU的ASSP解决方案的优势。
流程中的第一个信号处理模块(绿色)是连接器件到摄像头感应器的输入。在Zynq-7000 All Programmable SoC中,开发人员可让多种不同I/O信号适应于客户连接的任何摄像头需要。下一个信号处理模块执行像素级处理或视频处理工作(具体取决于应用是面向图形处理还是显示)。再下一个模块执行图像分析功能,这是一个计算密集型任务,通常需要并行计算,而这则是FPGA最擅长的任务。接下来3个模块(红色)分别代表处理系统获得分析所得的元数据结果、创建图形化结果表达(在图像步骤显示),以及对结果进行编码用于传输。在Zynq-7000 All Programmable SoC中,处理子系统和FPGA逻辑协同工作。如果需要压缩,FPGA逻辑会直接采用适当的编解码器。在接下来最后一个信号处理模块(标为“输出”)中,Zynq-7000 SoC的可编程I/O可让开发人员满足多种不同通信协议和视频传输标准的要求,有的是厂商专有标准,有的是特定市场标准,还有的则是业界标准IP协议。与此形成对比的是,当开发人员采用以DSP和GPU为中心的SoC开发算法时,可能ASSP中的DSP或GPU难以提供所需的性能。为了弥补这种性能不足,开发人员往往还要在系统中采用独立的FPGA。
Zynq-7000 All Programmable SoC显然是开发Smarter视觉系统的最佳芯片选择,而赛灵思在该器件开发的早期阶段就认识到,应当对编程进行优化,特别是对那些比较习惯用C和C++开发视觉算法的设计人员来说更应该优化编程方法。为此,赛灵思于2012年6月向客户推出了一款最先进的软件环境:Vivado设计套件,其包含有业界一流的高层次综合等多项技术。赛灵思于2011年1月收购AutoESL获得了这种高层次综合技术。Vivado HLS特别适用于嵌入式视觉应用。比方说,如果视觉系统开发人员用Zynq-7000 All Programmable SoC开发的C或C++语言算法运行速度不够快,或者给处理系统带来过重负担,那么这些开发人员就能把C算法提交给Vivado HLS,并将这些算法综合成Verilog或VHDL,然后在器件的FPGA逻辑中运行。这就能将Zynq-7000 All Programmable SoC上的处理子系统解放出来,让它从事更适合自己的任务,从而加速整体系统性能。赛灵思还推出了OpenCV(CV就是计算机视觉的缩写)库,让进一步完善了Smarter Vision技术。
OpenCV是一款具有行业标准、包含OpenCV.org算法的开源库,能帮助嵌入式视觉开发人员快速创建视觉系统。全球嵌入式视觉开发人员积极地为这款开源库开发新的算法,目前已经包含了2500多款使用C、C++、Java和Python语言编写的算法。库中的算法具有各种不同的复杂程度,有的可执行图形滤波器等简单功能,有的则能执行运动检测等更高级的分析功能。赛灵思的视频技术设计总监Alvarez表示,这些OpenCV算法可用于微处理器和DSP等处理器的实现,支持Intel、ARM、Nvidia、MIPS/Imagination Technologies、TI等不同厂商的产品。由于Zynq-7000 All Programmable SoC采用ARM处理系统,因此用户能在Zynq-7000 All Programmable SoC的处理器上实现这些采用C++语言编写的算法。
Alvarez指出,有了Vivado HLS,用户可以用C或C++语言编写这些算法,将函数调用从OpenCV改为HLS,并使用Vivado HLS将这些算法综合或编译到RTL代码,从而针对Zynq-7000 All Programmable SoC逻辑部分的实现进行优化。Vivado环境中提供OpenCV,能让Smarter视觉架构设计人员方便地比较设计方案中的给定算法到底是在处理器还是Zynq-7000 All Programmable SoC的FPGA逻辑部分运行效率最佳。赛灵思开源库的推出可为客户提供一个良好的设计开端。就Vivado HLS而言,赛灵思已经编译了OpenCV库中30多种最常用的嵌入式视觉算法。客户可在系统级快速权衡处理器与逻辑,而且能立即在Zynq-7000 All Programmable SoC上运行,确保给定应用实现最佳的系统效果。
赛灵思及其联盟成员还将积极从OpenCV库持续进行功能移植,每个季度都将向赛灵思不断扩展的用户群提供新的功能。由于开发人员能在几乎任何商业处理器上运行OpenCV库,因此视觉设计人员能比较各种芯片器件上运行的不同算法的性能,甚至明确性能基准。赛灵思坚信,广大客户必将发现Zynq All Programmable SoC的明显优势。事实上,您也可在本演示中见证Zynq-7000 All Programmable SoC和赛灵思Smarter Vision技术的强大实力。赛灵思杰出工程师Kees Vissers在演示中将介绍如何使用OpenCV算法,并配合使用Vivado HLS快速在Zynq-7000 All Programmable SoC的FPGA逻辑部分实现这些算法,而相对于在ARM A4处理子系统中实现相同功能而言性能可提升50倍到100倍之多。
赛灵思的SMARTCore IP产品系列能充分满足各种不同细分市场对于高级Smarter Vision系统的必要要求。
作为Smarter Vision计划的一部分,赛灵思还推出了SmartCORE IP组合,以满足各种细分市场的Smarter视觉设计要求,为新一代产品带来Smarter视觉功能。客户能通过使用赛灵思新推出的IP Integrator工具在其设计中快速实现SmartCORE IP组合的内核以及OpenCV库的算法。这款新工具是一种新型即插即用IP环境,能帮助用户在原理图环境中工作,或者如果需要的话也支持在命令行环境中工作。
Alvarez指出,自Vivado设计套件诞生后,赛灵思让该套件的设计具有器件意识,这样就能充分发挥每款器件的功能。Alvarez称,有了IP Integrator,Vivado设计套件不仅具有器件意识,现在还具有目标平台意识,支持所有Zynq All Programmable SoC和7系列FPGA开发板以及套件。具有目标平台意识,就意味着Vivado设计套件现在能配置和应用特定开发板的设计规则检查,从而确保快速推出切实可行的系统。
举例来说,当设计人员选择赛灵思 Zynq-7000 SoC视频及成像套件,并在IP Integrator中实例化Zynq-7000 All Programmable SoC处理系统时,Vivado设计套件则会用正确的外设、驱动程序和存储器映射对处理系统进行预配置,从而为开发板提供支持。嵌入式设计团队现在能面向双核ARM处理系统和高性能FPGA逻辑更迅速地识别、重用并集成IP软/硬核。
用户可通过一系列对话框指定处理系统及其逻辑之间的接口。IP Integrator随后自动生成RTL并针对性能或占用面积进行优化。接下来用户能添加自己的定制逻辑,或用Vivado IP目录完成设计。
我们非常高兴看到赛灵思的客户迄今为止使用赛灵思FPGA推出了那么多出色的Smarter Vision系统。赛灵思更加期待看到客户使用Zynq-7000 All Programmable SoC和强大的Smarter Vision环境推出更出色的产品。鉴于过去大家已经取得的出色成绩,我们相信未来一定会更加美好!