一文带你了解Xilinx reVISION堆栈

简介

赛灵思reVISION堆栈包括丰富的平台、算法和应用开发资源,支持最流行的神经网络,如AlexNet、GoogLeNet、SqueezeNet、SSD和FCN等。此外,该堆栈还提供库元素,包括预定义和优化的CNN网络层实现,这是构建定制神经网络(DNN(深度神经网络)/CNN(卷积神经网络))所必需的。机器学习元素还配合一系列丰富的支持加速功能的OpenCV功能,满足计算机视觉处理要求。针对应用层开发,赛灵思支持工业级框架,包括面向机器学习的Caffe和面向计算机视觉的OpenVX。reVISION堆栈还包括了赛灵思和第三方提供的开发平台以及各类传感器。

计算机视觉

xFOpenCV库函数

OpenCV库函数对开发许多计算机视觉应用都非常重要。赛灵思的xFAST计算机视觉库基于关键的OpenCV函数,能帮助您方便地编写并加速计算机视觉功能,通过SDx或HLx设计环境充分发挥FPGA结构的功能。此外,xFAST函数与OpenCV保持一致,并专为高性能、高利用率和易用性进行了优化。更多详情请见: china.xilinx.com/revision 。

• OpenCV 3.1库中成千上万函数支持Cortex A9和Cortex A53。
• OpenCV函数(包括OpenVX子集)作为赛灵思SoC的优化函数库提供。
• 完整的库用户指南,支持设备利用率和高性能。

下图给出了计算机视觉领域的reVISION典型设计流程。

机器学习

框架、网络和功能

赛灵思的SoC非常适合机器学习,相对于领先的嵌入式GPU而言效率提升高达6倍。赛灵思的reVISION堆栈突破了传统的FPGA设计障碍,您能快速通过受训网络实现Zynq SoC和MPSoC部署和推断。

特性:
• 全面的软件堆栈支持机器学习应用部署。
• 硬件优化库支持Conv、ReLU、Pooling、Dilated conv、Deconv、FC、Detector & Classifier和SoftMax层。
• Caffe互用性有助于从Proto-Text文件实现方便的移植,满足网络定义和受训加权要求。
• 针对一系列丰富的网络拓扑提供优化的参考模型,包括AlexNet、GoogLeNet、SqueezeNet、FCN和SSD。
• 网络可通过运行在ARM处理器上的软件进行定制,无需编辑FPGA。

下图给出了机器学习领域的reVISION典型设计流程。

reVISION面向机器学习和计算机视觉的典型设计示例

reVISION堆栈包括四个初始设计示例(今后还会提供更多),帮助您在极短时间内就能启动工作。这些设计示例将帮助您方便地了解赛灵思All Programmable SoC在高性能嵌入式视觉应用中的独特优势。以下分别简介这四个设计示例。

• LK 高密度实现光学流程 @ 4K60
– 实时高密度实现光学流程,检测每个像素的对象运动。这个示例采用非迭代非金字塔型实现,基于索尼IMX274传感器和MIPI接口,输入为4K@60 FPS。

• 立体视觉
– 实时立体奇偶影射计算,包括再映射、校准和本地块匹配。它能处理来自USB3的双1080p30立体摄像头输入。

• 深度学习:GoogLeNet
– GoogleNet基准,采用INT8演示和标准ImageNet输入。

• 密度光学流程、立体视觉和深度学习示例设计结合(以上已有三个示例介绍)
– 结合使用MIPI传感器和USB3摄像头,该设计提供了自动视觉系统的真实使用案例,将高密度光学流程、立体视觉和CNN网络整合到统一的设计示例中。

SDSoC环境简介
reVISION堆栈基于SDSoC环境。SDSoC支持用reVISION资源在C、C++和/或OpenCL中开发算法和/或应用。SDSoC环境也能用来扩展reVISION资源,采用满足加速要求的新式软件库。

熟悉的嵌入式C/C++/OpenCL应用开发体验
SDSoC™ 开发环境提供熟悉的嵌入式C/C++/OpenCL应用开发体验,包括简单易用的Eclipse IDE和全面的设计环境,满足异构Zynq® All Programmable SoC和MPSoC部署要求。配套提供业界首款C/C++/OpenCL全系统优化编译器,SDSoC支持系统级描绘、可编程逻辑的自动化软件加速、自动化系统互联生成以及加速编程的库。它还支持终端用户和第三方平台开发员快速定义、集成和确认系统级解决方案,并为终端客户提供定制的编程环境。

开发板、套件和模块

reVISION堆栈面向Zynq SoC和Zynq MPSoC系列。

赛灵思及其联盟计划成员推出的开发板能帮助您迅速开展reVISION堆栈开发工作。下表列出了堆栈支持的赛灵思开发板和传感器。

赛灵思reVISION目标板(和BSP)和套件

赛灵思reVISION目标板(和BSP)和套件

互联和传感器支持

赛灵思的Zynq平台提供计算机视觉和机器学习算法加速功能,可实现快速响应和可再配置性,满足硬件平台开发人员快速升级到最佳传感器类型和组合的要求,同时能快速升级连接到新型设备和/或云端。


赛灵思支持一系列传感器接口互联标准以及视频输入输出。

类型

供应

 

LVDS

 

传感器

赛灵思

Zynq‐7000和Zynq UltraScale+原生支持,更多信息请参见器件数据表单。

 

MIPI‐CSI 2.0

 

传感器

赛灵思

MIPI CSI2接收器子系统和MIPI CSI 2发射器子系统采用基于移动产业处理器接口(MIPI)的摄像头串行接口(CSI‐2),符合1.1版要求,基于赛灵思的UltraScale+™器件,把那个猪用户捕获来自MIPI CSI2传感器的原始图像。

logiSLVS_RX Camera Sub‐LVDS Receiver

 

传感器

 

Xylon

IP核支持超高清索尼CMOS图像传感器接口,连接基于赛灵思All Programmable器件实现的图像信号处理管道和应用处理器。

 

HDMI

 

输入输出

 

赛灵思

HDMI TX和RX子系统。HDMI子系统定义符合HDMI 2.0标准要求。

 

DisplayPort

 

输入输出

赛灵思

DisplayPort LogiCORE™以及DisplayPort TX和RX子系统能帮助用户实现DisplayPort视频接口,符合VESA DisplayPort v1.2标准要求。

 

UHD‐SDI (up to 12G)

 

输入输出

赛灵思

UHD Serial Digital Interface(UHD‐SDI)用于同轴电缆传输最大4K清晰度非压缩视频流。LogiCORE™ IP UHD‐SDI接口提供接收器和发射器接口,符合SMPTE SD‐SDI、HD‐SDI、3G‐SDI、6G‐SDI和12G‐SDI标准。

 

GigE Vision

 

输入输出

Sensor to Image

GigE解决方案包括一个或多个FPGA IP核,可设计符合GigE Vision标准的产品,主要面向机器视觉市场。

 

USB3 Vision

 

输入输出

Sensor to Image

U3V解决方案包括一个或多个FPGA IP核,可设计符合U3V标准的摄像头应用,主要面向机器视觉市场。