Создайте серверную часть поиска изображений продуктов с помощью Vision API Product Search.

1. Прежде чем начать

25939f5a13eeb3c3.png

Ранее в пути обучения поиску изображений продуктов вы узнали, как вызывать серверную часть поиска продуктов, созданную с помощью Vision API Product Search, для визуально похожих продуктов из каталога продуктов.

В этой лаборатории кода вы узнаете, как создать аналогичный бэкэнд, но с вашим каталогом продуктов.

Что вы узнаете

  • Как создать серверную часть поиска продуктов с помощью Vision API Product Search
  • Как настроить ключ API для доступа к Vision API из мобильных приложений

Что вам понадобится

  • Учетная запись Google Cloud с включенным выставлением счетов (это может быть бесплатная пробная учетная запись)

2. О поиске продуктов Vision API

Vision API Product Search — это функция в Google Cloud, которая позволяет розничным продавцам создавать продукты, каждый из которых содержит эталонные изображения, которые визуально описывают продукт с определенного набора точек зрения. Затем розничные продавцы могут добавлять эти продукты в наборы продуктов. В настоящее время Vision API Product Search поддерживает следующие категории продуктов: товары для дома, одежда, игрушки, упакованные товары и общие товары.

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

3. Создайте серверную часть с помощью Google Cloud

Ранее в процессе обучения поиску изображений продуктов вы использовали демонстрационную серверную часть поиска продуктов, созданную с помощью Vision API Product Search. Создайте такой же бэкэнд в своей учетной записи Google Cloud, следуя этому руководству:

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

4. Установите API-ключ

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

Создать ключ API

  1. Перейдите в Cloud Console > API и службы > Учетные данные . Вы также можете щелкнуть этот URL -адрес и выбрать проект, который вы использовали в кратком руководстве по поиску продуктов.
  2. Выберите «Создать учетные данные » > «Ключ API ». Вы увидите это диалоговое окно, если ваш ключ API был успешно создан:

d0bc04782a41a698.png

Обратите внимание на этот ключ API. Вы будете использовать его позже в этой кодовой лаборатории.

Ограничить доступ к ключу API

Увидев подсказку выше, выберите Ограничить ключ .

Следуйте инструкциям на экране, чтобы применить эти ограничения:

  • Ограничения приложений > Приложения для Android
  • Ограничения API > Ключ ограничения > API Cloud Vision

5. Скачайте и запустите мобильное приложение

Вы можете загрузить созданное ранее приложение для Android, в котором использовалась демонстрационная серверная часть поиска продуктов, и изменить его, чтобы использовать только что созданную новую серверную часть.

Скачать код

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

Распакуйте загруженный zip-файл. Это распакует корневую папку (odml-pathway-codelabs) со всеми необходимыми ресурсами. Для этой лаборатории кода вам понадобятся только исходники в подкаталоге product-search/codelab2/android/final.

Приложение использует API обнаружения и отслеживания объектов ML Kit , а также серверную часть поиска демонстрационных продуктов, созданную с помощью Vision API Product Search , чтобы пользователи могли делать фотографии и искать визуально похожие продукты в каталоге демонстрационных продуктов.

Импортируйте приложение в Android Studio

Начните с импорта начального приложения в Android Studio.

Перейдите в Android Studio, выберите «Импортировать проект» (Gradle, Eclipse ADT и т. д.) и выберите папку product-search/codelab2/android/final из загруженного ранее исходного кода.

7c0f27882a2698ac.png

Запустите стартовое приложение

Теперь, когда вы импортировали проект в Android Studio, вы готовы запустить приложение в первый раз.

Подключите устройство Android через USB к хосту или запустите эмулятор Android Studio и нажмите « Выполнить» ( исполнять.png ) на панели инструментов Android Studio.

(Если эта кнопка отключена, убедитесь, что вы импортируете только final/app/build.gradle, а не весь репозиторий.)

Теперь приложение должно запуститься на вашем Android-устройстве. Он уже работает, но использует серверную часть поиска демо -продуктов, которую Google развернул для вас.

Затем вы обновите приложение, чтобы использовать серверную часть, созданную ранее в этой лаборатории кода.

6. Обновите конечные точки API

Изменить конфигурации API

Перейдите к классу ProductSearchAPIClient , и вы увидите уже определенные конфигурации серверной части поиска продуктов. Закомментируйте конфиги демонстрационного бэкенда:

// Define the product search backend
// Option 1: Use the demo project that we have already deployed for you
// const val VISION_API_URL =
    "https://us-central1-odml-codelabs.cloudfunctions.net/productSearch"
// const val VISION_API_KEY = ""
// const val VISION_API_PROJECT_ID = "odml-codelabs"
// const val VISION_API_LOCATION_ID = "us-east1"
// const val VISION_API_PRODUCT_SET_ID = "product_set0"

Затем замените их своей конфигурацией:

// Option 2: Go through the Vision API Product Search quickstart and deploy to your project.
// Fill in the const below with your project info.
const val VISION_API_URL = "https://vision.googleapis.com/v1"
const val VISION_API_KEY = "YOUR_API_KEY"
const val VISION_API_PROJECT_ID = "YOUR_PROJECT_ID"
const val VISION_API_LOCATION_ID = "YOUR_LOCATION_ID"
const val VISION_API_PRODUCT_SET_ID = "YOUR_PRODUCT_SET_ID"
  • VISION_API_URL — это конечная точка API Cloud Vision.
  • VISION_API_KEY — это ключ API, который вы создали ранее в этой лаборатории кода.
  • VISION_API_PROJECT_ID , VISION_API_LOCATION_ID , VISION_API_PRODUCT_SET_ID — это значение, которое вы использовали в кратком руководстве по поиску продуктов Vision API ранее в этой лаборатории кода.

Запустить его

Теперь нажмите «Выполнить» ( исполнять.png ) на панели инструментов Android Studio. После загрузки приложения коснитесь любого предустановленного изображения, выберите обнаруженный объект, коснитесь кнопки « Поиск », чтобы просмотреть результаты поиска. Теперь приложение использует только что созданный вами сервер поиска продуктов!

25939f5a13eeb3c3.png

7. Поздравляем!

Вы узнали, как создать серверную часть поиска продуктов с помощью Vision API Product Search.

Это все, что вам нужно, чтобы запустить его!

Что мы рассмотрели

  • Как создать серверную часть поиска продуктов с помощью каталога продуктов и Vision API Product Search
  • Как настроить ключ API для вызова бэкэнда поиска товаров из мобильного приложения
  • Как вызвать бэкэнд из мобильного приложения

Следующие шаги

  • Посмотрите это видео об использовании Vision API Product Search для создания умного шкафа
  • Ознакомьтесь со схемой обучения ML на устройстве, чтобы узнать обо всех шагах, необходимых для создания поиска продукта.
  • Примените то, что вы узнали, в своем собственном приложении

Учить больше