1. Прежде чем начать
Ранее в пути обучения поиску изображений продуктов вы узнали, как вызывать серверную часть поиска продуктов, созданную с помощью 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
- Перейдите в 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.
Это все, что вам нужно, чтобы запустить его!
Что мы рассмотрели
- Как создать серверную часть поиска продуктов с помощью каталога продуктов и Vision API Product Search
- Как настроить ключ API для вызова бэкэнда поиска товаров из мобильного приложения
- Как вызвать бэкэнд из мобильного приложения
Следующие шаги
- Посмотрите это видео об использовании Vision API Product Search для создания умного шкафа
- Ознакомьтесь со схемой обучения ML на устройстве, чтобы узнать обо всех шагах, необходимых для создания поиска продукта.
- Примените то, что вы узнали, в своем собственном приложении