YOLOv3-tiny怎么在VS2015上使用Openvino部署

  介绍

YOLOv3-tiny怎么在VS2015上使用Openvino部署,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

<节>

前言

前几天加了两个Openvino群,准备请教一下关于Openvino对YOLOv3-tiny的int8量化怎么做的,没有得到想要的答案。但缺发现有那么多人Openvino并没有用的好,都是在网络上找资料,我百度了一下中文似乎没有靠谱的目标检测算法的部署资料,实际上这个并不难,用官方提供的例子改一改就可以出来,所以我答应了几个同学写一个部署流程希望对想使用Openvino部署YOLOv3-tiny(其他目标检测算法类推)到cpu或者英特尔神经棒上(1代或者2代)都是可以的。

,

YOLOv3-tiny模型训练

这部分我就不过多介绍了,我使用的是AlexeyAB版本darknet训练的YOLOv3-tiny模型(地址见附录),得到想要的重量文件,并调用命令测试图片的检测效果无误。

darknet模型转pb模型

<李> <>节克隆OpenVINO-YoloV3工程,完整地址见附录。 <李> <节>修改工程下面的coco.names改成和自己训练的时候一样。 <李> <节>确保你要使用python的环境有tensorflow版本,1.8和1.9应该都没什么问题。 <李> <节>执行:
 <代码> python3 convert_weights_pb。py 
——class_names voc.names
——weights_file yolov3_tiny_200000。重量
——data_format NHWC
——小——output_graph frozen_tiny_yolo_v3.pb
  , <李> <节>不出意外会在你的OpenVINO-YoloV3文件下生成了frozen_tiny_yolo_v3.pb文件,这个文件就是我们需要的pb文件。 ,

在Windows上将pb文件转换为红外模型

我这里使用了OpenVINO2019.1.087,只要OpenVINO某个版本里面扩展模块包含了YOLORegion层应该都是可以的。转换步骤如下:

<李> <节>拷贝frozen_tiny_yolo_v3.pb到OpenVINO所在的   ,,F <代码>:\ IntelSWTools \ openvino_2019.1.087 \ deployment_tools \ model_optimizer 文件夹下,注意这个文件夹是我安装OpenVINO的路径,自行修改一下即可。 <李> <节>新建一个yolov3-tiny.json文件,放在   ,,F <代码>:\ IntelSWTools \ openvino_2019.1.087 \ deployment_tools \ model_optimizer 文件夹下。内容是,注意一下里面类是你的数据集中目标类别数:
 <代码> (
, {
,,“id":“TFYOLOV3",
,,“match_kind":“general",
,,“custom_attributes": {
,,,“classes": 3,
,,,“coords": 4,
,,,“num": 6,
,,,“mask": (0, 1, 2),
,,,
,,“anchors":[37 10, 14日,23日,27日,58岁的81年,82135169344319年),
,,,“entry_points":(“探测器/yolo-v3-tiny/Reshape",“探测器/yolo-v3-tiny/Reshape_4"]
,,}
}
]
  , <李> <节>在   ,,F <代码>:\ IntelSWTools \ openvino_2019.1.087 \ deployment_tools \ model_optimizer 文件夹下,执行下面的命令来完成pb文件到OpenVINO的红外文件转换过程。
 <代码> python mo_tf。py——input_model frozen_darknet_yolov3_model。pb 
——tensorflow_use_custom_operations_config yolo_v3_tiny。json
——input_shape=(1416416 3),——data_type=FP32
  , <李> <节>不出意外的话就可以获得   ,,<代码> frozen_darknet_yolov3_model.bin> frozen_darknet_yolov3_model.xml> ,

利用VS2015配合OpenVINO完成YOLOv3-tiny的前向推理

因为YOLOv3-tiny里面的yoloRegion层层是OpenVINO的扩展层,所以在VS2015配置<代码>自由和<代码>包括文件夹的时候需要把<代码> cpu_extension。自由和<代码>扩展文件夹> 包括和<代码>自由> <李> <>部分包括文件夹:   ,, YOLOv3-tiny怎么在VS2015上使用Openvino部署 <李> <节>自由文件夹:

 YOLOv3-tiny怎么在VS2015上使用Openvino部署”>其中<代码> cpu_extension.lib> </代码在安装了Openvino之后可能是没有的,这时候就需要手动编译一下。这个过程很简单,我在后边放了一个链接讲得很清楚了。</p> <p>把<代码>包括</代码>和<代码>自由> <h2 class=YOLOv3-tiny怎么在VS2015上使用Openvino部署