Proyectos

La IA asegura las playas en tiempos de covid.

2020

BeachCam y APA

Machine Learning, User Experience, Artificial Intelligence y Digital Transformation

¿Quieres que trabajemos juntos?

Say Hello!
 

Adaptándonos a una nueva ‘normalidad’.

Debido a la pandemia global del Covid-19, es necesario mantener las medidas de precaución adecuadas, como la distancia de seguridad interpersonal, tanto en las playas como en otros espacios públicos. En los últimos años, MEO BeachCam ha sido un lugar de referencia para la comunidad surfera. Este sitio web ofrece información detallada sobre el estado del mar, temperaturas e información, incluyendo la retransmisión de vídeo en tiempo real de distintas playas.

La Agência Portuguesa do Ambiente (APA) ha decidido promover un proyecto en colaboración con BeachCam para realizar el cálculo de ocupación de las playas de Portugal y proporcionar a los ciudadanos información en tiempo semi-real sobre esta, con el objetivo de evitar aglomeraciones y favorecer la distancia interpersonal en estos espacios.

Machine Learning

Machine Learning

Los avances en Machine Learning, principalmente en el tratamiento de imágenes, se plantean como una buena opción. Se trata de un campo que ha evolucionado de forma exponencial en los últimos años. En Paradigma hemos desarrollado diversos proyectos en el campo de la Inteligencia Artificial, contamos con experiencia y grandes expertos entre nuestras filas.

Aportando nuestro conocimiento sobre las técnicas de Machine Learning, hemos aprovechado para combinar todos estos avances tecnológicos para diseñar un algoritmo que ha permitido realizar un conteo de personas en determinadas áreas, y así poder extrapolar los resultados para estimar de forma cualitativa la ocupación de las playas.

Aprovechando una infraestructura ya existente.

BeachCam

El gran problema para medir fue la necesidad de desplegar una infraestructura que nos aportase información a tiempo (en nuestro caso, imágenes) para implantar una solución dentro de plazos muy limitados. Aprovechar la infraestructura existente (actualmente productiva y desplegada sobre ubicaciones adecuadas), redujo drásticamente el esfuerzo de implantación.

Nos encontramos con una infraestructura que no estaba instalada de forma óptima, con imágenes lejanas que dificultaron la detección de personas (y, de ahí, el cálculo de ocupación). Nuestra solución fue a base de software, adaptándonos a las peculiaridades de cada cámara a base de parametrización y adecuación de los algoritmos.

En busca del algoritmo adecuado.

Machine

Tras un breve análisis, y en base a la experiencia de nuestros expertos, decidimos hacer pruebas con 3 algoritmos distintos para buscar el que mejor se adecuaba al caso de uso que nos planteamos.

Tras unas pruebas iniciales, decidimos seguir adelante con dos de los algoritmos, en un trabajo en paralelo dentro del equipo. Los algoritmos deben cumplir ciertas restricciones en cuanto al margen de error aceptable, tiempo de procesamiento, coste de la infraestructura…

Optamos por el algoritmo de CrowdCounting, un modelo de aprendizaje automático basado en redes neuronales convolucionales (CNN) que realiza una partición del espacio supervisado, siguiendo una aproximación basada en “divide y vencerás” (S-DC). Conseguimos un tiempo de menos de 30 segundos desde que se captura una imagen cifrada hasta que se obtiene el resultado cualitativo de ocupación, sobre hardware estándar (no especializado), cumpliendo ampliamente los requisitos de actualización (10 minutos).

Diseñando una arquitectura para el proyecto

Desde el análisis inicial, la tipología del proyecto ha apuntado a una arquitectura orientada a eventos con distintas fases de procesamiento ligeras. Los servicios gestionados que AWS propone para este tipo de arquitecturas encajan a la perfección para este caso de uso, por lo que diseñamos una arquitectura basada en servicios serverless para cubrir las 3 fases que componen nuestro flujo:

  • Carga de las configuraciones específicas por cada cámara.
  • Captura de imagen cifrada.
  • Procesamiento de la imagen.
  • Envío de los resultados al servicio de la APA.

De esta forma utilizamos AWS S3 para el almacenamiento de los ficheros de configuración de las cámaras, con opciones incluso de versionado de los mismos. AWS SQS como cola de mensajes para la comunicación asíncrona entre los distintos componentes.

AWS Lambda donde ejecuta el código de cada una de las fases del flujo, proporcionando igualmente opciones de versionado sencillo. La arquitectura es totalmente asíncrona, la activación de cada una de las fases se produce debido a la llegada de un nuevo evento.

El diseño de la arquitectura, unido a las características de los servicios de AWS en formato gestionado que liberan de tareas de mantenimiento a la vez ofrecen una enorme capacidad de escalabilidad, asegurando su validez a futuro.

Texto representativo sobre la imagen
Vasco Silva
Paradigma aceptó un desafío, con un alto nivel de dificultad y un tiempo de implementación muy corto. ¡El resultado no podría haber sido mejor!

Vasco Silva

Executive Director BeachCam

numbers

71cámaras con soporte
2semanas para la implantación del MVP
2semanas para la versión de refinamiento
30segundos en estimar la ocupación