本文来源公众号“码科智能”,仅用于学术分享,侵权删,干货满满。
原文链接:顶配版OCR工具!支持任何语言、任意表格、图表与文档的文本检测和识别工具
01 表格及图表检测--任何语言的准确行级文本检测和识别
Surya:多语言文档OCR工具包,可进行准确的文本行检测,即将推出文本识别功能,以及表格和图表检测功能,可以处理各种类型的文档和多种语言。仅开源3天即获得接近2kstar。
项目源码
Surya工具包
安装与使用
安装:pip install surya-ocr,第一次运行 surya 时,模型权重将自动下载。
检测:可以使用以下命令检测图像、pdf 或图像/pdf 文件夹中的文本行。这将写出一个包含检测到的 bbox 的 json 文件,并可以选择保存带有 bbox 的页面图像。
surya_detect DATA_PATH --images
-
-- DATA_PATH可以是图像、pdf 或图像/pdf 文件夹
-
-- images将保存页面图像和检测到的文本行(可选)
-
-- max如果您不想处理所有内容,则指定要处理的最大页数
-
-- results_dir指定保存结果的目录而不是默认目
性能与局限性
Surya适用于每种语言,且专门用于文档 OCR 的。它可能不适用于照片或其他图像,它也不适用于手写文本。
Model | Time (s) | Time per page (s) | precision |
---|---|---|---|
surya | 52.6892 | 0.205817 | 0.844426 |
tesseract | 74.4546 | 0.290838 | 0.631498 |
02 照片及手写体识别--基于Transformer的光学识别模型TrOCR
Huggingface上下载最多的模型。第一个联合使用预训练的图像和文本 Transformer 进行 OCR 文本识别工作的成果是 TrOCR,它是一种基于 Transformer 的端到端 OCR 模型,用于使用预训练的 CV 和 NLP 模型进行文本识别。
TrOCR 使用传统的基于 Transformer 的编码器-解码器范例,该范例是无卷积的,不需要任何复杂的预处理或后处理即可实现最先进的精度。但是其缺点是只接受一行文本,其和第一个工具Surya结合起来使用效果极佳。
项目源码
-
TrOCR 论文
-
trocr-base-printed
-
TrOCR 主页
手写体识别
!pip install transformers
from transformers import TrOCRProcessor, VisionEncoderDecoderModel
from PIL import Image
from IPython.display import display
processor = TrOCRProcessor.from_pretrained("microsoft/trocr-large-handwritten")
model = VisionEncoderDecoderModel.from_pretrained("microsoft/trocr-large-handwritten")
def show_image(pathStr):
img = Image.open(pathStr).convert("RGB")
display(img)
return img
def ocr_image(src_img):
pixel_values = processor(images=src_img, return_tensors="pt").pixel_values
generated_ids = model.generate(pixel_values)
return processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
ocr_image(hw_image)
--> Output → Dean Sister, but her you, feel bad for years,
03 最可靠的开源OCR工具--CuneiForm跨平台开源OCR工具
CuneiForm 是当今最可靠的开源 OCR 工具之一。它专门将扫描的文档和图像转换为可编辑的文本。其重点是以输入源和输出格式提供精确的 OCR 结果。该工具支持多种语言并确保跨各种操作系统的兼容性。
工具特点
CuneiForm 以其从扫描图像中识别文本的精确性而闻名。即使对于复杂的文档,它也能生成可靠的 OCR 结果。
输入输出灵活。CuneiForm 适应多种输入源,例如 TIFF 和 JPEG。它还允许用户以 TXT、HTML 和 PDF 等格式输出识别的文本。
04 准确的开源OCR工具--EasyOCR编辑器
EasyOCR,顾名思义,是一个 Python 包,旨在简化创意人员的 OCR 任务。EasyOCR 软件包由 Jaided AI 开发,使用支持 CUDA 的 GPU。GPU 加速文本检测和 OCR 速度,以节省时间和精力。该工具提供了一种将 OCR 轻松应用于您的任务的简单方法。
用户友好的软件包。EasyOCR 名副其实,提供了一个用户友好的软件包。开发人员可以使用它,尤其是计算机视觉领域的开发人员。
多功能文本处理。EasyOCR 拥有多样化的数据集,擅长处理各种文本样式。它还可以轻松处理字体和不同的方向。
EasyOCR 使用 PyTorch,这被其他用户认为是一个限制。依赖性会影响该工具与其他工作流程或环境的集成。
05 除此之外还有一些值得关注的OCR工具
-
DocTR
-
PaddleOCR
-
MMOCR
-
Tesseract
THE END !
文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。