基于CTPN(tensorflow)+CRNN(pytorch)+CTC的不定长文本检测和识别
2018年10月25日 10:02:38 稻穗子 阅读数:414
转发来源:https://swift.ctolib.com/ooooverflow-chinese-ocr.html
chinese-ocr
基于CTPN(tensorflow)+CRNN(pytorch)+CTC的不定长文本检测和识别
环境部署
-
sh setup.sh -
使用环境: python 3.6 + tensorflow 1.10 +pytorch 0.4.1
- 注:CPU环境执行前需注释掉for gpu部分,并解开for cpu部分的注释
Demo
python demo.py
下载 预训练模型
CRNN
将pytorch-crnn.pth放入/train/models中
CTPN
将checkpoints.zip解压后的内容放入/ctpn/checkpoints中
模型训练
warp-ctc安装pytorch版
CTPN训练
CRNN训练
1.数据准备
下载训练集
- 共约364万张图片,按照99:1划分成训练集和验证集
- 数据利用中文语料库(新闻 + 文言文),通过字体、大小、灰度、模糊、透视、拉伸等变化随机生成
- 包含汉字、英文字母、数字和标点共5990个字符
- 每个样本固定10个字符,字符随机截取自语料库中的句子
- 图片分辨率统一为280x32
修改/train/config.py中train_data_root,validation_data_root以及image_path
2.训练
-
cd train -
python train.py
3.训练结果
效果展示
CTPN
OCR
参考
warp-ctc-pytorch
chinese_ocr-(tensorflow+keras)
CTPN-tensorflow
crnn-pytorch
本文介绍了一种基于CTPN(tensorflow)+CRNN(pytorch)+CTC的不定长文本检测和识别方法。该方案在python3.6环境下,结合tensorflow1.10和pytorch0.4.1,实现了高效的文本识别流程。文章详细描述了环境部署、模型训练及效果展示,特别强调了中文语料库的应用。




1195





