最近在看号牌识别相关的内容,所以记录一下相关步骤和注意事项(怕忘记)

之前研究过tesseract-ocr,但是样本标注是个很费力的事情,需要用到jTessBoxEditor工具,一个一个字符的去标注,像下面这样

而且我标注完后,发现识别率并不高,可能是我数据处理有问题或步骤有问题,后来开始考虑用caffe来做,之前都是用来做目标分类的,然后在github上发现有人做了这个项目,大神的github地址https://github.com/senlinuc/caffe_ocr。 记录下环境配置和数据处理的过程。

代码是在windows下调试的,下载完代码后,编译肯定不通过,需要重新配置环境变量,大神的工程目录都是绝对路径。主要是opencv库和thirdparty,opencv我用的是3.4.0.  还需要下载个thirdparty其它三方库的集合,我下载的是另一个thirdparty,因为原作者的三方库在我电脑上配置的版本不兼容。下载路径百度网盘 https://pan.baidu.com/s/1ZTp8iWszMPrZ718w_UCZ5Q。下载后自己配置下包含路径和库路径。类似这样,库路径也是一样。这个不难,注意cudnn用自己电脑上的就行。

编译通过后,开始做数据集,原作者分享的数据集网盘地址已经失效,自己生成一些。https://github.com/Sanster/text_renderer这个数据集生成工具很好用,生成图片大小,背景色,文字大小,变形,噪声,模糊等都可以设置,生成类似下面的图片

生成训练集20W张,验证集2W张。

之后开始制作caffe数据集,如果以前用过caffe的都知道怎么制作,caffe自带有convert_imageset.exe 。但是作者改的caffe是识别多标签的,所以convert_imageset.exe也需要用作者自己修改的,只不过作者工程目录中没有,需要自己把convert_imageset添加到解决方案中。工程目录配置和caffe工程一样,用编译出来的convert_imageset.exe转换数据集。

生成lmdb或leveldb后就可以开始训练了,但是注意几点:

1.作者的数据集是32*280分辨率的图片,而且每个样本固定10个字符,因此如果你的样本中不满10个字符,最好补空格,空格补在前面和后面是一样的,但是我看有的人空格补在最后影响识别率,所以我都是补在最前面。

2.生成的模型,用ocr_test做检测时,一定要把图片resize成同样大小,例如32*280.否则识别率很低。

检测效果如下。

上面都是生成的类似号牌的图片,我实际的数据集太少了,只有300+张。然后和上面生成的数据集一起训练,得到得效果如下,如果能添加更多的实际的号牌,识别率可以更高。涉及隐私打码了。数字都可以识别出来,清晰的拍照都可以正确,模糊的识别较差,跟我样本集太少有关。

用caffe框架做号牌识别笔记相关推荐

  1. TensorFlow框架做实时人脸识别小项目

    人脸识别是深度学习最有价值也是最成熟的的应用之一.在研究环境下,人脸识别已经赶上甚至超过了人工识别的精度.一般来说,一个完整的人脸识别项目会包括两大部分:人脸检测与人脸识别.下面就我近期自己练习写的一 ...

  2. 号牌号码识别,支持新能源车牌,离线识别,喜欢就收下吧

    号牌号码识别,支持新能源车牌,离线识别 我的项目地址: https://github.com/ccc920123/LicensePlateDemo 如果喜欢记得标星哟!!! 号牌识别,支持新能源车,离 ...

  3. 记录一次用vant框架做h5微信公众号

    这次是用vant框架做一个h5微信公众号,是在我一同事封装的基础上开发的.封装的项目在gitee上的地址:湖南巨仑网络科技有限公司/vant-H5移动端封装 - Gitee.com.内容有底部导航的, ...

  4. 自动驾驶在中国“不刹停”,北京市给百度颁发了首批路测号牌

    Uber自动驾驶汽车撞人致死事件,引发了自动驾驶行业的忧虑.今日一则消息让多日低迷的行业看到了新的希望:北京市宣布开放33条共105公里的自动驾驶路测道路,并向百度颁发了首批.一共5张自动驾驶测试试验 ...

  5. 人工智能深度学习Caffe框架介绍,优秀的深度学习架构

    在深度学习领域,Caffe框架是人们无法绕过的一座山.这不仅是因为它无论在结构.性能上,还是在代码质量上,都称得上一款十分出色的开源框架.更重要的是,它将深度学习的每一个细节都原原本本地展现出来,大大 ...

  6. 【机器学习PAI实践十】深度学习Caffe框架实现图像分类的模型训练

    背景 我们在之前的文章中介绍过如何通过PAI内置的TensorFlow框架实验基于Cifar10的图像分类,文章链接:https://yq.aliyun.com/articles/72841.使用Te ...

  7. 用深度学习做命名实体识别(五)-模型使用

    通过本文,你将了解如何基于训练好的模型,来编写一个rest风格的命名实体提取接口,传入一个句子,接口会提取出句子中的人名.地址.组织.公司.产品.时间信息并返回. 核心模块entity_extract ...

  8. Caffe MNIST 手写数字识别(全面流程)

    目录 1.下载MNIST数据集 2.生成MNIST图片训练.验证.测试数据集 3.制作LMDB数据库文件 4.准备LeNet-5网络结构定义模型.prototxt文件 5.准备模型求解配置文件_sol ...

  9. VS2013+Windows+CPU下搭建caffe框架并利用mnist数据集实验

    <李凭箜篌引>--李贺 吴丝蜀桐张高秋,空山临云颓不流: 江娥啼竹素女愁,李凭中国弹箜篌: 昆山玉碎凤凰叫,芙蓉泣露香兰笑: 十二门前融冷光,二十三丝动紫皇: 女娲炼石补天处,石破天惊逗秋 ...

  10. Caffe手写数字训练识别 (4)

    Caffe手写数字训练识别 在配置caffe后,验证编译是否成功和caffe入门,那我们就从训练手写数字识别开始吧. 用手写数据库MInist数据库: THE MNIST DATABASEof han ...

最新文章

  1. IBM已“弃疗”,AI医疗研发10年不赚钱,终于打算卖了
  2. app开发上传文件夹到服务器,uni-app 上传(图片上传实战)
  3. 不间断电源ups标准_什么是ups不间断电源,ups电源的重要性。
  4. Mysql8.0之后没有缓存功能
  5. 使用Java 8和Lambda简化ReadWriteLock
  6. USACO-Section1.2 Broken Necklace (枚举法)
  7. 抛弃jQuery 深入原生的JavaScript
  8. Java ConcurrentHashMap
  9. Wireshark实战分析之ICMP协议(二)
  10. 张孝祥JavaScript视频教程flash版
  11. CS188-Project 4
  12. Unity插件——Odin 学习笔记(三)
  13. html头像裁剪仿微信,仿微信群头像css布局
  14. asp.net房屋出租销售网
  15. Unity3D Linear和Gamma渲染
  16. 11 Daemonset:忠实可靠的看门狗
  17. 软件测试面试题之非技术面试(GZH:软件测试大本营)
  18. 重复图案排版_8个免费图案发生器,用于创建重复的图案背景
  19. 龟虽寿-曹操(东汉)
  20. In a case you entered incorrect password, please update it in Keychain Acces

热门文章

  1. NDK学习笔记-NDK开发流程
  2. SD敢达服务器源码,《sd高达wars》金手指代码 SD高达G世纪WARS金手指
  3. KYLO的Java并发编程知识总结
  4. 关于手动误删表空间文件出现ora01033解决办法
  5. 移动安全(1) - Win10 drozer环境搭建
  6. px和毫米的换算_px和mm换算(px相当于多少毫米)
  7. 合泰单片机驱动步进电机程序
  8. bme java_为什么bme280.startreadout()只触发一次?
  9. matlab 注释多行方法
  10. java libtorrent_[转载]libtorrent安装windows版