Google Vision API 无法识别个位数

Posted

技术标签:

【中文标题】Google Vision API 无法识别个位数【英文标题】:Google Vision API does not recognize single digits 【发布时间】:2018-08-29 09:45:25 【问题描述】:

我有一个项目使用 Google Vision API DOCUMENT_TEXT_DETECTION 从文档图像中提取文本。

API 在识别单个数字时通常会遇到问题,如下图所示:

我想这个问题可能与一些去除噪声的算法有关,它将孤立的单个数字识别为噪声。有没有办法在这些情况下改善视力反应? (例如管理噪声阈值或其他参数)

在其他时候,Vision 会将数字与字母混淆:

但如果我指定参数 languageHints = 'en' 或 'mt' 这些数字会被 ocr 忽略。有没有办法强制识别数字或拉丁字符?

【问题讨论】:

我不知道确切的原因,但似乎块大小也有问题——它们太大了——所以有些数字可能会被遗漏/误解。寻找控制段大小的选项(如果有) 您可以尝试使用TEXT_DETECTION。如documentation 中所述,DOCUMENT_TEXT_DETECTION 针对密集文本进行了优化。您使用的图像似乎并非如此。 感谢@enlelin 不幸的是,我需要从书面文档中提取文本,这些文档通常具有不同文本密度的区域。就我而言,DOCUMENT_TEXT_DETECTION 的效果要好得多,但在识别孤立字符时遇到了麻烦。 您找到解决此问题的方法了吗? 我也遇到了这个问题。任何人已经解决了这个问题?谢谢 【参考方案1】:

不幸的是,我认为 Vision API 针对频谱的两端进行了优化——一端是密集文本 (DOCUMENT_TEXT_DETECTION),另一端是任意位的文本 (TEXT_DETECTION)。正如您在 cmets 中所指出的,常规的 TEXT_DETECTION 对这些杂散的个位数效果更好,而 DOCUMENT_TEXT_DETECTION 整体效果更好。

据我所知,目前没有计划尝试以单一方式涵盖这两个方面,但未来可能会有所改善。

我认为还有其他要求对您要检测的内容进行更多微调和提示(例如,here 和 here),但这似乎尚不可用。也许在未来,您将能够提供更多关于您希望在图像中找到的文本格式的提示(例如,电话号码、个位数等)。

【讨论】:

以上是关于Google Vision API 无法识别个位数的主要内容,如果未能解决你的问题,请参考以下文章

Google Vision API 文本检测奇怪行为 - Javascript

来自边界框的 Google Vision Api 文本检测布局信息

如何将 Google Cloud Vision API 凭据密钥文件指向 yii2 框架中的 GOOGLE_APPLICATION_CREDENTIALS 变量

Google Vision 隐私:图片删除

json Google Cloud Vision API OpenAPI

IndexError:带有 Google Cloud Vision API 的字节数组