Windows环境下 PaddleOCR本地服务部署教程文档Python版
简单说一下PaddleOCR的使用感受
优点:离线识别成功和准确率 基本符合我的需求(简单场景识别率接近100%)而且无需做任何识别模板(重点),不用太费精力,基本实现了早几年想把线上ocr搬到线下部署的想法。
缺点:windows服务器下部署贼麻烦 就像本文的部署教程各种敲命令行,中间不顺利报个啥错误,要花好久去百度找解决办法(貌似这类开源的型项目安装流程普遍对windows不太友好)文章底部有PC端付费解决方案
准备工作(同事整理的部署文档 自己比较没耐心):
安装某某管家然后走一个体检;(非必须项,不同设备间的多了部分电脑多多少少会缺一些东西,工作流程习惯了就写上了)
安装Vc_redist.x64.exe如果没有下一步会报错;
安装 Python3.7.9.exe,注意添加环境变量;
下载PaddleOCR.rar压缩包 (python程序)自行百度下载
准备一个测试图片 image.png
安装步骤
- windows命令cd安装或更新python3.79
python -m pip install --upgrade pip -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
- windows命令cd安装依赖模块
pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
- windows命令cd编译
python setup.py build
- windows命令cd运行
python setup.py install
- windows命令cd测试:注意.\image.png与项目文件下的文件名字对应,测试通过显示
python tools\infer\predict_system.py --image_dir=.\image.png --det_model_dir=models\v1.1_det --rec_model_dir=models\v1.1_rec --cls_model_dir=models\v1.1_cls
- 安装pypi国内镜像
pip install paddlehub==2.2.0 -i https://mirror.baidu.com/pypi/simple
pip3 install --upgrade paddlepaddle==2.2.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
- 添加识别模块
根目录下添加inference以及如下子目录
ch_ppocr_mobile_v2.0_cls_infer
ch_PP-OCRv2_det_infer
ch_PP-OCRv2_rec_infer
- 安装hub: 安装检测服务模块:
hub install deploy\hubserving\ocr_det\
.
或,安装识别服务模块:
hub install deploy\hubserving\ocr_det\
.
或,安装检测+识别串联服务模块:
hub install deploy\hubserving\ocr_system\
- 启动服务,命令行命令启动,安装完成后只需要启动这命令即可启动服务
hub serving start --port 8866 -m ocr_system
备注:
Paddle服务的请求Url地址: http://IP:8866/predict/ocr_system
顺利的话到这里你就可以使用http接口模拟工具进行测试了
使用感受
总的来说对于paddleocr的感受就是相见恨晚吧, 和谷歌的Tesseract.NET做了下对比 ,有个Tesseract.NET工作经历的同学应该都有疯狂扣字符做识别模板经历,这里强烈建议脱坑太累了。
这段时间PaddleOCR接触下来发现是真心强大,就识别率而言真心挺强的,而且还是不用做任何模板的情况下识别准确率急基本满足了工作需求(这里特指医疗电子胶片场景下),简单场景下部署完后基本不用操太多心。
paddleocr服务集成部署工具
为了解决windows环境下部署复杂的问题 ,就自己开发了一个集成部署工具,其中包含了paddleocr的识别功能,只需要将工具软件启动就可以通过工具的接口服务调用ocr识别,实测识别效果和本文命令行安装的效果基本一致,而且不依赖任何环境组件,理论上只要系统是windows7及以上x64位版本系统即可直接运行,需要的可以看看