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

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

25939f5a13eeb3c3.png

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

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

Чему вы научитесь

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

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

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

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

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

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

3. Создайте бэкэнд с помощью Google Cloud

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

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

4. Настройте ключ API

В кратком руководстве по поиску товаров через Vision 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.

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

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

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

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

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

Узнать больше