OCR调研

OCR调研

一、介绍

OCR(Optical Character Recognition,光学字符识别)是一种将图像中的文字转换为计算机可处理格式的技术。OCR技术经历了从传统OCR到基于深度学习的OCR的转变。深度学习OCR技术通过模拟人脑神经元结构处理文本和图像数据,相较于传统OCR,在复杂场景下的识别性能和速度有显著提升。它在金融、保险、医疗、交通、教育等多个行业中有广泛应用,并随着人工智能技术的发展,OCR技术的性能不断提升,应用场景也日益复杂化。

二、开源项目

1 PaddleOCR

项目地址:https://github.com/PaddlePaddle/PaddleOCR

PaddleOCR文档:https://paddlepaddle.github.io/PaddleOCR/

百度开源项目,文档完善。PaddleOCR 旨在打造一套丰富、领先、且实用的 OCR 工具库,助力使用者训练出更好的模型,并应用落地。

优点:准确率高,支持多语言,支持多种 OCR 相关前沿算法,支持自训练,支持倾斜、竖排等多种方向文字识别

缺点:偏向中文识别,语言支持有限

部署:本地部署、云端部署、docker

2 Tesseract

项目地址:https://github.com/tesseract-ocr/tesseract

优点:由Google维护,支持超过100种语言的识别,并且能够处理多种图像格式,如PNG、JPEG和TIFF等。提供了丰富的API接口和文档,支持多种操作系统。

缺点:速度慢

部署:安装Tesseract OCR(Windows/Linux)、配置环境变量

3 EasyOCR

项目地址:https://github.com/JaidedAI/EasyOCR

优点:全语种的(包括70+门外语识别),不单单针对中文

缺点:速度慢,官方推荐支持CUDA的独立显卡可以提高运行效率。

部署:pip安装,只能linux/windows下运行。

4 chineseocr

基于yolo3crnn 实现中文自然场景文字检测及识别

项目地址:https://github.com/chineseocr/chineseocr

优点:支持补充训练,有多版本优化模型

缺点:使用的三方库较老,部分三方库已废弃,环境配置困难,效果一般,且很少维护

5 chineseocr_lite

超轻量级中文ocr,支持竖排文字识别, 支持ncnn、mnn、tnn推理 ( dbnet(1.8M) + crnn(2.5M) + anglenet(378KB)) 总模型仅4.7M

项目地址:https://github.com/DayBreak-u/chineseocr_lite

优点:轻量模型,执行速度快,准确率高

缺点:不支持pip安装,不支持补充训练,不支持自定义训练;不支持复杂、不常见字符,比如德语、法语;竖向文本识别错误。

部署:源码下载运行

6 CnOCR

CnOCR 是 Python 3 下的文字识别(Optical Character Recognition,简称OCR)工具包,支持简体中文、繁体中文(部分模型)、英文和数字的常见字符识别,支持竖排文字的识别。自带了20+个训练好的识别模型,适用于不同应用场景,安装后即可直接使用。同时,CnOCR也提供简单的训练命令供使用者训练自己的模型。

项目地址:https://github.com/breezedeus/cnocr

文档:https://cnocr.readthedocs.io/zh-cn/stable/

优点:轻量模型,执行速度快,效果好,支持训练自己的模型

缺点:部分符号识别效果差,部分场景下会出现空格丢失情况

部署:pip

7 RapidOCR

目前已知运行速度最快、支持最广,完全开源免费并支持离线快速部署的多平台多语言OCR。主打ONNXRuntime推理引擎推理,比Paddle推理引擎速度有4~5倍提升,且没有内存泄露问题。

项目地址:https://github.com/RapidAI/RapidOCR

部署:pip

8 Umi-OCR

开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多国语言库。

项目地址:https://github.com/hiroi-sora/Umi-OCR

9 SwiftOCR

项目地址:https://github.com/NMAC427/SwiftOCR

已被弃用,不再维护。

相关推荐
CZDXWX12 分钟前
感知笔记3:平面和物体检测
笔记·平面
VB.Net1 小时前
EmguCV学习笔记 VB.Net 12.3 OCR
opencv·计算机视觉·c#·ocr·图像·vb.net·emgucv
不修×蝙蝠2 小时前
eclipse使用 笔记02
前端·笔记·后端·eclipse
未 顾2 小时前
JavaWeb纯小白笔记02:Tomcat的使用:发布项目的三种方式、配置虚拟主机、配置用户名和密码
java·笔记·tomcat
Deryck_德瑞克2 小时前
mysql笔记—sql性能分析
笔记·sql·mysql
木木夕阳子3 小时前
Go语言笔记
笔记
VB.Net3 小时前
EmguCV学习笔记 C# 12.3 OCR
opencv·计算机视觉·c#·ocr·vb.net·emgucv
上官猪猪3 小时前
百度飞浆Paddle OCR检测和识别【OCR数据收集、标注、数据集划分、检测识别模型训练、导出模型】
ocr·paddlepaddle
开MINI的工科男8 小时前
【笔记】自动驾驶预测与决策规划_Part3_路径与轨迹规划
人工智能·笔记·自动驾驶·预测与决策
洛寒瑜12 小时前
【读书笔记-《30天自制操作系统》-23】Day24
开发语言·汇编·笔记·操作系统·应用程序