文档 AI 发票处理器 - 提取实体的边界多边形不一致

问题描述

我使用 Document AI Invoice Processor 来处理扫描的发票。我正在使用 Java 客户端库。 我最近注意到当输入图像时提取的实体的边界多边形存在不一致 从认阅读方向逆时针旋转 90 度。

当服务显示一张发票的图像时,该图像从垂直(读取)方向逆时针旋转 90 度,返回的边界多边形不正确。假设发票 ID 字段位于发票图像右上角附近的某处 当它处于阅读方向时。如果(出于某种原因,例如使用错误地将发票文档放在扫描仪上)我将此发票的 90 度逆时针旋转图像发送到服务,它仍然可以很好地检测发票 ID 字段(实际上,所有字段),但是我期望边界多边形位于左上角的某个位置(由于旋转),引擎返回仍在右上角的边界多边形。 看起来返回的边界多边形是相对于其竖直(阅读)方向的图像,而不是相对于我实际上传到服务的图像(即90deg ccw 旋转了一个),如文档所示。

请注意,我通过遵循以下参考链获得边界多边形:Document->Entity->PageAnchor->PageRef->Boundingpoly。 如果我想要一个段落的边界多边形,我会遵循这个参考链:Document->Page->Pargraph->Layout->Boundingpoly。请注意此链中的最后一步是一个 Document.Page.Layout 对象,它(连同边界多边形)具有一个“orientation”属性,用于指定此布局对象相对于页面方向的方向。不幸的是,当到达提取实体的边界多边形时,引用链不包含 Layout 对象。相反,它通过一个 PageRef 对象,该对象有一个边界多边形,但不是一个方向,可以让我理解返回的边界多边形。

那么,回答我的问题,这是一个错误吗?返回的实体边界多边形是否应该与上传的图像相关,或者观察到的行为是否正确,我应该以某种方式转换多边形?而且,提取实体的方向如何?为什么它不在 PageRef 对象中传达(就像通过 Document.Page.Layout 对象为 Blocks、Lines、Tokens 等所做的那样)?这是将来会添加的东西吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)