HyperLPR
来源:互联网 发布:java撤销 编辑:程序博客网 时间:2024/06/05 19:36
介绍
HyperLPR是一个使用深度学习针对对中文车牌识别的实现,与较为流行的开源的EasyPR相比,它的检测速度和鲁棒性和多场景的适应性都要好于目前开源的EasyPR,HyperLPR可以识别多种中文车牌包括白牌,新能源车牌,使馆车牌,教练车牌,武警车牌等。
Github地址:https://github.com/zeusees/HyperLPR
特性
- 基于端到端sequence模型,无需进行字符分割,识别速度更快。
- 速度快 720p ,单核 Intel 2.2G CPU (macbook Pro 2015)平均识别时间<=90ms
- 识别率高,仅仅针对车牌ROI在EasyPR数据集上,0-error达到 95.2%, 1-error识别率达到 97.4% (指在定位成功后的车牌识别率)
- 轻量总代码量不超1k行。
- 带有Android实现,其Android Demo可解决一些在一些普通业务场景(如执法记录仪)下的车牌识别任务。
- 支持多种车牌的识别,详情见如下
注意事项:
- Win工程中若需要使用静态库,需单独编译
- 本项目的C++实现和Python实现无任何关联,都为单独实现
- 在编译C++工程的时候必须要使用OpenCV 3.3(DNN 库),否则无法编译
Python 依赖
- Keras (>2.0.0)
- Theano(>0.9) or Tensorflow(>1.1.x)
- Numpy (>1.10)
- Scipy (0.19.1)
- OpenCV(>3.0)
- Scikit-image (0.13.0)
- PIL
CPP 依赖
- Opencv 3.3(必须是OpenCV 3.3)
设计流程
step1. 使用opencv 的 HAAR Cascade 检测车牌大致位置
step2. Extend 检测到的大致位置的矩形区域
step3. 使用类似于MSER的方式的 多级二值化 + RANSAC 拟合车牌的上下边界
step4. 使用CNN Regression回归车牌左右边界
step5. 使用基于纹理场的算法进行车牌校正倾斜
step6. 使用CNN滑动窗切割字符
step7. 使用CNN识别字符
简单使用方式
from hyperlpr import pipline as ppimport cv2image = cv2.imread("filename")image,res = pp.SimpleRecognizePlate(image)print(res)
Linux/Mac 编译
- 仅需要的依赖OpenCV 3.3 (需要DNN框架)
cd cpp_implementationmkdir build cd buildcmake ../sudo make -j
可识别和待支持的车牌的类型
- 单行蓝牌
- 单行黄牌
- 新能源车牌
- 白色警用车牌
- 使馆/港澳车牌
- 教练车牌
- 武警车牌
识别测试APP
- 测试 Android APP:https://fir.im/HyperLPR
识别样例
数据分享和捐赠
车牌识别框架开发时使用的数据并不是很多,有意着可以为我们提供相关车牌数据。联系邮箱 455501914@qq.com。
如果您愿意支持我们持续对这个框架的开发,可以通过下面的链接来对我们捐赠。
获取帮助
- HyperLPR讨论QQ群:673071218, 加前请备注HyperLPR交流。
zeusee.com 智云视图
阅读全文
0 0
- HyperLPR
- HyperLPR
- Hyperlpr专题
- HyperLPR车牌分割模型
- python安装(HyperLPR-master)读书笔记
- HyperLPR中文车牌 开源项目使用笔记
- HyperLPR车牌识别技术算法之车牌精定位
- HyperLPR车牌识别技术算法之基于方向纹理场进行快速车牌(文字)校正
- HyperLPR车牌识别技术算法之车牌粗定位与训练
- csc_matrix函数(学习日记)
- 大规模分布式存储系统原理解析与架构实战
- Linux下常用的一些命令笔记
- Coneology(poj2932)
- 最长上升子序列——回溯法
- HyperLPR
- 吴恩达深度学习笔记(一)week3 浅层神经网络
- Python简单爬虫——淘宝数据
- Linux逻辑卷管理(LVM)详细教程
- 2-Java IO与装饰模式
- centos7安装python3.5
- 分治法之归并排序
- 操作系统基本概念-操作系统学习笔记一
- 【Spring Cloud】Eureka服务注册中心搭建