Resumen
- Rol: Lead iOS Developer (Creador e impulsor del MVP y prototipo funcional).
- Cliente / Contexto: SazAIR (Prototipo derivado de MonAvisLeRendGratuit enfocado en la localización en interiores de supermercados mediante reconocimiento visual de productos).
- Tech Stack: iOS, AVFoundation, Google ML Kit (Object Detection, Image Labeling), Accelerate/Vimage, Google Cloud Vision Product Search, Apollo GraphQL, Backend de MonAvisLeRendGratuit.
El Reto
Resolver el desafío de determinar la ubicación de un usuario dentro de un supermercado (pasillo o lineal) sin necesidad de un sistema específico de posicionamiento interior, partiendo de la hipótesis de que reconocer los productos de las estanterías permite inferir la ubicación. Tras investigar diversas aproximaciones, el reto consistió en desarrollar por iniciativa propia un MVP inicial basado en tecnologías de Google para validar la viabilidad con pocos productos, y posteriormente ampliarlo a un concepto mayor conectado con los servicios comerciales.
Logros y Aportes Técnicos
- Pipeline Híbrido de Visión Artificial:
- Implementación de una arquitectura híbrida que combina el procesamiento local en el dispositivo con el reconocimiento visual en la nube.
- Gestión de la cámara mediante AVFoundation y procesamiento local de frames con Google ML Kit Object Detection para detectar y seguir objetos candidatos.
- Utilización de Google ML Kit Image Labeling como filtro previo en el modo continuo.
- Optimización y Consulta en la Nube:
- Recorte eficiente de las regiones detectadas mediante Accelerate/Vimage antes de enviarlas al servicio en la nube.
- Comparación de las imágenes recortadas con un catálogo visual previamente configurado a través de Google Cloud Vision Product Search.
- Integración de Datos Comerciales (Apollo GraphQL):
- Vinculación del código EAN del producto identificado con el catálogo de MonAvisLeRendGratuit.
- Consulta al backend mediante Apollo GraphQL para recuperar información detallada (nombre, marca, imagen, valoración y categoría) e integrarla en la interfaz.
- Modos de Funcionamiento:
- Desarrollo de dos modos operativos: reconocimiento bajo demanda sobre una captura y reconocimiento continuo sobre el vídeo de la cámara con seguimiento de objetos entre fotogramas.
Impacto y Resultados Técnicos
- Validación de Concepto (PoC): Demostración exitosa de la viabilidad técnica de utilizar el reconocimiento de productos en estanterías para inferir la posición en interiores y ofrecer experiencias contextuales en el punto de venta.
- Evolución Comercial: Excelente acogida inicial del prototipo que permitió ampliar el catálogo, integrar datos reales de producción y convertir la prueba en un prototipo funcional avanzado.