Расширение Google Cloud Vision

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

Версия: 1.2.0

Откройте для себя содержимое и текст на изображениях с помощью моделей машинного обучения.

Этот контент содержит информацию по настройке и использованию этого расширения. Прежде чем использовать это расширение через прокси-сервер API, необходимо:

  1. Включите Cloud Vision API для своей сервисной учетной записи.

  2. Если вы будете использовать Cloud Storage в качестве источника изображений, вам также необходимо предоставить этому расширению доступ к Cloud Storage, как описано в справочнике по расширению Google Cloud Storage Extension .

  3. Если у вас есть учетная запись службы, имеющая разрешение на Cloud Vision (и Cloud Storage, если вы ее используете), используйте консоль GCP, чтобы сгенерировать ключ для учетной записи службы .

  4. Используйте содержимое полученного ключевого файла JSON при добавлении и настройке расширения с помощью справочника по конфигурации .

Об облачном видении

API Google Cloud Vision использует модели машинного обучения для анализа изображений. Вы можете обучить модель для использования API или использовать встроенную модель .

Используя встроенную модель, Cloud Vision классифицирует изображения по таким категориям, как «небоскреб», «парусник», «лев» или «Эйфелева башня». Он обнаруживает объекты, лица, логотипы и ориентиры на изображениях, а также находит слова, содержащиеся в них. изображения.

Образцы

В следующих примерах показано, как настроить поддержку действий расширения Cloud Vision с помощью политики ExtensionCallout .

Обнаружение меток

В следующем примере действие detectLabels расширения получает изображение по адресу image_uri и передает его в API Cloud Vision для анализа. API проверит изображение и определит, какие метки применяются к содержимому изображения.

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

Следующая политика назначения сообщения использует значение переменной, хранящей ответ расширения, для назначения полезных данных ответа.

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

Учитывая изображение городского района с очень высоким зданием, вы можете получить ответ, подобный следующему:

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

Обнаружить текст

В следующем примере действие detectText расширения получает изображение по адресу image_uri и передает его в Cloud Vision API для анализа. API проверит изображение и определит текст на изображении.

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

Следующая политика назначения сообщения использует значение переменной, хранящей ответ расширения, для назначения полезных данных ответа.

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

Учитывая изображение, содержащее знаки в журнале парковки, вы можете получить ответ, подобный следующему:

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

Действия

обнаружить метки

Обнаруживает и извлекает информацию об объектах внутри указанного изображения. Обнаруженные объекты относятся к широкой группе категорий. Например, используйте это действие для идентификации объектов, местоположений, видов деятельности, видов животных, продуктов и т. д.

Также обязательно ознакомьтесь с документацией Cloud Vision API .

Параметры запроса

Параметр Описание Тип По умолчанию Необходимый
image_uri Источник изображения. Это может быть из Интернета или Google Cloud Storage (формат: gs://bucketname/filename ). Если источником является Google Cloud Storage, файл изображения должен быть общедоступным. Нить Никто. Да.

Синтаксис

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

Пример

В следующем примере действие detectLabels расширения отправляет указанное изображение в Vision API для анализа.

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

Ответ

Объект, содержащий массив labels , представляющих объекты, обнаруженные на изображении. Дополнительную информацию см. в разделе Обнаружение меток .

обнаружить текст

Обнаруживает и извлекает текст из указанного изображения.

Параметры запроса

Параметр Описание Тип По умолчанию Необходимый
image_uri Источник изображения. Это может быть из Интернета или Google Cloud Storage (формат: gs://bucketname/filename ). Если источником является Google Cloud Storage, файл изображения должен быть общедоступным. Нить Никто. Да.

Синтаксис

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

Пример

В следующем примере действие detectText расширения отправляет указанное изображение в Vision API для анализа.

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

Ответ

Объект, содержащий text массив обнаруженного текста. Дополнительную информацию см. в разделе Обнаружение меток .

Справочник по конфигурации

Используйте следующее при настройке и развертывании этого расширения для использования в прокси-серверах API. Инструкции по настройке расширения с помощью консоли Apigee см. в разделе Добавление и настройка расширения .

Общие свойства расширения

Следующие свойства присутствуют для каждого расширения.

Свойство Описание По умолчанию Необходимый
name Имя, которое вы даете этой конфигурации расширения. Никто Да
packageName Имя пакета расширения, предоставленное Apigee Edge. Никто Да
version Номер версии пакета расширения, из которого вы настраиваете расширение. Никто Да
configuration Значение конфигурации, относящееся к добавляемому расширению. См. Свойства этого пакета расширения. Никто Да