在本文中,将探讨OCR(光学字符识别)技术在非文档应用场景下的性能表现。OCR技术广泛应用于文档数字化和收据处理等场景,但针对非文档场景如车牌识别或商标读取的OCR解决方案,其最新进展尚不明朗。本文将比较七种不同的OCR解决方案在十个工业应用领域的有效性。
将测试九种不同的OCR模型,包括Tesseract、EasyOCR、Surya、DocTR、OpenAI GPT-4 with Vision、Google Gemini Pro 1.0、Google Gemini Pro 1.5、Anthropic Claude 3 Opus和Hugging Face Idefics2。除了四种开源的OCR特定包,还测试了三种大型多模态模型(LMMs),这些模型在OCR任务中已经显示出了有效性。
将不定期更新本文,以包含发现的新OCR模型。2024年3月28日,增加了Gemini Pro 1.5。2024年4月18日,增加了Hugging Face的Idefics2。
以下是一个使用OpenAI GPT-4 with Vision进行车牌识别逻辑的演示——可以用自己的数据进行测试。
OCR测试方法
大多数OCR解决方案和基准测试主要是为阅读整页文本而设计的。根据在现实世界环境中部署计算机视觉模型的经验,发现在OCR模型中省略“文本检测”或定位步骤,转而使用自定义训练的对象检测模型,将检测模型的结果裁剪后传递给OCR模型,这种做法是有益的。
目标和本次实验的范围是尽可能多地测试非文档用例领域,并使用本地化文本示例。受到自己的经验和客户用例的影响,概述了十个不同的领域进行测试。
对于每个领域,从Roboflow Universe中选择了一个开源数据集,并随机导入了每个领域数据集中的十张图片。如果图片可以被人类合理阅读,它就被包括在内。
在大多数情况下,领域图片会根据原始Universe数据集中的对象检测注释进行裁剪。在没有检测到可以裁剪的内容,或者检测到的内容包含了额外的文本,可能会引入测试中的变异性的情况下,会手动裁剪图片。
例如,在使用的车牌数据集中,包含了整个车牌,在美国车牌的情况下,包括州、标语和注册贴纸。在这种情况下,只裁剪了包含主要识别数字和字母的图片。
为了创建一个与OCR预测结果进行比较的基准,每张图片都被手动阅读并注释了图片中出现的文本。一旦准备好了数据集,就评估了每个OCR解决方案。计算了Levenshtein距离比率,这是一种用于测量两个字符串之间差异的度量标准,并用于评分。
结果
测试为提供了对各种OCR解决方案及其使用时机的几项洞察。考察了结果的准确性、速度和成本方面。
在所有领域中,两种多模态大型模型(LMMs),Gemini和Claude的表现最好,其次是EasyOCR和GPT-4。每个模型在所有领域中的中位数准确度。大多数领域的中位数准确度趋势持续。每个模型在相应领域的准确度条形图。在所有领域中,Claude获得最高准确度分数的次数最多,其次是GPT-4和Gemini。EasyOCR在大多数领域表现一般,远远超过了其专门包的同行,但与LMMs相比表现不佳。
一个表格,按模型和领域列出了百分比准确度分数。在每个领域内,最高分数被加粗,高于平均分数的分数被下划线。
一个令人惊讶的显著方面是GPT-4的拒绝率,它产生了不可用的结果,重复尝试也没有解决这个问题。将其视为零分,这显著降低了或导致某些领域的总零分,而其他LMMs根本没有经历拒绝。
速度
虽然准确的OCR很重要,但使用OCR时速度也是一个考虑因素。速度和准确性在散点图上绘制(左:所有数据点可见,右:所有数据点都包括在内,但图形视图限制在30秒内)。每个模型的预测时间中位数。注意:Surya被切断了,它的中位数速度是44.00秒。
然而,速度并没有展示出完整的画面,因为一个快速的模型如果准确度很差是没有用的。因此,计算了一个指标,“速度效率”,将其定义为准确度除以经过的时间。
目标是展示模型在考虑它所花费的时间的情况下有多准确。在这个类别中,Gemini以显著的优势获胜,EasyOCR和GPT-4紧随其后。尽管Calude的表现很高,但其慢的响应时间,对其在这一类别的分数产生了负面影响。
成本
要考虑的第三个因素是执行每个请求的实际价格。在高容量用例中,成本可以迅速增加,了解它将产生的财务影响是很重要的。
这些成本的计算是通过两种不同的方法之一完成的,这取决于模型。对于不提供本地推理选项的LMMs,直接从使用的令牌数量(或Gemini字符)和相应模型的价格来计算成本。
对于本地运行的OCR模型,计算了OCR请求的成本,作为预测所需的时间乘以Google Cloud上的虚拟机成本。(测试是在Google Colab CPU环境中运行的,将其等同于具有2个vCPU和13 GB内存的Compute Engine E2实例)。
每个模型的中位数请求成本。DocTR、Tesseract、Surya和EasyOCR的运行成本明显低于LMMs。与速度一样,价格单独并不是一个有用的指标,说明它在实际应用中的性能。
类似于如何计算速度效率,计算了一个成本效率指标,定义为百分比准确度除以价格成本。这与运行模型的价格相关,模型的性能如何。它是通过将请求的成本除以获得的分数来计算的。
EasyOCR具有最佳成本效率,DocTR和Gemini是显著较低的亚军。这种巨大差异的原因是EasyOCR在准确性方面的相对令人印象深刻的表现,同时是一个明显更便宜的替代品,与其主要竞争对手LMMs相比。
在这篇博文中,探讨了不同的OCR解决方案在工业视觉用例中常见的领域的表现,比较了LMMs和开源解决方案在速度、准确性和成本方面的表现。
在整个测试过程中,发现在本地运行EasyOCR会产生最具成本效益的OCR结果,同时保持有竞争力的准确性,而Anthropic的Claude 3 Opus在最广泛的领域中表现最佳,Google的Gemini Pro 1.0在速度效率方面表现最佳。
与本地开源OCR解决方案相比,EasyOCR在所有指标上都远远超过了其同行,表现接近或高于其他LMMs。