6756浏览
查看: 6756|回复: 6

[平台测评] 【天天向上】OpenVINO学习笔记(一)

[复制链接]
【天天向上】OpenVINO学习笔记(三)使用 OpenVINO 的 OpenCV 库
【天天向上】OpenVINO学习笔记(二)运行python demo
【天天向上】OpenVINO学习笔记(四)目标检测模型
【天天向上】OpenVINO学习笔记(五)驾驶室内监控
【天天向上】OpenVINO学习笔记(六)Smart Classroom C++ Demo
【天天向上】OpenVINO学习笔记(七)C++ 演示
【天天向上】OpenVINO学习笔记(八)凝视估计演示
【天天向上】OpenVINO学习笔记(九)3d人体姿态估计测试
【天天向上】OpenVINO学习笔记(十)人脸识别+监控+计算棒
【天天向上】OpenVINO学习笔记(十一)网络摄像头使用
【天天向上】OpenVINO学习笔记(十二)测试真实环境识别效果
【运行范例】
OpenVINO范例-人体姿态分析
【天天向上】OpenVINO学习笔记(一)图2
【演示视频-姿态识别】
(interactive_face_detection_demo.exe -i cam -m  C:\Users\hp\Documents\Intel\intel\face-detection-0100\FP16-INT8\face-detection-0100.xml  -d CPU)

【OpenVINO工具套件】
    OpenVINO工具套件全称是Open Visual Inference & Neural Network Optimization,是Intel于2018年发布的,开源、商用免费、主要应用于计算机视觉、实现神经网络模型优化和推理计算(Inference)加速的软件工具套件。由于其商用免费,且可以把深度学习模型部署在英尔特CPU和集成GPU上,大大节约了显卡费用,所以越来越多的深度学习应用都使用OpenVINO工具套件做深度学习模型部署。

    它支持tensorflow caffe mxnet等模型的转换,将这些模型的权重与网络结构转换成 .xml 与 .bin文件,它好比计算机语言编译器可以将多种语言编译成二进制代码。避免了开发人员为了同一个业务需求,在不同平台多次开发,多次部署,使用openvino,只需一次开发,就可以将模型部署在多个平台。openvino支持多种基础网络,多种目标检测算法,多种图像分割算法,支持rcnn,支持权重量化操作。

OpenVINO工具套件主要包括:
Model Optimizer(模型优化器):用于优化神经网络模型的工具
Inference Engine(推理引擎):用于加速推理计算的软件包
通常一个完整的深度学习应用开发流程可以归结为三步:
用TensorFlow训练模型
用OpenVINO模型优化器优化模型
用OpenVINO推理引擎API开发用户应用程序
【天天向上】OpenVINO学习笔记(一)图1

1、OpenVINO范例-超分辨率(super_resolution_demo)
2、OpenVINO范例-道路分割(segmentation_demo)
3、OpenVINO范例-汽车识别(security_barrier_camera_demo)
4、OpenVINO范例-人脸识别(interactive_face_detection_demo)
5、OpenVINO范例-人体姿态分析(human_pose_estimation_demo)
6、OpenVINO范例-行人车辆分析(pedestrian_tracker_demo)




【计算棒】
    计算棒需要配合Intel出的OpenVINO推理框架,使用时首先需要将模型文件转换为OpenVINO的模型。OpenVINO目前支持Caffe、TensorFlow、MXNet等主流的深度学习框架。模型可以直接通过OpenVINO的转换工具进行转换。转换时需要输入网络输入节点的名称以及输入图片的大小,还有一点需要注意,NCS 2计算棒支持的是16位精度的浮点型数据,所以在转换时还需要加上”–data_type=FP16”。

    OpenVINO框架中使用NCS 2计算棒和直接使用CPU性能差不多,使用CPU(Intel Core i5 4200M)时,检测一帧需要660ms,使用NCS2计算棒需要590ms。但是在 OpenVINO框架中使用CPU速度要比在MXNet中使用CPU快,MXNet中使用CPU检测一帧需要1.1s左右。OpenVINO前向计算能基本比mxnet框架快一倍。

【参考文档】

1、安装OpenVINO
https://www.pianshen.com/article/6673625017/
https://blog.csdn.net/qq_36556893/article/details/81391468

2、OpenVINO 学习笔记(3):执行 OpenVINO Demos
https://blog.csdn.net/u011385476/article/details/104769250
(1)”3.2 下载模型文件“中修改:python C:\IntelSWTools\openvino_2020.1.033\deployment_tools\tools\model_downloader\downloader.py --name human-pose-estimation-0001
为:C:\Program Files (x86)\IntelSWTools\openvino_2020.2.117\deployment_tools\tools\model_downloader>python downloader.py --name human-pose-estimation-0001 --output_dir C:\Users\zlzx\Documents\Intel
目录指定为自己的。
(2)"4、执行 human_pose_estimation_demo.exe"中修改human_pose_estimation_demo.exe -i C:\Users\LWL\Desktop\sample-videos-master\classroom.mp4 -m C:\Users\LWL\Desktop\human-pose-estimation-0001.xml -d CPU为:human_pose_estimation_demo.exe -i cam -m C:\Users\zlzx\Documents\Intel\intel\human-pose-estimation-0001\FP32\human-pose-estimation-0001.xml -d CPU
3、openVINO downloader.py下载全部模型命令
https://blog.csdn.net/zhouhui1982/article/details/90515650

4、使用CMD,由于目录比较长,可在文件夹内新建run.bat,内容为cmd.exe。双击运行。
5、OpenVINO Pre-Trained 预训练模型介绍
http://www.person168.com/?p=16701


云天  初级技神
 楼主|

发表于 2020-7-28 11:14:30

import cv2 as cv
# Load the model
net = cv.dnn.readNet('face-detection-adas-0001.xml', 'face-detection-adas-0001.bin')
# Specify target device
net.setPreferableTarget(cv.dnn.DNN_TARGET_MYRIAD)
# Read an image
frame = cv.imread('/path/to/image')
# Prepare input blob and perform an inference
blob = cv.dnn.blobFromImage(frame, size=(672, 384), ddepth=cv.CV_8U)
net.setInput(blob)
out = net.forward()
# Draw detected faces on the frame
for detection in out.reshape(-1, 7):
    confidence = float(detection[2])
    xmin = int(detection[3] * frame.shape[1])
    ymin = int(detection[4] * frame.shape[0])
    xmax = int(detection[5] * frame.shape[1])
    ymax = int(detection[6] * frame.shape[0])
    if confidence > 0.5:
        cv.rectangle(frame, (xmin, ymin), (xmax, ymax), color=(0, 255, 0))
# Save the frame to an image file
cv.imwrite('out.png', frame)
回复

使用道具 举报

云天  初级技神
 楼主|

发表于 2020-7-28 13:02:08

import cv2 as cv
# Load the model
net = cv.dnn.readNet('face-detection-adas-0001.xml', 'face-detection-adas-0001.bin')
# Specify target device
net.setPreferableTarget(cv.dnn.DNN_TARGET_MYRIAD)
# Read an image

camera = cv2.VideoCapture("rtsp://admin:HikCUALGW@192.168.31.241:554/Streaming/Channels/101")
# Prepare input blob and perform an inference
while True:
  text = "Unoccupied"
  # 获取当前帧并初始化occupied/unoccupied文本
  (grabbed, frame) = camera.read()
  # 如果不能抓取到一帧,说明我们到了视频的结尾
  if not grabbed:
        break
  frame = imutils.resize(frame, width=800)
  blob = cv.dnn.blobFromImage(frame, size=(672, 384), ddepth=cv.CV_8U)
  net.setInput(blob)
  out = net.forward()
  # Draw detected faces on the frame
  for detection in out.reshape(-1, 7):
    confidence = float(detection[2])
    xmin = int(detection[3] * frame.shape[1])
    ymin = int(detection[4] * frame.shape[0])
    xmax = int(detection[5] * frame.shape[1])
    ymax = int(detection[6] * frame.shape[0])
    if confidence > 0.5:
        cv.rectangle(frame, (xmin, ymin), (xmax, ymax), color=(0, 255, 0))
  cv2.imshow("contours", frame)
  key = cv2.waitKey(1) & 0xFF
  # 如果q键被按下,跳出循环
  if key == ord("q"):
        break
  
# 清理摄像机资源并关闭打开的窗口
camera.release()
cv2.destroyAllWindows()
回复

使用道具 举报

云天  初级技神
 楼主|

发表于 2020-7-28 13:45:48

downloader.py --name human-pose-estimation-3d-0001  --output_dir C:\Users\hp\Documents\Intel
回复

使用道具 举报

云天  初级技神
 楼主|

发表于 2020-7-28 14:28:18

FAILED:
octave-resnet-50-0.125
octave-resnet-200-0.125
resnet-50
handwritten-score-recognition-0003
inception-resnet-v2-tf
squeezenet1.1-caffe2
head-pose-estimation-adas-0001
vgg19-caffe2
gmcnn-places2-tf
octave-resnext-50-0.25
yolo-v1-tiny-tf
mobilenet-ssd
densenet-169-tf
faster_rcnn_inception_v2_coco
ssd_mobilenet_v1_coco
se-resnext-50
ssd_mobilenet_v1_fpn_coco
ssdlite_mobilenet_v2
squeezenet1.1
vgg19
mobilenet-v2-1.4-224
mask_rcnn_resnet101_atrous_coco
resnet-152
license-plate-recognition-barrier-0007
mobilenet-v1-0.50-160
efficientnet-b0
densenet-169
googlenet-v1-tf
ssd_mobilenet_v2_coco
resnet-18-pytorch
colorization-v2-norebal
ctpn
mobilenet-v2
midasnet
googlenet-v1
ssd512
octave-resnext-101-0.25
faster_rcnn_inception_resnet_v2_atrous_coco
icnet-camvid-ava-sparse-30-0001
densenet-161
mobilenet-v1-1.0-224-tf
efficientnet-b0_auto_aug
mask_rcnn_inception_v2_coco
googlenet-v4-tf
facenet-20180408-102900
ssd300
yolo-v2-tiny-tf
faster-rcnn-resnet101-coco-sparse-60-0001
densenet-201
mobilenet-v1-0.25-128
mobilenet-v1-0.50-224
single-human-pose-estimation-0001
densenet-121
efficientnet-b7_auto_aug
Sphereface
vgg16
octave-densenet-121-0.125
face-recognition-resnet50-arcface
efficientnet-b7-pytorch
se-resnet-152
human-pose-estimation-3d-0001
mtcnn-r
densenet-121-caffe2
brain-tumor-segmentation-0001
face-detection-retail-0044
mask_rcnn_inception_resnet_v2_atrous_coco
efficientnet-b5-pytorch
resnet-50-pytorch
densenet-161-tf
se-resnet-101
densenet-121-tf
octave-resnet-26-0.25
deeplabv3
resnet-50-caffe2
se-inception
human-pose-estimation-0001
squeezenet1.0
mobilenet-v2-pytorch
alexnet
icnet-camvid-ava-0001
brain-tumor-segmentation-0002
mask_rcnn_resnet50_atrous_coco
rfcn-resnet101-coco-tf
face-recognition-mobilefacenet-arcface
efficientnet-b5
octave-resnet-101-0.125
ctdet_coco_dlav0_384
se-resnet-50
se-resnext-101
yolo-v3-tf
googlenet-v3-pytorch
mtcnn-p
resnet-50-tf
caffenet
efficientnet-b0-pytorch
googlenet-v2
mobilenet-v1-1.0-224
faster_rcnn_resnet101_coco
mobilenet-v2-1.0-224
ctdet_coco_dlav0_512
googlenet-v3
colorization-v2
face-recognition-resnet100-arcface
i3d-rgb-tf
octave-se-resnet-50-0.125
yolo-v2-tf
mtcnn-o
faster_rcnn_resnet50_coco
vehicle-license-plate-detection-barrier-0123
resnet-101
face-recognition-resnet34-arcface
回复

使用道具 举报

云天  初级技神
 楼主|

发表于 2020-7-28 14:56:42

python ./face_recognition_demo.py -m_fd C:\Users\hp\Documents\Intel\intel\face-detection-retail-0004\FP32\face-detection-retail-0004.xml -m_lm C:\Users\hp\Documents\Intel\intel\landmarks-regression-retail-0009\FP32\landmarks-regression-retail-0009.xml -m_reid C:\Users\hp\Documents\Intel\intel\face-reidentification-retail-0095\FP32\face-reidentification-retail-0095.xml -fg "D:/face_gallery"
回复

使用道具 举报

云天  初级技神
 楼主|

发表于 2020-7-28 15:05:03

C:\Program Files (x86)\IntelSWTools\openvino_2020.2.117\deployment_tools\inference_engine\demos\python_demos\face_recognition_demo
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail