ocr 识别 github 源码
参考
[1] https://github.com/eragonruan/text-detection-ctpn
[2] https://github.com/senlinuc/caffe_ocr
[3] https://github.com/YCG09/chinese_ocr 感谢作者!
[4] https://github.com/xiaomaxiao/keras_ocr
认真看源码!
基于Tensorflow和Keras实现端到端的不定长中文字符检测和识别
- 文本检测:CTPN
- 文本识别:DenseNet + CTC
环境部署
Bash
sh setup.sh
```
* 注:CPU环境执行前需注释掉for gpu部分,并解开for cpu部分的注释Demo
将测试图片放入test_images目录,检测结果会保存到test_result中
``` Bash
python demo.py
```- 一定在终端运行demo.py 代码,另外,因不能连接外网,所以在进行依赖时,需要用公司镜像完成安装。
- 释放占用的显存时,只需要kernel,restart重启即可。在jupyter notebook中加!命令,相当于终端执行的命令。
- 切换python环境 source activate base 即可切换到常用的,安装有许多依赖库的 anaconda2 python2环境。这样才能运行demo.py.
Demo
将测试图片放入test_images目录,检测结果会保存到test_result中
python demo.py
模型训练
CTPN训练
详见ctpn/README.md
DenseNet + CTC训练
1. 数据准备
数据集:https://pan.baidu.com/s/1QkI7kjah8SPHwOQ40rS1Pw (密码:lu7m)
- 共约364万张图片,按照99:1划分成训练集和验证集
- 数据利用中文语料库(新闻 + 文言文),通过字体、大小、灰度、模糊、透视、拉伸等变化随机生成
- 包含汉字、英文字母、数字和标点共5990个字符
- 每个样本固定10个字符,字符随机截取自语料库中的句子
- 图片分辨率统一为280x32
图片解压后放置到train/images目录下,描述文件放到train目录下
2. 训练
cd train
python train.py
3. 结果
| val acc | predict | model |
|---|---|---|
| 0.983 | 8ms | 18.9MB |
- GPU: GTX TITAN X
- Keras Backend: Tensorflow
4. 生成自己的样本
可参考SynthText_Chinese_version,TextRecognitionDataGenerator和text_renderer
效果展示

ocr 识别 github 源码的更多相关文章
- 基于tensorflow的‘端到端’的字符型验证码识别源码整理(github源码分享)
基于tensorflow的‘端到端’的字符型验证码识别 1 Abstract 验证码(CAPTCHA)的诞生本身是为了自动区分 自然人 和 机器人 的一套公开方法, 但是近几年的人工智能技术的发展 ...
- 基于python语言的tensorflow的‘端到端’的字符型验证码识别源码整理(github源码分享)
基于python语言的tensorflow的‘端到端’的字符型验证码识别 1 Abstract 验证码(CAPTCHA)的诞生本身是为了自动区分 自然人 和 机器人 的一套公开方法, 但是近几年的 ...
- 【完全开源】知乎日报UWP版(下篇):商店APP、github源码、功能说明。Windows APP 良心出品。
目录 说明 功能 截图+视频 关于源码和声明 说明 陆陆续续大概花了一个月的时间,APP算是基本完成了.12月份一直在外出差,在出差期间进行了两次功能完善,然后断断续续修补了一些bug,到目前为止,我 ...
- github源码开源区块链浏览器
<ignore_js_op> 帅爆了吧 https://blockexplorer.com/ github源码:https://github.com/bitcoin-blockexplor ...
- ActiveMQ学习系列(三)----下载github源码并编译
前记:坚持使用官网的资源去学习是挺痛苦的一个过程,昨天瞎溜达了一天,也没看到有系统性的学习文章,倒是发现了github上的ActiveMq项目. 地址:https://github.com/apach ...
- 微信小程序github源码
https://github.com/justjavac/awesome-wechat-weapp https://www.cnblogs.com/tuyile006/p/6268961.html h ...
- GitHub 源码,Framework 框架
https://github.com/CoderLN/Apple-GitHub-Codeidea Apple 译文.GitHub 源码,随原作者 (大版本) 迭代注解.--- 不知名开发者 https ...
- 基于struts2的学生报道管理系统(附github源码地址)
本项目参考了<java web轻量级开发全体验>,加入了对mysql的支持. 一.基本业务功能 通过struts2框架,结合mysql数据库构建一个学生报到管理系统,来模拟学生报到登记的过 ...
- Springboot 整合通用mapper和pagehelper展示分页数据(附github源码)
简介 springboot 设计目的就是为了加速开发,减少xml的配置.如果你不想写配置文件只需要在配置文件添加相对应的配置就能快速的启动的程序. 通用mapp 通用mapper只支持对单表的操作,对 ...
随机推荐
- X86调用约定 calling convention
http://zh.wikipedia.org/wiki/X86%E8%B0%83%E7%94%A8%E7%BA%A6%E5%AE%9A 这里描述了在x86芯片架构上的调用约定(calling con ...
- d3.js 实现立体柱图
前言 随着大数据时代的来临,数据可视化的重要性也越来越凸显,那么今天就基于d3.js今天给大家带来可视化基础图表柱图进阶:立体柱图 关于d3.js d3.js是一个操作svg的图表库,d3封装了图表的 ...
- Win8系统108个运行命令 你能记住多少?
Win8运行命令:程序和功能 取消了开始菜单的Win8让人感觉很不习惯,这才发现原来开始菜单可以做这么多事.不过Win8中的一些快捷键还沿用了Windows一直以来的习惯,比如按下Windows ...
- 【转】OpenCV Mat数据结构
转载自xiahouzuoxin原文 OpenCV基础篇之Mat数据结构 程序及分析 /* * FileName : MatObj.cpp * Author : xiahouzuoxin @163.co ...
- ASP.NET Core 1.0基础之应用启动
来源https://docs.asp.net/en/latest/fundamentals/startup.html ASP.NET 5 使得应用对每个http请求有完整的控制权.Startup类是程 ...
- Redis主从集群以及Sentinel的配置
安装完redis后,修改几个redis从节点的配置文件redis.conf,主要是加入主节点位置 slaveof 另外需要修改的地方包括,这样允许其他的从节点连入 bind 0.0.0.0 prote ...
- 7.volatile关键字
volatile:一个线程修改了某一个共享变量的值,其他线程也是否能够立即知道这个修改的 1.主要是让该“变量”在多个线程中可见,在java中每一个线程都有一块自己的工作区,其中就存放着所有线程“共享 ...
- 11.线程通信CountDownLatch
package demo2; import java.util.concurrent.CountDownLatch; /** * Created by liudan on 2017/7/27. */ ...
- win10 修改cmd终端编码格式为utf8
最近在使用ssh 连接服务器时,好多中文显示为乱码,查明原因,是因为自己cmd终端编码给是为gbk,而服务器编码格式为utf8,所以需要修改cmd终端编码格式为utf8,但是网上看到好多解决方案是 1 ...
- Elasticsearch 数据搜索篇
curl 'localhost:9200/_cat/indices?v' health index pri rep docs.count docs.deleted store.size pri.sto ...