哈喽,大家好,我是爱撸码的开源大叔!
经常在网上查询文档资料的朋友一定有过这样的经历:好不容易找到了需要的内容,可是别说下载了,连复制一句话都不给复制的。尤其是 PDF 文档和图片类资料,就算我们充值下载到本地,很多也无法复制文本,只能手动敲出来。
项目中有些场景也需要图片识别,比如识别证件、证照等等。
下面分享一款电脑端的 OCR 文字识别软件——「PaddleOCR」,可以帮助我们解决这一问题。
PaddleOCR旨在打造一套丰富、领先、且实用的OCR工具库,助力使用者训练出更好的模型,并应用落地。
特性
- 丰富易用的OCR相关工具组件
- 半自动数据标注工具PPOCRLabel:支持快速高效的数据标注
- 数据合成工具Style-Text:批量合成大量与目标场景类似的图像
- 支持用户自定义训练,提供丰富的预测推理部署方案
- 支持PIP快速安装使用
- 可运行于Linux、Windows、MacOS等多种系统
- 支持多语言OCR模型
- 支持中英文数字组合识别、竖排文本识别、长文本识别
效果展示
不需要安装任何工具,可以直接在pc端进行图片识别,喜欢python的同学,可以按照下面的安装教程部署。
模型列表
模型简介 | 模型名称 | 推荐场景 | 检测模型 | 方向分类器 | 识别模型 |
---|---|---|---|---|---|
中英文超轻量OCR模型(9.4M) | ch_ppocr_mobile_v2.0_xx | 移动端&服务器端 | 推理模型/ 预训练模型] | 推理模型 / 预训练模型 | 推理模型/ 预训练模型 |
中英文通用OCR模型(143.4M) | ch_ppocr_server_v2.0_xx | 服务器端 | 推理模型/ 预训练模型 | 推理模型/ 预训练模型 | 推理模型 / 预训练模型 |
还有更多模型,这里不全列举了,感兴趣同学可以去官网阅读学习。
通用中英文OCR数据集
- ICDAR2019-LSVT
- ICDAR2017-RCTW-17
- 中文街景文字识别
- 中文文档文字识别
- ICDAR2019-ArT
PP-OCR Pipeline
PP-OCR是一个实用的超轻量OCR系统。主要由DB文本检测[2]、检测框矫正和CRNN文本识别三部分组成[7]。该系统从骨干网络选择和调整、预测头部的设计、数据增强、学习率变换策略、正则化参数选择、预训练模型使用以及模型自动裁剪量化8个方面,采用19个有效策略,对各个模块的模型进行效果调优和瘦身,最终得到整体大小为3.5M的超轻量中英文OCR和2.8M的英文数字OCR。
安装教程
1、安装python3
1 | #下载软件包 |
在安装过程中如果出现configure: error: no acceptable C compiler found in $PATH,是缺少合适的编译器
1 | sudo yum install gcc-c++ |
出现这个问题zipimport.ZipImportError: can’t decompress data; zlib not available,缺少依赖包
1 | yum -y install zlib* |
2、安装PaddlePaddle2.0
1 | pip3 install --upgrade pip |
3、克隆代码
1 | git clone https://gitee.com/paddlepaddle/PaddleOCR |
4、安装PaddleOCR 第三方依赖包
1 | cd PaddleOCR |
5、模型下载
1 | mkdir inference && cd inference |
6、识别图片
1 | #识别单张图片 |
如果报错ModuleNotFoundError: No module named ‘cv2’,缺少cv2
1 | # 安装pip3 |
如果出现pip is configured with locations that require TLS/SSL, however the..不可用的解决方法
1 | yum install openssl-devel -y |
在识别图像时候报错的一些解决方案
1 | #深度学习 |
ps:Paddle-OCR也可以部署在Windows系统中。
1 | pip3 install --upgrade pip |
总结
Paddle-OCR 属于Paddle 框架其中的一个应用,提供了很多好玩的模型,支持多种语言的数据集,关键是提供了轻量级模型,降低了使用难度。
听了大叔的介绍,各位小伙伴有没有心动?心动不如行动,赶紧去公众号后台回复「OCR」,获取开源项目的地址吧~~~