TOTAL-挂掉了
- 文字方向检测 0、90、180、270度检测
- 文字检测 后期将切换到keras版本文本检测 实现keras端到端的文本检测及识别
- 不定长OCR识别
Bash
##GPU环境
sh setup.sh
##CPU环境
sh setup-cpu.sh
##CPU python3环境
sh setup-python3.sh
使用环境:python3.6+tensorflow1.7+cpu/gpu
- 一共分为2个网络
- 2. 文本区域检测网络-CTPN(CNN+RNN)
- 3. EndToEnd文本识别网络-CRNN(LSTM+CTC)
支持CPU、GPU环境,一键部署, 文本检测训练参考
提供keras 与pytorch版本的训练代码,在理解keras的基础上,可以切换到pytorch版本,此版本更稳定
- 此外参考了了tensorflow版本的资源仓库:TF:LSTM-CTC_loss
运行demo.py 写入测试图片的路径即可,如果想要显示ctpn的结果,修改文件./ctpn/ctpn/other.py 的draw_boxes函数的最后部分,cv2.inwrite('dest_path',img),如此,可以得到ctpn检测的文字区域框以及图像的ocr识别结果
- 定位到路径--./ctpn/ctpn/train_net.py
- 预训练的vgg网络路径VGG_imagenet.npy 将预训练权重下载下来,pretrained_model指向该路径即可, 此外整个模型的预训练权重checkpoint
- ctpn数据集还是百度云 数据集下载完成并解压后,将.ctpn/lib/datasets/pascal_voc.py 文件中的pascal_voc 类中的参数self.devkit_path指向数据集的路径即可
- pythorch版本./train/pytorch-train/crnn_main.py
parser.add_argument(
'--crnn',
help="path to crnn (to continue training)",
default=预训练权重的路径,看你下载的预训练权重在哪啦)
parser.add_argument(
'--experiment',
help='Where to store samples and models',
default=模型训练的权重保存位置,这个自己指定)
===========================================================
===========================================================
主要是因为训练的时候,只包含中文和英文字母,因此很多公式结构是识别不出来的
===========================================================
===========================================================