Google Cloud Vision-Erweiterung

Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an.
info

Version: 2.0.0

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

Dieser Artikel enthält eine Referenz zum Konfigurieren und Verwenden dieser Erweiterung. Bevor Sie diese Erweiterung über einen 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 für die Google Cloud Storage-Erweiterung beschrieben.

  3. Wenn Sie ein Dienstkonto mit Berechtigung 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 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 für die API trainieren oder das vorinstallierte 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 lokalisiert Wörter in Bildern.

Beispiele

In den folgenden Beispielen wird gezeigt, wie Sie die Unterstützung für Cloud Vision-Erweiterungsaktionen mithilfe der ExtensionCallout-Richtlinie konfigurieren.

Labels erkennen

Im folgenden Beispiel ruft die detectLabels-Aktion der Erweiterung das Bild unter image_uri ab und gibt es zur Analyse an die Cloud Vision API weiter. Die API prüft 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 AssignMessage-Richtlinie wird der Wert der Variablen, in der die Antwort der Erweiterung gespeichert ist, verwendet, 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 Stadt mit einem sehr hohen Gebäude sehen, 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 gibt es zur Analyse an die Cloud Vision API weiter. Die API untersucht das Bild und erkennt Text darin.

<?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 AssignMessage-Richtlinie wird der Wert der Variablen, in der die Antwort der Erweiterung gespeichert ist, verwendet, 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 in einem Parkprotokoll 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 umfassen eine breite Gruppe von Kategorien. Mit dieser Aktion lassen sich beispielsweise Objekte, Orte, Aktivitäten, Tierarten und Produkte identifizieren.

Lesen Sie auch die Dokumentation zur Cloud Vision API.

Anfrageparameter

Parameter Beschreibung Typ Standard Erforderlich
image_uri Quelle des Bildes. Dies kann aus dem Internet oder Google Cloud Storage (Format: gs://bucketname/filename) erfolgen. 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 über die 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 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 Bildes. Dies kann aus dem Internet oder Google Cloud Storage (Format: gs://bucketname/filename) erfolgen. 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 über die 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 Textes enthält. Weitere Informationen finden Sie unter Labels erkennen.

Konfigurationsreferenz

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

Gängige 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