CTPN+CRNN在cpu机器下的使用

前言

刚开始接触ocr的时候,用的是开源的tesseract,对于普通场景的图片效果还行(4.0版本),但对于自然场景下(有图片背景之类的)效果极差,故而接触到CTPN+CRNN的自然场景文字监测。

初相遇

整个下载的过程就不说了,网上也有很多的材料,下载下来后的版本带了demo.py,但是使用都是需要gpu支持的。而我只有cpu的机器,这里记录一下修改并使其在cpu服务器上正常运行的过程。
相关下载链接:
图片文字定位:https://github.com/tianzhi0549/CTPN
图片文字识别: https://github.com/bgshih/crnn
综合两者并支持中文:https://github.com/bear63/sceneReco

使用过程

整个sceneReco-master分为CTPN和CRNN两大块。CTPN主要检测文本块的,crnn主要是提取文字的。

环境:centos7.4(开发版) python2.7

ctpn

编译caffe环境

直接下载的sceneReco-master里面是没有ctpn所需caffe源码的,是额外下载的CTPN源码中携带的。
CTPN+CRNN在cpu机器下的使用_第1张图片
编译caffe有一些依赖的环境,这里就不多说了,反正编译完成之后,提供给sceneReco-master使用即可。
ps:我是把编译后的caffe放到了sceneReco-master的CTPN下
CTPN+CRNN在cpu机器下的使用_第2张图片
设置一下环境变量即可。

export PYTHONPATH=/appslog/qu/sceneReco-master/CTPN/caffe/python:$PYTHONPATH
export LD_LIBRARY_PATH=/appslog/qu/sceneReco-master/CTPN/caffe/lib/:$LD_LIBRARY_PATH

模型放入对应的目录

ctpn是caffe训练的模型,crnn是用torch的模型,都是现成下载的
http://textdet.com/downloads/ctpn_trained_model.caffemodel
crnn:找不到下载的地址了,可以百度找找,名字是netCRNN63.pth

ctpn模型
CTPN+CRNN在cpu机器下的使用_第3张图片
crnn模型
CTPN+CRNN在cpu机器下的使用_第4张图片

修改部分代码

因为默认的demo是基于gpu的,在这里把相关的部分改为cpu的。涉及到以下几个文件的改动
一、sceneReco-master/crnn/models/utils.py
在这里插入图片描述
二、sceneReco-master/crnnport.py
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
CTPN+CRNN在cpu机器下的使用_第5张图片
三、sceneReco-master/ctpnport.py
CTPN+CRNN在cpu机器下的使用_第6张图片
四、sceneReco-master/demo.py
CTPN+CRNN在cpu机器下的使用_第7张图片
这里是我自己加的,对文本做了个排序,不是必要的。
CTPN+CRNN在cpu机器下的使用_第8张图片

试运行

修改完成后,试运行效果:
python demo.py
CTPN+CRNN在cpu机器下的使用_第9张图片
ps:我这里是终端中文显示问题未处理,所以中文未正常展现。实际上我调用接口获取到的数据是酱紫的。
在这里插入图片描述

总结

以上是自己使用过程中的一些记录,如有描述不对的,请指出。不喜勿喷。

你可能感兴趣的:(图片识别)