Extension Google Cloud Vision

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Version: 1.4.1

Découvrez le contenu et le texte de vos images à l'aide de modèles de machine learning.

Ce contenu fournit une documentation de référence sur la configuration et l'utilisation de cette extension. Avant d'utiliser cette extension à partir d'un proxy d'API, vous devez:

  1. Activez l'API Cloud Vision pour votre compte de service.

  2. Si vous prévoyez d'utiliser Cloud Storage comme source de vos images, vous devez également accorder à cette extension l'accès à Cloud Storage, comme décrit dans la documentation de référence sur l'extension Google Cloud Storage.

  3. Lorsque vous disposez d'un compte de service autorisé à accéder à Cloud Vision (et à Cloud Storage, le cas échéant), générez une clé pour ce compte à l'aide de la console GCP.

  4. Utilisez le contenu du fichier JSON de clé obtenu lorsque vous ajoutez et configurez l'extension à l'aide des documents de référence de configuration.

À propos de Cloud Vision

L'API Google Cloud Vision analyse les images à l'aide de modèles de machine learning. Vous pouvez entraîner un modèle pour que l'API puisse utiliser le modèle ou utiliser le modèle intégré.

À l'aide du modèle intégré, Cloud Vision classe les images en catégories telles que "gratte-ciel", "voilier", "lion" ou "tour Eiffel". Il détecte les objets, les visages, les logos et les points de repère dans les images, ainsi que les mots contenus dans les images.

Samples

Les exemples suivants illustrent comment configurer la compatibilité avec les actions de l'extension Cloud Vision à l'aide de la règle ExtensionCallout.

Détecter des thèmes

Dans l'exemple suivant, l'action detectLabels de l'extension récupère l'image au niveau de image_uri et la transmet à l'API Cloud Vision pour analyse. L'API examine l'image et détermine les étiquettes qui s'appliquent à son contenu.

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

La règle Assign Message (Attribuer un message) suivante utilise la valeur de la variable stockant la réponse de l'extension pour attribuer la charge utile de réponse.

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

Pour l'image d'une zone urbaine comprenant un bâtiment très haut, vous pouvez obtenir la réponse suivante:

{
  "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
      }
  ]
}

Détecter du texte

Dans l'exemple suivant, l'action detectText des extensions récupère l'image dans image_uri et la transmet à l'API Cloud Vision pour analyse. L'API examine l'image et identifie le texte qu'elle contient.

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

La règle Assign Message (Attribuer un message) suivante utilise la valeur de la variable stockant la réponse de l'extension pour attribuer la charge utile de réponse.

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

Pour une image montrant des panneaux dans un journal de stationnement, vous pouvez obtenir la réponse suivante:

{
  "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
                  }
              ]
          }
      }
   ]
}

Actions

detectLabels

Détecte et extrait des informations sur les entités dans l'image spécifiée. Les entités détectées appartiennent à un large groupe de catégories. Par exemple, utilisez cette action pour identifier des objets, des lieux, des activités, des espèces animales, des produits, etc.

Consultez également la documentation de l'API Cloud Vision.

Paramètres de requête

Paramètres Description Type Par défaut Obligatoire
image_uri Source de l'image. Il peut s'agir d'Internet ou de Google Cloud Storage (au format gs://bucketname/filename). Si la source est Google Cloud Storage, le fichier image doit être public. Chaîne Aucune Oui.

Syntaxe

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

Exemple

Dans l'exemple suivant, l'action detectLabels de l'extension envoie l'image spécifiée à l'API Vision pour analyse.

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

Réponse

Objet contenant un tableau labels d'étiquettes qui représentent les entités détectées dans l'image. Pour en savoir plus, consultez la section Détecter des étiquettes.

detectText

Détecte et extrait le texte de l'image spécifiée.

Paramètres de requête

Paramètres Description Type Par défaut Obligatoire
image_uri Source de l'image. Il peut s'agir d'Internet ou de Google Cloud Storage (au format gs://bucketname/filename). Si la source est Google Cloud Storage, le fichier image doit être public. Chaîne Aucune Oui.

Syntaxe

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

Exemple

Dans l'exemple suivant, l'action detectText de l'extension envoie l'image spécifiée à l'API Vision pour analyse.

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

Réponse

Objet contenant un tableau text du texte détecté. Pour en savoir plus, consultez la section Détecter des étiquettes.

Documentation de référence sur la configuration

Utilisez le code suivant lorsque vous configurez et déployez cette extension pour l'utiliser dans des proxys d'API. Pour savoir comment configurer une extension à l'aide de la console Apigee, consultez Ajouter et configurer une extension.

Propriétés d'extension courantes

Les propriétés suivantes sont présentes pour chaque extension.

Propriété Description Par défaut Obligatoire
name Nom que vous attribuez à cette configuration de l'extension. Aucune Oui
packageName Nom du package d'extension tel qu'indiqué par Apigee Edge. Aucune Oui
version Numéro de version du package d'extension à partir duquel vous configurez une extension. Aucune Oui
configuration Valeur de configuration spécifique à l'extension que vous ajoutez. Consultez Propriétés de ce package d'extension. Aucune Oui