You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

121 lines
3.1 KiB
Markdown

8 years ago
# High Accuracy Chinese Plate Recognition Framework
8 years ago
8 years ago
### 介绍
8 years ago
This research aims at simply developping plate recognition project based on deep learning methods, with low complexity and high speed. This
8 years ago
project has been used by some commercial corporations. Free and open source, deploying by Zeusee.
8 years ago
HyperLPR是一个使用深度学习针对对中文车牌识别的实现与较为流行的开源的[EasyPR](https://github.com/liuruoze/EasyPR)相比它的检测速度和鲁棒性和多场景的适应性都要好于目前开源的EasyPR。
8 years ago
### 更新
8 years ago
+ 添加端到端的序列识别模型识别率大幅度提升
+ 添加的端到端模型可以识别 新能源车牌,教练车牌,白色警用车牌
8 years ago
+ 更新Windows版本的Visual Studio 2015 工程2017.11.15
8 years ago
+ 增加cpp版本,目前仅支持标准蓝牌(需要依赖OpenCV 3.3)
+ 添加了简单的Android实现 (骁龙835 (*720*x*1280*) 200ms)
8 years ago
### 特性
8 years ago
+ 速度快 720p ,单核 Intel 2.2G CPU (macbook Pro 2015)平均识别时间低于100ms
8 years ago
+ 基于端到端的车牌识别无需进行字符分割
+ 识别率高 EasyPR数据集上0-error达到 95.2%, 1-error识别率达到 97.4%
+ 轻量 总代码量不超1k行
### 注意事项:
8 years ago
8 years ago
+ Win工程中若需要使用静态库需单独编译
+ 本项目的C++实现和Python实现无任何关联都为单独实现
+ 在编译C++工程的时候必须要使用OpenCV 3.3(DNN 库),否则无法编译
### Python 依赖
8 years ago
8 years ago
+ 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
8 years ago
8 years ago
### 设计流程
8 years ago
8 years ago
> step1. 使用opencv 的 HAAR Cascade 检测车牌大致位置
8 years ago
>
8 years ago
> step2. Extend 检测到的大致位置的矩形区域
8 years ago
>
8 years ago
> step3. 使用类似于MSER的方式的 多级二值化 + RANSAC 拟合车牌的上下边界
8 years ago
>
8 years ago
> step4. 使用CNN Regression回归车牌左右边界
8 years ago
>
8 years ago
> step5. 使用基于纹理场的算法进行车牌校正倾斜
8 years ago
>
8 years ago
> step6. 使用CNN滑动窗切割字符
8 years ago
>
8 years ago
> step7. 使用CNN识别字符
8 years ago
8 years ago
### 简单使用方式
8 years ago
```python
from hyperlpr import pipline as pp
import cv2
image = cv2.imread("filename")
image,res = pp.SimpleRecognizePlate(image)
print(res)
8 years ago
```
### Linux/Mac 编译
8 years ago
+ 仅需要的依赖OpenCV 3.3 (需要DNN框架)
```bash
cd cpp_implementation
mkdir build
cd build
cmake ../
sudo make -j
8 years ago
```
8 years ago
### 可识别和待支持的车牌的类型
8 years ago
- [x] 单行蓝牌
- [x] 单行黄牌
8 years ago
- [x] 新能源车牌
- [x] 白色警用车牌
- [x] 使馆/港澳车牌
- [x] 教练车牌
8 years ago
- [ ] 双层黄牌
8 years ago
- [ ] 双层武警
- [ ] 双层军牌
- [ ] 农用车牌
8 years ago
- [ ] 民航车牌
8 years ago
- [ ] 个性化车牌
8 years ago
8 years ago
### 测试样例
8 years ago
![image](./demo_images/test.png)
8 years ago
![image](./demo_images/15.jpg)
#### Android示例
8 years ago
![android](./demo_images/android.png)
### 识别测试APP
8 years ago
- 体验 Android APP[https://fir.im/HyperLPR](https://fir.im/HyperLPR)
8 years ago
### 数据分享
车牌识别框架开发时使用的数据并不是很多,有意着可以为我们提供相关车牌数据。联系邮箱 455501914@qq.com。
8 years ago
### 获取帮助
8 years ago
8 years ago
+ HyperLPR讨论QQ群673071218, 加前请备注HyperLPR交流。