text: 监控系统严重依靠嵌入式视觉系统提供的功能加速在广泛市场和系统中的部署。这些监控系统的用途非常广泛，包括事件和流量监控、安全与安防用途、ISR和商业智能。用途的多样性也带来了几大挑战，需要系统设计人员在解决方案中加以解决。它们是：
  根据用途，监控系统会实现相应算法（例如光流法）以检测图像内的运动。立体视觉提供图像内的深度知觉，也使用机器学习技术来检测和分类图像中的对象。
  异构系统器件，例如AllProgrammableZynq®-7000和Zynq®Ultrascale+™MPSoC，正越来越多地应用于监控系统的开发。这些器件是可编程逻辑(PL)架构与高性能ARM®内核处理器系统(PS)的完美结合。
  与传统方案相比，PL与PS的紧密耦合使得创建的系统具有更强的响应能力、可重配置能力以及更高的能效。基于CPU/GPU的传统SoC需要使用系统存储器将图像从一个处理阶段传送到下个阶段。这会降低确定性并增大功耗和系统响应时延，因为多个资源需要访问同一个存储器，造成处理算法瓶颈。该瓶颈随帧率和图像分辨率增加而加重。
  当解决方案采用Zynq-7000或ZynqUltraScale+MPSoC器件实现时，就会打破这个瓶颈。这些器件允许设计人员在器件的PL中实现图像处理流水线。在PL中创建真正的并行图像流水线，其中一个阶段的输出被传送到另一个阶段的输入。这样能获得确定的响应时间，缩短时延，实现功耗最佳解决方案。
  利用PL实现图像处理流水线，还能获得比传统CPU/GPUSoC方案更宽的接口能力，而后者只能获得固定接口。PLIO接口的灵活特性允许任意连接，支持MIPI、CameraLink、HDMI等行业标准接口。这种灵活特性还能实现定制传统接口，而且能进行升级以支持最新接口标准。利用PL，还可以让系统并行连接多个摄像头。
  不过，最关键的是实现应用算法，而且无需用硬件描述语言（例如Verilog或VHDL）重新编写所有高级算法。这正是reVISION™堆栈的用武之地。
  reVISION堆栈使开发人员能够实现计算机视觉和机器学习技术。在这里，针对Zynq-7000和ZynqUltraScale+MPSoC的高级框架和库同样适用。为此，reVISION将支持平台、应用和算法开发的多种资源完美结合在一起。该堆栈分为三个不同等级：
  1、平台开发-这是堆栈的最底层，是剩余堆栈层的构建基础。该层为SDSoC™工具提供平台定义。
  2、算法开发–这是堆栈的中间层，为所需算法的实现提供支持。该层有助于图像处理和机器学习推断引擎加快向可编程逻辑中转移。
  3、应用开发–这是堆栈的最高层，可提供行业标准框架支持。该层用来开发应用，以便利用平台开发和算法开发层。
  堆栈的算法和应用层支持传统图像处理流程和机器学习流程。在算法层中，支持用OpenCV库开发图像处理算法。这包括：能将多种OpenCV功能（包括OpenVX内核子集）加速放在可编程逻辑中实现。为支持机器学习，算法开发层提供几种可以放在PL中用以实现机器学习推断引擎的预定义硬件功能。然后，由应用开发层访问这些图像处理算法和机器学习推断引擎，用以创建最终应用，并为OpenVX和Caffe等高级框架提供支持。
  reVISION堆栈能提供所有必要元素，用以实现高性能监控系统所需的算法。
  算法开发层的最重要优势之一是能够加速多种OpenCV功能。该层中，可加速的OpenCV功能被分成四个高级类别。
  1、计算–包括的功能有：两个帧的绝对偏差、像素运算（加、减和乘）、梯度和积分运算。
  2、输入处理–支持位深度转换、通道运算、直方图均衡化、重新映射和尺寸重调整。
  3、滤波-支持多种滤波器，包括Sobel、自定义卷积和高斯滤波器。
  4、其他–提供多种功能，包括Canny/Fast/Harris边缘检测、阀值以及SVM和HoG分级器。
  这些功能构成了OpenVX子集的核心功能，能够针对OpenVX与应用开发层紧密集成。开发团队可利用这些功能在可编程逻辑中创建算法流水线。以此方式在逻辑中实现这些功能，这样能显着提高算法实现性能。
  reVISION提供与Caffe的集成，能够实现机器学习推断引擎。与Caffe的集成发生在算法开发层和应用开发层。Caffe框架在C++库中为开发人员提供大量函数库、模型和预训练的权重，以及Python™和MATLAB®捆绑程序。该框架使用户能够创建和训练网络，以执行所需的运算，无需重新开始。为便于模型重用，Caffe用户可通过模型库（modelzoo）共享模型；库中提供多个网络模型，用户可针对专门的任务实现和更新网络模型。在prototxt文件中定义这些网络和权重，当在机器学习环境中部署时，使用该文件来定义推断引擎。
  机器学习推断引擎中的数字表达对性能也起到重要作用。机器学习越来越多地使用更为高效、降低精度的定点数字系统，例如INT8表达法。与传统的浮点32(FP32)方法相比，定点降精度数字系统不会造成较大精度损失。与浮点相比，定点运算更易于实现，因此改用INT8后能实现更高效、快速的解决方案。可编程逻辑解决方案最适合使用定点数字，reVISION能在PL中使用INT8表达法。采用INT8表达法后，可在PL中使用专用DSP模块。有了这些DSP模块的架构，当使用相同的内核权重时，可同时执行两个INT8乘法累积运算。这样不仅能获得高性能实现方案，而且可以降低功耗。凭借可编程逻辑的灵活特性，也可以轻松实现精度更低的定点数字表达形式。
  reVISION使开发人员能够利用Zynq-7000和ZynqUltraScale+MPSoC器件所提供的功能。而且，即使不是专家也能利用可编程逻辑来实现算法。这些算法和机器学习应用可通过高级的行业标准框架来实现，从而缩短系统开发时间。这使开发人员能够提供响应性和可重配置能力更强而且功耗更加优化的系统。
  reVISION惊艳登场，Xilinx让视觉导向机器学习更简单！
  reVISION惊艳登场，Xilinx让视觉导向机器学习更简单！
  FPGA为什么越来越受重视了？