Blog de Amazon Web Services (AWS)
Uso de Amazon Rekognition para identificar clústeres
Por Gabriel Bella Martini, Arquitecto de Soluciones, WWPS Brasil
Lucas Duarte, Arquitecto de Soluciones, WWPS Brasil
Ernesto dos Santos, Arquitecto de Soluciones, WWPS Brasil
Las multitudes de personas son actualmente un importante motivo de preocupación, el ejemplo más reciente es la prevención de la contaminación por enfermedades respiratorias, como COVID-19. Según el IBGE (Instituto Brasileño de Geografía y Estadística), la ciudad de São Paulo tiene aproximadamente una población de 12,2 millones de habitantes, lo que resulta en una alta densidad demográfica (7.398,26 habitantes por km²).
Un caso típico de aglomeración tiene lugar en el Carnaval de São Paulo, donde en 2020, según la Secretaría Municipal de Cultura, el evento atrajo aproximadamente 15 millones de personas, es decir, un promedio de 3,8 millones por día en el municipio.
Identificar estas aglomeraciones puede ser interesante en diferentes circunstancias, tales como eventos cerrados y abiertos, manifestaciones en vías públicas, prevención de riesgos de contaminación y eventos específicos que surgen de un escenario en el que hay una multitud inesperada y/o planificada.
El Reto
Las implementaciones de casos de uso de visión por computador mediante procesos manuales, exigen mucho trabajo y son más susceptibles a errores. Según la revista Super Interesante (2016), para contar multitudes sin el uso de sistemas inteligentes, cada hora un equipo de 40 investigadores se posiciona a lo largo de la ruta para registrar la concentración. Por lo tanto, el uso de sistemas de inteligencia artificial puede ayudar en la detección de estos conglomerados. Sin embargo, la construcción de modelos de aprendizaje automático requiere esfuerzo y conocimiento.
En esta entrada de blog verá cómo el servicio Amazon Rekognition se puede incorporar en sus aplicaciones de una manera sencilla para apoyar esta tarea.
La Solución
El servicio Amazon Rekognition facilita la adición de análisis de imágenes y vídeo a sus aplicaciones mediante una tecnología de aprendizaje profundo probada y altamente escalable que no requiere experiencia en aprendizaje automático. Con Amazon Rekognition, puede identificar objetos, personas, texto, escenas y actividades en imágenes y vídeos, y detectar cualquier contenido inapropiado.
Utilizaremos la función Detectar etiquetas de Amazon Rekogntion para detectar entornos multitudinarios y enviar una notificación a una dirección de correo electrónico. Separaremos la solución en dos pasos: Ingestión de imágenes y Detección y notificación de clústeres.
Paso 1 – Ingestión de imágenes
- En esta demostración vamos a simular un satélite que proporcionará imágenes de lugares con acumulación de personas. En una solución productiva, para obtener las imágenes podríamos utilizar: cámaras IP, fotos móviles, y/o incluso nuestra solución Amazon Ground Station, un servicio totalmente gestionado que le permite controlar las comunicaciones, procesar los datos y escalar las operaciones satelitales, sin preocuparse por crear o administrar su propia infraestructura de estación terrestre. En nuestro escenario, vamos a almacenar las imágenes obtenidas en nuestra matriz de objetos de Amazon S3.
- Cuando almacenamos la imagen, se activa un evento y se envía un mensaje con la ruta del objeto en Amazon S3 al servicio AWS SQS. Al trabajar con este diseño de cola, podemos aceptar un volumen extremadamente alto de solicitudes, almacenar solicitudes en un repositorio de datos duradero y procesarlas a la velocidad que su sistema puede soportar.
Paso 2 – Detección y notificación
- La función AWS Lambda utilizará la API de Amazon Rekognition Detect Labels, que ya nos proporciona la identificación de etiquetas o etiquetas en una escena, y el nivel de fiabilidad para la identificación. En este caso, estamos buscando la etiqueta Crowd, con al menos un 70% de confianza.
4) Al identificar un clúster, añadimos un mensaje a una cola en AWS SQS, siguiendo el mismo principio mencionado anteriormente, y posteriormente enviamos una notificación por correo electrónico mediante AWS SNS.
Implementación de la solución
Para que pueda replicar la solución, creamos un repositorio público con un desglose de cada paso de implementación. Estamos utilizando el servicio Amazon CloudFormation para tratar toda la arquitectura como código.
Rekognition Crowded Demo: https://github.com/aws-samples/rekognition-crowded-demo
Conclusión y próximos pasos
En esta entrada de blog mostramos cómo puede utilizar los servicios de AWS para crear una solución que afecte a diferentes casos de uso en la detección de clústeres, y vimos cómo utilizar Amazon Rekognition para implementar la inteligencia artificial de forma rápida y sencilla.
Adicionalmente podemos modificar esta solución para calcular el número de personas, y en casos más específicos determinar la distancia entre estas personas. Vamos a abordar estos próximos pasos en la segunda parte de este blog.
Este artículo fue traducido del Blog de AWS en Portugués.
Sobre los autores
Gabriel Bella Martini es arquitecto de soluciones en AWS. Sirve para ayudar a los clientes del sector público (instituciones educativas, gubernamentales e instituciones sin fines de lucro) durante su viaje en la nube de AWS. Ha trabajado en diferentes proyectos relacionados con la inteligencia artificial y IoT y también tiene un gran interés en los gráficos por ordenador.
Lucas Duarte, arquitecto de soluciones en AWS. Trabaja con clientes del sector público, es una entusiasta de la automatización, la nube y la cultura DevOps. Con experiencia previa en proyectos enfocados en este segmento en empresas como iFood, Guiabolso y Mandic. Ha trabajado en diferentes proyectos relacionados principalmente con la orquestación de contenedores y microservicios.
Ernesto dos Santos, arquitecto de soluciones en AWS. Actúa ayudando y apoyando a los clientes del sector público en su viaje a la nube de AWS, trabajando en proyectos con arquitecturas distribuidas y escalables. Tiene gran interés en el área de seguridad de la información, infraestructura, redes y sin servidor.