使用 OCI Vision 從影像和掃描的文件擷取資料

Oracle Cloud Infrastructure (OCI) Vision 是 Oracle Cloud Infrastructure 上數項 AI 服務的其中一項。

OCI Vision 可讓您在無須資料科學專長的情況下,套用機器學習和人工智慧。它有預先訓練的模型,可讓您快速執行 OCR、影像分類和物件偵測、文件分類、異常偵測等等。

您可以使用傳輸學習,利用自訂資料調整預先訓練的模型。您可以使用現有的標籤資料集來進行調整,或如果您的資料尚未標示,您可以使用 Oracle Data Labeling 服務來簡化作業。

架構

此架構示範典型系統中,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 之間的專用專用連線。與網際網路連線相比,FastConnect 提供較高寬度的選項和更可靠的網路體驗。

  • Oracle Infrastructure Cloud Vision

    OCI Vision 是用來從 PDF 與影像擷取資訊。Vision 支援 OCR、文件瞭解、表格分類、物件偵測以及影像分類

  • 應用程式

    此架構中的應用程式可讓使用者上傳影像,並使用影像的描述資料來改善搜尋和相關資訊環境。

建議

您的需求可能會與此處描述的架構不同。使用下列建議作為起點。

  • VCN

    建立 VCN 時,請根據計畫連附至 VCN 中子網路的資源數目,判斷所需的 CIDR 區塊數目和各個區塊的大小。使用標準專用 IP 位址空間內的 CIDR 區塊。

    選取未與想要設定專用連線之任何其他網路 (在 Oracle Cloud Infrastructure 中、您的內部部署資料中心或其他雲端提供者) 重疊的 CIDR 區塊。

    建立 VCN 之後,您可以變更、新增及移除其 CIDR 區塊。

    設計子網路時,請考量您的流量和安全需求。將特定層或角色內的所有資源連附至可作為安全界限的相同子網路。

    使用區域子網路。

  • 安全

    使用 Oracle Cloud Guard 主動監督及維護您在 Oracle Cloud Infrastructure 中的資源安全。「雲端保全」使用可定義的偵測器方法來檢查安全弱點的資源,以及監督操作員和使用者是否有風險活動。偵測到任何組態錯誤或不安全的活動時,雲端保全會建議更正動作,並根據您可以定義的回應器方法來協助採取這些動作。

    對於需要最高安全性的資源,Oracle 建議您使用安全區域。安全區域是與以最佳做法為基礎之 Oracle 定義的安全原則方法關聯的區間。例如,安全區域中的資源不得從公用網際網路存取,且必須使用客戶管理的金鑰加密。當您在安全區域中建立及更新資源時,Oracle Cloud Infrastructure 會根據 security-zone 處方中的原則驗證作業,並拒絕違反任何原則的作業。

  • 雲端保全

    複製並自訂 Oracle 提供的預設方法,以建立自訂偵測器和回應器方法。這些處方可讓您指定哪些類型的安全違規會產生警告,以及允許對它們執行哪些動作。例如,您可能想要偵測可見性設為公用的物件儲存的儲存桶。

    在租用戶層次套用雲端保全、以涵蓋最廣泛的範圍、並減少維護多個組態的管理間接成本。

    您也可以使用「受管理清單」功能,將特定組態套用至偵測器。

  • 安全區域

    複製並自訂 Oracle 提供的預設方法,以建立自訂偵測器和回應器方法。這些處方可讓您指定哪些類型的安全違規會產生警告,以及允許對它們執行哪些動作。例如,您可能想要偵測可見性設為公用的物件儲存的儲存桶。

    在租用戶層次套用雲端保全、以涵蓋最廣泛的範圍、並減少維護多個組態的管理間接成本。

    您也可以使用「受管理清單」功能,將特定組態套用至偵測器。

  • 負載平衡器頻寬

    建立負載平衡器時,您可以選取提供固定頻寬的預先定義資源配置,或指定自訂彈性資源配置,供您設定頻寬範圍,並讓服務根據流量樣式自動調整頻寬。您可以使用任一方式,在建立負載平衡器之後隨時變更資源配置。

  • 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 Service。

  • 整合

    以 PDF 格式掃描商業文件 (例如收據和應用程式表單) 時,請考慮使用 Oracle Integration Cloud 從電子郵件等系統提取 PDF,然後呼叫 Vision AI 並將內容最終發送至目的地系統 (例如 ERP 或 CRM 系統)。