easyPR车牌识别分析与测试结果

简介

最近由于项目需要,需要做一个车牌号抓取和识别的功能,于是找到了EasyPR,全称Easy to do Plate Recognition,一个全中文的开源识别项目,基于OpenCV和机器学习实现,支持跨平台,相对来说比较简单,速度也还不错,准确度而言,白天还行,晚上很差,尤其是开启前照灯的情况下非常糟糕,不过还是要感谢作者能够开源给大家分享。

下载

github地址:https://github.com/liuruoze/EasyPR

可以根据平台下载自己需要的版本,然后按照Usage.md中介绍的一步步去编译,也可借鉴这篇博客(http://livezingy.com/compile-easypr-in-win10-vs2013-x64/),编译过程中会出现有关opencv的错误,一般都是与版本有关,代码里面的相关语法错误,按照需要进行对应修改,后续我会给出我修改好的demo,上传更新。

大概思路

车牌检测

检测部分,主要用了三种方法的结果进行融合,提取出来的车牌矩形框大小为360x160,这三种方法分别是:

  • 边缘检测:基于Sobel,代码中的函数为plateSobelLocate()
  • 基于颜色的搜索:函数为plateColorLocate(),分步并行处理三种颜色:蓝色,黄色,白色,当然需要的可以进行代码修改,增加绿色牌的搜索;
  • 基于文字区域的搜索:这里使用了MSER算子,来处理有字符的区域,函数为plateMserLocate();

将上面三种方法找到的矩形框都放到一个vector里,准备做筛选:

  • step1:提取不同车牌feature,送入SVM进行训练,给出score;代码中用的是颜色直方图特征,当然还给出来别得feature,在feature.cpp文件中可以看到,有:HOG,LBP,Sift,直方图,颜色,hsv直方图等;
  • step2:NMS做最后的过滤;

字符分割

  • 首先对矩形框进行二值化:为了消除灯光的音响,用了Otsu阈值化,函数为spatial_ostu();
  • 通过0和1像素的跳跃次数,来去除车牌上的柳钉以及干扰直线,函数为clearLiuDing();
  • 去除干扰后,利用轮廓查找找到左右可能是字符的矩形框Rect,然后利用位置比例找到属于特定字符的Rect,函数为GetSpecialRect();

字符识别

字符识别这里,用了最简单的MLP进行训练,中文字符31个,数字字符10个,字母字符24个(I和O不用),白天场景下可得到80+的识别准确率,应该还是不错的了,当然需要的话,可以自己用更多更新的样本进行重新训练,以得到更高的准确率。

测试结果

Pc机上检测的时间在20ms以内;完整识别的时间在0.25-0.35s之间,其中第一张图片的识别时间稍长,后面就比较快,由于算法运行开始需要load所需模型。

检测准确率:白天为85%;夜晚为70%;

识别准确率:白天为80%;夜晚为60%;

与其他算法的比较

翔云车牌识别服务

这是一个收费解决方案,用我们采集的照片在该服务上测试,得到以下测试结果:

1) 白天场景下识别效果好于晚上;

2) 白天拍摄距离7m以内;晚上2m内;

3) 识别时间大于0.5s;

4) 准确率:90%(白天)80%(晚上)

惠号通车牌识别

同样作为一个商业化解决方案,效果明显好于测试过的其它同类算法。其算法在手机app上运行,该app要求现场采集图片,无法读取已有图片,且拍照过程中自动调焦,拍摄到的照片人为因素很大,得到的照片质量明显好于我们采集到的图片质量,清晰度高,对比度高。测试结果如下:

1) 同样白天识别效果优于晚上;

2) 拍摄距离小于2m;

3) 识别时间取决于手机,华为荣耀V8上识别时间为100ms左右;

4) 准确率:>95%(白天)85%(晚上)

HyperLPR

这是github上的一个免费开源项目,基于深度学习的高性能中文车牌识别,可以现场拍照,也可以load相册已有图片,在华为荣耀V8上测试结果如下:

1) 白天效果好于晚上;

2) 拍摄距离小于2m;

3) 识别时间100ms左右;

4) 准确率:85%(白天)60-70%(晚上)

OpenALPR

这是一个国外的开源项目,都是白色车牌,在线测试了一下,感觉速度很快,准确率也很好,但是用我们自己的场景图片,准确率直线下降;

结论

白天场景下,拍摄距离不超过7m,否则无法检测;

晚上场景下,不开大灯光线好拍摄距离不超过7m,开大灯不超过2m,否则无法检测;

下面是在7m距离的拍摄识别情况:

识别结果:

开前大灯无法检测:

总的来说还是可以的,如果条件不是非常苛刻,因为我们的需要场景是在夜间,而且是动态拍摄,所以比较尴尬。

最后,关于easyPR的详细内容可以访问easyPR作者的博客:http://www.cnblogs.com/subconscious/p/3979988.html

你可能感兴趣的:(#,图像处理与计算机视觉)