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 中文车牌识别相关推荐

  1. 基于深度学习的中文车牌识别与管理系统(含UI界面,Python代码)

    摘要:本文详细介绍基于深度学习的中文车牌识别与管理系统,在介绍算法原理的同时,给出Python的实现代码以及PyQt的UI界面.在界面中既可以选择需要识别的车牌视频.图片文件.批量图片进行检测识别,也 ...

  2. HyperLPR 高性能开源中文车牌识别框架

    概要 HyperLRP是一个开源的.基于深度学习高性能中文车牌识别库,由北京智云视图科技有限公司开发,支持PHP.C/C++.Python语言,Windows/Mac/Linux/Android/IO ...

  3. 【车牌识别和动态称重系统】(二)基于树莓派+HyperLPR的中文车牌识别

    引言 HyperLRP是一个开源的.基于深度学习高性能中文车牌识别库,由北京智云视图科技有限公司开发,支持PHP.C/C++.Python语言,Windows/Mac/Linux/Android/IO ...

  4. anaconda3、pycharm2019.3.3、python3.7搭建中文车牌识别系统环境

    anaconda3.pycharm2019.3.3.python3.7搭建中文车牌识别系统环境 一.安装anaconda3.配置python3.7版本 二.配置python3.7的环境 三.安装pyc ...

  5. 探索 Python + HyperLPR 进行车牌识别

    概要 HyperLRP是一个开源的.基于深度学习高性能中文车牌识别库,由北京智云视图科技有限公司开发,支持PHP.C/C++.Python语言,Windows/Mac/Linux/Android/IO ...

  6. 基于HyperLPR的车牌识别

    摘要: HyperLPR 是一个高性能开源中文车牌识别框架,基于keras-tensorflow实现,支持android,linux,windows,ios等多种平台. 目前已有C++实现版本和Pyt ...

  7. 基于CRNN的中文车牌识别

    1.概述 目前HyperLRP是一个开源的.基于深度学习高性能中文车牌识别库,本文主要在其基础上进行改动,自己训练一个crnn车牌识别模型. 2.可识别的车牌类型 单行蓝牌 单行黄牌 新能源车牌 白色 ...

  8. 【深度学习模型】智云视图中文车牌识别源码解析(二)

    [深度学习模型]智云视图中文车牌识别源码解析(二) 感受 HyperLPR可以识别多种中文车牌包括白牌,新能源车牌,使馆车牌,教练车牌,武警车牌等. 代码不可谓不混乱(别忘了这是职业公司的准产品级代码 ...

  9. EasyPR中文车牌识别系统开发

    EasyPR中文车牌识别系统开发,我主要介绍如何使用开源的EasyPR中文车牌识别系统,我会介绍训练机器学习 SVM 支持向量机和 ANN 人工神经网络模型在车牌识别的应用,并公开训练数据. 目录: ...

最新文章

  1. 设计模式之一:单例模式
  2. VC6在64位Win7下调试无法退出的问题(缺少TLLOC.DLL和DM.dll)
  3. MySQL—交叉连接、自然连接、内连接
  4. linux 虚拟机同步时间
  5. Serverless 全能选手,再下一城
  6. 五个问答,告诉你阿里云对象存储如何助力钉钉战胜业务洪峰
  7. 云原生人物志|Pulsar翟佳:社区的信任最重要
  8. 如何使用PowerShell将VS Code扩展导出到另一台计算机
  9. Ubuntu16.04安装显卡驱动错误及解决方案
  10. etcher制作mac启动盘_如何在Mac上创建和引导Linux USB驱动器
  11. STM32基础分析——USART的DMA模式
  12. unity,生成的mac版游戏切场景时卡死解法
  13. MySQL中的show variables like xxx 详解
  14. 基于SSH的房屋租赁管理系统
  15. SolidWorks有限元分析流程
  16. 【网络】PFC背景和原理 、文档(DCB=PFC + ETS,DCBX=DCB扩展)
  17. Mac搭建Linux虚拟机
  18. 多元逻辑回归 - 小技巧(一)
  19. 360杀毒软件无视宏病毒!
  20. 位运算与字母大小写转换

热门文章

  1. 网页设计 1.HTML
  2. ADI-trinamic精确控制医疗设备(IVD体外诊断仪器)
  3. 2022深圳IVD诊断试剂临床检验医学展会
  4. word 中 ctrl+v不能使用问题
  5. AnchoredSnapper函数使用说明
  6. GOOGLE Weather API 一套google天气图标
  7. A股市场全景分析系列—行业板块和热门概念RPS排名
  8. Qt处理传输协议数据时QByteArray添加多字节的使用案例
  9. [嵌入式开发模块]AD转换芯片ADS8344驱动模块
  10. 不再依赖光荣,全新脚本引擎还原《三国志曹操传》