Vortrainierte Bildanalysemodelle

Vision bietet vortrainierte KI-Modelle zur Bildanalyse, mit denen Sie Objekte, Text und ganze Szenen in Bildern suchen und taggen können.

Mit vortrainierten Modellen können Sie KI ohne Data Science-Erfahrung verwenden. Stellen Sie dem Vision-Service ein Bild zur Verfügung, und rufen Sie Informationen zu den Objekten, Texten, Szenen und allen Flächen im Bild zurück, ohne ein eigenes Modell erstellen zu müssen.

Anwendungsfälle

Hier sind einige Anwendungsfälle für vortrainierte Bildanalysemodelle.

Digital Asset Management
Markieren Sie digitale medienähnliche Bilder, um sie besser zu indizieren und abzurufen.
Szenenüberwachung
Erkennen Sie, ob sich Artikel in Einzelhandelsregalen befinden, die Vegetation im Überwachungsbild einer Stromleitung wächst oder ob LKWs zu viel für die Lieferung oder den Versand verfügbar sind.
Gesichtserkennung
  • Datenschutz: Identitäten ausblenden, indem Sie dem Bild eine Unschärfe hinzufügen, indem Sie Informationen zur Gesichtsposition verwenden, die über die Gesichtserkennungsfunktion zurückgegeben werden.
  • Voraussetzung für Biometrie: Verwenden Sie die Gesichtsqualitätsbewertung, um zu entscheiden, ob ein Gesicht klar und ungehindert ist.
  • Digital Asset Management: Markieren Sie Bilder mit Gesichtsinformationen, um sie besser zu indizieren und abzurufen.

Unterstützte Formate

Vision unterstützt mehrere Bildanalyseformate.

Images können entweder aus dem lokalen Speicher oder aus Oracle Cloud Infrastructure Object Storage hochgeladen werden. Die Bilder können in folgenden Formaten vorliegen:
  • JPG
  • PNG

Vortrainierte Modelle

Vision verfügt über vier Arten von vortrainierten Bildanalysemodellen.

Objekterkennung

Die Objekterkennung wird verwendet, um Objekte innerhalb eines Bildes zu suchen und zu identifizieren. Wenn Sie beispielsweise ein Bild eines Wohnzimmers haben, finden Sie die Objekte von Vision dort, wie einen Stuhl, ein Sofa und einen Fernseher. Es stellt dann Begrenzungsrahmen für jedes der Objekte bereit und identifiziert sie.

Vision bietet einen Konfidenzscore für jedes identifizierte Objekt. Der Konfidenzscore ist eine Dezimalzahl. Punkte, die näher an 1 liegen, weisen auf eine höhere Sicherheit in der Objektklassifizierung hin, während niedrigere Scores auf einen niedrigeren Vertrauenswert hinweisen. Der Bereich des Konfidenzscores für jedes Label liegt zwischen 0 und 1.

Folgende Features werden unterstützt:
  • Labels
  • Sicherheitsscore
  • Objektgebundene Polygone
  • Einzelne Anforderungen
  • Batchanforderungen
Beispiel für die Objekterkennung

Ein Beispiel für die Verwendung der Objekterkennung in Vision.

Eingabebild
Eingabebild für Objekterkennung Bild eines Autos, das auf einer Straße fährt, auf dem Oracle geschrieben ist. Auf der einen Seite ist ein Bus, auf der anderen ein Taxi.
API-Anforderung:
{ "analyzeImageDetails":
 { "compartmentId": "",
   "image": 
           { "namespaceName": "",
             "bucketName": "",
             "objectName": "",
             "source": "OBJECT_STORAGE" },
   "features": [ { "featureType": "OBJECT_DETECTION", "maxResults": 50 } ] } }
Ausgabe:
Ausgabebild für Objekterkennung Das gleiche Bild wie die Eingabe, aber jetzt mit Begrenzungsboxen um alle relevanten Elemente gezeichnet.
API-Antwort:
{ "imageObjects": 
 [ { "name": "Bus",
     "confidence": 0.98872757,
     "boundingPolygon": 
                       { "normalizedVertices": 
                                              [ { "x": 0.232, 
                                                  "y": 0.16114457831325302 },
                                                { "x": 0.407,
                                                  "y": 0.16114457831325302 }, 
                                                { "x": 0.407,
                                                  "y": 0.36596385542168675 },
                                                { "x": 0.232,
                                                  "y": 0.36596385542168675 } ]
                       } },
   }, ... }

Bildklassifizierung

Die Bildklassifizierung kann verwendet werden, um szenenbasierte Funktionen und Objekte in einem Bild zu identifizieren. Je nach Anwendungsfall und Anzahl der Elemente in einem Bild können Sie eine oder mehrere Klassifizierungen verwenden. Beispiel: Wenn Sie ein Bild einer laufenden Person haben, identifiziert Vision die Person, die Kleidung und die Schuhe.

Vision bietet einen Konfidenzscore für jedes Label. Der Konfidenzscore ist eine Dezimalzahl. Punkte, die näher an 1 liegen, weisen auf ein höheres Vertrauen in das Label hin, während niedrigere Scores auf einen niedrigeren Vertrauenswert hinweisen. Der Bereich des Konfidenzscores für jedes Label liegt zwischen 0 und 1.

Folgende Features werden unterstützt:
  • Labels
  • Sicherheitsscore
  • Ontologieklassen
  • Einzelne Anforderungen
  • Batchanforderungen
Beispiel für eine Bildklassifizierung

Ein Beispiel für die Verwendung der Bildklassifizierung in Vision.

Eingabebild
Bild für Bildklassifizierung eingeben Bild von Strommasten, die eine Straße überqueren.
API-Anforderung:
{ "analyzeImageDetails":
 { "compartmentId": "",
   "image":
           { "namespaceName": "",
             "bucketName": "",
             "objectName": "",
             "source": "OBJECT_STORAGE" },
             "features":
                        [ { "featureType": "IMAGE_CLASSIFICATION",
                            "maxResults": 5 } ]
 } 
}
Ausgabe:
API-Antwort:
{ "labels":
           [ { "name": "Overhead power line",
               "confidence": 0.99315816 },
             { "name": "Transmission tower",
               "confidence": 0.9927904 },
             { "name": "Plant", "confidence": 0.9924676 },
             { "name": "Sky", "confidence": 0.9924451 },
             { "name": "Line", "confidence": 0.9912027 } ] ...

Gesichtserkennung

Vision kann Gesichter in einem Bild erkennen und erkennen.

Mit der Gesichtserkennung können Sie ein Bild oder einen Batch von Bildern an Vision übergeben, um Folgendes mit einem vortrainierten Modell zu erkennen:

  • Die Existenz von Gesichtern in jedem Bild.
  • Die Position der Flächen in jedem Bild.
  • Face Landmarken für jedes Gesicht.
  • Visuelle Qualität jedes Gesichts.

Für die Verwendung dieses vortrainierten Modells ist keine Data Science-Erfahrung erforderlich.

Gesichtsbeispiel

Ein Beispiel für Gesichtserkennung in Vision.

Eingabebild
Eingabebild für API-Anforderung zur Gesichtserkennung Bild eines Motorrads neben einem Auto.:
{
  "compartmentId": "ocid1.compartment.oc1..aaaaaaaau3mwjanch4k54g45rizeqy52jcaxmiu4ii3kwy7hvn6pncs6yyba",
  "image": {
    "namespaceName": "axwlrwe7tbir",
    "bucketName": "demo_examples",
    "objectName": "FaceDetection/FaceDetection1.jpeg",
    "source": "OBJECT_STORAGE"
  },
  "features": [
    {
      "featureType": "FACE_DETECTION",
      "maxResults": 50,
      "shouldReturnLandmarks": true
    }
  ]
}
Ausgabe:
Ausgabebild für Gesichtserkennung Die Texte im Eingabebild sind von Begrenzungsrahmen umgeben.
API-Antwort:
{
  "ontologyClasses": [],
  "detectedFaces": [
    {
      "confidence": 0.9838427,
      "boundingPolygon": {
        "normalizedVertices": [
          {
            "x": 0.48696465492248536,
            "y": 0.2889890061576746
          },
          {
            "x": 0.6339863777160645,
            "y": 0.2889890061576746
          },
          {
            "x": 0.6339863777160645,
            "y": 0.586297366400352
          },
          {
            "x": 0.48696465492248536,
            "y": 0.586297366400352
          }
        ]
      },
      "qualityScore": 0.9043028,
      "landmarks": [
        {
          "type": "LEFT_EYE",
          "x": 0.5203125,
          "y": 0.41114983
        },
        {
          "type": "RIGHT_EYE",
          "x": 0.590625,
          "y": 0.41231126
        },
        {
          "type": "NOSE_TIP",
          "x": 0.553125,
          "y": 0.4715447
        },
        {
          "type": "LEFT_EDGE_OF_MOUTH",
          "x": 0.5210937,
          "y": 0.5005807
        },
        {
          "type": "RIGHT_EDGE_OF_MOUTH",
          "x": 0.5914062,
          "y": 0.5017422
        }
      ]
    },
    {
      "confidence": 0.9775677,
      "boundingPolygon": {
        "normalizedVertices": [
          {
            "x": 0.7882407665252685,
            "y": 0.26365977075734065
          },
          {
            "x": 0.9403343200683594,
            "y": 0.26365977075734065
          },
          {
            "x": 0.9403343200683594,
            "y": 0.5528718281567582
          },
          {
            "x": 0.7882407665252685,
            "y": 0.5528718281567582
          }
        ]
      },
      "qualityScore": 0.786416,
      "landmarks": [
        {
          "type": "LEFT_EYE",
          "x": 0.81328124,
          "y": 0.37514517
        },
        {
          "type": "RIGHT_EYE",
          "x": 0.88125,
          "y": 0.39140534
        },
        {
          "type": "NOSE_TIP",
          "x": 0.8296875,
          "y": 0.44134727
        },
        {
          "type": "LEFT_EDGE_OF_MOUTH",
          "x": 0.8078125,
          "y": 0.46689895
        },
        {
          "type": "RIGHT_EDGE_OF_MOUTH",
          "x": 0.8726562,
          "y": 0.48083624
        }
      ]
    },
    {
      "confidence": 0.97464997,
      "boundingPolygon": {
        "normalizedVertices": [
          {
            "x": 0.038544440269470216,
            "y": 0.2764744597998784
          },
          {
            "x": 0.17794162034988403,
            "y": 0.2764744597998784
          },
          {
            "x": 0.17794162034988403,
            "y": 0.560027438173726
          },
          {
            "x": 0.038544440269470216,
            "y": 0.560027438173726
          }
        ]
      },
      "qualityScore": 0.8527186,
      "landmarks": [
        {
          "type": "LEFT_EYE",
          "x": 0.08984375,
          "y": 0.3809524
        },
        {
          "type": "RIGHT_EYE",
          "x": 0.15234375,
          "y": 0.39140534
        },
        {
          "type": "NOSE_TIP",
          "x": 0.12421875,
          "y": 0.44599304
        },
        {
          "type": "LEFT_EDGE_OF_MOUTH",
          "x": 0.07734375,
          "y": 0.46689895
        },
        {
          "type": "RIGHT_EDGE_OF_MOUTH",
          "x": 0.14375,
          "y": 0.47619048
        }
      ]
    },
    {
      "confidence": 0.96874785,
      "boundingPolygon": {
        "normalizedVertices": [
          {
            "x": 0.2698225736618042,
            "y": 0.24420403492713777
          },
          {
            "x": 0.38425185680389407,
            "y": 0.24420403492713777
          },
          {
            "x": 0.38425185680389407,
            "y": 0.4686152760575457
          },
          {
            "x": 0.2698225736618042,
            "y": 0.4686152760575457
          }
        ]
      },
      "qualityScore": 0.8934359,
      "landmarks": [
        {
          "type": "LEFT_EYE",
          "x": 0.29453126,
          "y": 0.3240418
        },
        {
          "type": "RIGHT_EYE",
          "x": 0.3484375,
          "y": 0.33681765
        },
        {
          "type": "NOSE_TIP",
          "x": 0.31328124,
          "y": 0.3821138
        },
        {
          "type": "LEFT_EDGE_OF_MOUTH",
          "x": 0.2890625,
          "y": 0.39372823
        },
        {
          "type": "RIGHT_EDGE_OF_MOUTH",
          "x": 0.3453125,
          "y": 0.40301976
        }
      ]
    },
    {
      "confidence": 0.95825064,
      "boundingPolygon": {
        "normalizedVertices": [
          {
            "x": 0.6876011371612549,
            "y": 0.10002164585942037
          },
          {
            "x": 0.8045546531677246,
            "y": 0.10002164585942037
          },
          {
            "x": 0.8045546531677246,
            "y": 0.3600864033804261
          },
          {
            "x": 0.6876011371612549,
            "y": 0.3600864033804261
          }
        ]
      },
      "qualityScore": 0.9237982,
      "landmarks": [
        {
          "type": "LEFT_EYE",
          "x": 0.7171875,
          "y": 0.19976771
        },
        {
          "type": "RIGHT_EYE",
          "x": 0.7703125,
          "y": 0.21254355
        },
        {
          "type": "NOSE_TIP",
          "x": 0.7367188,
          "y": 0.2601626
        },
        {
          "type": "LEFT_EDGE_OF_MOUTH",
          "x": 0.7085937,
          "y": 0.2752613
        },
        {
          "type": "RIGHT_EDGE_OF_MOUTH",
          "x": 0.76640624,
          "y": 0.2857143
        }
      ]
    }
  ],
  "faceDetectionModelVersion": "1.0.27",
  "errors": []
}

OCR (Optical Character Recognition)

Vision kann Text in einem Dokument erkennen und erkennen.

Die Sprachklassifizierung identifiziert die Sprache eines Dokuments, dann zeichnet OCR Begrenzungsfelder um den gedruckten oder handgeschriebenen Text, den es in einem Bild findet, und digitalisiert den Text. Beispiel: Wenn Sie ein Bild eines Stoppzeichens haben, sucht Vision den Text in diesem Bild und extrahiert den Text STOP. Es enthält Begrenzungsfelder für den identifizierten Text.

Vision bietet einen Konfidenzscore für jede Textgruppierung. Der Konfidenzscore ist eine Dezimalzahl. Punkte, die näher an 1 liegen, weisen auf eine höhere Sicherheit im extrahierten Text hin, während niedrigere Scores auf einen niedrigeren Vertrauenswert hinweisen. Der Bereich des Konfidenzscores für jedes Label liegt zwischen 0 und 1.

Texterkennung kann mit Dokumenten-AI- oder Bildanalysemodellen verwendet werden.

Die OCR-Unterstützung ist auf Englisch beschränkt. Wenn Sie wissen, dass der Text in Ihren Bildern auf Englisch ist, setzen Sie die Sprache auf Eng.

Folgende Features werden unterstützt:
  • Word-Extraktion
  • Extraktion von Textzeilen
  • Sicherheitsscore
  • Gebundene Polygone
  • Eine einzelne Anforderung
  • Batchanforderung
OCR-Beispiel

Ein Beispiel für die Verwendung von OCR in Vision.

Eingabebild
Eingabeimage für OCR-Bild eines Motorrads neben einem Auto.-API-Anforderung:
{ "analyzeImageDetails":
 { "compartmentId": "",
   "image":
           { "namespaceName": "",
             "bucketName": "",
             "objectName": "",
             "source": "OBJECT_STORAGE" },
   "features":
              [ { "featureType": "TEXT_DETECTION" } ]
 }
}
Ausgabe:
Ausgabebild für OCR Die Texte im Eingabebild sind von Begrenzungsrahmen umgeben.
API-Antwort:
...
 { "text": "585-XRP",
   "confidence": 0.9905539,
   "boundingPolygon":
                     { "normalizedVertices":
                                            [ { "x": 0.466,
                                                "y": 0.7349397590361446 },
                                              { "x": 0.552,
                                                "y": 0.7319277108433735 },
                                              { "x": 0.553,
                                                "y": 0.7831325301204819 },
                                              { "x": 0.467,
                                                "y": 0.7876506024096386 } ]
                     }
 } 
...

Pretrained Image Analysis-Modelle verwenden

Vision bietet vortrainierte Modelle für Kunden, um Erkenntnisse über ihre Bilder zu gewinnen, ohne Data Scientists zu benötigen.

Sie benötigen Folgendes, bevor Sie ein vortrainiertes Modell verwenden:

  • Ein kostenpflichtiger Mandantenaccount in Oracle Cloud Infrastructure.

  • Vertrautheit mit Oracle Cloud Infrastructure Object Storage.

Sie können die vortrainierten Bildanalysemodelle als Batchanforderung mit Rest-APIs, SDK oder CLI aufrufen. Sie können die vortrainierten Bildanalysemodelle mit der Konsole, den Rest-APIs, dem SDK oder der CLI als einzelne Anforderung aufrufen.

Informationen dazu, was in Batchanforderungen zulässig ist, finden Sie im Abschnitt Limits.