1.PaddleOCR是什么?
PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力使用者训练出更好的模型,并应用落地。
飞桨文字识别开发套件PaddleOCR,旨在打造一套丰富、领先且实用的OCR工具库,开源了基于PP-OCR实用的超轻量中英文OCR模型、通用中英文OCR模型,以及德法日韩等多语言OCR模型。并提供上述模型训练方法和多种预测部署方式。同时开源文本风格数据合成工具Style-Text和半自动文本图像标注工具PPOCRLable
2.特性
1.PPOCR系列高质量预训练模型,准确的识别效果
轻量ppocr_mobile移动端系列:检测(2.6M)+方向分类器(0.9M)+识别(4.6M) = 8.1M。通用ppocr_server系列:检测(47.2M) +方向分类器(0.9M)+识别(107M) = 155.1M
超轻量压缩ppocr_mobile_slim系列:检测(1.4M) +方向分类器(0.5M)+识别(1.6M) = 3.5M·支持中英文数字组合识别、竖排文本识别、长文本识别
2.支持多语言识别:韩语、日语、德语、法语
3.支持用户自定义训练,提供丰富的预测推理部署方案·支持PIP快速安装使用
4.可运行于Linux、Windows、MacOS等多种系统
3.安装总流程(安装步骤在第四单元)
1.首先安装PaddlePaddle库(深度学习框架)
飞桨(PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础,集深度学习核心训练和推理框架、基础模型库、端到端开发套件、丰富的工具组件于一体的深度学习框架
2.安装shapely库(依赖的库)
Shapely is a Python package for set-theoretic analysis and manipulation of planar features using (via Python’s ctypes module) functions from the well known and widely deployed GEOS library.
Shapely是一个Python包,用于使用(通过Python的ctypes模块)GEOS库中的函数对平面特性进行集论分析和操作
https://shapely.readthedocs.io/en/latest/manual.html#introduction
3.安装PaddleOCR(要使用的库)
飞桨文字识别开发套件PaddleOCR,旨在打造一套丰富、领先且实用的OCR工具库,开源了基于PP-OCR实用的超轻量中英文OCR模型、通用中英文OCR模型,以及德法日韩等多语言OCR模型。并提供上述模型训练方法和多种预测部署方式。同时开源文本风格数据合成工具Style-Text和半自动文本图像标注工具PPOCRLable
4.安装步骤(windows)
1.检查安装环境
要使用PaddleOCR,必须要有paddle深度学习框架,而其深度学习框架有环境要求。
目前飞桨支持的环境(博客写于2021年10月5日)
Windows 7/8/10专业版/企业版(64bit)
GPU版本支持CUDA 10.1/10.2/11.0/11.2,且仅支持单卡
Python 版本 3.6+/3.7+/3.8+/3.9+(64 bit)
pip 版本20.2.2或更高版本(64 bit)
检查环境方法
1.检查Python版本
python --version
2.检查pip版本
python -m pip --version
3.检查cuda版本
要记住自己的cuda版本,一会安装的时候有用
2.升级pip到最新版(选做)
python -m pip install --upgrade pip
3.安装飞浆学习框架PaddlePaddle
如果您的计算机没有 NVIDIA® GPU,请安装CPU版的PaddlePaddle
python -m pip install paddlepaddle==2.0.0b0 -i https://mirror.baidu.com/pypi/simple
如果您的机器安装了 NVIDIA® GPU,记住版本号,进入链接网站查询后下载。
选择自己的系统→选择pip(即使安装conda了也使用pip,下载方便一些)→选择自己的cuda版本→打开cmd安装
当前最高版本是11.2
官网提示
但是提示“如果您使用的是非安培架构的GPU,推荐使用CUDA10.2,性能更优。”
安装截图如下:
4.安装依赖库shapely
注意,windows环境下,建议从这里 单击这里下载shapely安装包完成安装, 直接通过pip安装的shapely库可能出现[winRrror 126] 找不到指定模块的问题。
根据提供的shapely文件名判断哪个版本是符合你的:第一看cp36 cp37 cp39这一部分,代表的是你python版本,如你装的是python3.7那就选择cp37(后缀m不用在意);第二看最后位数,64位就选win_amd64,32位就选win32
其是whl文件,whl格式本质上是一个压缩包,里面包含了py文件,以及经过编译的pyd文件。whl文件安装方法:
嫌弃麻烦的亲们,可以直接使用优爱酷开发的便携版OCR软件,支持批量和多线程。
https://gitee.com/uicoolcn/UiCoolOCR
5.安装PaddleOCR
pip install paddleocr
6.测试
代码
- from paddleocr import PaddleOCR, draw_ocr
-
- # Paddleocr目前支持中英文、英文、法语、德语、韩语、日语,可以通过修改lang参数进行切换
- # 参数依次为`ch`, `en`, `french`, `german`, `korean`, `japan`。
- ocr = PaddleOCR(use_angle_cls=True, lang="ch") # need to run only once to download and load model into memory
- img_path = 'UiCool_test.jpg'
- result = ocr.ocr(img_path, cls=True)
- for line in result:
- print(line)
-
- # 显示结果
- from PIL import Image
-
- image = Image.open(img_path).convert('RGB')
- boxes = [line[0] for line in result]
- txts = [line[1][0] for line in result]
- scores = [line[1][1] for line in result]
- im_show = draw_ocr(image, boxes, txts, scores, font_path='/path/to/PaddleOCR/doc/simfang.ttf')
- im_show = Image.fromarray(im_show)
- im_show.save('UiCool_OCR_Result.jpg')
结果示意图
识别过程
识别结果
如果编译时遇到报错
报错内容:
RuntimeError: (PreconditionNotMet) The third-party dynamic library (cudnn64_8.dll) that Paddle depends on is not configured correctly. (error code is 126)
Suggestions:
1. Check if the third-party dynamic library (e.g. CUDA, CUDNN) is installed correctly and its version is matched with paddlepaddle you installed.
2. Configure third-party dynamic library environment variables as follows:
- Linux: set LD_LIBRARY_PATH by `export LD_LIBRARY_PATH=...`
- Windows: set PATH by `set PATH=XXX; (at C:\home\workspace\Paddle_release\paddle\fluid\platform\dynload\dynamic_loader.cc:265)
【解决办法】:
安装 cuda
微信关注【优爱酷】并回复“PPOCR”即可获取下载链接
直连下载:
微信关注【优爱酷】并回复“PPOCR”即可获取下载链接
检测一下是否成功
【安装cuDNN】
cuDNN Download
cuDNN地址如下,不过要注意的是,官方需要注册一个账号,才可以进入到下载界面。。
微信关注【优爱酷】并回复“PPOCR”即可直接获取下载链接
将解压后的文件放入C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4
微信关注【优爱酷】并回复“PPOCR”即可直接获取下载链接