1. 背景
当下,人工智能(AI)进入到快速发展阶段,而AI技术落地应用最广的计算机视觉领域也随之日益成熟,行业对于AI人才的需求呈现出了爆炸式增长。除此之外,如何将AI研发置于实际应用场景之中,更好地对AI算法进行优化,加速AI应用落地,也是行业对AI开发者提出的新要求。
为帮助开发者加速深度学习模型推理,进一步推动计算机视觉算法在实际问题中的应用,促进产业界与学术界的深度融合,英特尔提供的OpenVINO工具包能有效地缩短开发周期,提升开发效率。
2. 概述
2.1 什么是OpenVINO工具包
OpenVINO是英特尔基于自身现有的硬件平台开发的一种可以加快高性能计算机视觉和深度学习视觉应用开发速度工具套件,支持各种英特尔平台的硬件加速器上进行深度学习,并且允许直接异构执行。 支持在Windows与Linux系统,Python/C++语言。
2.2 主要特点
- 在Intel平台上提升计算机视觉相关深度学习性能达19倍以上
- 解除CNN-based的网络在边缘设备的性能瓶颈
- 对OpenCV,OpenXV*视觉库的传统API实现加速与优化
- 基于通用API接口在CPU、GPU、FPGA等设备上运行加上
2.3 组件
OpenVINO工具包(ToolKit)主要包括两个核心组件,模型优化器(Model Optimizer)和推断引擎(Inference Engine)。
模型优化器(Model Optimizer)
模型优化器(Model Optimizer)将给定的模型转化为标准的 Intermediate Representation (IR) ,并对模型优化。
模型优化器支持的深度学习框架:
- ONNX
- TensorFlow
- Caffe
- MXNet
- Kaldi
推理引擎(Inference Engine)
推理引擎(Inference Engine)支持硬件指令集层面的深度学习模型加速运行,同时对传统的OpenCV图像处理库也进行了指令集优化,有显著的性能与速度提升。
支持的硬件设备:
- CPU
- GPU
- FPGA
- VPU
具体组件包
- 深度学习部署工具包(DLDT)
- 深度学习模型优化器 - 一种跨平台的命令行工具,用于导入模型并使用推理引擎为最佳执行做好准备。模型优化器导入,转换和优化模型,这些模型在流行的框架中训练,例如Caffe *,TensorFlow *,MXNet *,Kaldi *和ONNX *。
- 深度学习推理引擎 - 一种统一的API,允许对许多硬件类型进行高性能推断,包括英特尔®CPU,英特尔®集成显卡,英特尔®Movidius™神经计算棒,英特尔®神经计算棒2和采用英特尔®的英特尔®视觉加速器设计Movidius™VPU
- 演示和示例 - 一组简单的控制台应用程序,演示如何在应用程序中使用推理引擎
工具 - 一组简单的控制台工具,用于校准和测量模型的精度
预先训练的模型 - 一套用于学习和演示目的的预训练模型或开发深度学习软件
- OpenCV - 为英特尔®硬件编译的OpenCV *社区版本包括用于计算机视觉的PVL库。
- OpenCL™2.1版的驱动程序和运行时
- Intel®MediaSDK
- OpenVX * - 英特尔针对在英特尔®硬件(CPU,GPU,IPU)上运行而优化的OpenVX *实施
2.4 支持平台与硬件
windows
- 第6代 - 第8代Intel®Core™
- 英特尔®至强®v5系列
- 英特尔®至强®v6系列
- 英特尔®Movidius™神经计算棒
- 英特尔®神经计算棒2
- 采用Intel®Movidius™VPU的英特尔®视觉加速器设计
macOS * 10.14
- 第6代 - 第8代Intel®Core™
- 英特尔®至强®v5系列
- 英特尔®至强®v6系列
linux(Ubuntu 16.04.x长期支持(LTS),64位:支持的最低内核为4.14;CentOS 7.6,64位; Yocto Project Poky Jethro v2.0.3,64位(仅限目标并需要修改)
- 第6代 - 第8代Intel®Core™
- 英特尔®至强®v5系列
- 英特尔®至强®v6系列
- 采用英特尔®高清显卡的英特尔®奔腾®处理器N4200 / 5,N3350 / 5,N3450 / 5
- 英特尔®Movidius™神经计算棒
- 英特尔®神经计算棒2
- 采用Intel®Movidius™VPU的英特尔®视觉加速器设计