1. Прежде чем начать
Ранее в рамках обучения поиску изображений продуктов вы узнали, как вызвать бэкэнд поиска продуктов, созданный с помощью 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
- Перейдите в Cloud Console > API и сервисы > Учётные данные . Вы также можете нажать на этот URL-адрес и выбрать проект, который вы использовали в кратком руководстве по поиску продукта.
- Выберите «Создать учётные данные» > «Ключ API» . Если ваш ключ API был успешно создан, вы увидите следующее диалоговое окно:
Запишите этот ключ 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
из исходного кода, который вы скачали ранее.
Запустите стартовое приложение
Теперь, когда вы импортировали проект в Android Studio, вы готовы запустить приложение в первый раз.
Подключите свое Android-устройство через USB к хосту или запустите эмулятор Android Studio и нажмите «Выполнить» ( ) на панели инструментов 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 ранее в этой кодовой лаборатории.
Запусти это
Теперь нажмите «Выполнить» ( ) на панели инструментов Android Studio. После загрузки приложения коснитесь любого предустановленного изображения, выберите обнаруженный объект и нажмите кнопку «Поиск» , чтобы увидеть результаты поиска. Теперь приложение использует только что созданный вами бэкэнд поиска товаров!
7. Поздравляем!
Вы узнали, как создать бэкэнд поиска товаров с помощью Vision API Product Search.
Это все, что вам нужно, чтобы все запустить!
Что мы рассмотрели
- Как создать бэкэнд поиска товаров с использованием каталога товаров и API Vision Product Search
- Как настроить API-ключ для вызова бэкэнда поиска товаров из мобильного приложения
- Как вызвать бэкэнд из мобильного приложения
Следующие шаги
- Посмотрите это видео об использовании Vision API Product Search для создания умного шкафа.
- Ознакомьтесь с планом обучения машинному обучению на устройстве для поиска товаров, чтобы узнать все шаги, необходимые для создания поиска товаров.
- Примените полученные знания в своем собственном приложении