Google Cloud Vision-Erweiterung

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

Version: 1.4.1

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

Diese Inhalte enthalten eine Referenz zum Konfigurieren und Verwenden dieser Erweiterung. Bevor Sie diese Erweiterung in einem API-Proxy verwenden können, 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, wie in der Referenz zur Google Cloud Storage-Erweiterung beschrieben.

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

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

Cloud Vision

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

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

Beispiele

Die folgenden Beispiele zeigen, 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 Bilds angewendet werden.

<?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>

Die folgende Assign Message-Richtlinie verwendet den Wert der Variablen, 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>

Bei einem Bild einer Stadt mit einem sehr hohen Gebäude 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 Aktion detectText der Erweiterung das Bild unter image_uri ab und übergibt es zur Analyse an die Cloud Vision API. Die API untersucht das Bild und erkennt 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>

Die folgende Assign Message-Richtlinie verwendet den Wert der Variablen, 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>

Bei einem Bild mit Schildern auf einem Parkplatz 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 stammen aus einer Vielzahl von Kategorien. Mit dieser Aktion können Sie beispielsweise Objekte, Orte, Aktivitäten, Tierarten, Produkte und mehr identifizieren.

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

Anfrageparameter

Parameter Beschreibung Typ Standard Erforderlich
image_uri Quelle des Bilds. Die Quelle kann das Internet oder Google Cloud Storage sein (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 sendet die Aktion detectLabels der Erweiterung das angegebene Bild zur Analyse an die Vision API.

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

Antwort

Ein Objekt mit einem labels-Array von Labels, die Entitäten darstellen, die im Bild erkannt wurden. 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 Bilds. Die Quelle kann das Internet oder Google Cloud Storage sein (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 sendet die Aktion detectText der Erweiterung das angegebene Bild zur Analyse an die Vision API.

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

Antwort

Ein Objekt mit einem text-Array des erkannten Texts. 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