【推荐】caffe_ocr - 主流ocr算法研究实验性的项目,目前实现了CNN+BLSTM+CTC架构

2017 年 10 月 28 日 机器学习研究会


点击上方 “机器学习研究会”可以订阅
摘要
 

转自:爱可可-爱生活

简介

caffe_ocr是一个对现有主流ocr算法研究实验性的项目,目前实现了CNN+BLSTM+CTC的识别架构,并在数据准备、网络设计、调参等方面进行了诸多的实验。代码包含了对lstm、warp-ctc、multi-label等的适配和修改,还有基于inception、restnet、densenet的网络结构。代码是针对windows平台的,linux平台下只需要合并相关的修改到caffe代码中即可。

caffe代码修改

 1. data layer增加了对multi-label的支持
 2. lstm使用的是junhyukoh实现的lstm版本(lstm_layer_Junhyuk.cpp/cu),原版不支持变长输入的识别。输入的shape由(TxN)xH改为TxNxH以适应ctc的输入结构。
 3. WarpCTCLossLayer去掉了对sequence indicators依赖(训练时CNN输出的结构是固定的),简化了网络结构(不需要sequence indicator layer)。
 4. densenet修改了对Reshape没有正确响应的bug,实现了对变长输入预测的支持。
 5. 增加transpose_layer、reverse_layer,实现对CNN feature map与lstm输入shape的适配

编译

  1. 安装opencv,boost,cuda,其它依赖库在3rdparty下(包含debug版的lib:http://pan.baidu.com/s/1nvIFojJ)
  2. caffe-vsproj下为vs2015的工程,配置好依赖库的路径即可编译,编译后会在tools_bin目录下生成训练程序caffe.exe
  3. 相关的依赖dll可从百度网盘下载(http://pan.baidu.com/s/1boOiscJ)

实验

  1. 数据准备
     (1)VGG Synthetic Word Dataset
     (2)合成的中文数据(http://pan.baidu.com/s/1c2fHpvE)

      数据是利用中文语料库(新闻+文言文),通过字体、大小、灰度、模糊、透视、拉伸等变化随机生成的。

  •   字典中包含汉字、标点、英文、数字共5990个字符(语料字频统计,全角半角合并)

  •   每个样本固定10个字符,字符随机截取自语料库中的句子

  •   图片分辨率统一为280x32

  •   共生成约360万张图片,按9:1分成训练集、验证集(暂时没有分测试集)

  1. 网络设计
      网络结构在examples/ocr目录下

  2. 主要实验结果

  • 英文数据集 VGG Synthetic Word Dataset:


链接:

https://github.com/senlinuc/caffe_ocr


原文链接:

https://m.weibo.cn/1402400261/4167772357734940

“完整内容”请点击【阅读原文】
↓↓↓
登录查看更多
7

相关内容

OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。
【ICML2020-华为港科大】RNN和LSTM有长期记忆吗?
专知会员服务
73+阅读 · 2020年6月25日
专知会员服务
82+阅读 · 2020年5月16日
【北京大学】面向5G的命名数据网络物联网研究综述
专知会员服务
35+阅读 · 2020年4月26日
专知会员服务
109+阅读 · 2020年3月12日
【MIT深度学习课程】深度序列建模,Deep Sequence Modeling
专知会员服务
76+阅读 · 2020年2月3日
资源|Blockchain区块链中文资源阅读列表
专知会员服务
43+阅读 · 2019年11月20日
【课程】伯克利2019全栈深度学习课程(附下载)
专知会员服务
54+阅读 · 2019年10月29日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
160+阅读 · 2019年10月28日
深度学习算法与架构回顾
专知会员服务
77+阅读 · 2019年10月20日
收藏 | Tensorflow实现的深度NLP模型集锦(附资源)
THU数据派
12+阅读 · 2019年4月28日
Keras实现基于MSCNN的人群计数
AI科技评论
8+阅读 · 2019年2月11日
CNN与RNN中文文本分类-基于TensorFlow 实现
七月在线实验室
13+阅读 · 2018年10月30日
Github 项目推荐 | 用 PyTorch 0.4 实现的 YoloV3
AI研习社
9+阅读 · 2018年8月11日
深度学习CTPN+CRNN模型实现图片内文字的定位与识别(OCR)
数据挖掘入门与实战
16+阅读 · 2017年11月25日
手把手教你搭建caffe及手写数字识别
七月在线实验室
12+阅读 · 2017年11月22日
tensorflow LSTM + CTC实现端到端OCR
数据挖掘入门与实战
8+阅读 · 2017年11月15日
推荐|caffe-orc主流ocr算法:CNN+BLSTM+CTC架构实现!
全球人工智能
19+阅读 · 2017年10月29日
Arxiv
21+阅读 · 2018年5月23日
Arxiv
11+阅读 · 2018年5月13日
Arxiv
8+阅读 · 2018年1月25日
Arxiv
6+阅读 · 2018年1月11日
Arxiv
5+阅读 · 2017年11月13日
VIP会员
相关VIP内容
【ICML2020-华为港科大】RNN和LSTM有长期记忆吗?
专知会员服务
73+阅读 · 2020年6月25日
专知会员服务
82+阅读 · 2020年5月16日
【北京大学】面向5G的命名数据网络物联网研究综述
专知会员服务
35+阅读 · 2020年4月26日
专知会员服务
109+阅读 · 2020年3月12日
【MIT深度学习课程】深度序列建模,Deep Sequence Modeling
专知会员服务
76+阅读 · 2020年2月3日
资源|Blockchain区块链中文资源阅读列表
专知会员服务
43+阅读 · 2019年11月20日
【课程】伯克利2019全栈深度学习课程(附下载)
专知会员服务
54+阅读 · 2019年10月29日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
160+阅读 · 2019年10月28日
深度学习算法与架构回顾
专知会员服务
77+阅读 · 2019年10月20日
相关资讯
收藏 | Tensorflow实现的深度NLP模型集锦(附资源)
THU数据派
12+阅读 · 2019年4月28日
Keras实现基于MSCNN的人群计数
AI科技评论
8+阅读 · 2019年2月11日
CNN与RNN中文文本分类-基于TensorFlow 实现
七月在线实验室
13+阅读 · 2018年10月30日
Github 项目推荐 | 用 PyTorch 0.4 实现的 YoloV3
AI研习社
9+阅读 · 2018年8月11日
深度学习CTPN+CRNN模型实现图片内文字的定位与识别(OCR)
数据挖掘入门与实战
16+阅读 · 2017年11月25日
手把手教你搭建caffe及手写数字识别
七月在线实验室
12+阅读 · 2017年11月22日
tensorflow LSTM + CTC实现端到端OCR
数据挖掘入门与实战
8+阅读 · 2017年11月15日
推荐|caffe-orc主流ocr算法:CNN+BLSTM+CTC架构实现!
全球人工智能
19+阅读 · 2017年10月29日
相关论文
Arxiv
21+阅读 · 2018年5月23日
Arxiv
11+阅读 · 2018年5月13日
Arxiv
8+阅读 · 2018年1月25日
Arxiv
6+阅读 · 2018年1月11日
Arxiv
5+阅读 · 2017年11月13日
Top
微信扫码咨询专知VIP会员