使用谷歌视觉进行 OCR 的正确方法是啥

Posted

技术标签:

【中文标题】使用谷歌视觉进行 OCR 的正确方法是啥【英文标题】:What is the correct way to use google vision for OCR使用谷歌视觉进行 OCR 的正确方法是什么 【发布时间】:2021-11-24 15:41:20 【问题描述】:

希望你一切都好。

在过去的几天里,我一直在花一些时间来研究 google vision 的工作项目。 我对结果很满意,但几乎没有什么我想不通的。 这里是:

我正在尝试使用 Google Vision API 从轮胎图片中读取信息, 例如这个:

这是我用来调用 API 的功能列表:

const features = [
  
    "maxResults": 50,
    "type": "LOGO_DETECTION"
  ,
  
    "maxResults": 100,
    "type": "DOCUMENT_TEXT_DETECTION"
  ];

我的结果如下:

description: 'GOOD YEAR\n' +
        'POSTER\n' +
        'RADIAL\n' +
        'YUDELESS\n' +
        'EXTRA LOAD\n' +
        'CSFY\n' +
        'MADE IN GERMANY\n' +
        'ROTATION\n' +
        'II SGR\n' +
        '(ED\n' +
        'MINT\n' +
        'M66 Lage\n' +
        'VEU 900?\n'

对此我很满意,但我知道 API 可以检测到的信息很少。

案例 1: 当我裁剪图片的一部分并使用完全相同的 API 和参数时 我得到以下结果:


      locale: 'und',
      description: '225 55R16 99W\n',
      boundingPoly: [Object]

而且,情况 2,即使我使用 online google vision try it service,我也会得到一些数字结果

所以最后,我要从一张图片中寻找最多的信息,即使我需要在之后对其进行整理。

想法、答案、提示,我什么都有。

干杯, 伊万

【问题讨论】:

您能具体说明您想要实现的目标吗? Cloud Vision 基于机器学习模型,因此结果可能会有所不同,具体取决于您的需求。例如,如果您使用Logo Detection,它将识别徽标(徽标数据库由 google 管理)。 TEXT_DETECTION 检测并从任何图像中提取文本,DOCUMENT_TEXT_DETECTION 也从图像中提取文本,但响应针对密集文本和文档进行了优化。结果还取决于图片的质量。您是否在寻找有关 Cloud Vision 的一般知识? 感谢您的回复。我正在寻找轮胎图片上的文本提取;例如,在上面的第一张图片中,我正在寻找以下信息:品牌(固特异)、尺寸(225 55R16 99W)、名称(矢量)等......对我更好。我只是从 gcloud api 中得到了好坏参半的结果,所以我试图了解如何正确使用它 【参考方案1】:

对于使用Cloud Vision 的最佳方式,没有一般的答案。它由机器学习模型提供支持,结果取决于许多因素,例如缩放、图片质量和方法。

如您所见Cloud Vision API - How To Guides,您有许多特定功能。

OCR 人脸 - 检测图像中的多张人脸以及相关的关键人脸属性,例如情绪 图像属性 - 检测图像的一般属性,例如主色。 徽标 - 图片中的热门产品徽标。

以及其他一些功能。这些功能使用不同的算法来识别文本或徽标等特定事物。

在您的示例中,您有一个带有 GoodYear 标志的轮胎,上面有公司的名称。但是,如果您只在徽标上使用 Logo Detection 而没有任何内容,它将返回公司名称(徽标数据库由 google 维护)。例如Nike (Nike Logo URL) 的徽标,它将返回公司名称。

结果的质量也取决于图像的缩放。如果文本太小,算法可能无法识别。这就是为什么当你使用整个轮胎图片并放大它的一部分时会出现差异的原因。

一般使用TEXT_DETECTION 用于识别图片中的文本,DOCUMENT_TEXT_DETECTION 用于从图像中提取文本,但响应针对密集文本和文档进行了优化。 p>

即使 TEXT_DETECTIONDOCUMENT_TEXT_DETECTION 做同样的事情,它们也使用不同的算法来获得更好的图片识别文本 (TEXT_DETECTION) 和文档 (DOCUMENT_TEXT_DETECTION) 的结果。

综上所述,Cloud Vision 有许多功能,它们使用不同的算法来满足特定需求,例如获取徽标、检测人脸或文本。

希望它能让你更好地了解Cloud Vision

【讨论】:

以上是关于使用谷歌视觉进行 OCR 的正确方法是啥的主要内容,如果未能解决你的问题,请参考以下文章

谷歌视觉ocr:竖横线条文本识别

谷歌视觉更好的 OCR 的理想图像尺寸是多少?

谷歌视觉 OCR 数据表

来自谷歌云视觉 API OCR 的逐行数据

谷歌视觉 API 两列图像文本提取变得一团糟

使用视觉谷歌服务未检测到人脸