felixBrave / ocr_chinese

图像文字检测模型(EAST/AdvancedEAST),及包含文字识别模型(CRNN+CTC),Keras/TensorFlow实现.
190 stars 45 forks source link

ocr_chinese

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

How to use

从输入一张图片到端到端的检测及识别文字

python predict.py

east_1

crnn_1

east_2

crnn_2

可以看到输入CRNN时裁剪下来的文字图片;

res

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预测,模型衔接

Training

Documents

Writing ......

参考