Barrel Cloud ofrece una plataforma de gestión y venta online de fotos y vídeos, destinada a empresas que ofrecen experiencias únicas, como parques temáticos, eventos deportivos, y más. Una de sus soluciones clave es la identificación de usuarios y captura de la imagen para después procesarla y personalizadas antes de ser vendida a los usuarios finales.
Servicio
Software Development
Duración
4 meses
ubicación
España
El desafío
El cliente necesitaba una solución avanzada para componer sus fotografías en un parque temático, donde las fotos capturadas de una atracción específica deben ser procesadas para la correcta extracción de cada fila de la barca de la tracción. El objetivo es ofrecer a los usuarios finales imágenes de excelente que capten el momento más divertido de su experiencia en la atracción. Las fotos iniciales se enviaban a través de un sistema de mensajería RabbitMQ. El principal desafío consistía en desarrollar un servicio que pudiera:
Leer mensajes desde RabbitMQ que contienen identificaciones de las imágenes
Descargar las imágenes originales desde la API de Barrel.
Procesar las imágenes para realizar el corte de cada fila de la atracción utilizando un modelo de inteligencia artificial.
Generar imágenes finales de cada recorte + la imagen original en un tamaño más pequeño.
Enviar las imágenes procesadas de vuelta a la API de Barrel para su presentación y venta
La solución
Unow Solutions desarrolló el sistema "Fotocomposición" para abordar este reto. A continuación, se detallan las principales características y mejoras implementadas:
Lectura de Mensajes desde RabbitMQ:
Implementamos un servicio en Python que se suscribe a la cola de RabbitMQ para leer los mensajes que contienen las identificaciones de las imágenes.
Interacción con la API de Barrel:
El servicio consulta la API para descargar las imágenes originales.
Detección de inicio y fin de cada tren (barca) con Inteligencia Artificial:
Desarrollamos y entrenamos un modelo de inteligencia artificial especializado en la detección de posición inicial y final de cada barca. Este modelo, entrenado por nuestro equipo, asegura una alta precisión y eficiencia en la detección de las imágenes.
La inteligencia artificial fue entrenada utilizando un conjunto diverso de datos de imágenes para asegurar que pueda manejar una amplia variedad de escenarios y condiciones de iluminación.
Realizar un recorte de la imagen en cada fila de la atracción:
Una vez que la barca fue detectada, el servicio procede a realizar los recortes de cada una de las filas del tren, esto evaluado si realmente se detecta al menos una persona dentro de la fila.
Crear una imagen de cada una de las filas + imagen de la barca con todas las filas:
Una vez que están realizados los recortes, el servicio integra cada una de las fotos recortadas con la imagen de la barca completa con todas las filas para el posterior envío a la api.
Envío de Imágenes Procesadas:
Las imágenes procesadas se envían de vuelta a la API de Barrel para su visualización y venta en el parque temático.
Gestión de Errores y Testing Unitario:
Implementamos un sistema robusto de gestión de errores para manejar cualquier falla durante el proceso de descarga, procesamiento o subida de imágenes.
Se realizaron pruebas unitarias exhaustivas para asegurar la fiabilidad del servicio.
El resultado
Utilizando metodologías scrum para resalizar entregas parciales cada dos semanas, un riguroso sistema de control de calidad y buenas prácticas en programación, logramos cumplir con todos los requisitos de Barrel. El cliente expresó su satisfacción con el flujo de trabajo, la comunicación y los resultados obtenidos. Las principales ventajas son:
Procesamiento Eficiente y Escalable: La solución es capaz de manejar grandes volúmenes de imágenes con rapidez y precisión
Mejora en la Experiencia del Usuario Final: Las imágenes procesadas permiten que cada usuario pueda llevarse un recuerdo de altísima calidad, una foto junto con su familia y/amigos y haciendo de su visita al parque una excursión inolvidable
Optimización de Recursos: La automatización del proceso reduce la necesidad de intervención manual, permitiendo al equipo del cliente enfocarse en otras áreas críticas del negocio.
Aumento de facturación para el cliente: al mejorar la calidad de las imágenes y poder personalizar la composición de acuerdo con el parque y la tracción en particular, el cliente ha mejorado en capacidad de negociación con los parques al ofrecer una propuesta distinta a sus competidores.
¿Qué hemos hecho?
Detección de inicio y fin de cada atracción con Inteligencia Artificial
Crear una imagen de cada una de las filas + imagen de la barca con todas las filas para componer una imagen apta para la comercialización
Envío a la API de cliente de la imagen final para su venta en la app a usuario final