OpenVINO基础知识

一 关于OpenCV

截至2020-04-06,OpenCV的最新版本是4.3.0。OpenCV 自3.3开始加入对深度学习推理的支持,即OpenCV DNN模块。至今为止已经支持大多数主流深度学习框架,如TensorFlow、Caffe、Torch、DarkNet、ONNX 和 OpenVINO 格式的网络模型。

二 关于OpenVINO

OpenVINO是英特尔推出的视觉推理加速工具包。应用在Intel的CPU及其GPU上。OpenCV 3.4.1版本加入了英特尔推理引擎后端(英特尔推理引擎是OpenVINO中的一个组件),为英特尔平台的模型推理进行加速。OpenCV新版本(4.3.0)加入nGraph OpenVINO API(2020.03)。
2018 年5月 Intel 发布了 OpenVINO(Open Visual Inferencing and Neural Network Optimization, 开放视觉推理和神经网络优化)工具包,旨在为Intel 计算平台的(基于神经网络的视觉推理任务)提供高性能加速方案,同时支持Intel CPU、 GPU、FPGA 和 Movidius 计算棒等。

三 OpenVINO工具包

OpenVINO 工具包的核心组件是 DLDT(Deep Learning Deployment Toolkit,深度学习部署工具包)。DLDT主要包括模型优化器(Model Optimizer)和推理引擎(Inference engine, IE)两部分。最新版本(2020.03)加入了ngraph组件。其主要结构如图1所示。
OpenVINO基础知识_第1张图片
图1 OpenVINO工具包结构
模型优化器负责将各种格式的深度神经网络模型转换成统一的自定义格式,并在转换过程中进行模型优化;
推理引擎接受经过模型优化器转换并优化的网络模型,为Intel的各种计算设备提供高性能的神经网络推理运算。

四 OpenVINO工作流程

OpenVINO典型工作流程,主要分为三个步骤,如图2所示。
OpenVINO基础知识_第2张图片
图2 OpenVINO典型工作流程

  1. 训练一个DLDT支持的深度网络模型(Train a Model),如:TensorFlow、Caffe、MaxNet等等。
  2. 用模型优化器(Model Optimizer)对网络模型行编译和优化(Run Model Optimizer),生成Openvino IR(Intermediate Representation,中间表示)格式的网络配置文件(.xml 文件)和模型参数文件(.bin 文件);
  3. 调用推理引擎(Inference Engine)进行网络运算,其结果和应用程序 (User Application)进行交互。

五 OpenCV如何使用OpenVINO

OpenCV的推理引擎后端有两种主要的方式。如图3所示。
(1)模型优化器模式,使用.xml及.bin文件完成任务
(2)构建器模式,使用原始模型参数文件完成任务
OpenVINO基础知识_第3张图片

本文源于官方和一些我爱计算机视觉公众号,感兴趣可以仔细看看
https://docs.openvinotoolkit.org/latest/_docs_IE_DG_Introduction.html

你可能感兴趣的:(openVINO)