Google Vision не всегда включает страницы с совпадающими изображениями в ответы веб-обнаружения

#google-cloud-platform #google-cloud-vision #google-vision

#google-облачная платформа #google-cloud-vision #google-vision

Вопрос:

Я отправляю подобные запросы веб-обнаружения в API Google Vision.

 {
  "requests": [
    {
      "image": {
        "content": "<base 64 encoded image>"
      },
      "features": [
        {
          "maxResults": 50,
          "type": "WEB_DETECTION"
        }
      ]
    }
  ]
}
  

Запросы отправляются на https://vision.googleapis.com/v1/images:annotate?key=<my key> .

Часть ответа, которая мне нужна, — это pagesWithMatchingImages, поэтому я могу видеть, на каких страницах есть данное изображение. Это работает для большинства изображений, которые я пробовал, но не для изображений, содержащих текст. Если изображение является обычным логотипом, который содержит текст, например, тогда API не включает pagesWithMatchingImages в ответ.

Как я могу получить список страниц с совпадающими изображениями для изображений, содержащих текст?

Вот несколько примеров изображений, которые используются на многих веб-страницах, но не имеют pagesWithMatchingImages в ответе API:

Логотип Adobe

Логотип Amazon

Логотип Nike

Логотип FedEx

Логотип Sony

Ответ №1:

Проблема, с которой вы сталкиваетесь с функцией веб-обнаружения Google Vision API, похоже, является проблемой, обнаруженной командой Google Vision API, они, похоже, изучают ее подробнее и опубликуют обновления в общедоступном сообщении отслеживания проблем.

Одна из причин, по которой функция WEB_DETECTION не отвечает с помощью pagesWithMatchingImages, по-видимому, связана с прозрачностью изображений PNG. Добавление белого фона может помочь функции WEB_DETECTION в соответствии с сообщением, но не гарантирует точность ответа

Общедоступный трекер проблем используется для сообщения об ошибках и запросах функций облачных продуктов Google. Указание на то, что вы столкнулись с той же проблемой, может помочь повысить ее видимость и ускорить решение.

Комментарии:

1. Этот запрос просит Google проанализировать текст, что он может сделать, но для меня это бесполезно. Нужные мне данные — это список страниц с совпадающими изображениями (pagesWithMatchingImages). Это поле отсутствует в ответе API.

2. Извините за мое непонимание вашего использования case, я отредактирую ответ на тот, который подходит для вашего случая.

3. Пожалуйста, прочитайте мой первоначальный вопрос еще раз. Я могу заставить API работать, только если логотип не содержит текста. Мне это нужно для работы с текстом в логотипе или без него.

4. Прозрачный фон — интересная идея. Я провел некоторое тестирование с логотипами, у которых нет прозрачного фона, и я вижу те же результаты. Логотипы, содержащие текст (Amazon, FedEx и т. Д.), Неизменно приводят к тому, что Google пропускает страницы с совпадающими изображениями из ответа, независимо от того, прозрачны они или нет. Если я использую API Bing с теми же изображениями, он возвращает нужные мне результаты. Итак, хотя я бы предпочел, чтобы это работало с Google, лучшим решением может быть использование Bing.

5. Я изменил свой предыдущий ответ, чтобы было ясно, что проблема, с которой вы столкнулись, была обнаружена командой Google Vision API, и они работают над этим, если у всех остальных такая же проблема, они могут обратиться к общедоступной ветке отслеживания проблем и начать получать уведомления о ее разрешении.

Ответ №2:

Вы можете попробовать добавить LOGO_DETECTION тип в разделе функции.

 {
  "requests": [
    {
      "image": {
        "content": "<base 64 encoded image>"
      },
      "features": [
        {
          "maxResults": 50,
          "type": "WEB_DETECTION"
        }
        {
          "type": "LOGO_DETECTION"
        }
      ]
    }
  ]
}
  

Комментарии:

1. Я попробовал это, и это не помогло. Вот пример изображения, с которым вы можете поэкспериментировать: cloudboost.io/images/adobe.png

2. Если вы имеете дело с логотипами, я предлагаю вместо этого использовать функцию LOGO_DETECTION. Я изменил свой первоначальный ответ, чтобы вы тоже могли его попробовать.

3. LOGO_DETECTION отлично справляется с идентификацией логотипа, но это не то, что мне нужно. Он по-прежнему не дает мне список веб-страниц, на которых используется логотип (pagesWithMatchingImages).