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.

1.8 KiB

High Accuracy Chinese Plate Recognition Framework (HyperLPR)

介绍

This research aims at simply developping plate recognition project on deep learning methods, with low complexity and high speed. This project has been by some commercial corporations. Free and open source, deploying by Zeusee. HyperLPR是一个基于Python的使用深度学习针对对中文车牌识别的实现与开源的EasyPR相比它的检测速度和鲁棒性和多场景的适应性都要好于EasyPR。

特性

  • 单张720p 识别时间在单核Intel 2.2G CPU(MBP2015 15inch)不低于 140ms。比EasyPR单核识别速度快近10倍左右的时间。
  • 识别率在EasyPR数据集上0-error达到70.2% 1-error识别率达到 89.6%
  • 单线程平均检测时间在EasyPR数据集在保持在160ms以下。基于adaboost检测方法在实时性、召回率、准确率上都不逊于MSER方法。检测recall和easyPR持平。
  • 代码框架轻量总代码不到1k行。

依赖

  • Keras + Theano backend (Tensorflow data order)
  • Theano
  • Numpy
  • Scipy
  • OpenCV
  • scikit-image

Pipeline

step1. 使用opencv 的 HAAR cascade 检测车牌大致位置

step2. Extend 检测到的大致位置的矩形区域

step3. 使用类似于mser的方式的多级二值化+ransac拟合车牌的上下边界

step4. 使用CNN regression回归车牌左右边界

step5. 使用基于纹理场的算法进行车牌校正倾斜

step6. 使用CNN滑动窗切割字符

step7. 使用CNN识别字符

简单使用方式

from hyperlpr import  pipline as  pp
import cv2
image = cv2.imread("filename")
image,res  = pp.SimpleRecognizePlate(image)

测试样例

image image image