1.1 ►
OpenVINO™ 2022.1简介
OpenVINO™ 工具套件2022.1版于2022年3月22日正式发布,根据官宣《OpenVINO™ 迎来迄今为止最重大更新,2022.1新特性抢先看》,OpenVINO™ 2022.1将是迄今为止最大变化的版本。

从开发者的角度来看,对于提升开发效率或运行效率有用的特性有:
1
提供预处理API函数。OpenVINO™ 2022.1之前版本不提供OpenVINO runtime原生的用于数据预处理的API函数,开发者必须通过第三方库,比如,OpenCV,来实现数据预处理。OpenVINO™ 2022.1自带的预处理API可以将所有预处理步骤都集成到在执行图中,这样iGPU、CPU、VPU 或今后Intel的独立显卡都能进行数据预处理,大大提高了执行效率;相比之前,用OpenCV实现的预处理,则只能在CPU上执行,如下图所示。

2
ONNX前端API。前端API意味着模型可以直接被OpenVINO读入,而无需使用模型优化器进行模型转换,这对于使用 ONNX 模型的开发人员非常有用。OpenVINO™ 2022.1自动转换ONNX模型的速度相比之前版本,有极大提升,开发人员已经感受不到ONNX模型自动转换的时间消耗了。
3
AUTO 设备插件。AUTO设备插件自动将AI推理计算加载到最合适的硬件设备上(CPU, GPU, VPU等),无需额外的开发工作即可提高模型在异构系统中(例如:12代CPU + Iris Xe 集成显卡 + DG2 独显) 的推理性能和可移植性。
4

1.2 ►
YOLOv5简介
Ultralytics公司贡献的YOLOv5 PyTorch 实现版:https://github.com/ultralytics/yolov5
由于其工程化和文档做的特别好,深受广大AI开发者的喜爱,GitHub上的星标超过了23.8K,而且被PyTorch官方收录于PyTorch的官方模型仓。在产业实践中,也有无数的开发者将YOLOv5直接用于自己的项目。

由于YOLOv5精度高速度快(最新的YOLOv5模型精度如下所示),使得产业界里面使用YOLOv5模型做产品和项目的人非常多。

另外,YOLOv5的工程化和文档化做的极好,没有任何基础的人,都可以在不到半天的时间内完成YOLOv5的开发环境搭建、模型训练、ONNX模型导出。
YOLOv5的文档链接:
https://docs.ultralytics.com/
1.3 ►
准备YOLOv5的OpenVINO™
推理程序开发环境
要完成YOLOv5的OpenVINO™ 工具套件推理程序开发,需要安装:
YOLOv5
OpenVINO™ 工具套件
由于YOLOv5的工程化做的实在太好,在Windows10中安装上述环境,只需要两步。
第一步:
git clone
https://github.com/ultralytics/yolov5.git
第二步:
在YOLOv5文件夹中,修改25、30和35行如下所示。

然后使用命令:
pip install -r requirements.txt
完成开发环境安装。
1.4 ►
导出YOLOv5 ONNX模型
在YOLOv5文件夹下,使用命令:python export.py --weights yolov5s.pt --include onnx,完成YOLOv5s.onnx模型导出,如下图所示。

1.5 ►
用Netron工具查看
YOLOv5s.onnx的输入和输出
使用Netron(https://netron.app/),查看YOLOv5s.onnx模型的输入和输出。

从图中可以看出:YOLOv5 6.1版本之后,直接导出的ONNX格式模型会多出一个output层,这个output已经完全整合了之前三层的原始输出,再也不需要搞anchor的比率跟重新写解析后处理了,output出来每一行85个数值,前面5个数值分别是:
cx, cy, w, h, score, 后面80个参数是MSCOCO的分类得分。
1.6 ►
使用OpenVINO™ 开发
YOLOv5的推理程序
使用OpenVINO™ 2022.1开发推理程序的典型步骤如下所示,从图中可见,三行 OpenVINO API函数可以完成YOLOv5s.onnx模型的推理。

完整范例程序如下:






上述范例程序下载链接:
https://gitee.com/ppov-nuc/yolov5_infer/blob/main/infer_by_openvino2022.py
运行效果如下所示:

综上所述,基于YOLOv5和OpenVINO™ 2022.1训练并部署模型,学习轻松,上手快速,使用方便,适合产业项目实际应用。
* 本文内容及配图均为“英特尔物联网”的原创内容。该公众号的运营主体拥有上述内容的著作权或相应许可。除在微信朋友圈分享之外,如未经该运营主体书面同意,请勿转载、转帖或以其他任何方式复制、发表或发布上述内容。如需转载上述内容或其中任何部分,请留言联系。
英特尔、英特尔标识、以及其他英特尔商标是英特尔公司或其子公司在美国和/或其他国家的商标。
©英特尔公司版权所有。
* 文中涉及的其它名称及商标属于各自所有者资产
本文分享自微信公众号 - OpenVINO 中文社区(openvinodev)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。