赛灵思FPGA人工智能领域技术及应用 - 问答

人工智能是目前最热门的技术,大量人工智能技术采用了赛灵思的FPGA进行算法的执行,以下内容整理自4月12日由安创空间举办的“Tech Day(安创技术日)”上,嘉宾赛灵思亚太区技术营销高级经理罗霖 关于《赛灵思FPGA人工智能领域技术及应用》的直播分享材料,非全文摘录。

罗霖

分享嘉宾:罗霖
赛灵思亚太区技术营销高级经理





























问答

Q:机器学习深度学习在Zynq中的应用
A:机器学习在Zynq中的应用非常广泛,主要集中在前端和边缘侧。具体来讲,在ADAS/自动驾驶上可以实现车辆、行人、车道、交通标志以及可行驶区域检测,可以做传感器融合;在智能安防上,可以实现车辆、车型、车牌、交通违规、车流量、人流量、人脸等检测;在无人机上,可以实现自动避障、自动跟随等功能;在医疗影像设备上,可以进行医疗图像的分析,帮助医生判断是不是可能有癌症或异常;在机器人上,可以实现增强学习,让机器人学习新的技能。

Q:嵌入式视觉在Zynq中的应用
A:嵌入式视觉的概念很宽,包括图像处理(ISP), 视频处理,视频分析等,这些功能都能在Zynq上面实现。在ISP方面,比如降噪、宽动态、去雾,3A等;在视频处理方面,比如缩放、去隔行、全景拼接、鱼眼矫正等;在视频分析方面,包括边缘,形状,纹理提取,物体检测、分类、背景建模等。产品例子包括全景相机、4K智能相机、高清微投、大屏显示等。

Q:System generator在FPGA深度学习方面的用途
A:Xilinx开发了可用于深度学习的一些底层的BLAS和DNN的库,这些库需要使用Xilinx的SDAccel和SDSoC工具。目前我们还没把这些库添加到Simulink的模块库去。

Q:FPGA正在取代MCU, 请问罗老师怎么看
A:FPGA特别是Zynq SoC在某些应用上会取代一部分MCU/MPU/DSP。比较多的场景是以前的架构是基于分离方案的,在PCB上既有处理器,也有FPGA。那么用Zynq单芯片方案可以提高系统集成度、提高性能、节省PCB面积以及降低功耗。在有些应用上,如果MCU/MPU/DSP就足够好了,不需要用到FPGA,那么整合或替代的可能性就比较低。随着Zynq价格的降低,特别是单芯片Z7007S的推出,我们也看到一些传统使用MCU/DSP的客户也开始使用Zynq进行开发。

Q:在FPGA上实现深度学习算法是用什么编程呢,用Verilog还是用C语言
A:在FPGA上实现深度学习算法,如果有RTL开发的能力,可以使用Verilog或VHDL进行算法的实现,可以实现很高的性能,但是要求FPGA工程师的能力比较强,开发的周期也比较长;也可以通过C/C++语言,用HLS/SDSoC进行开发,需要工程师对HLS比较熟悉,知道怎么使用合适的#pragma把算法的行为告诉编译器,开发的周期比使用RTL会短一些;还有一种方式是使用Xilinx的机器学习堆栈,调用已经针对硬件优化的BLAS和DNN库进行开发,在保证性能的同时,可以实现很高的开发效率。