admin 管理员组文章数量: 1086866
python场景文字识别
本项目基于yolo3 与crnn 实现中文自然场景文字检测及识别
master分支将保留一周,后续app分支将替换为master
实现功能
文字方向检测 0、90、180、270度检测(支持dnn/tensorflow)
支持(darknet/opencv dnn /keras)文字检测,支持darknet/keras训练
不定长OCR训练(英文、中英文) crnn\dense ocr 识别及训练 ,新增pytorch转keras模型代码(tools/pytorch_to_keras.py)
支持darknet 转keras, keras转darknet, pytorch 转keras模型
新增对身份证/火车票结构化数据识别
新增语音模型修正OCR识别结果
新增CNN+ctc模型,支持DNN模块调用OCR,单行图像平均时间为0.02秒以下
优化CPU调用,识别速度与GPU接近(近期更新)
环境部署
GPU部署 参考:setup.md
CPU部署 参考:setup-cpu.md
下载编译darknet(如果直接运用opencv dnn或者keras yolo3 可忽略darknet的编译)
git clone .git
mv darknet chineseocr/
##编译对GPU、cudnn的支持 修改 Makefile
#GPU=1
#CUDNN=1
#OPENCV=0
#OPENMP=0
make
修改 darknet/python/darknet.py line 48
root = '/root/'##chineseocr所在目录
lib = CDLL(root+"chineseocr/darknet/libdarknet.so", RTLD_GLOBAL)
下载模型文件
模型文件地址:
复制文件夹中的所有文件到models目录
模型转换
pytorch ocr 转keras ocr
python tools/pytorch_to_keras.py -weights_path models/ocr-dense.pth -output_path models/ocr-dense-keras.h5
darknet 转keras
python tools/darknet_to_keras.py -cfg_path models/text.cfg -weights_path models/text.weights -output_path models/text.h5
keras 转darknet
python tools/keras_to_darknet.py -cfg_path models/text.cfg -weights_path models/text.h5 -output_path models/text.weights
编译语言模型
git clone --recursive .git
cdctcdecode
pip install .
下载语言模型
wget .no_cna_cmn.prune01244.klm
mvzh_giga.no_cna_cmn.prune01244.klm chineseocr/models/
web服务启动
cdchineseocr## 进入chineseocr目录
ipython app.py 8080 ##8080端口号,可以设置任意端口
构建docker镜像
##下载Anaconda3 python 环境安装包(.03-Linux-x86_64.sh) 放置在chineseocr目录下
##建立镜像
docker build -t chineseocr .
##启动服务
docker run -d -p 8080:8080 chineseocr /root/anaconda3/bin/python app.py
识别结果展示
访问服务
参考
本文标签: python场景文字识别
版权声明:本文标题:python场景文字识别 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1697115719a261845.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论