Skip to content

Latest commit

 

History

History
105 lines (67 loc) · 4.73 KB

ocr.md

File metadata and controls

105 lines (67 loc) · 4.73 KB

文字识别(OCR)

eSearch提供了开箱即用的离线 OCR,还可以选择在线 OCR。

离线 OCR

离线 OCR 完全免费,不依赖网络,但它体积较大。部分在线 OCR 可以免费体验,但它速度快,准确率高,不占体积。eSearch默认启用离线 OCR,可以直接使用。

在线 OCR

eSearch目前支持的在线 OCR 服务是百度 OCR有道 OCR

百度 OCR

参考百度 OCR 的教程,获取 API Key 和 Secret Key,并填入设置中。截止 2022 年 1 月,百度 OCR 还可以免费领取服务。

有道 OCR

参考有道 AI 文档,在创建应用时服务选择光学字符识别服务-通用文字识别,接入方式为API,获取应用 ID 和密钥,并填入设置中。

校对

一方面,现在的 OCR 模型尽管识别率差强人意,但细节上有待提高,另一方面,由于印刷、字体等问题,OCR 常误判。对于一般的文本识别,目前的离线 OCR 已经够用,但如果你需要通过 OCR 录入文字,或精益求精,校对功能是必不可少的。

Note

本软件的校对功能并非专业,如果你需要更专业的校对,请使用其他专业 OCR 软件。

同样不对校对结果负责,人是最后的校对者,软件仅作为辅助。

自动删除换行

一些 OCR 并不能识别文字,而是把文字的一行视为一个段落。

比如这是一个段落。但
由于显示软件的自动换
行,视觉上显示为多行,
OCR把他们视为5个段
落。

自动删除换行可以分析结尾符号,自动删除换行。你也可以选中部分文字,针对他们进行删除换行操作。支持拉丁文字删除换行后自动添加空格。

原图校对

仅仅是换行校对还不够,主页面提供了图片区进行辅助校对。

直接在图片区上选择文字,你可以体验类似苹果 Live Text(实况文本)的功能。但不止选择文字,选区将同步到编辑器,你在图片上选什么,编辑器就选什么,这样既可以知道图片上文字的位置,又可以编辑文字进行校对。

编辑器将使用 Chrome 的拼写检查,使用蓝色波浪线标出拼写错误,这样你就可以知道 OCR 这里识别错误(有时候会识别英式英语的一些拼写错误,忽略即可)。只知道错误还不行,需要找出原文,在编辑器上选择文字,自动在图片区上选中原文。

这样的选择双向同步既能了解文字在图片中的信息,也拥有的编辑能力。

不必担心编辑后就无法同步选择了,通过 diff 算法,即使你在编辑器上增删,双向同步也能尽可能地进行定位。


高级功能

其他语言离线 OCR,自定义 OCR 模型

离线 OCR 使用了 paddleOCR 的 OCR 方案。

目前 paddleOCR 还预训练了多种文字识别模型:

  • 中英混合
  • 中文繁体
  • 英文
  • 韩文
  • 日文
  • 泰卢固文
  • 卡纳达文
  • 泰米尔文
  • 拉丁文
  • 阿拉伯字母
  • 斯拉夫字母
  • 梵文字母

你可以直接在设置里下载,那里提供了文字与语言的对应,比如德语对应拉丁文。下载后自动添加到 OCR 模型列表。

也可以在这里下载,都提供了语言到文字的对应,还可以在 GitHub下载,模型都是一样的,GitHub 上没有文字提示。下载完毕后,解压到文件夹里,你会看到 1~3 个文件,打开 设置-OCR 在一旁准备。选择下载的全部文件一起拖拽到设置里,添加完毕。之后你可以更改 OCR 名字。

自己训练:

  • 使用 paddleocr 训练模型
  • paddle2onnx在线转换为 onnx 模型,也可以使用Paddle2ONNX本地转换
  • 将检测模型命名为包含 det 的文件,将识别模型命名为包含 rec 的文件
  • 全选,拖拽到设置 OCR 的位置,添加完毕。

AI 后端

默认使用 CPU 运行模型,还支持 CUDA、coreML(mac)、DirectML(Windows)。可叹 onnxruntime Node.js 暂时不支持 Vulkan,我也没有 CUDA,所以还没测试,理论上如果你的设置支持以上三种后端,应该可以更快运行模型。

目前模型在 CPU 运行时也保持在可接受的速度。


Tip

有时候复制 PDF 文字也会遇到多余的换行,可以尝试使用自动删除换行,不仅仅是用于 OCR 校对。

Tip

你可以设置 OCR 后自动复制文字到剪贴板。