Compila un backend de búsqueda de imágenes de productos con Product Search de la API de Vision

1. Antes de comenzar

25939f5a13eeb3c3.png

Anteriormente en la ruta de aprendizaje de Product Search, aprendió a llamar a un backend de Product Search creado con la API de Vision para Product Search con productos visualmente similares de un catálogo.

En este codelab, aprenderás a compilar un backend similar, pero con tu catálogo de productos.

Qué aprenderá

  • Cómo compilar un backend de búsqueda de productos con Product Search de la API de Vision
  • Cómo configurar una clave de API para acceder a la API de Vision desde apps para dispositivos móviles

Requisitos

  • Una cuenta de Google Cloud con facturación habilitada (puede ser una cuenta de prueba gratuita)

2. Acerca de Product Search de la API de Vision

Vision API Product Search es una función de Google Cloud que permite a los minoristas crear productos, cada uno con imágenes de referencia que describen de manera visual el producto desde un conjunto de puntos de vista. Los minoristas pueden agregar estos productos a los conjuntos de productos. Por el momento, Product Search de la API de Vision admite las siguientes categorías de productos: electrodomésticos, indumentaria, juguetes, productos envasados y general.

Cuando los usuarios consultan el conjunto de productos con sus propias imágenes, Product Search de la API de Vision aplica el aprendizaje automático para comparar el producto en la imagen de consulta del usuario con las imágenes del conjunto de productos del minorista y, luego, muestra una lista de clasificaciones con resultados visualmente similares y semánticos.

3. Compila el backend con Google Cloud

Antes, en la ruta de aprendizaje de búsqueda de imágenes de productos, usó un backend de búsqueda de productos de demostración compilado con Product Search de la API de Vision. Sigue este instructivo para compilar el mismo backend en tu cuenta de Google Cloud:

Una vez que completes el instructivo, continúa con los siguientes pasos para configurar una clave de API a fin de llamar al backend desde tus apps para dispositivos móviles.

4. Configurar clave de API

En la guía de inicio rápido de Product Search de la API de Vision, creó un backend de Product Search que puede tomar una imagen de consulta y mostrar productos visualmente similares. Para llamar a la API de búsqueda de productos desde una aplicación para dispositivos móviles, deberá configurar una clave de API y, luego, restringir el acceso a la clave de API a sus propias aplicaciones para dispositivos móviles a fin de evitar el uso no autorizado.

Cómo crear una clave de API

  1. Dirígete a Cloud Console > API y servicios > Credenciales. También puedes hacer clic en esta URL y seleccionar el proyecto que usaste en la guía de inicio rápido de Product Search.
  2. Selecciona Crear credenciales > Clave de API. Verás este diálogo si tu clave de API se creó correctamente:

d0bc04782a41a698.png

Anota esta clave de API. La usarás más adelante en este codelab.

Restringir el acceso a la clave de API

Cuando aparezca el mensaje anterior, selecciona Restrict key.

Sigue las instrucciones en pantalla para aplicar estas restricciones:

  • Restricciones de aplicaciones > Apps para Android
  • Restricciones de API > Restringir clave > API de Cloud Vision

5. Descarga y ejecuta la app para dispositivos móviles

Puedes descargar la app para Android que compilaste antes que usaba el backend de búsqueda de productos de demostración y cambiarla para usar el backend nuevo que acabas de compilar.

Descarga el código

Haz clic en el siguiente vínculo a fin de descargar todo el código de este codelab:

Descargar código fuente

Descomprime el archivo zip descargado. Esto descomprimirá una carpeta raíz (odml-pathway-codelabs) con todos los recursos que necesitarás. Para este codelab, solo necesitarás las fuentes del subdirectorio product-search/codelab2/android/final.

La app usa la API de detección y seguimiento de objetos del Kit de AA y un backend de búsqueda de productos de demostración compilado con la API de Vision de Product Search para permitir que los usuarios realicen una fotos y buscar productos visualmente similares en el catálogo de productos de demostración.

Importa la app a Android Studio

Primero, importa la app de starter a Android Studio.

Ve a Android Studio, selecciona Import Project (Gradle, Eclipse ADT, etc.) y elige la carpeta product-search/codelab2/android/final del código fuente que descargaste antes.

7c0f27882a2698ac.png

Cómo ejecutar la app de inicio

Ahora que importaste el proyecto a Android Studio, puedes ejecutar la app por primera vez.

Conecta tu dispositivo Android mediante USB a tu host o inicia el emulador de Android Studio y haz clic en Run ( execute.png) en la barra de herramientas de Android Studio.

Si este botón está inhabilitado, asegúrate de importar solo final/app/build.gradle, no el repositorio completo.

La app debería haberse iniciado en tu dispositivo Android. Ya funciona, pero usa el backend de búsqueda de productos demo que Google implementó por usted.

A continuación, actualizarás la app para usar el backend que creaste anteriormente en este codelab.

6. Actualiza los extremos de la API

Cómo cambiar la configuración de la API

Ve a la clase ProductSearchAPIClient y verás la configuración del backend de búsqueda de productos ya definida. Marque como comentario los parámetros de configuración del backend de demostración:

// 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"

Luego, reemplázalos con tu configuración:

// 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 es el extremo de la API de Cloud Vision.
  • VISION_API_KEY es la clave de API que creaste anteriormente en este codelab.
  • VISION_API_PROJECT_ID , VISION_API_LOCATION_ID , VISION_API_PRODUCT_SET_ID es el valor que usaste en la guía de inicio rápido de la API de Vision para la búsqueda de productos.

Ejecuta el código

Ahora, haz clic en Run ( execute.png) en la barra de herramientas de Android Studio. Cuando se cargue la app, presiona las imágenes preestablecidas, selecciona un objeto detectado y presiona el botón Buscar para ver los resultados. La app usa el backend de búsqueda de productos que acabas de crear.

25939f5a13eeb3c3.png

7. ¡Felicitaciones!

Aprendiste a compilar un backend de búsqueda de productos con Product Search de la API de Vision.

¡Eso es todo lo que necesitas para ponerte en marcha!

Temas abordados

  • Cómo crear el backend de Product Search con tu catálogo de productos y la API de Vision para Product Search
  • Cómo configurar una clave de API para llamar al backend de Product Search desde una app para dispositivos móviles
  • Cómo llamar al backend desde una app para dispositivos móviles

Próximos pasos

  • Mira este video sobre el uso de Product Search de la API de Vision para crear un armario inteligente.
  • Consulta la ruta de aprendizaje de AA integrado en Product Search para conocer todos los pasos necesarios a fin de crear una búsqueda de productos
  • Aplica lo que aprendiste en tu propia app

Más información