基于Tensorflow和Keras实现端到端的不定长中文字符检测和识别
- 文本检测:CTPN
- 文本识别:DenseNet + CTC
windows10+cpu+tensorflow1.8
下载下来cython我已经编辑好直接可用(python35版本)
注:也可以自己编译
将测试图片放入test_images目录,检测结果会保存到test_result中
python demo.py
详见ctpn/README.md
数据集:https://pan.baidu.com/s/1QkI7kjah8SPHwOQ40rS1Pw (密码:lu7m)
- 共约364万张图片,按照99:1划分成训练集和验证集
- 数据利用中文语料库(新闻 + 文言文),通过字体、大小、灰度、模糊、透视、拉伸等变化随机生成
- 包含汉字、英文字母、数字和标点共5990个字符
- 每个样本固定10个字符,字符随机截取自语料库中的句子
- 图片分辨率统一为280x32
图片解压后放置到train/images目录下,描述文件放到train目录下
cd train
python train.py
val acc | predict | model |
---|---|---|
0.983 | 8ms | 18.9MB |
- GPU: GTX TITAN X
- Keras Backend: Tensorflow
可参考SynthText_Chinese_version,TextRecognitionDataGenerator和text_renderer
[1] https://github.com/eragonruan/text-detection-ctpn
[2] https://github.com/senlinuc/caffe_ocr
[3] https://github.com/chineseocr/chinese-ocr
[4] https://github.com/xiaomaxiao/keras_ocr
[5] https://www.jianshu.com/p/027e9399e699 如何将linux改成windows的踩坑记
[6] https://github.com/YCG09/chinese_ocr linux版本