0 前言
基于Tensorflow和Keras实现端到端的不定长中文字符检测和识别
提示:适合用于课程设计或毕业设计,工作量达标,源码开放
1 项目说明
文本检测:CTPN
文本识别:DenseNet + CTC
环境部署
sh setup.sh
注:CPU环境执行前需注释掉for gpu部分,并解开for cpu部分的注释
Demo
将测试图片放入test_images目录,检测结果会保存到test_result中
python demo.py
2 模型训练
CTPN训练
详见ctpn/README.md
DenseNet + CTC训练
1、数据准备
- 共约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
3 效果展示
**项目分享: ** https://gitee.com/asoonis/htw