python 推理引擎_python OpenVINO:如何使用推理引擎构建OpenCV以启用从Model Optimizer加载模型 - 糯米PHP...

我安装了OpenVINO,并希望在Windows 10上运行以下代码。

import numpy as np

import cv2

import sys

from get_face_id import face_id_getter

from check import check

from win10toast import ToastNotifier

FP = 32

targetId = 0

toaster = None

if '-use_notifications' in sys.argv:

toaster = ToastNotifier()

if len(sys.argv) > 1 and '-m' in sys.argv:

FP = 16

targetId = cv2.dnn.DNN_TARGET_MYRIAD

cap = cv2.VideoCapture(0)

getter = None

if '-get_face_id' in sys.argv:

getter = face_id_getter()

weights = 'face-detection-adas-0001/FP{}/face-detection-adas-0001.bin'.format(FP)

config = 'face-detection-adas-0001/FP{}/face-detection-adas-0001.xml'.format(FP)

weights_emotions, config_emotions, emotions = None, None, None

if len(sys.argv) > 1 and '-use_emotions' in sys.argv:

weights_emotions = 'emotions-recognition-retail-0003/FP{}/emotions-recognition-retail-0003.bin'.format(FP)

config_emotions = 'emotions-recognition-retail-0003/FP{}/emotions-recognition-retail-0003.xml'.format(FP)

framework = 'DLDT'

model = cv2.dnn.readNet(weights, config, framework)

model.setPreferableTarget(targetId=targetId)

if len(sys.argv) > 1 and '-use_emotions' in sys.argv:

emotions = cv2.dnn.readNet(weights_emotions, config_emotions, framework)

emotions.setPreferableTarget(targetId=targetId)

emotions_decode = ('neutral', 'happy', 'sad', 'surprise', 'anger')

names = ["Plotnikov Egor", "Vainberg Roman", "Sataev Emil", "Unknown person"]

emotion_text = None

while(True):

ret, frame = cap.read()

blob = cv2.dnn.blobFromImage(frame, size=(672, 384), crop=False)

have_nots = False

model.setInput(blob)

ans = model.forward()

for i in range(0, 200):

x_min, y_min, x_max, y_max = np.array(ans[0, 0, i, 3:7]) * np.array([640, 480, 640, 480])

if ans[0, 0, i, 2] > 0.5:

cv2.rectangle(frame, (int(x_min), int(y_min)), (int(x_max), int(y_max)), ( 0, 255, 255))

if len(sys.argv) > 1 and '-use_emotions' in sys.argv:

blob_emotions = cv2.dnn.blobFromImage(frame[int(y_min):int(y_max), int(x_min):int(x_max)], size=(64, 64), crop=False)

emotions.setInput(blob_emotions)

ans_emotions = emotions.forward()[0, : , 0 , 0]

ans_emotions = list(map(lambda x: 1 if x > 0.5 else 0, ans_emotions))

_t = ''.join(list(map(str,ans_emotions))).find('1')

if _t == -1:

_t = 0

emotion_text = emotions_decode[_t]

if '-get_face_id' in sys.argv:

_ans = getter.get_answer(frame[int(y_min):int(y_max), int(x_min):int(x_max)])

t = check('labels.txt', _ans)

#print(names[t])

font = cv2.FONT_HERSHEY_SIMPLEX

cv2.putText(frame,names[t],(int(x_min), int(y_min)), font, 1,(255,255,255),2,cv2.LINE_AA)

if emotion_text != None:

cv2.putText(frame,emotion_text,(int(x_min), int(y_max)), font, 1,(255,255,255),2,cv2.LINE_AA)

if '-use_notifications' in sys.argv and not have_nots:

toaster.show_toast("Welcome, " + names[t],"")

have_nots = True

cv2.imshow('frame',frame)

if cv2.waitKey(1) & 0xFF == ord('q'):

break

cap.release()

cv2.destroyAllWindows()

我想运行一个预训练的OpenVINO模型,但出现错误:

v\modules\dnn\src\dnn.cpp:2670: error: (-2:Unspecified error) Build OpenCV with Inference Engine to enable loading models from Model Optimizer. in function 'cv::dnn::dnn4_v20190122::Net::readFromModelOptimizer'

我需要使用推理引擎构建OpenCV。我没有编程经验,也不知道这意味着什么。

并尝试

cmake \

-DWITH_INF_ENGINE=ON \

-DENABLE_CXX11=ON \

...

在C:\ Program Files(x86)\ IntelSWTools \ openvino_2019.1.148 \ opencv \ samples中,它给出错误提示:

CMake Error: The source directory "C:/Program Files (x86)/IntelSWTools/openvino_2019.1.148/opencv/samples/..." does not appear to contain CMakeLists.txt.

even though there is a CMakeLists.txt in that folder.

Can someone please help me?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值