TensorFlow CTPN Demo Windows 无痛搭建
一原材料
- PyCharm
下载地址: http://www.jetbrains.com/pycharm/ - TensorFlow
安装教程移步至: https://blog.csdn.net/yx123919804/article/details/84111774 - CTPN源码
下载地址: https://github.com/eragonruan/text-detection-ctpn/releases
把下图中框的两个文件下载到本地, 解压源代码

解压后如图, 强迫症的你还是把名字改一下吧, 如改成text-detection-ctpn-untagged

打开text-detection-ctpn-untagged里面的requirements.txt看看里面需要哪些库, 在Anaconda Prompt里或者Anaconda中安装上, 可以都安装最新版本, 如果不先安装, 可以像下面填坑那样安装
二. 运行步骤
- 用PyCharm打开工程

- 设置工程的解释器, File->Settings打开设置窗口, 将解释器设置成安装有Tensorflow的Environment中的python.exe

- 打开demo_pb.py, 定位点main函数位置

- 好, 现在可以点main前面的三角形, 选择Debug 'demo_pb’运行一下试试看

坑1: 第1个坑来了


意思是没有easydict这个库, 那我们就把它安装上, 在Anaconda Prompt中激活Environment, 输入pip install easydict
很快就可以安装好

- 安装完成后, 点下图所示的地方停止Debug

停止后就可以点下图框中的"小虫子"开始调试了, 试一下

坑2: 坑Again


说没有ctpn/text.yml这个东东, 那我们就再填一下, 在def cfg_from_file(filename):函数后面看到了传进来的参数是’ctpn/text.yml’ 但是这个路径不存在, 我们看工程目录中明明有这个文件的

出现这个问题是因为demo_pb和text在同一个文件夹下, 意思是当前目录在cptn这个文件夹, main函数中的cfg_from_file调用是传入的参数是’ctpn/text.yml’ 当前目录cptn下没有cptn文件夹了, 所以会出错

将参数改成text.yml停止后再重新点"小虫子"试试看

坑3: 坑又来, 说没有data/ctpn.pb这个路径


再填, 是否已经注意到工程目录下多了个data\results的路径

把上面下载的ctpn.pb放到ctpn\data文件夹中

坑4: 停止后再Debug一下看看, 果然坑不断, ‘str’ object has no attribute ‘decode’


这个坑是因为编码的问题,将 lib\rpn_msr\propsol_layer_tf.py的45行cfg_key=cfg_key.decode(‘ascii’)改成cfg_key=cfg_key.encode(‘ascii’).decode(‘ascii’)

坑5: 再停止点"小虫子", 还会出现下图的小坑


上图的红框中的路径有一个明显的错误, 所以问题是出现在open函数的参数, 路径的拼接不正确, 看29行, base_name = image_name.split(’/’)[-1], 是这句话出了问题, 在Windows下, 路径是以’\‘分割的, 所以在分割字符串的时候, 分割符要用’\’, 所以将split(’/’)改成split(’\\’)就好了, 注意是两个杠, 因为’\'是转意字符, 如下图

现在, 所有的坑已经填好, 再停止, Debug, 可以看到正常运行了

在cptn\data\result中可以看到运行结果

有一点不好的是, 倾斜的字符标记框也是正的, 所以要想检测倾斜的字, 将text.yml中第36行中DETECT_MODE: H改成DETECT_MODE: O(字母)


改完后运行结果如下

三. 检测自己的图片
将图片放到…\data\demo中就可以了, 注意不要有中文, 不要有中文, 不要有中文

四. 使用GPU
如果你电脑安装了GPU版的Tensorflow, 会自动用GPU运行, 但是, 如果你的显存比较小, 会出现显存不足的情况, 如果出现了, 就要限制GPU的使用率, 打开demo_pb.py, 按下图修改



















