OpenVINO:如何使用推理引擎构建 OpenCV 以支持从模型优化器加载模型

2023-12-08

我安装了 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。我没有编程经验,不知道这意味着什么。

当我尝试这个时:https://github.com/opencv/opencv/wiki/Intel%27s-Deep-Learning-Inference-Engine-backend

and try

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.

即使该文件夹中有一个 CMakeLists.txt 。

有人可以帮帮我吗?


对我来说,解决方案是删除 OpenCV Python 库并安装opencv-python-推理引擎

pip3 uninstall opencv-python
pip3 uninstall opencv-contrib-python
pip3 install opencv-python-inference-engine
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenVINO:如何使用推理引擎构建 OpenCV 以支持从模型优化器加载模型 的相关文章

  • 如何打印前面有一定数量空格的整数?

    C has printf Xd Y 它只打印整数 X 并使其在控制台窗口上占据 Y 空格 例如 printf 3d 10 console 10 printf 5d 5 console 5 我如何在 python 3 中使用它 This pr
  • 有什么好的适用于 Google App Engine 应用程序的 AJAX 框架吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试在我的 Google App Engine 应用程序中实现 AJAX 因此我正在寻找一个好的
  • pandas read_csv 之前预处理数据文件

    我使用 SAP 的数据输出 但它既不是 CSV 因为它不引用包含其分隔符的字符串 也不是固定宽度 因为它具有多字节字符 它是一种 固定宽度 字符 为了将其放入 pandas 我当前读取文件 获取分隔符位置 对分隔符周围的每一行进行切片 然后
  • 我可以同时打开两个 Tkinter Windows 吗?

    可以同时打开2个窗口吗 import tkinter as Tk import random import math root Tk Tk canvas Tk Canvas root background image Tk PhotoIma
  • NumPy 数组与 SQLite

    我在 Python 中见过的最常见的 SQLite 接口是sqlite3 但是有什么东西可以很好地与 NumPy 数组或 rearray 配合使用吗 我的意思是 它可以识别数据类型 不需要逐行插入 并提取到 NumPy rec 数组中 有点
  • DataFrame.loc 的“索引器太多”

    我读了关于切片器的文档 http pandas pydata org pandas docs stable advanced html using slicers一百万次 但我从来没有理解过它 所以我仍在试图弄清楚如何使用loc切片Data
  • 无法使用Python请求会话模块登录网站

    我刚刚开始进行网络抓取 对于我的第一个项目 我尝试使用 requests Session 登录 artofproblemsolving com 并访问另一个用户的帐户 这是我的代码 import requests LOGIN URL htt
  • 将列表值转换为 pandas 中的行

    我有数据帧 其中一列具有相同长度的 numpy ndarray 值 df list 0 Out 92 array 0 0 0 0 29273096 0 30691767 0 27531403 我想将这些列表值转换为数据框并从 df iloc
  • Python 中“is”运算符的语义是什么?

    如何is运算符确定两个对象是否相同 它是如何工作的 我找不到它的记录 来自文档 http docs python org reference datamodel html 每个对象都有一个身份 一个类型 和一个值 对象的身份 一旦发生就永远
  • 提高光线追踪命中功能的性能

    我有一个简单的 python 光线追踪器 渲染 200x200 的图像需要 4 分钟 这对于我的口味来说绝对是太多了 我想改善这种情况 几点 我为每个像素发射多条光线 以提供抗锯齿功能 每个像素总共发射 16 条光线 200x200x16
  • 使用 Python-VLC 的 PyInstaller:无属性“media_player_new”错误

    我使用 Python VLC 创建视频播放器 并使用 PyInstaller 在 Windows 10 计算机上生成可执行文件 最初 它给了我错误 Import Error Failed to load dynlib dll libvlc
  • 类变量:“类列表”与“类布尔值”[重复]

    这个问题在这里已经有答案了 我不明白以下示例的区别 一次类的实例可以更改另一个实例的类变量 而另一次则不能 示例1 class MyClass object mylist def add self self mylist append 1
  • Kivy TextInput 水平和垂直对齐(文本居中)

    如何在 Kivy 的 TextInput 中水平居中文本 I have the following screen But I want to centralize my text like this 这是我的 kv 语言的一部分 BoxLa
  • 列表中的特定范围(python)

    我有一个从文本字符串中提取的整数列表 因此当我打印该列表 我称之为test I get 135 2256 1984 3985 1991 1023 1999 我想打印或制作一个仅包含特定范围内的数字的新列表 例如1000 2000之间 我尝试
  • 本地主机上的 Google App Engine GQL 查询

    我正在 Google App Engine Windows 上的 SDK 版本 1 7 0 上开发一个应用程序 我需要经常测试该应用程序 并且此测试涉及数据存储上的大量 GQL 查询 您可以在 App Engine 管理界面的浏览器中在线运
  • 如何将Python包从旧版本安装到新版本?

    我正在使用 python 3 7 最近在 Linux 中安装了 python 3 8 是否有任何 bash 命令或脚本可以获取 3 7 的所有软件包列表并在 3 8 版本中一一安装 我想避免每个包裹都手工完成 注意 我将它们安装在我的系统中
  • 为数据集生成随机 JSON 结构排列

    我想生成 JSON 结构的许多不同排列作为同一数据集的表示 最好不需要对实现进行硬编码 例如 给定以下 JSON name smith occupation agent enemy humanity nemesis neo 应该产生许多不同
  • 尝试 numba 时出现巨大错误

    我在使用 numba 时遇到了大量错误 讽刺的是 正确的结果是在错误之后打印的 我正在使用最新的 Anaconda python 并安装了 numba conda install numba 一次在 Ubuntu 13 64 位和 anac
  • 关闭正在运行代码的 IPython Notebook

    怎么运行的 我在 IPython Notebook 中运行了一些代码 一些迭代工作 我不小心关闭了正在运行的笔记本的浏览器 但回到 IPython 仪表板 我发现这个特定的笔记本尚未关闭 所以如果我再次打开笔记本 我会在它正在执行的代码前面
  • 如何使用 keras.backend.gradients() 获取梯度值

    我试图获得 Keras 模型的输出相对于模型输入 x 而不是权重 的导数 似乎最简单的方法是使用 keras backend 中的 梯度 它返回梯度张量 https keras io backend https keras io backe

随机推荐

  • GAMS 中的循环用于在 Excel 中生成场景

    我有一个优化模型 我尝试针对不同的输入文件求解该模型 我将其准确地称为 在不同场景下求解模型 因此 我需要一个循环来从 Excel 中读取每个不同工作表的数据 让我说清楚 例如 在下图中 我们有一个包含 4 个场景的数据 每个场景的工作表名
  • 随时间序列滚动事件计数

    我正在尝试计算一系列时间范围内按组出现的滚动计数 总和 我有一个数据框 其中包含一些示例数据 如下所示 dates as Date c 2011 10 09 2011 10 15 2011 10 16 2011 10 18 2011 10
  • yadcf - custom_select 选择奇怪的行为

    尝试将 custom select 与 selectize 一起使用 我看到了奇怪的行为 选择字段和重置按钮一样被复制 当我选择其中一个选项时 字段会增加 初始化选择 var selectize yadcf initSelectPlugin
  • 在浏览器上使用 javascript 在 Google API 上发送 post 请求

    我在 Google API 中的 ajax 请求收到 404 错误 我有这些代码 var asyncLoad require react async loader var CLIENT ID
  • 将不同的行属性转置/透视为列并将另一个属性分组? [复制]

    这个问题在这里已经有答案了 可能的重复 SQL Server动态PIVOT查询 是否可以对下表执行查询 Game Player Goals Game1 John 1 Game1 Paul 0 Game1 Mark 2 Game1 Luke
  • 调整jqGrid页面编辑框的大小

    在我的 ASP NET MVC 3 应用程序中 我在 jqGrid 上启用了寻呼机 如下图所示 Page 的文本框 图像的中心 其中有数字 1 非常宽 比它需要的宽得多 有谁知道如何调整这个盒子的大小 当我的网格比这个窄时 这尤其是一个问题
  • Laravel API 连接多个数据库

    我正在使用 Laravel Lumen 构建 REST API 这个 API 的想法是为多个订餐网站提供后端 它们共享相同的后端逻辑 模型 控制器等 这样每个网站只需要它自己的前端应用程序 我计划为此使用 Angular 每个网站都有自己的
  • 尝试使用 PDO 连接访问数据库

    我正在尝试连接到 C 驱动器上的访问数据库 我在 INI 文件中取消了访问扩展 pdo 的注释 我运行了驱动程序测试 它显示 odbc 驱动程序已安装 我正在将 wamp 与 apache 服务器一起使用 但我不断收到此错误 SQLSTAT
  • 与 Typescript 一起使用的 ThemeProvide 出现错误

    我想创建一个组件 const StyledDiv styled div width 10rem height 3rem border radius 0 2rem background color theme colorVariant col
  • R 中近似子串匹配的位置

    我正在使用 R 进行字符串处理 我有一个带有一列字符串的数据框 例如 df lt data frame textcol c In this substring would like to find the position of this
  • Apache Beam Google Datastore ReadFromDatastore 实体 protobuf

    我正在尝试使用 apache beam 的 google datastore api 来 ReadFromDatastore p beam Pipeline options options p Read from Datastore gt
  • 宏重载

    是否可以定义这样的东西 define FOO x y BAR define FOO x sth y BAR sth 这样 FOO daf sfdas FOO fdsfs something 5 翻译成这样 BAR BAR something
  • UITableViewController 中的状态栏

    我用一个UITableViewController into a Navigation Controller当出现UIButton按下 当按钮被按下时TableViewController出现时没有状态栏 如果我选择一个单元格TableVi
  • FRestore文档onUpdate:仅针对特定字段触发

    在我的云功能中 我有下一个功能 export const collectionOnUpdate functions firestore document cards id onUpdate async change context gt a
  • Node.js + Socket.io |在服务器上设置自定义标头

    我使用 Helmet 和 Express 从服务器端设置相当多的安全 HTTP 标头 当在 Node js 应用程序顶部渲染客户端页面时 使用以下命令 这做得很好 var app express app use helmet res ren
  • 在另一个 IQueryable 中使用 IQueryable

    我有一个扩展方法 它返回一个 IQueryable 来获取公司产品 我只想在 IQueryable 中使用它作为子查询 public static class DBEntitiesCompanyExtensions public stati
  • 通过 JSF 将 PDF 发送到浏览器

    我正在尝试将 JasperReports 生成的 PDF 文件发送到用户的浏览器 我找不到托管 bean 方法中的问题 以下是一个片段 System out println Making pdf FacesContext fc FacesC
  • Windows Phone 8 上的 HttpWebRequest 同步

    为了设计 重用可用于 WPF 应用程序 Windows Phone 8 应用程序和更高版本的 Windows 8 RT 应用程序的库 我们需要进行一些 HttpWebRequest 调用 最好是同步调用 以免破坏现有应用程序 问题是已经存在
  • 使用 AJAX 和 JQuery 通过 PHP 进行简单验证

    我是新来的AJAX 我想学习如何验证表单 假设我有一个带有两个输入字段的表单 当我点击提交时 我想用 php 脚本检查页面 验证成功后我想重定向到action submitForm php 当一个或多个字段根据validation php我
  • OpenVINO:如何使用推理引擎构建 OpenCV 以支持从模型优化器加载模型

    我安装了 OpenVINO 并想在 Windows 10 上运行以下代码 import numpy as np import cv2 import sys from get face id import face id getter fro