使用 OCI Vision 从图像和扫描的文档中提取数据

Oracle Cloud Infrastructure (OCI) Vision 是 Oracle Cloud Infrastructure 上提供的多种 AI 服务之一。

通过 OCI Vision,您可以在不需要数据科学专业知识的情况下应用机器学习和人工智能。通过预先培训的模型,您可以快速执行 OCR、图像分类和对象检测、文档分类、异常检测等。

使用转移学习,您可以利用自定义数据来优化预培训模型。您可以将现有带标签的数据集用于优化,或者如果尚未标记数据,可以使用 Oracle 数据标签服务来简化任务。

体系结构

此体系结构说明了具有 OCI Vision 核心的典型系统中的各个组件之间的关系。

在此系统中,最终用户使用 Web 应用程序上载业务文档的照片或图像。应用程序将该文件存储在对象存储中。Oracle Events 检测新文件并触发无服务器函数,从而生成对 Vision 服务的 REST API 调用。Vision 从对象存储检索文件并分析图像。结果存储在应用程序可以使用它们的数据库中。

下图说明了此参考体系结构。

后面是 architecture-ai-vision.png 的说明
插图 architecture-ai-vision.png 的说明

architecture-ai-vision-oracle.zip

该体系结构包含以下组件:

  • 区域

    Oracle Cloud Infrastructure 区域是一个本地化地理区域,包含一个或多个称为可用性域的数据中心。区域独立于其他区域,大片距离可以分开(跨国家甚至大陆)。

  • 可用性域

    可用性域是区域内的独立数据中心。每个可用性域中的物理资源都与其他可用性域中的资源隔离,从而提供容错能力。可用性域不共用电源或冷却设备等基础设施,也不共享内部可用性域网络。因此,一个可用性域出现故障不太可能影响区域中的其他可用性域。

  • 故障域

    故障域是可用性域内一组硬件和基础设施。每个可用性域都有三个容错域,具有独立电源和硬件。在多个容错域之间分配资源时,您的应用可以在容错域内承受物理服务器故障、系统维护和电源故障。

  • 虚拟云网络 (VCN) 和子网

    VCN 是在 Oracle Cloud Infrastructure 区域中设置的可定制软件定义的网络。与传统的数据中心网络类似,VCN 允许您完全控制您的网络环境。VCN 可以有多个不重叠的 CIDR 块,您可以在创建 VCN 后更改这些块。您可以将 VCN 细分为多个子网,这些子网可以限定于某个区域或可用性域。每个子网都包含与 VCN 中的其他子网不重叠的连续地址范围。您可以在创建子网后更改其大小。子网可以是公共的,也可以是专用的。

  • 区间

    区间是 Oracle Cloud Infrastructure 租户中的跨区域逻辑分区。使用区间在 Oracle Cloud 中组织资源,控制对资源的访问并设置使用限额。要控制对给定区间中资源的访问,可以定义策略来指定谁可以访问资源以及可以访问哪些操作。

  • 负载平衡器

    Oracle Cloud Infrastructure Load Balancing 服务可实现从单个入口点到后端多个服务器的自动流量分配。

    负载平衡器提供对不同应用程序的访问。

  • 安全列表

    对于每个子网,您可以创建安全规则来指定必须允许进出子网的源、目标和流量类型。

  • 对象存储

    通过对象存储,可以快速访问任意内容类型的大量结构化和非结构化数据,包括数据库备份、分析数据以及图像和视频等丰富内容。您可以安全可靠地存储数据,然后直接从互联网或云平台检索数据。您可以无缝扩展存储,而不会性能或服务可靠性降低。对需要快速、立即和频繁访问的“热”存储使用标准存储。对您长时间保留的“冷”存储使用归档存储,并且很少或很少访问。

  • FastConnect

    Oracle Cloud Infrastructure FastConnect 提供了一种在数据中心与 Oracle Cloud Infrastructure 之间创建专用专用连接的方式。与基于 Internet 的连接相比,FastConnect 提供更高带宽选项和更可靠的网络体验。

  • Oracle 基础设施云愿景

    OCI Vision 用于从 PDF 和图像中提取信息。Vision 支持 OCR、文档理解、表分类、对象检测和图像分类

  • 应用程序

    此体系结构中的应用程序允许用户上载映像并使用映像中的元数据来改进搜索和上下文。

建议

您的要求可能与此处介绍的体系结构有所不同。可将以下建议作为起点。

  • VCN

    创建 VCN 时,请根据您计划附加到 VCN 中的子网的资源数量确定所需的 CIDR 块数和每个块的大小。使用标准专用 IP 地址空间内的 CIDR 块。

    选择与要设置专用连接的任何其他网络(在 Oracle Cloud Infrastructure、内部部署数据中心或其他云提供商中)不重叠的 CIDR 块。

    创建 VCN 后,可以更改、添加和删除其 CIDR 块。

    设计子网时,请考虑您的流量和安全性要求。将特定层或角色中的所有资源连接到可充当安全边界的同一子网。

    使用区域子网。

  • 安全性

    使用 Oracle Cloud Guard 可主动监视和维护 Oracle Cloud Infrastructure 中资源的安全性。Cloud Guard 使用检测器配方,您可以定义这些配方来检查资源是否存在安全漏洞,并监视操作员和用户是否有风险活动。检测到任何错误配置或不安全活动时,Cloud Guard 会建议您采取纠正措施,并根据可以定义的响应方配方来帮助采取这些操作。

    对于需要最大安全性的资源,Oracle 建议您使用安全区域。安全区域是与基于优秀实践的 Oracle 定义的安全策略配方关联的区间。例如,安全区域中的资源不能从公共互联网访问,必须使用客户管理的密钥进行加密。在安全区域中创建和更新资源时,Oracle Cloud Infrastructure 将根据安全区域配方中的策略验证操作,并拒绝违反任何策略的操作。

  • Cloud Guard

    克隆和定制 Oracle 提供的默认配方,以创建定制检测器和响应器配方。通过这些配方,您可以指定哪些类型的安全违规生成警告以及允许对其执行哪些操作。例如,您可能需要检测可见性设置为公共的对象存储桶。

    在租户级别应用 Cloud Guard 可覆盖最广的范围并减轻维护多个配置的管理负担。

    还可以使用受管列表功能将某些配置应用于检测器。

  • 安全区域

    克隆和定制 Oracle 提供的默认配方,以创建定制检测器和响应器配方。通过这些配方,您可以指定哪些类型的安全违规生成警告以及允许对其执行哪些操作。例如,您可能需要检测可见性设置为公共的对象存储桶。

    在租户级别应用 Cloud Guard 可覆盖最广的范围并减轻维护多个配置的管理负担。

    还可以使用受管列表功能将某些配置应用于检测器。

  • 负载平衡器带宽

    创建负载平衡器时,可以选择提供固定带宽的预定义配置,或者指定设置带宽范围的定制灵活配置,让服务根据流量模式自动扩展带宽。无论采用哪种方法,您都可以在创建负载平衡器后随时更改配置。

  • Oracle Functions

    此体系结构使用函数调用具有特定图像的 OCI Vision REST API,然后存储 Vision 返回的元数据。可以使用 Java 或 Python SDK 构建函数。

  • 事件

    在此体系结构中,Oracle Cloud Infrastructure Events 服务配置为监听创建对象存储时的更改。在对象上载到对象存储并调用函数进行处理后,将调用该服务。

考虑事项

部署此体系结构时,请考虑以下几点。

  • 性能

    出于性能和可扩展性方面的考虑,我们使用函数调用 Vision REST API。另一种解决方案是直接从应用程序使用 Vision REST API。如果您这样做,请考虑让 REST API 调用作为后台作业运行。

  • 访问

    OCI Vision 支持通过 OCI 控制台、Java 和 Python SDK 客户端以及 OCI CLI 进行访问。测试时,建议使用 CLI 工具或控制台。

  • 可用性

    在本例中,数据库并非高可用性。对于关键应用程序,请考虑在 HA 模式下使用 3 个副本运行 MySQL Database 服务。

  • 集成

    扫描 PDF 格式的业务文档(如收据和应用程序表单)时,请考虑使用 Oracle Integration Cloud 从电子邮件等系统提取 PDF,然后致电 Vision AI,最后将内容推送到 ERP 或 CRM 系统等目标系统。