Mit OCI Vision Daten aus Bildern und gescannten Dokumenten extrahieren

Die Oracle Cloud Infrastructure (OCI) Vision ist einer von mehreren KI-Services, die auf Oracle Cloud Infrastructure verfügbar sind.

Mit OCI Vision können Sie maschinelles Lernen und künstliche Intelligenz anwenden, ohne dass Data Science-Kenntnisse erforderlich sind. Es enthält vorab trainierte Modelle, mit denen Sie OCR, Bildklassifizierung und Objekterkennung, Dokumentklassifizierung, Anomalieerkennung und mehr schnell ausführen können.

Sie können die vorab trainierten Modelle mit benutzerdefinierten Daten mithilfe von Transfer Learning optimieren. Sie können vorhandene beschriftete Datensätze für die Optimierung verwenden, oder wenn Ihre Daten noch nicht beschriftet sind, können Sie die Aufgabe mit dem Oracle Data Labeling-Service vereinfachen.

Architektur

Diese Architektur zeigt die Beziehung zwischen den verschiedenen Komponenten in einem typischen System, das OCI Vision als Kern hat.

In diesem System lädt ein Endbenutzer ein Foto oder ein Bild eines Geschäftsdokuments mit einer Webanwendung hoch. Die Anwendung speichert die Datei in Object Storage. Oracle Events erkennt die neue Datei und löst eine serverlose Funktion aus, die einen REST-API-Aufruf an den Vision-Service generiert. Die Vision ruft die Datei aus Object Storage ab und analysiert das Image. Die Ergebnisse werden in einer Datenbank gespeichert, in der Anwendungen sie verwenden können.

Das folgende Diagramm veranschaulicht diese Referenzarchitektur.

Beschreibung von architektur-ai-vision.png folgt
Beschreibung der Abbildung architektur-ai-vision.png

architektur-ai-vision-oracle.zip

Die Architektur umfasst folgende Komponenten:

  • Region

    Eine Oracle Cloud Infrastructure-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Data Center, sogenannte Availability-Domains, enthält. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie (über Länder oder sogar Kontinente) trennen.

  • Availability-Domains

    Availability-Domains sind eigenständige, unabhängige Data Center in einer Region. Die physischen Ressourcen in jeder Availability-Domain sind von den Ressourcen in den anderen Availability-Domains isoliert, was eine Fehlertoleranz bietet. Availability-Domains haben keine gemeinsame Infrastruktur wie Stromversorgung oder Kühlung oder das interne Availability-Domainnetzwerk. Daher ist es wahrscheinlich, dass sich ein Fehler in einer Availability-Domain auf die anderen Availability-Domains in der Region auswirkt.

  • Faultdomains

    Eine Fehlerdomain ist eine Gruppierung aus Hardware und Infrastruktur innerhalb einer Availability-Domain. Jede Availability-Domain hat drei Faultdomains mit unabhängiger Stromversorgung und Hardware. Wenn Sie Ressourcen auf mehrere Faultdomains verteilen, können Ihre Anwendungen physische Serverfehler, Systemwartung und Stromausfälle innerhalb einer Faultdomain tolerieren.

  • Virtuelles Cloud-Netzwerk (VCN) und Subnetze

    Ein VCN ist ein anpassbares, softwaredefiniertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region einrichten. Wie bei herkömmlichen Data Center-Netzwerken erhalten VCNs vollständige Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere nicht überlappende CIDR-Blöcke haben, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die für eine Region oder eine Availability-Domain gelten können. Jedes Subnetz besteht aus einem fortlaufenden Adressbereich, der sich nicht mit den anderen Subnetzen im VCN überschneidet. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.

  • Compartment

    Compartments sind regionsübergreifende logische Partitionen in einem Oracle Cloud Infrastructure-Mandanten. Mit Compartments können Sie Ihre Ressourcen in Oracle Cloud organisieren, den Zugriff auf die Ressourcen kontrollieren und Nutzungsquoten festlegen. Um den Zugriff auf die Ressourcen in einem bestimmten Compartment zu kontrollieren, definieren Sie Policys, die angeben, wer auf die Ressourcen zugreifen kann und welche Aktionen sie ausführen können.

  • Load Balancer

    Der Oracle Cloud Infrastructure Load Balancing-Service ermöglicht automatisierte Trafficverteilung von einem einzelnen Einstiegspunkt auf mehrere Server im Backend.

    Der Load Balancer bietet Zugriff auf verschiedene Anwendungen.

  • Sicherheitsliste

    Für jedes Subnetz können Sie Sicherheitsregeln erstellen, die Quelle, Ziel und Typ des Traffics angeben, der im Subnetz und aus dem Subnetz zugelassen werden muss.

  • Objektspeicher

    Object Storage bietet schnellen Zugriff auf große Mengen strukturierter und unstrukturierter Daten eines beliebigen Inhaltstyps, einschließlich Datenbankbackups, Analysedaten und umfangreicher Inhalte wie Bilder und Videos. Sie können Daten sicher speichern und dann direkt aus dem Internet oder aus der Cloud-Plattform abrufen. Sie können den Speicher nahtlos skalieren, ohne dass es zu einer Beeinträchtigung der Performance oder Servicezuverlässigkeit kommt. Verwenden Sie den Standardspeicher für "heiße" Speicher, auf den Sie schnell, sofort und häufig zugreifen müssen. Verwenden Sie Archivspeicher für "kalten" Speicher, den Sie über lange Zeiträume beibehalten und selten oder nur selten zugreifen.

  • FastConnect

    Mit Oracle Cloud Infrastructure FastConnect können Sie auf einfache Weise eine dedizierte, private Verbindung zwischen Ihrem Data Center und Oracle Cloud Infrastructure erstellen. FastConnect bietet im Vergleich zu internetbasierten Verbindungen eine höhere Bandbreite an Optionen und eine zuverlässigere Netzwerkerfahrung.

  • Die Vision von Oracle Infrastructure Cloud

    Mit OCI Vision werden Informationen aus PDFs und Bildern extrahiert. Die Vision unterstützt OCR, Dokumentenverständnis, Tabellenklassifizierung, Objekterkennung und Bildklassifizierung

  • Anwendung

    Die Anwendung in dieser Architektur ermöglicht Benutzern das Hochladen von Bildern und verwendet die Metadaten aus den Bildern für eine verbesserte Suche und einen verbesserten Kontext.

Empfehlungen

Ihre Anforderungen können sich von der hier beschriebenen Architektur unterscheiden. Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt.

  • VCN

    Bestimmen Sie beim Erstellen eines VCN die Anzahl der erforderlichen CIDR-Blöcke und die Größe jedes Blocks basierend auf der Anzahl der Ressourcen, die Sie an Subnetze im VCN anhängen möchten. Verwenden Sie CIDR-Blöcke, die sich im standardmäßigen privaten IP-Adressbereich befinden.

    Wählen Sie CIDR-Blöcke, die sich nicht mit einem anderen Netzwerk überschneiden (in Oracle Cloud Infrastructure, Ihrem On-Premise-Data Center oder einem anderen Cloud-Provider), in dem Sie private Verbindungen einrichten möchten.

    Nachdem Sie ein VCN erstellt haben, können Sie die zugehörigen CIDR-Blöcke ändern, hinzufügen und entfernen.

    Berücksichtigen Sie beim Entwerfen der Subnetze den Verkehrsfluss und die Sicherheitsanforderungen. Hängen Sie alle Ressourcen innerhalb einer bestimmten Ebene oder Rolle an dasselbe Subnetz an, das als Sicherheitsgrenze dienen kann.

    Regionale Subnetze verwenden

  • Sicherheit

    Mit Oracle Cloud Guard können Sie die Sicherheit Ihrer Ressourcen in Oracle Cloud Infrastructure proaktiv überwachen und verwalten. Cloud Guard verwendet Detektorrezepte, die Sie definieren können, um Ihre Ressourcen auf Sicherheitsschwächen zu untersuchen und Operatoren und Benutzer auf riskante Aktivitäten zu überwachen. Wenn eine fehlerhafte oder unsichere Aktivität erkannt wird, empfiehlt Cloud Guard Korrekturmaßnahmen und unterstützt die Ausführung dieser Aktionen basierend auf von Ihnen definierbaren Antworten des Responders.

    Für Ressourcen, für die eine maximale Sicherheit erforderlich ist, empfiehlt Oracle, Sicherheitszonen zu verwenden. Eine Sicherheitszone ist ein Compartment, das mit einem von Oracle definierten Rezept von Sicherheits-Policys verknüpft ist, die auf Best Practices basieren. Beispiel: Die Ressourcen in einer Sicherheitszone dürfen nicht aus dem öffentlichen Internet zugänglich sein und müssen mit vom Kunden verwalteten Schlüsseln verschlüsselt werden. Wenn Sie Ressourcen in einer Sicherheitszone erstellen und aktualisieren, validiert Oracle Cloud Infrastructure die Vorgänge anhand der Policys im Rezept der Sicherheitszone und verweigert Vorgänge, die eine der Policys verletzen.

  • Cloud Guard

    Klonen und anpassen Sie die von Oracle bereitgestellten Standardrezepte, um benutzerdefinierte Detektor- und Responderrezepte zu erstellen. Mit diesen Rezepten können Sie angeben, welche Art von Sicherheitsverletzungen eine Warnung generiert und welche Aktionen für sie durchgeführt werden dürfen. Beispiel: Sie möchten Object Storage-Buckets ermitteln, für die die Sichtbarkeit auf "Öffentlich" gesetzt ist.

    Wenden Sie Cloud Guard auf Mandantenebene an, um den breitesten Geltungsbereich abzudecken und den Verwaltungsaufwand bei der Verwaltung mehrerer Konfigurationen zu reduzieren.

    Mit der Funktion "Verwaltete Liste" können Sie auch bestimmte Konfigurationen auf Detektoren anwenden.

  • Sicherheitszonen

    Klonen und anpassen Sie die von Oracle bereitgestellten Standardrezepte, um benutzerdefinierte Detektor- und Responderrezepte zu erstellen. Mit diesen Rezepten können Sie angeben, welche Art von Sicherheitsverletzungen eine Warnung generiert und welche Aktionen für sie durchgeführt werden dürfen. Beispiel: Sie möchten Object Storage-Buckets ermitteln, für die die Sichtbarkeit auf "Öffentlich" gesetzt ist.

    Wenden Sie Cloud Guard auf Mandantenebene an, um den breitesten Geltungsbereich abzudecken und den Verwaltungsaufwand bei der Verwaltung mehrerer Konfigurationen zu reduzieren.

    Mit der Funktion "Verwaltete Liste" können Sie auch bestimmte Konfigurationen auf Detektoren anwenden.

  • Load Balancer-Bandbreite

    Beim Erstellen des Load Balancers können Sie entweder eine vordefinierte Ausprägung auswählen, die eine feste Bandbreite bereitstellt, oder eine benutzerdefinierte flexible Ausprägung angeben, in der Sie einen Bandbreitebereich festlegen und den Service basierend auf Verkehrsmustern automatisch skalieren lassen. Bei beiden Lösungen können Sie die Ausprägung jederzeit ändern, nachdem Sie den Load Balancer erstellt haben.

  • Oracle Functions

    Diese Architektur verwendet eine Funktion, um die OCI Vision REST-API mit einem bestimmten Image aufzurufen und dann die von Vision zurückgegebenen Metadaten zu speichern. Die Funktion kann mit dem Java- oder Python-SDK erstellt werden.

  • Ereignisse

    In dieser Architektur ist der Oracle Cloud Infrastructure Events-Service so konfiguriert, dass er auf Änderungen bei der Object Storage-Erstellung horcht. Der Service wird aufgerufen, nachdem das Objekt in Object Storage hochgeladen wurde, und ruft die Funktion zur Verarbeitung auf.

Überlegungen

Beachten Sie beim Deployment dieser Architektur die folgenden Punkte.

  • Performance

    Aus Performance- und Skalierbarkeitsgründen verwenden wir Funktionen, um Vision REST API aufzurufen. Eine alternative Lösung besteht darin, die Vision REST-API direkt aus der Anwendung zu verwenden. In diesem Fall sollten die REST-API-Aufrufe als Hintergrundjobs ausgeführt werden.

  • Zugriff

    OCI Vision unterstützt den Zugriff über die OCI-Konsole, den Java- und Python-SDK-Client und die OCI-CLI. Beim Testen wird empfohlen, das CLI-Tool oder die Konsole zu verwenden.

  • Verfügbarkeit

    In diesem Beispiel ist die Datenbank nicht hochverfügbar. Bei kritischen Anwendungen sollten Sie MySQL Database Service im HA-Modus mit 3 Replikaten ausführen.

  • Integration

    Wenn Sie Geschäftsdokumente wie Quittungen und Anwendungsformulare im PDF-Format scannen, sollten Sie Oracle Integration Cloud verwenden, um PDFs aus Systemen wie E-Mail zu beziehen, dann Vision AI anzurufen und den Inhalt schließlich an ein Zielsystem wie ERP- oder CRM-Systeme zu übergeben.