tensorflow版PSENet训练自己的数据及测试进行OCR文本检测,Linux和Windows详细复现过程

一.下载源码
tensorflow_PSENet下载地址:https://github.com/liuheng92/tensorflow_PSENet(可以star和fork作者该项目)
下载完源码在执行训练和测试时会自动调用编译
Installation
Any version of tensorflow version > 1.0 should be ok.
python 2 or 3 will be ok.
训练数据集介绍
训练数据集格式是ICDAR 2015 和ICDAR2017那样的,如下:
在这里插入图片描述
一个jpg对应一个txt文件,确保jpg和对应的txt文件有相同的名字,放在同一文件夹下。
二.训练自己的数据 (linux系统下使用gpu训练)
train.py文件内修改配置后,执行如下命令:
python train.py --gpu_list=0 --input_size=512 --batch_size_per_gpu=8 --checkpoint_path=./resnet_train/ --training_data_path=./data/train_ImgTxt/
如果你有多块GPU,可以设置–gpu_list=0,1,2,3…;可以根据自己的内存设置合理的batch_size_per_gpu的大小。
训练时需要注意的地方:
1.作者使用的Python2,python3需要修改的地方有2处
1) utils_tool.py12行:
import queue改成:
try:
import queue
except ImportError:
import Queue as queue
2)eval.py 228行:
xrange改成range
2.g++版本不够的话,pse是不能编译,所以要升级一下。同时,用python3的话,把pse/Makefile文件中的第一行:CXXFLAGS = -I include -std=c++11 -O3 ( s h e l l p y t h o n 3 − c o n f i g − − c f l a g s ) 中 的 (shell python3-config --cflags) 中的 (shellpython3configcflags)(shell python3-config --cflags)替换为-I/home/xx/anaconda3/include/python3.6m
注意:
替换的部分请换成自己的anaconda目录,如果不知道安装在哪,可以通过在命令行输入python3-config --cflags,然后回车看到,anaconda路径
三.测试(linux系统下使用gpu)
eval.py文件内修改配置后,执行如下命令:
python eval.py --test_data_path=./data/test_img/ --gpu_list=0 --checkpoint_path=./resnet_train/ --output_dir=./data/test_result/
测试完毕后,txt文件和对应的测试结果图片将会保存到测试结果路径下。

四.Windows系统下PSENET编译及测试过程
以上训练和测试是在linux系统下使用gpu,下面介绍Windows系统下编译源码和不使用gpu去调用训练好的模型进行测试。
用Linux系统可直接参考原项目,简单快捷。以下适合Windows系统,需要使用VS进行简单编译。
4.1. VS2015及以上进行编译PSENET
参考文档:https://blog.csdn.net/lly1122334/article/details/104752851
1)我使用的是VS2017,打开VS2017→新建项目→Visual C++→项目命名为pse
在这里插入图片描述
2)勾上空项目
在这里插入图片描述
3)配置属性(常规):右键项目pse→属性→配置Release→平台x64→目标文件扩展名.pyd→配置类型动态库(.dll)
在这里插入图片描述
4)配置属性(VC++目录):包含目录添加C:\chineseocr_lite-master\psenet\pse\include(项目文件)和C:\Users\Administrator\AppData\Local\Programs\Python\Python36\include(你的Python),库目录添加C:\Users\Administrator\AppData\Local\Programs\Python\Python36\libs(注意,是libs不是Lib)
注意:
如果使用Anaconda内置的python,要设置成Anaconda内置的python的路径,否则在测试时可能会报错python版本不一致。
在这里插入图片描述
5)附加依赖项:添加python3.lib;python36.lib;
在这里插入图片描述
6)配置管理器→活动解决方案配置Release→活动解决方案平台x64
在这里插入图片描述
7)把项目\psenet\pse\pse.cpp复制到源文件里→右键项目pse→重新生成
在这里插入图片描述
8)在VS项目pse\x64\Release就编译好了我们要的库文件pse.pyd
在这里插入图片描述
9)将pse.pyd复制到与项目\pse\pse.cpp同一文件夹下
在这里插入图片描述Makefile文件中的第一行:CXXFLAGS = -I include -std=c++11 -O3 ( s h e l l p y t h o n 3 − c o n f i g − − c f l a g s ) 中 的 (shell python3-config --cflags) 中的 (shellpython3configcflags)(shell python3-config --cflags)替换为Windows下编译时写入的python路径
在这里插入图片描述
10)注释掉\pse_init_.py的两行代码
在这里插入图片描述
经过以上10个小步骤,Windows系统下PSENET编译已完成,接下来可以将训练好的模型导入到Windows系统下tensorflow_PSENet-master项目中的模型路径下去完成Windows系统下的测试。
4.2.Windows系统下的PSENET进行测试
eval.py文件内修改配置后,执行如下命令:
python eval.py --test_data_path=data\test_img\ --gpu_list=0 --checkpoint_path=resnet_train\ --output_dir=data\test_result
测试完毕后,txt文件和对应的测试结果图片将会保存到测试结果路径下。

tensorflow_PSENet训练和测试过程都很简单,报错可能会在编译时出错,但是也都容易解决,没有什么大坑,而且测试效果良好,可以Star和Fork作者仓库https://github.com/liuheng92/tensorflow_PSENet,欢迎留言交流和指正,谢谢!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值