网址:https://github.com/argman/EAST
用训练好的模型测试
python eval.py --test_data_path=tmp/images/ --gpu_list=0 --checkpoint_path=tmp/east_icdar2015_resnet_v1_50_rbox/
–output_dir=tmp/output
模型路径:tmp/east_icdar2015_resnet_v1_50_rbox/
测试图片路径:tmp/images/
输出结果路径:tmp/output
训练
python multigpu_train.py --gpu_list=0 --input_size=512 --batch_size_per_gpu=14 --checkpoint_path=east_icdar2015_resnet_v1_50_rbox/
–text_scale=512 --training_data_path=data/ocr/icdar2015/ --geometry=RBOX --learning_rate=0.0001 --num_readers=24
–pretrained_model_path=tmp/resnet_v1_50.ckpt
num_readers=24可以调小比如10
训练图片路径data/ocr/icdar2015/
模型保存路径east_icdar2015_resnet_v1_50_rbox/
训练后测试
python eval.py --test_data_path=tmp/images/ --gpu_list=0 --checkpoint_path=east_icdar2015_resnet_v1_50_rbox/
–output_dir=tmp/output
模型路径:east_icdar2015_resnet_v1_50_rbox/
测试图片路径:tmp/images/
输出结果路径:tmp/output
标注格式ICDAR2015 :一个文本框用4个坐标来表示,即左上、右上、右下、左下四个坐标,共八个值,记作[x1 y1 x2 y2 x3 y3 x4 y4]
遇到问题以及解决办法:
问题1:两张图片训练时停止不动
问题1解决办法:增加图片的数量,batch_size默认设置的是32,训练集至少32张
问题2:标注文件名称转化
rename.py实现了将txt_1000下1000个形如gt_img_1.txt文件名转化为形如img_1.txt
import os
path = 'txt_1000/' #这里写的是相对路径,也可以写绝对路径
# 获取该目录下所有文件,存入列表中
f = os.listdir(path)
n = 0
for i in f:
#print("Current directory is: %s" % os.getcwd()) 查看当前路径
#原文件名
oldname =path+'gt_img_' + str(n + 1) + '.txt'
# 设置新文件名
newname = path+'img_' + str(n + 1) + '.txt'
# 用os模块中的rename方法对文件改名
os.renames(oldname, newname)
print(oldname, '======>', newname)
n += 1
目录结构