使用 OCI Vision 和 Oracle Autonomous Database 建立即時物件 ID

瞭解如何使用 Oracle Cloud Infrastructure (OCI) Vision、Oracle Functions、API Gateway 和 Oracle Autonomous Database (ADB) 建立即時物件識別願景模型。此參考架構說明如何將 OCI Vision 訓練模型與前端 Web 應用程式整合,以使用行動電話相機執行即時物件識別。

架構

OCI Vision 是一種人工智慧 (AI) 服務,可執行大規模深度學習型影像分析。藉由可用的預建模型,開發人員無需機器學習專業知識,即可快速將映像檔辨識建置到應用程式中。

視覺模型使用人工智慧讓電腦從影像衍生資訊。此架構使用 terraform 命令檔建立 Web 應用程式,使用 OCI Vision 模型使用行動電話相機執行即時物件識別。

此架構包括一個可供開發人員用來執行即時物件識別的選擇性 Web 應用程式。完成 Web 應用程式設定之後,使用者可以在行動電話上開啟 Web 應用程式、啟用相機,以及建立快照。此應用程式會分析影像並傳回影像詳細資料。

將要求傳送至無伺服器函數,以呼叫 OCI Vision 服務和資料庫 (使用 python OCI SDK)。視覺服務接著會傳回具有信賴度分數的標籤清單,資料庫會協助儲存可用標籤清單的詳細資料。當完全不需要讓服務生效,或回應時間有鬆散限制時 (因為功能服務需要暖機時間),功能服務很有用。但好處是,只有在函數為作用中狀態時才會向您收取運算費用,因此它可能非常符合成本效益。

您可以使用此架構與 Web App 搭配使用,以進行快速測試,並使用儲存區域中提供的所有資源。您也可以將視覺模型併入自己的租用戶,修改命令檔以移除前端建議的架構 (負載平衡器和 Web 伺服器),並在需要自有後端服務時使用 API 閘道來呼叫函數。

視覺服務可用於影像分類、物件偵測和文件分析。視覺服務包含用於一般用途的預先訓練模型,但也可以與資料標註服務搭配使用,為特定資料建立自訂模型。terraform 命令檔可讓您存取建立一般架構,以使用視覺服務。

下圖說明此參照架構。



aivision- 即時 -deployment.zip

架構包含下列元件:

  • 區域

    Oracle Cloud Infrastructure 區域是包含一或多個資料中心 (稱為可用性網域) 的本地化地理區域。區域獨立於其他區域,因此廣大的距離可以劃分區域 (跨國家甚至大陸)。

  • 可用性網域

    可用性網域是區域內獨立且獨立的資料中心。每個可用性網域中的實體資源會與其他可用性網域中的資源隔離,以提供容錯能力。可用性網域並不共用基礎設施 (例如電力或散熱冷卻系統) 或內部可用性網域網路。因此,一個可用性網域發生失敗並不會影響區域中的其他可用性網域。

  • 容錯域

    容錯域是可用性網域內的一組硬體和基礎設施,每個可用性網域都具備三個獨立電源和硬體的容錯域。當您將資源分配給多個容錯域時,您的應用程式可以容許容錯域內的實體伺服器故障、系統維護和電源故障。

  • 虛擬雲端網路 (VCN) 和子網路

    VCN 是您在 Oracle Cloud Infrastructure 區域中設定的可自訂軟體定義網路。與傳統資料中心網路相同,VCN 可讓您完整控制網路環境。一個 VCN 可以有多個非重疊的 CIDR 區塊,您可以在建立 VCN 後進行變更。您可以將 VCN 分割成子網路,範圍可至區域或可用性網域。每個子網路均包含一系列不與 VCN 中其他子網路重疊的連續位址。您可以在建立子網路後變更其大小。子網路可以是公用或專用子網路。

  • 網際網路閘道

    網際網路網關允許 VCN 中的公共子網路與公共網際網路之間的流量。

  • 網路位址轉譯 (NAT) 閘道

    NAT 閘道可讓 VCN 中的專用資源存取網際網路上的主機,無須向內送網際網路連線暴露這些資源。

  • 負載平衡器

    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 是一個完全託管的多租用戶、高度可擴充、隨選的 Functions-as-a-Service (FaaS) 平台。它是由 Fn Project 開源引擎提供技術支援。函數可讓您部署程式碼,然後直接呼叫或觸發程式碼以回應事件。Oracle Functions 使用 Oracle Cloud Infrastructure Registry 中代管的 Docker 容器。

  • 物件儲存

    物件儲存可讓您快速存取任何內容類型的大量結構化和非結構化資料,包括資料庫備份、分析資料,以及影像和影片等豐富內容。您可以安全可靠地儲存並直接從網際網路或雲端平台內擷取資料。您可以無縫擴充儲存,而不會造成效能或服務可靠性下降。針對快速、立即和經常存取的「熱」儲存體,使用標準儲存體。針對您保留長期且很少存取的「冷」儲存,使用封存儲存空間。

  • 保存庫

    Oracle Cloud Infrastructure Vault 可讓您集中管理加密金鑰,以保護您的資料及用於保護雲端資源存取的加密密碼證明資料。

  • 願景

    Oracle Cloud Infrastructure Vision 是一項 AI 服務,可大規模執行深度學習式映像檔分析。藉由立即可用的預先建置模型,開發人員無需機器學習 (ML) 專門技術,即可輕鬆地在其應用程式中建立影像辨識和文字辨識。

  • OCI 資料標記

    OCI 資料標記服務是一種 OCI 原生服務,可讓客戶建立及瀏覽資料集、檢視資料記錄 (文字、影像),以及套用標籤以建立 AI/ML 模型。此服務也提供互動式的使用者介面,專為支援標示流程而設計。開發人員可以上傳原始影像、新增標籤以及反白顯示影像區域。藉由將這些標籤新增至影像,結果資料集可用來訓練自訂影像分類和物件偵測模型。

    標記記錄之後,即可將資料集匯出為以明細行區隔的 JSON,供 AI/ML 模型開發使用。您也可以在自訂模型訓練工作流程中,直接從其他服務 (例如 OCI Vision 和 OCI Language) 存取 OCI Data Labeling。偏好建立和訓練自身深度學習或自然語言處理模型的資料科學家,可透過 OCI 資料科學使用標示的資料集。

部署

GitHub 提供部署此參考架構所需的程式碼。您可以使用 Terraform CLI 將程式碼從 GitHub 下載至電腦、自訂程式碼,以及部署架構。

  1. 前往 GitHub
  2. 複製儲存區域或將儲存區域下載至您的本機電腦。
  3. 依照 README 文件中的指示進行。

確認書

作者:Carlos Giraldo

貢獻者:Badr Tharwat