Google Cloud Vision-Erweiterung

Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zu Apigee X
info

Version: 2.0.1

Inhalte und Text in Bildern mithilfe von Modellen für maschinelles Lernen erkennen

Dieser Inhalt enthält eine Referenz zum Konfigurieren und Verwenden dieser Erweiterung. Bevor Sie diese Erweiterung über einen API-Proxy verwenden, müssen Sie Folgendes tun:

  1. Aktivieren Sie die Cloud Vision API für Ihr Dienstkonto.

  2. Wenn Sie Cloud Storage als Quelle für Ihre Bilder verwenden, müssen Sie dieser Erweiterung auch Zugriff auf Cloud Storage gewähren. Eine Anleitung dazu finden Sie in der Referenz zur Google Cloud Storage-Erweiterung.

  3. Wenn Sie ein Dienstkonto mit Berechtigungen für Cloud Vision (und Cloud Storage, falls Sie es verwenden) haben, generieren Sie mit der GCP Console einen Schlüssel für das Dienstkonto.

  4. Verwenden Sie den Inhalt der resultierenden JSON-Schlüsseldatei, wenn Sie die Erweiterung mit der Konfigurationsreferenz hinzufügen und konfigurieren.

Informationen zu Cloud Vision

Die Google Cloud Vision API verwendet Modelle für maschinelles Lernen, um Bilder zu analysieren. Sie können ein Modell für die API trainieren oder das integrierte Modell verwenden.

Mit dem integrierten Modell klassifiziert Cloud Vision Bilder in Kategorien wie „Wolkenkratzer“, „Segelboot“, „Löwe“ oder „Eiffelturm“. Sie erkennt Objekte, Gesichter, Logos und Sehenswürdigkeiten in Bildern und findet Wörter in Bildern.

Beispiele

Die folgenden Beispiele veranschaulichen, wie Sie die Unterstützung für Cloud Vision-Erweiterungsaktionen mit der ExtensionCallout-Richtlinie konfigurieren.

Labels erkennen

Im folgenden Beispiel ruft die Aktion detectLabels der Erweiterung das Bild unter image_uri ab und übergibt es zur Analyse an die Cloud Vision API. Die API untersucht das Bild und ermittelt, welche Labels auf den Inhalt des Bildes zutreffen.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Cloud-Vision-Extension">
    <DisplayName>Cloud Vision Extension</DisplayName>
    <Connector>cloud-vision-extension-example</Connector>
    <Action>detectLabels</Action>
    <Input><![CDATA[
    {
        "image_uri" : "gs://cloud-vision-example/empire-state-building.jpg"
    }
    ]]></Input>
    <Output>vision.labels.retrieved</Output>
</ConnectorCallout>

In der folgenden Assign Message-Richtlinie wird der Wert der Variablen verwendet, in der die Antwort der Erweiterung gespeichert ist, um die Antwortnutzlast zuzuweisen.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-Image-Labels">
    <DisplayName>Get Image Labels</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{vision.labels.retrieved}</Payload>
    </Set>
</AssignMessage>

Wenn Sie ein Bild einer städtischen Gegend mit einem sehr hohen Gebäude einreichen, erhalten Sie möglicherweise eine Antwort wie die folgende:

{
  "labels": [
      {
          "locations": [

          ],
          "properties": [

          ],
          "mid": "/m/0j_s4",
          "locale": "",
          "description": "metropolitan area",
          "score": 0.9868549704551697,
          "confidence": 0,
          "topicality": 0.9868549704551697,
          "boundingPoly": null
      },
      {
          "locations": [

          ],
          "properties": [

          ],
          "mid": "/m/079cl",
          "locale": "",
          "description": "skyscraper",
          "score": 0.966157853603363,
          "confidence": 0,
          "topicality": 0.966157853603363,
          "boundingPoly": null
      }
  ]
}

Text erkennen

Im folgenden Beispiel ruft die Erweiterungsaktion detectText das Bild unter image_uri ab und übergibt es zur Analyse an die Cloud Vision API. Die API untersucht das Bild und identifiziert Text im Bild.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Cloud-Vision-Text">
    <DisplayName>Cloud Vision Text</DisplayName>
    <Connector>cloud-vision-extension-example</Connector>
    <Action>detectText</Action>
    <Input><![CDATA[
    {
        "image_uri" : "gs://cloud-vision-example/parking-signs1.jpg"
    }
    ]]></Input>
    <Output>vision.text.retrieved</Output>
</ConnectorCallout>

In der folgenden Assign Message-Richtlinie wird der Wert der Variablen verwendet, in der die Antwort der Erweiterung gespeichert ist, um die Antwortnutzlast zuzuweisen.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-Image-Text">
    <DisplayName>Get Image Text</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{vision.text.retrieved}</Payload>
    </Set>
</AssignMessage>

Wenn Sie ein Bild mit Schildern auf einem Parkplatz hochladen, erhalten Sie möglicherweise eine Antwort wie die folgende:

{
  "text": [
      {
          "locations": [

          ],
          "properties": [

          ],
          "mid": "",
          "locale": "en",
          "description": "RESERVED\nVISITORPARKING\nPARKING\nONLY>\n$150 FINE\n",
          "score": 0,
          "confidence": 0,
          "topicality": 0,
          "boundingPoly": {
              "vertices": [
                  {
                      "x": 64,
                      "y": 56
                  },
                  {
                      "x": 378,
                      "y": 56
                  },
                  {
                      "x": 378,
                      "y": 218
                  },
                  {
                      "x": 64,
                      "y": 218
                  }
              ]
          }
      },
      {
          "locations": [

          ],
          "properties": [

          ],
          "mid": "",
          "locale": "",
          "description": "RESERVED",
          "score": 0,
          "confidence": 0,
          "topicality": 0,
          "boundingPoly": {
              "vertices": [
                  {
                      "x": 243,
                      "y": 56
                  },
                  {
                      "x": 378,
                      "y": 56
                  },
                  {
                      "x": 378,
                      "y": 84
                  },
                  {
                      "x": 243,
                      "y": 84
                  }
              ]
          }
      }
   ]
}

Aktionen

detectLabels

Erkennt und extrahiert Informationen zu Entitäten im angegebenen Bild. Die erkannten Entitäten decken eine Vielzahl von Kategorien ab. Mit dieser Aktion lassen sich beispielsweise Objekte, Orte, Aktivitäten, Tierarten, Produkte und vieles mehr identifizieren.

Weitere Informationen finden Sie in der Cloud Vision API-Dokumentation.

Anfrageparameter

Parameter Beschreibung Typ Standard Erforderlich
image_uri Quelle des Bildes. Dies kann aus dem Internet oder aus Google Cloud Storage erfolgen (Format: gs://bucketname/filename). Wenn die Quelle Google Cloud Storage ist, muss die Bilddatei öffentlich sein. String Keine. Ja.

Syntax

<Input><![CDATA[{
    "image_uri" : "uri-of-image-to-analyze"
}
]]></Input>

Beispiel

Im folgenden Beispiel wird mit der Aktion detectLabels der Erweiterung das angegebene Bild zur Analyse an die Vision API gesendet.

<Input><![CDATA[
{
    "image_uri" : "gs://cloud-vision-example/empire-state-building.jpg"
}
]]></Input>

Antwort

Ein Objekt, das ein labels-Array mit Labels enthält, die die im Bild erkannten Einheiten darstellen. Weitere Informationen finden Sie unter Labels erkennen.

detectText

Erkennt und extrahiert Text aus dem angegebenen Bild.

Anfrageparameter

Parameter Beschreibung Typ Standard Erforderlich
image_uri Quelle des Bildes. Dies kann aus dem Internet oder aus Google Cloud Storage erfolgen (Format: gs://bucketname/filename). Wenn die Quelle Google Cloud Storage ist, muss die Bilddatei öffentlich sein. String Keine. Ja.

Syntax

<Input><![CDATA[
{
    "image_uri" : "uri-of-image-to-analyze"
}
]]></Input>

Beispiel

Im folgenden Beispiel wird mit der Aktion detectText der Erweiterung das angegebene Bild zur Analyse an die Vision API gesendet.

<Input><![CDATA[
{
    "image_uri" : "gs://cloud-vision-example/parking-signs1.jpg"
}
]]></Input>

Antwort

Ein Objekt, das ein text-Array des erkannten Texts enthält. Weitere Informationen finden Sie unter Labels erkennen.

Konfigurationsreferenz

Verwenden Sie die folgenden Informationen, wenn Sie diese Erweiterung für die Verwendung in API-Proxys konfigurieren und bereitstellen. Eine Anleitung zum Konfigurieren einer Erweiterung mit der Apigee-Konsole finden Sie unter Erweiterung hinzufügen und konfigurieren.

Allgemeine Erweiterungseigenschaften

Für jede Erweiterung sind die folgenden Eigenschaften vorhanden.

Attribut Beschreibung Standard Erforderlich
name Der Name, den Sie dieser Konfiguration der Erweiterung zuweisen. Ja
packageName Name des Erweiterungspakets, wie von Apigee Edge angegeben. Ja
version Versionsnummer für das Erweiterungspaket, von dem Sie eine Erweiterung konfigurieren. Ja
configuration Konfigurationswert speziell für die Erweiterung, die Sie hinzufügen. Weitere Informationen finden Sie unter Eigenschaften für dieses Erweiterungspaket. Ja