HyperLPR Python3车牌识别系统的入门使用
概要
HyperLRP是一个开源的、基于深度学习高性能中文车牌识别库,由北京智云视图科技有限公司开发,支持PHP、C/C++、Python语言,Windows/Mac/Linux/Android/IOS 平台。
github地址: https://github.com/zeusees/HyperLPR
TODO
特性
- 速度快 720p,单核 Intel 2.2G CPU (MaBook Pro 2015)平均识别时间低于100ms
- 基于端到端的车牌识别无需进行字符分割
- 识别率高,卡口场景准确率在95%-97%左右
- 轻量,总代码量不超1k行
模型资源说明
- 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:左右边界回归模型
可识别和待支持的车牌的类型
HyperLPR的检测流程
- 使用opencv的HAAR Cascade检测车牌大致位置
- Extend检测到的大致位置的矩形区域
- 使用类似于MSER的方式的多级二值化和RANSAC拟合车牌的上下边界
- 使用CNN Regression回归车牌左右边界
- 使用基于纹理场的算法进行车牌校正倾斜
- 使用CNN滑动窗切割字符
- 使用CNN识别字符
环境配置
首先将项目下载到本地,这里我使用了本机上配置的虚拟环境HyperLPR。
创建虚拟环境: conda create -n HyperLPR python=3.7
- 操作系统:windows10
- IDE:Pycharm
- python版本:Anaconda Pyhon3.7
- tensorflow版本:tensorflow-gpu==2.1.0
- cuda版本:10.1
- 显卡:RTX 2060
- OpenCV: opencv-python==3.4.3.18
- Keras:Keras==2.3.1
大坑之一: HyperLPR python中版本兼容太差,新版本无法兼容老版本,所以所有第三方库,我们全部指定版本
安装相关的python库
pip install Keras==2.3.1
pip install Theano
pip install Numpy
pip install Scipy
pip install opencv-python==3.4.3.18
pip install scikit-image
pip install pillow
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==2.1.0
打开Git CMD,输入下面的指令,将仓库克隆到本地,–depth=1不克隆历史,只取最新的一个版本,对我们使用者来说可以节少大量的时间,因为历史版本对我们没有什么意义。
git clone --depth=1 https://github.com/zeusees/HyperLPR.git
Blackice@Blackice-PC MINGW64 /d/Projects
$ git clone --depth=1 https://github.com/zeusees/HyperLPR.git
Cloning into 'HyperLPR'...
remote: Counting objects: 793, done.
remote: Compressing objects: 100% (605/605), done.
remote: Total 793 (delta 170), reused 709 (delta 149), pack-reused 0
Receiving objects: 100% (793/793), 92.86 MiB | 86.00 KiB/s, done.
Resolving deltas: 100% (170/170), done.
Checking out files: 100% (714/714), done.
然后,我们创建一个LPR的目录,将开源库中的Font和model拷到此目录,创建一个 data的目录,放置待识别车牌的车辆照片。
from hyperlpr import pipline as pp
import cv2
# 自行修改文件名
image = cv2.imread("data/001.jpg")
image, res = pp.SimpleRecognizePlate(image)
print('-------------')
print(res)
(241, 289, 3)
校正角度 h 0 v 90
keras_predict [0.15456393 0.88673264]
0f96bd6b
e2e: ('浙B5HC51', 0.896134112562452)
校正 1.6333682537078857 s
分割 0.13702082633972168
254
寻找最佳点 0.021014928817749023
字符识别 0.2136836051940918
分割和识别 0.3737204074859619 s
车牌: 浙B5HC51 置信度: 0.8446585088968277
2.1401290893554688 s
-------------
['浙B5HC51']
numpy.AxisError: axis 3 is out of bounds for array of dimension 3
将data= np.expand_dims(data,3)中的3改为2。
HyperLPR Python3车牌识别系统的入门使用相关推荐
- HyperLPR 开源车牌识别系统搭建踩坑全记录
(介绍略) 一个开源的车牌识别系统. github地址:https://github.com/szad670401/HyperLPR 一.下载 git clone https://github.com ...
- Python3 HyperLPR 中文车牌识别
HyperLPR 高性能开源中文车牌识别框架 github地址: https://github.com/szad670401/HyperLPR 在使用的过程中真的踩了好多坑,GitHub中项目文件很多 ...
- Python 基于 opencv 的车牌识别系统, 可以准确识别车牌号
大家好,我是程序员徐师兄,6 年大厂程序员经验,点击关注我 简介 毕业设计基于Opencv的车牌识别系统 车牌搜索识别找出某个车牌号 对比识别车牌系统 车牌数据库认证系统 车牌图文搜索系统 车牌数据库 ...
- 你不知道的车牌识别系统
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 有小伙伴后台和小白说,能不能推荐几个适合入门的开源视觉项目,因为根 ...
- 【深度学习】你不知道的车牌识别系统
有小伙伴后台和小白说,能不能推荐几个适合入门的开源视觉项目,因为根据实际项目和代码学起来相对来说比较快.小白收集了一些比较简单的开源的项目,会陆陆续续的分享给大家,文末有源码地址. 今天首先带来的是一 ...
- 【AI达人创造营三期】在地平线X3上部署车牌识别系统
[AI达人创造营三期]在地平线X3上部署车牌识别系统 一. 项目介绍 本项目属于AI达人创造营三期项目,主要探索如何将PaddleOCR训练的车牌识别模型部署在地平线X3的板子上,并实现实时推理. 二 ...
- 【毕设】车牌识别系统的设计与实现
车牌识别系统的设计与实现_毕设记录 1 前言[源码见评论区] 2 开发环境 3 VS2017配置OpenCV运行第一个小程序(19.12.27) 3.1 第一个小程序 3.2 参考链接汇总 4 车牌定 ...
- 车牌识别系统分步详解
车牌定位 开题 作为一个刚接触Python以及图像处理的小白,正好这次毕设题目是车牌识别,虽然毕设最终还是只能简单的实现部分车牌的识别,但还是希望能够将其记录下来,既是给自己做做笔记,也是希望能够给其 ...
- 【Opencv实战】一文看懂车牌识别系统全部内容,未来市场前景看好(很赞)
前言 车辆号牌是车辆唯一身份证,它的特殊性与重要性决定车牌识别系统成为城市智能交通管理系统 中不可或缺的重要组成部分. 未来,随着我国城市化进程发展的提速,交通压力将更加严峻,因此智能化交通管理将是今 ...
最新文章
- Python可视化——3D绘图解决方案pyecharts、matplotlib、openpyxl
- 调优之系统篇--cpu,内存
- 每天一个linux命令(20):find命令之exec
- gj12-2 协程和异步io
- php获取到的json数据如何处理_php – 如何从API获取JSON数据
- 可视化工具Navicat for MySQL-操作三
- 硬盘安装linux_Surface-Laptop3 安装Archlinux折腾小记
- 【2】Keras之激活函数
- WinForm界面控件DevExpress入门指南 - Window Service
- Win7扫雷的H5完整复刻实现(一) / js扫雷算法的初次鉴定与地图初始化实现
- 几个小图像处理工具网址
- linux 怎么进终端,进入Linux终端界面的方法汇总
- laravel框架生產vender文件夹
- SEERC 2017 J 	 Cunning Friends
- 张栋_机器学习的照片 - 微相册
- ad板子挖孔_用AD软件画孔的注意了!
- 关于计算机的知识作文,有关电脑的作文
- LG5200 「USACO2019JAN」Sleepy Cow Sorting 树状数组
- 从天宇核心团队出走看山寨“春秋”
- linux 批量ping多个连续的IP地址