机器学习——练习训练模型(3)(基于OpenVION的车牌识别)

主要学习对OpenVINO的使用
来自课程:中国大学生MOOC:机器视觉与边缘计算 04-4.3
在这里插入图片描述

(一)任务目标

在这里插入图片描述

(二)系统设计

在这里插入图片描述

(三)模型选择

在这里插入图片描述

(四)模型优化

在这里插入图片描述

1.将h5文件转换为pb格式

from keras.models import load_model
from keras import backend as K
import tensorflow as tf

#获得h5模型
model = load_model('raw_model/judge1.h5')

def freeze_session(session, keep_var_names=None, output_names=None, clear_devices=True):
    graph = session.graph
    with graph.as_default():
        freeze_var_names = list(set(v.op.name for v in tf.global_variables()).difference(keep_var_names or []))
        output_names = output_names or []
        output_names += [v.op.name for v in tf.global_variables()]
        input_graph_def = graph.as_graph_def()
        if clear_devices:
            for node in input_graph_def.node:
                node.device = ""
        frozen_graph = tf.graph_util.convert_variables_to_constants(
            session, input_graph_def, output_names, freeze_var_names)
    return frozen_graph

frozen_graph = freeze_session(K.get_session(), output_names=[out.op.name for out in model.outputs])
# Save 保存输出的pb模型
tf.train.write_graph(frozen_graph, "pb_model", "license_detect.pb", as_text=False)

2.利用OpenVINO工具对pb文件进行模型优化

输入命令

#输入模型 设置batch值为1 输出文件夹
python mo_tf.py --input_model license_detect.pb --batch 1 --output_dir I:\ir_model

输出结果
在这里插入图片描述
得到的文件
在这里插入图片描述

(五)模型部署——license_detection.py

1.导入OpenVINO核心组件

import cv2
import os
import numpy as np
from argparse import ArgumentParser, SUPPRESS
import logging as log
import sys
from openvino.inference_engine import IENetwork, IECore

2.主函数入口及参数定义

在这里插入图片描述

3.模型加载

在这里插入图片描述

4.视频采集与处理

在这里插入图片描述

(六)模型训练结果

1.配置运行环境

(1)导入openvino环境

参考:https://blog.csdn.net/Einstellung/article/details/105106406

找到对应版本的openvino移入python项目环境。
对应版本的openvino地址在这里插入图片描述
python项目环境目录:
在这里插入图片描述

2.运行license_detection.py

(1)运行遇到的问题及解决过程
自我感觉还是没有找到根本问题,但是现在能做到的是能运行项目并得到结果。

  • 报错:
    File "C:\Program Files (x86)\Intel\openvino_2021.1.110\python\python3.6\openvino\inference_engine\__init__.py", line 1, in <module> from .ie_api import * ImportError: DLL load failed: 找不到指定的模块。在这里插入图片描述
    对这个感觉到疑惑的地方是,前面导入openvino环境时,是把对应版本openvino文件夹移到了项目环境下,那这个引入包的路径应该是项目环境下的那个openvino路径啊。
  • 按照网上查找的方法配置环境变量(以下两种方法都试了),但是没有作用

永久配置openvino环境变量

https://blog.csdn.net/u013688268/article/details/114107123

添加单个环境变量

C:\Program Files (x86)\Intel\openvino_2021.1.110\deployment_tools\inference_engine\bin\intel64\Release

在这里插入图片描述

  • (其实最后还有一种猜想和项目python环境有关,但是太麻烦了就没有试了)最后在cmd命令行模式中用python运行成功了

(2)运行结果
在这里插入图片描述
检测出车牌的图片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值