Keras实现自然场景下图像文字检测和识别,EAST/CRNN/CTC.
代码都是使用Keras+后端TensorFlow实现,方便生产环境部署和维护;
python3.6 + tensorflow1.14.0 + keras2.1.6
# 或使用pip环境复制
pip install -r environment.txt
# GPU环境
NVIDIA Drivers/CUDA/cuDNN
从输入一张图片到端到端的检测及识别文字
python predict.py
可以看到输入CRNN时裁剪下来的文字图片;
EAST模型检测文本框
cd east
python predict.py
CRNN模型识别文字
cd crnn
python predict.py
- crnn # 文字识别模型
|-- predict_crnn.py # 预测文字,衔接east模型,裁剪及文字旋转
|-- data # 数据集预处理
|-- net # crnn网络实现及训练,char_std_5990.txt文字对应标签序
|-- model # 模型weights
- east # 文字检测模型
|-- predict_east.py # 预测文字位置,画框
|-- data # images数据集预处理
|-- net # east网络实现及训练,network/loss/training
|-- model # 模型weights
- predict.py # 实现end-to-end预测,模型衔接
EAST
本项目数据集:天池ICPR MTWI 2018 挑战赛二网络图像的文本检测。淘宝上收集的商品图片,数据量充分,涵盖数十种字体,几个到几百像素字号,多种版式,较多干扰背景。(百度云/提取码:sxhh)
其他数据集:MSRA-TD500 自然场景下的文本检测数据集。
CRNN 本项目数据集:通用中文语料库,通过截取文本和随机生成,字体经过了大小、灰度、模糊、透视等变化,共360万张图片,图像分辨率w*h为280x32,涵盖了汉字、标点、英文、数字共5990个字符。(百度云/提取码:4m2q)
其他数据集:
1、Synthetic Data for Text Localisation 在复杂背景下人工合成的自然场景文本数据。英文GitHub,中文GitHub。
2、A Large Chinese Text Dataset in the Wild 街景中文字符检测和识别的数据集,包括平面文本、凸起文本、光照不足的文本、远处文本、部分遮挡文本等。
本项目使用的数据集针对的是书面文字,所以在识别书面和打印文字上效果较好,如果要识别艺术字或手写体需要增加相应训练集。
Writing ......