跳到内容。

有关不同语言的准确率,请参阅DAS 教程 2016中的测试部分。


谷歌数据中心的大型测试(印地语?)

引擎 总字符错误 单词召回错误 单词精确度错误 运行时间 CPU 时间*
Tess 3.04 13.9 30 31.2 3.0 2.8
Cube 15.1 29.5 30.7 3.4 3.1
Tess+Cube 11.0 24.2 25.4 5.7 5.3
LSTM 7.6 20.9 20.8 1.5 2.5

请注意,在上表中,LSTM 在运行时间和 CPU 时间方面都比 Tess 3.04(不添加 Cube)更快!在运行时间上快了 2 倍。


在 HP Z420 上对单个印地语页面进行测试的三个结果的中位数。

测试模式 实际 用户
原始(Cube + Tess) 7.6 7.3
基本 Tess 2.9 2.6
Cube 5.4 4.9
带 OpenMP+AVX 的 LSTM 1.8 3.8
不带 OpenMP 但带 AVX 的 LSTM 2.7 2.4
不带 OpenMP 但带 SSE 的 LSTM 3.1 2.7
不带 OpenMP 也不带 SIMD 的 LSTM 4.6 4.1

我使用简单截图进行的第一次测试显示 LSTM 的结果明显更好,但需要 16 分钟的 CPU 时间(而不是 9 秒),使用的是 Tesseract 的调试版本(-O0)。发布版本(-O2)使用 LSTM 需要 17 秒,不使用 LSTM 需要 4 秒,用于同一图像。

调试速度慢是可以预期的。新代码的内存占用量要大得多,因此在调试时速度要慢得多(调试时也会选择关闭 OpenMP)。优化后的构建速度听起来对于基于拉丁语的语言来说是合理的。对于复杂脚本,其运行速度相对于基本 Tesseract 会更快。


参考:https://github.com/tesseract-ocr/tesseract/issues/40