Python3 HyperLPR 中文车牌识别
HyperLPR 高性能开源中文车牌识别框架
github地址: https://github.com/szad670401/HyperLPR
在使用的过程中真的踩了好多坑,GitHub中项目文件很多,相关的说明比较少,刚开始下手甚至不知道需要用到的是哪几个文件o(╥﹏╥)o,不过在参考各位大佬的方法之后,总算摸索出来了!记录一下以防自己忘记,如果能帮到遇到同样问题的人就更好啦~
Python3 HyperLPR 中文车牌识别
- 1 HyperLPR特性
- 2 可识别和待支持的车牌的类型
- 3 搭建环境
- 3.1 下载项目代码
- 3.2 安装依赖包
- 3.3 代码修改
- 4 运行
1 HyperLPR特性
- 速度快 720p,单核 Intel 2.2G CPU (MaBook Pro 2015)平均识别时间低于100ms
- 基于端到端的车牌识别无需进行字符分割
- 识别率高,卡口场景准确率在95%-97%左右
- 轻量,总代码量不超1k行
2 可识别和待支持的车牌的类型
- 单行蓝牌
- 单行黄牌
- 新能源车牌
- 白色警用车牌
- 使馆/港澳车牌
- 教练车牌
- 武警车牌
- 民航车牌
- 双层黄牌
- 双层武警
- 双层军牌
- 双层农用车牌
- 双层个性化车牌
3 搭建环境
3.1 下载项目代码
GitHub中下载项目代码至本机,真正用到的文件为以下三个:
1)model
- cascade.xml 检测模型 - 目前效果最好的cascade检测模型
- cascade_lbp.xml 召回率效果较好,但其错检太多
- char_chi_sim.h5 Keras模型-可识别34类数字和大写英文字 使用14W样本训练
- char_rec.h5 Keras模型-可识别34类数字和大写英文字 使用7W样本训练
- ocr_plate_all_w_rnn_2.h5 基于CNN的序列模型
- ocr_plate_all_gru.h5 基于GRU的序列模型从OCR模型修改,效果目前最好但速度较慢,需要20ms。
- plate_type.h5 用于车牌颜色判断的模型
- model12.h5 左右边界回归模型
2)Font
3)hyperlpr_py3
把这三个文件单独拿出来放到一起,文件结构如下图
3.2 安装依赖包
HyperLPR兼容性较差,依赖的第三方库版本需要指定。
最开始由于没有指定TensorFlow和keras的版本,报了很多错误:
1.RuntimeError: It looks like you are trying to use a version of multi-backend Keras that does not support TensorFlow 2.0. We recommend using ‘tf.keras’, or alternatively, downgrading to TensorFlow 1.14.
2.ValueError: GRU(reset_after=False) is not compatible with GRU(reset_after=True)
3.ModuleError: No module named 'tensorflow.core'
最后根据hyperlpr_py3文件中的requirements安装依赖包就可以了。
absl-py == 0.9.0
alembic == 1.4.2
astor == 0.8.1
click == 7.1.1
cycler == 0.10.0
decorator == 4.4.2
Flask == 1.0
Flask-Migrate == 2.5.3
Flask-MySQLdb == 0.2.0
Flask-Script == 2.0.6
Flask-Session == 0.3.1
Flask-SQLAlchemy == 2.4.1
gast == 0.3.3
grpcio == 1.27.2
h5py == 2.10.0
imageio == 2.8.0
itsdangerous == 1.1.0
Jinja2 == 2.11.1
joblib == 0.14.1
Keras == 2.1.1
Keras-Applications == 1.0.8
Keras-Preprocessing == 1.1.0
kiwisolver == 1.1.0
Mako == 1.1.2
Markdown == 3.2.1
MarkupSafe == 1.1.1
matplotlib == 3.2.1
mock == 4.0.2
mysqlclient == 1.4.6
networkx == 2.4
numpy == 1.17.4
opencv-contrib-python == 3.4.2.16
opencv-python == 3.4.2.16
Pillow == 7.0.0
protobuf == 3.11.3
pyparsing == 2.4.6
python-dateutil == 2.8.1
python-editor == 1.0.4
PyWavelets == 1.1.1
PyYAML == 5.3.1
redis == 3.4.1
scikit-image == 0.16.2
scikit-learn == 0.22.2.post1
scipy == 1.4.1
six == 1.14.0
sklearn == 0.0
SQLAlchemy == 1.3.15
tensorboard == 1.13.1
tensorflow == 1.15.2
tensorflow-estimator == 1.13.0
termcolor == 1.1.0
Theano == 1.0.4
Werkzeug == 1.0.0
3.3 代码修改
原代码中引用py文件时,使用的是相对路径导入,例如:
from . import e2e
在这里需要把from .
去掉即可。
//from . import xx
import xx
4 运行
新建一个main.py文件,测试一下效果
import pipline as pp
import cv2.cv2 as cv2image = cv2.imread("img/car.jpg")
image, res = pp.SimpleRecognizePlate(image)
print(res)
测试图片:
注:图片为网上下载,侵删~
结果如下:
Python3 HyperLPR 中文车牌识别相关推荐
- 基于深度学习的中文车牌识别与管理系统(含UI界面,Python代码)
摘要:本文详细介绍基于深度学习的中文车牌识别与管理系统,在介绍算法原理的同时,给出Python的实现代码以及PyQt的UI界面.在界面中既可以选择需要识别的车牌视频.图片文件.批量图片进行检测识别,也 ...
- HyperLPR 高性能开源中文车牌识别框架
概要 HyperLRP是一个开源的.基于深度学习高性能中文车牌识别库,由北京智云视图科技有限公司开发,支持PHP.C/C++.Python语言,Windows/Mac/Linux/Android/IO ...
- 【车牌识别和动态称重系统】(二)基于树莓派+HyperLPR的中文车牌识别
引言 HyperLRP是一个开源的.基于深度学习高性能中文车牌识别库,由北京智云视图科技有限公司开发,支持PHP.C/C++.Python语言,Windows/Mac/Linux/Android/IO ...
- anaconda3、pycharm2019.3.3、python3.7搭建中文车牌识别系统环境
anaconda3.pycharm2019.3.3.python3.7搭建中文车牌识别系统环境 一.安装anaconda3.配置python3.7版本 二.配置python3.7的环境 三.安装pyc ...
- 探索 Python + HyperLPR 进行车牌识别
概要 HyperLRP是一个开源的.基于深度学习高性能中文车牌识别库,由北京智云视图科技有限公司开发,支持PHP.C/C++.Python语言,Windows/Mac/Linux/Android/IO ...
- 基于HyperLPR的车牌识别
摘要: HyperLPR 是一个高性能开源中文车牌识别框架,基于keras-tensorflow实现,支持android,linux,windows,ios等多种平台. 目前已有C++实现版本和Pyt ...
- 基于CRNN的中文车牌识别
1.概述 目前HyperLRP是一个开源的.基于深度学习高性能中文车牌识别库,本文主要在其基础上进行改动,自己训练一个crnn车牌识别模型. 2.可识别的车牌类型 单行蓝牌 单行黄牌 新能源车牌 白色 ...
- 【深度学习模型】智云视图中文车牌识别源码解析(二)
[深度学习模型]智云视图中文车牌识别源码解析(二) 感受 HyperLPR可以识别多种中文车牌包括白牌,新能源车牌,使馆车牌,教练车牌,武警车牌等. 代码不可谓不混乱(别忘了这是职业公司的准产品级代码 ...
- EasyPR中文车牌识别系统开发
EasyPR中文车牌识别系统开发,我主要介绍如何使用开源的EasyPR中文车牌识别系统,我会介绍训练机器学习 SVM 支持向量机和 ANN 人工神经网络模型在车牌识别的应用,并公开训练数据. 目录: ...
最新文章
- 设计模式之一:单例模式
- VC6在64位Win7下调试无法退出的问题(缺少TLLOC.DLL和DM.dll)
- MySQL—交叉连接、自然连接、内连接
- linux 虚拟机同步时间
- Serverless 全能选手,再下一城
- 五个问答,告诉你阿里云对象存储如何助力钉钉战胜业务洪峰
- 云原生人物志|Pulsar翟佳:社区的信任最重要
- 如何使用PowerShell将VS Code扩展导出到另一台计算机
- Ubuntu16.04安装显卡驱动错误及解决方案
- etcher制作mac启动盘_如何在Mac上创建和引导Linux USB驱动器
- STM32基础分析——USART的DMA模式
- unity,生成的mac版游戏切场景时卡死解法
- MySQL中的show variables like xxx 详解
- 基于SSH的房屋租赁管理系统
- SolidWorks有限元分析流程
- 【网络】PFC背景和原理 、文档(DCB=PFC + ETS,DCBX=DCB扩展)
- Mac搭建Linux虚拟机
- 多元逻辑回归 - 小技巧(一)
- 360杀毒软件无视宏病毒!
- 位运算与字母大小写转换