chinese-ocr
chinese-ocr copied to clipboard
基于tensorflow、keras/pytorch实现对自然场景的文字检测及端到端的OCR中文文字识别
基于tensorflow、keras/pytorch实现对自然场景的文字检测及端到端的OCR中文文字识别
实现功能
- [x] 文字方向检测:VGG
- [x] 文本检测:CTPN
- [x] 不定长OCR识别:CRNN + CTC
环境部署
sh setup.sh
模型训练
训练keras版本的crnn
cd train/keras-train & python train.py
训练pytorch版本的crnn
cd train/pytorch-train & python train.py
文字方向检测
在VGG16模型的基础上进行迁移学习,训练文字方向检测(0、90、180、270度)分类模型,详细代码参考angle/predict.py文件,训练图片100000张,准确率95.10%。
模型下载地址:
文字检测
支持CPU、GPU环境,一键部署,文本检测训练参考:https://github.com/eragonruan/text-detection-ctpn
OCR端到端识别
采用GRU + CTC端到端识别技术,实现不分隔识别不定长文字
提供keras与pytorch版本的训练代码,在理解keras的基础上,可以切换到pytorch版本,此版本更稳定
识别结果展示
文字检测及OCR识别结果
倾斜文字
参考
-
crnn:https://github.com/meijieru/crnn.pytorch
-
keras-crnn:https://www.zhihu.com/question/59645822
-
ctpn:https://github.com/eragonruan/text-detection-ctpn, https://github.com/tianzhi0549/CTPN