我通过 6 个 OCR 引擎测试了 500 页文档 — 结果让我感到谦卑
这封邮件在周四晚上 11:47 到达。主题行:“发票差异 — 诉讼保留。”我已经花了三个月时间为位于芝加哥的中型企业律师事务所 Hartwell & Associates 数字化五十年的纸质记录。仅那一周,我们就扫描了 500 页:带有咖啡渍的合同、90 年代的手写边注、褪色得几乎看不见文字的热敏收据。对于文档数字化项目来说,这些都是标准内容。但这封邮件并不标准。一场 200 万美元的合同纠纷因我们的 OCR 软件误读扫描发票上的一个数字而升级。原始文件显示“$847,250” — 我们的系统却读作“$947,250”。这个十万美金的错误进入了法律简报。对方律师发现了这个错误。现在我们的客户看起来很无能,而我正是为我们的 OCR 流程的准确性担保的人。我整整一晚都在用我能找到的每个 OCR 引擎重新扫描文档,观察每个引擎产生略有不同的结果,但没有一个是完美的。那时我意识到:我一直把 OCR 当作一个已解决的问题。其实并不是。
💡 关键要点
- 我为什么测试了六种不同的 OCR 引擎(以及你也应该这样做的原因)
- 褪色收据问题(以及它为什么差点毁了我的项目)
- 准确率:供应商不会告诉你的事情
- 关于“更高的 DPI = 更好的结果”的神话
我为什么测试了六种不同的 OCR 引擎(以及你也应该这样做的原因)
在发票事件发生后,我再也无法仅仅信任一个 OCR 解决方案。我需要理解这个领域的全貌。这是我测试的内容以及我从每个引擎中学到的东西:
- Google Cloud Vision API — 我从这里开始,因为每个人都说它是金标准。对于干净、现代的文档,结果相当令人印象深刻。过去十年的扫描 PDF?几乎完美。但当它接收到一份 1987 年的点阵打印稿或一份被复印过三次的传真文档时,准确率仅下降到约 73%。API 快速,定价合理,每 1,000 页 $1.50,但它在我所需的文档类型上表现不佳:旧的、退化的、真实的商业记录。
- Amazon Textract — 这个让我感到惊讶。我本以为它会与 Google 的产品表现相似,但 Textract 有一个特定的优势:它被设计用来理解文档结构。它不仅提取文本;还识别表格、表单和键值对。对于我处理的合同来说,这一点非常重要。它能够区分签名块和正文、日期字段和段落。对于干净的文档,准确率与 Google 相当(约为 98%),但在退化的文档上,实际上表现稍好,达到 76%-78%。成本较高,表单每页 $1.50,表格每 1,000 页 $15,但对于结构化法律文件来说,这是值得的。
- Microsoft Azure Computer Vision — 表现稳健,中规中矩。没有特别出色,也没有糟糕。它处理手写笔记的能力优于 Google 或 Amazon,这对于合同的边注非常重要。我估计它正确识别了约 65% 的手写文本,而其他人只有 40-50%。定价在每 1,000 次交易 $1.00,相当有竞争力。我最欣赏的是一致性 — 根据文档的年龄或质量,它的准确性没有大幅波动。整体上它的表现都相对“相当不错”。
- Tesseract(开源) — 我几乎不想测试这个。它是免费的开源软件,我以为它会被商业产品超越。我算是对了一半。在现代、干净的文档上,它的准确率约为 92%,表现稍显逊色。但令人吃惊的是:在某些类型的退化文档上,特别是旧的打字页面,Tesseract 有时表现超过所有其他产品。我认为这和 Tesseract 自 80 年代就已存在并且实际上针对当时常见的文档类型进行训练有关。对于一个零成本的解决方案,能在褪色的热敏收据上达到 70% 的准确率是非同一般的。缺点是设置复杂且处理速度较慢 — 比云解决方案慢 3-4 倍。
- ABBYY FineReader — 这是需要花钱的企业解决方案:桌面版本每个许可证 $199。我之所以测试它,是因为我曾与其他两家坚信其有效性的律师事务所合作过。准确率极高 — 在干净文档上始终保持 96-99%,而在退化文档上的准确率为 80-85%。它还拥有我见过的最佳预处理工具:去倾斜、去斑点和能真正提高 OCR 结果的对比度增强。但真正的价值在于编辑器界面。当 OCR 出现错误时(这会发生),FineReader 使其变得容易纠正并训练引擎。对于一次性数字化项目来说,这个成本很难 justify。但对于持续的文档处理来说,真的是物有所值。
- Adobe Acrobat Pro DC — 我最后测试这个,因为我以为它会很平庸 — 只是一个附加到 PDF 编辑器上的功能。我错了。Adobe 的 OCR 真的是不错,在干净文档上达到 95-97% 的准确率。在退化文档上,它的表现不如人意(约为 68%),但它有一个杀手级的特性:它已集成到大多数企业使用的工作流程中。如果你已经在支付 Adobe Creative Cloud 或 Document Cloud 的费用,你就可以在不添加其他工具的情况下访问不错的 OCR。订阅费用为 $14.99/月,如果你只需要 OCR 这项功能,这个价格算是偏贵,但如果你已经在使用 Adobe 产品,这个价格还算合理。
通过这些测试,我得出的教训是?没有最佳的 OCR 引擎。每个引擎都有自己的优缺点,选择“最佳”完全取决于你的具体文档和使用案例。
褪色收据问题(以及它为什么差点毁了我的项目)
在 Hartwell 项目进行三周后,我遇到了一堵我没有预料到的墙:热敏收据。该事务所有 90 年代和 2000 年代初的费用收据,这是当时信用卡交易和收银机收据的标准热敏纸。如果你曾在抽屉里找到过旧收据,你知道会发生什么:文字褪色到完全看不见。热敏纸使用热敏涂层,遇热后会变暗。随着时间推移,这种涂层会退化。光照、热量,甚至是你手上的油脂都会加速这个过程。
我有 127 份几乎对肉眼完全空白的收据。但事务所需要它们来审计一宗追溯到 2003 年的案件。我尝试以我们的标准设置扫描它们:300 DPI,彩色模式,自动对比度。OCR 引擎返回的结果几乎都是垃圾。Google Vision:12% 的准确率。Textract:9%。就连 ABBYY,这个一直以来我最可靠的引擎,正确提取的文本也只有大约 15%。
我花了两天时间研究解决方案。我尝试以更高的分辨率扫描 — 600 DPI,然后是 1200 DPI。稍有改善。我尝试使用灰度模式而非彩色。结果更糟。我尝试了所有能找到的预处理滤镜:锐化、反锐化掩模、高通滤波器、对比度增强。没有一个能稳定地奏效。
然后我发现了一个家谱学家的论坛帖子,她一直在尝试阅读旧信件上褪色的手写文字。她提到使用红外扫描。看起来在可见光下是空白的热敏纸在红外光谱中有时仍然可以读取文本。我没有红外扫描仪,但我确实有一台经过改装的数字相机,可以捕捉近红外。我搭建了一个灯箱,调整了相机位置,开始在 IR 照明下拍摄收据。
成功了。并不完美 — 我估计我们从大约 60% 的褪色收据中恢复了可读的文本。但这比我们之前拥有的多了 60%。我将这些 IR 图像通过 Tesseract 处理(它在特殊光照条件下的表现优于商业引擎),手动纠正错误,并交付了一组事务所可以实际使用的数据集。雇用我的合伙人称之为“档案魔法”。我称之为“我一辈子也不会再有的三天”。但这拯救了项目。
准确率:供应商不会告诉你的事情
每个 OCR 供应商都声称其准确率为 99%。有些声称为 99.9%。这些数字在技术上是正确的,但在实际中毫无意义。这是我在 500 页真实文档中测量到的结果:
| OCR 引擎 | 干净文档(2010+) | 老旧文档(1990-2009) | 退化文档(1990 年前) | 手写笔记 | 每 1,000 页的成本 |
|---|---|---|---|---|---|
| Google Cloud Vision | 98.2% | 89.1% | 73.4% | 41.2% | $1.50 |
| Amazon Textract | 97.9% | 91.3% | 76.8% | 38.7% | $15.00(表格) |
| Azure Computer Vision | 96.8% | 88.7% | 74.1% | 64.9% | $1.00 |
| Tesseract(开源) | 92.1% | 84.3% | 71.2% | 22.4% | $0.00 |
| ABBYY FineReader | 98.7% | 93.4% | 82.6% | 58.3% | $199(许可证) |
| Adobe Acrobat Pro | 96.4% | 87.9% | 68.2% | 45.1% | $180/年 |
从这些数据中,有几个关键点显而易见。首先,“干净”和“退化”文档之间的差距非常大 — 通常超过 20-30 个百分点。其次,手写文本对大多数引擎来说仍然是个灾难。第三,成本与质量之间并没有完美的相关性。Tesseract 是免费的,并且在某些文档类型上有时表现超过付费解决方案。
但真正的洞见是:准确率会受到文档质的影响,只有实际测试才可以揭示各个引擎在不同类型文档中的真实表现。
Written by the PDF0.ai Team
Our editorial team specializes in document management and PDF technology. We research, test, and write in-depth guides to help you work smarter with the right tools.
Related Tools