使用 OCI Vision 和 Oracle Autonomous Database 构建实时对象标识符
了解如何使用 Oracle Cloud Infrastructure (OCI) Vision、Oracle Functions、API Gateway 和 Oracle Autonomous Database (ADB) 构建实时对象识别视觉模型。此参考架构介绍了如何将 OCI 视觉训练模型与前端 Web 应用程序集成,以使用手机摄像头执行实时对象标识。
体系结构
OCI 愿景是一项人工智能 (AI) 服务,用于执行大规模的深度学习图像分析。借助可用的预构建模型,开发人员无需具备机器学习专业知识即可将映像识别快速构建到应用中。
视觉模型使用人工智能使计算机能够从图像中获取信息。此体系结构使用 terraform 脚本创建 Web 应用程序,该应用程序使用 OCI 视觉模型通过移动电话相机执行实时对象标识。
此体系结构包含一个可选的 Web 应用程序,开发人员可以使用该应用程序来执行实时对象标识。Web 应用程序设置完成后,用户可以在其手机上打开 Web 应用程序、激活相机并拍摄快照。该应用程序分析图像并返回图像详细信息。
向无服务器函数发送请求,以调用 OCI 视觉服务和数据库(使用 python OCI SDK)。然后,视觉服务返回具有置信度评分的标签列表,数据库有助于将详细信息保存在可用标签列表中。在不需要始终使服务处于活动状态,或者响应时间存在松散限制的情况下(因为函数服务需要预热时间),函数服务很有用。然而,好处是,您只在函数处于活动状态的计算时间付费,因此它可能非常经济高效。
您可以将体系结构与 Web 应用程序一样用于快速测试,并使用资料档案库中可用的所有资源。您可能还需要将视觉模型整合到您自己的租户中,修改脚本以删除前端建议的体系结构(负载平衡器和 Web 服务器),并在需要从您自己的后端服务调用该功能时使用 API 网关调用该功能。
视觉服务可用于图像分类、对象检测和文档分析。视觉服务包含用于一般用途的预训练模型,但它还可以与数据标签服务一起使用,为您具有的特定数据创建定制模型。通过 terraform 脚本,可以创建使用视觉服务的常规体系结构。
下图说明了此参考体系结构。
aivision-realtime-deployment.zip
该体系结构具有以下组件:
- 区域
Oracle Cloud Infrastructure 区域是一个本地化地理区域,其中包含一个或多个数据中心(称为可用性域)。地区独立于其他地区,广阔的距离可以分隔它们(在各国甚至大陆)。
- 可用性域
可用性域是一个区域中的独立独立数据中心。每个可用性域中的物理资源与其他可用性域中的资源隔离,从而提供容错能力。可用性域不共享基础设施,例如电源或冷却,也不共享内部可用性域网络。因此,一个可用性域出现故障不会影响区域中的其他可用性域。
- 容错域
故障域是可用性域内的一组硬件和基础设施。每个可用性域都有三个具有独立电源和硬件的容错域。在多个容错域之间分配资源时,您的应用可以承受容错域中的物理服务器故障、系统维护和电源故障。
- 虚拟云网络 (VCN) 和子网
VCN 是可定制的软件定义网络,您可以在 Oracle Cloud Infrastructure 区域中设置。与传统数据中心网络一样,VCNs 允许您完全控制您的网络环境。一个 VCN 可以具有多个不重叠的 CIDR 块,创建 VCN 后您可以更改这些块。您可以将 VCN 细分到子网中,子网可以限定到某个区域或可用性域。每个子网都包含一个连续的地址范围,这些地址与 VCN 中的其他子网不重叠。可以在创建子网后更改子网的大小。子网可以是公共子网,也可以是专用子网。
- Internet 网关
Internet 网关允许在 VCN 中的公共子网与公共 Internet 之间进行流量传输。
- 网络地址转换 (NAT) 网关
通过 NAT 网关,VCN 中的专用资源可以访问 Internet 上的主机,而不会向传入的 Internet 连接公开这些资源。
- 负载平衡器
Oracle Cloud Infrastructure Load Balancing 服务提供从单个入口点到后端多个服务器的自动流量分配。
- 路由表
虚拟路由表包含将流量从子网路由到 VCN 外部目标(通常通过网关)的规则。
- API 网关
通过 Oracle API Gateway,您可以发布具有专用端点的 API,这些端点可从您的网络访问,并且您可以在需要时向公共互联网公开这些端点。这些端点支持 API 验证、请求和响应转换、CORS、验证和授权以及请求限制。
- Autonomous Database(自治数据库)
Oracle Cloud Infrastructure Autonomous Database 是一个完全托管的预配置数据库环境,可用于事务处理和数据仓库负载。您不需要配置或管理任何硬件,也不需要安装任何软件。Oracle Cloud Infrastructure 处理数据库创建以及数据库备份、打补丁、升级和优化。
- 功能
Oracle Functions 是一个完全托管、多租户、高度可扩展、按需扩展、函数即服务 (FaaS) 平台。它由 Fn 项目开源引擎提供支持。使用函数可以部署代码,并可以直接调用代码或触发代码以响应事件。Oracle Functions 使用 Oracle Cloud Infrastructure Registry 中托管的 Docker 容器。
- 对象存储
通过对象存储,可以快速访问任意内容类型的大量结构化和非结构化数据,包括数据库备份、分析数据以及图像和视频等丰富内容。您可以安全可靠地存储数据,然后直接从互联网或云平台检索数据。您可以无缝扩展存储,而不会降低性能或服务可靠性。对需要快速、立即和频繁访问的“热”存储使用标准存储。将归档存储用于长期保留的“冷”存储,并且很少或很少访问。
- Vault
使用 Oracle Cloud Infrastructure Vault ,可以集中管理加密密钥,这些密钥保护您的数据和用于保护对云中资源的访问的密钥凭证。
- 视觉
Oracle Cloud Infrastructure 愿景是一项 AI 服务,用于大规模执行基于深度学习的映像分析。利用现成的预构建模型,开发人员无需机器学习 (ML) 专业知识即可轻松将图像识别和文本识别构建到应用中。
- OCI 数据标签
OCI 数据标签服务是一种 OCI 本机服务,允许客户创建和浏览数据集、查看数据记录(文本、图像)和应用标签以构建 AI/ML 模型。该服务还提供交互式用户界面,以协助标签过程。开发人员可以上载原始映像、添加标签以及突出显示图像区域。通过将这些标签添加到图像中,生成的数据集可用于训练定制图像分类和对象检测模型。
为记录设置标签后,数据集可以导出为行分隔的 JSON,以用于 AI/ML 模型开发。OCI 数据标签还可以直接从其他服务(例如 OCI 视觉识别和 OCI 语言识别)访问,这是定制模型训练工作流的一部分。喜欢构建和训练自己的深度学习或自然语言处理模型的数据科学家可以通过 OCI 数据科学使用带标签的数据集。
部署
GitHub 中提供了部署此引用体系结构所需的代码。您可以使用 Terraform CLI 将代码从 GitHub 下载到计算机、定制代码以及部署体系结构。
- 转到 GitHub 。
- 将系统信息库克隆或下载到本地计算机。
- 按照
README文档中的说明进行操作。
