视频AI太难?三步走,让它变简单!

今天对于越来越多的人来说,人工智能(AI)已经不再是一个很“玄”的概念,而是实实在在走到了我们的身边。其中视觉AI应用就是离我们最近的一个。不论是无处不在的“刷脸”身份认证,还是工业生产线上的机器视觉检测,或者是汽车的自动驾驶,视觉AI应用正在快速渗透到我们生活中的方方面面。根据中国信通院的统计,2017年中国视觉AI市场的规模约为41亿元,而2020年则达到了755.5亿元,增速相当惊人。

视觉AI应用一个典型的工作流程就是,先利用大数据训练出一个用于特定视觉处理应用的机器学习模型(由于需要大量的计算,通常在云端完成),再将这个模型部署到网络边缘端的视觉设备中,对于新获取的数据进行推理,以得出正确的分析结论。利用这种“云端训练,边缘推理”的模式,让边缘端的视觉设备变得更“智能”。

不过,虽然视觉AI的市场蛋糕诱人,但是对于置身其中的开发者来说,所面临的挑战也同样巨大,这主要体现在两个方面:

1. 多样化的应用

虽然视觉AI市场总量很大,但是这个大市场是由很多分散的垂直应用整合而成的,也就是说“碎片化”的特征很明显。据分析,目前市场上有70多种视觉AI相关的用例,但是人们无法用一个统一的方案去解决。

2. 快速发展的技术

视觉AI所依托的技术,无论是算法、传感器还是视觉处理流程,都处于一个快速迭代演进的过程中,这就要求相应的解决方案要具有同样的可扩展性,能够适应这种快速变化的技术发展。

上面这两点已经很是让人“挠头”,但是别忘了,开发者在研发过程中还必须面对着边缘嵌入式设备设计中最基本的性能、功耗、安全、成本等多方面的“麻烦事”,由此可见,一个视觉AI应用开发的难度系数是不低的。

因此,开发者在“杀入”视觉AI这个战局之前,在选择技术平台时,不仅要衡量该平台的算力性能有多么强悍,功能有多么丰富,很重要的一点是还要考虑,它能否让你的开发工作变得更加简单而高效。

具体来讲,开发者可以从三个层次,分三步来为自己的视觉AI应用选定最合适的技术平台。

第一步,选择自适应计算平台

如果我们仔细观察边缘设备中的视觉AI应用,其一般是由AI推理以及非AI的预处理和后处理功能综合而成的,而所有这些功能都需要相应的高性能算力的支持,因此首先就是要选择一个合适的硬件计算架构。

如果是从灵活性的角度来考虑,基于冯﹒诺依曼架构的通用CPU无疑可以适应各类计算任务的要求,但是它的计算效率太低,由此带来的功耗和延时问题是视觉AI应用不能接受的。从性能功耗比的角度来看,专用的ASIC肯定是最佳选择,但是其开发周期长、研发成本高,而且其“固化”的算法无法适应视觉AI算法演进和应用拓展的要求。GPU具有强大的数据并行处理能力,但是这个优势在“一次只对一个输入项进行处理”的推理环节,就不是很明显了,而且其在功耗和延迟上也同样有自己的弱点。

因此,综合考虑下来,FPGA就成了视觉AI应用开发中一个非常合适的硬件架构,通过对硬件进行可编程重构,FPGA可以让开发者去探索AI加速中最优的算法实现,如果AI的算法或处理流程发生了变化,FPGA同样可以通过灵活的硬件编程去快速适应。而且,随着FPGA SoC这种异构计算平台的出现,在一颗器件中除了可编程逻辑单元之外还集成了通用处理器等其他功能电路,这就使得硬件平台的可扩展性进一步提升。

比如Xilinx推出的Zynq UltraScale+ MPSoC,内置了可编程逻辑(PL)和ARM嵌入式处理系统(PS)两个子系统,配有四核ARM Cortex-A53、双核Cortex-R5实时处理器和ARM Mali-400 MP2图形处理单元 。只需一颗器件就可以满足视觉AI处理全流程的计算任务。在PL子系统中,包含有深度学习处理单元、视频编解码和可扩展的传感器融合功能,为开发者提供了高效的加速优化工具,使其可以在在高性能和灵活性之间找到一个最佳的平衡。

图1:Zynq UltraScale+MPSoC系统框图(图源:Xilinx)

当然,这样一种创新的硬件平台想要落地,也需要相应的软件开发工具链的支持。因此Xilinx在硬件之外,还为开发者提供了一整套包括VITIS和VIVADO在内的软件工具集,无论你是处于哪个层次的开发者,都可以在视觉AI领域找到自己的切入点,去进行探索。

图2:与FPGA SoC配套的软件开发工具(图源:Xilinx)

这样的硬件架构和软件工具结合在一起,就形成了一种所谓的“自适应计算平台”。其实对“自适应计算平台”最通俗的理解就是:它既能满足AI高性能加速计算的要求,又能够对多样化的应用和不断变化中的技术做出快速的响应,这可以说是直接命中了视觉AI的痛点。选择了这样的平台,也就迈出了简化视觉AI开发的第一步。

第二步,从芯片到SOM

选定了技术平台,接下来就要进入到具体的应用开发。

一个典型的视觉应用系统开发需要经历以下这样一个流程:

  • 首先要选定所需的自适应计算器件(如FPGA SoC),由RTL设计工程师利用Verilog和VHDL等硬件描述语言(HDL)配置自适应计算器件。
  • 同时,需要软件开发团队的配合,一起构建原型,验证该硬件架构与所需的软件和计划部署的AI模型是否充分兼容。
  • 接下来,PCB设计工程师负责根据特定的应用设计定制电路板,整合系统所需的其他组件,并进行系统调试和测试。
  • 完成上述工作,方案定型后,再安排批量生产和大规模的部署。
  • 整个开发过程耗时长,涉及的人员多,复杂性可想而知。想要让这个进程加速,简化开发工作量,一个可行的方案就是改变这种以芯片作为起点的开发模式,让应用开发从一个更高的层次起步,一个可行的方案就是采用系统模块(SOM)进行开发。

    SOM实际上就是一块嵌入式PCB板,它集成了核心芯片以及内存、外设等资源,可以说是对核心芯片的硬件进行抽象,让开发者避免在芯片级的设计上花费太多精力,而是直接从更高层次的板级设计入手。成熟的SOM还可以直接插入最终产品中作为一个生产就绪型的模块使用,实现量产部署,让整个开发的流程大为简化。正是因为SOM的这个优势,近年来其应用日趋广泛,到2025年将达到23美元的市场规模,年复合增长率将达到11%。

    那么在视觉AI领域的开发,是否也可以借助SOM这条捷径呢?答案是肯定的——Xilinx新近推出了Kria SOM系列产品,它是一个信用卡大小(77 x 60 x 11mm)的PCB板,以上文提到的Xilinx的自适应计算器件Zynq UltraScale+MPSoC为核心,集成了DDR内存以及相关外设资源,以一种“即插即用”的方式,让视觉AI的应用开发直接从系统级的设计起步。

    图3:Kria SOM系列产品(图源:Xilinx)

    按照Xilinx的估算,基于SOM模块的视觉AI应用开发与基于器件的开发模式相比,整个开发进程可以节省多达9个月。

    图4:基于SOM模块的设计加速视觉AI开发进程(图源:Xilinx)

    特别值得一提的是,在推出Kria SOM的同时,Xilinx还进一步完善了其面向边缘设备的“视觉加速应用商店”,该应用商店涵盖了Xilinx自己及生态伙伴共享的生产就绪型的应用程序,也就是说,Kria SOM的开发者可以直接使用这些现成的应用程序实现自己的设计,省时省力,且最终方案的质量也更有保障。

    图5:与Kria SOM配套的“视觉加速应用商店”(图源:Xilinx)

    说到这里,大家应该很清楚了,在选定自适应计算技术平台之后,采用基于SOM模块设计的方法,将为视觉AI应用开发又增加一级加速,Xilinx的Kria SOM系列产品及其相关的软件生态资源,就是这样的高能加速器。

    第三步,从一款好工具起步

    如何才能在开发过程中,快速体验到Kria SOM带来的“速度与激情”?这就是下面我们想要与大家分享的关键内容——找到一款得心应手的开发套件,作为你叩开视觉AI应用的“敲门砖”。

    这款开发套件,就是Xilinx与Kria SOM配套推出的视觉应用开发套件KV260。KV260套件的核心是一块非量产版本的Kria K26 SOM及其散热风扇模块,它们被安装在一块底板上,该底板支持多路摄像头信号,包含有丰富的可扩展接口以及树莓派连接器。

    图6:KV260视觉AI入门开发套件(图源:Xilinx)

    具体来讲,KV260开发套件可以从四个方面为开发者带来价值:

    1. 视觉支持

  • 多摄像头支持:支持多达8个接口
  • 3个MIPI 传感器接口、USB摄像头
  • 内建ISP组件
  • HDMI、DisplayPort输出
  • 2. 高度灵活的网络和通用连接

  • 1Gb以太网
  • USB3.0 / 2.0
  • 3. 可扩展性

  • 可针对任何传感器或接口进行扩展
  • 访问Pmod生态系统
  • 4. 方便易用

  • 低成本,支持设计探索
  • 由Xilinx和分销商提供
  • KV260的设计目的,就是要让没有FPGA经验的开发者,也能够“开箱即用”,在1个小时内完成初启和运行。以KV260为基础,开发者可在从应用软件到AI模型再到FPGA设计的各个抽象等级中,为特定的视觉AI应用添加定制和差异化功能,一旦成功,即可快速完成在可量产的Kria K26 SOM上的批量部署。

    图7:KV260具有“开箱即用”的特点(图源:Xilinx)

    看到这里,想必大家对于如何让“视觉AI应用开发”这件复杂的事变得“简单”,已经有了一个清晰的思路——首先,你需要选择一个有自适应计算能力的技术平台;其次,与常规的基于器件的芯片级开发相比,从基于SOM的板级开发起步会让你事半功倍;最后,一块能与量产方案无缝衔接的开发套件,会让你快速上道,放开手脚去体验和释放自适应计算的巨大潜力。

    更为关键的是,上述这条视觉AI应用开发的快速通道,现在已经铺就,而且不论是硬件产品还是软件资源,各种“基础设施”都在不断的完善中。如果你也想获得这个快速通道的“通行证”,为你的视觉AI应用开发加速,那就来点击下面这个链接吧!

    Xilinx Kria KV260视觉AI入门套件: https://www.mouser.cn/new/xilinx/xilinx-kria-kv260-kit/?utm_source=wecha...

    本文转载自:贸泽电子微信公众号

    最新文章