Customer Counter

Inspiración

Estaba buscando una solución práctica que costara muy poco a los clientes, pero que ofreciese un gran beneficio. Me inspiré cuando fui recientemente a un restaurante y todos los empleados estaban en la parte trasera. Esperé un poco y empecé a pensar el dinero que perderían si clientes como yo no estuviesen satisfechos con el servicio.

Qué hace

La aplicación incluye una cámara que se coloca en el área de atención al público de un comercio. Una pantalla ubicada en la parte trasera alerta a los empleados cuando hay clientes haciendo cola. Con la aplicación Customer Counter, pueden saber cuántos clientes hay haciendo cola en todo momento. De esta manera, si hay mucha concurrencia, pueden enviar más empleados al área de atención al público. También se incluyen capacidades de generación de informes. La aplicación incluye un sitio web en el cual se puede iniciar sesión para obtener informes relacionados con el promedio de clientes por hora, los días de mayor concurrencia, etc. Estas métricas permiten a los clientes determinar con mayor precisión cuántos empleados deberían asignarse en un día y horario determinados.

Cómo se desarrolló

Deeplens ejecuta Lambda en Greengrass. El modelo de reconocimiento de rostros procesa las imágenes entrantes y determina las probabilidades de que exista un rostro en el campo de visualización. El modelo envía una notificación de SNS. SNS activa una regla de IoT que coloca una entrada en la cola de SQS. Hay una aplicación cliente creada como aplicación basada en .NET WinForm que se ejecuta en el dispositivo del cliente. Muestra el número actual de clientes. Además, registra todos los datos en una base de datos MS SQL que se ejecuta en RDS. Hay un sitio web .NET que se ejecuta en una instancia EC2 y reproduce informes para el cliente.

Desafíos

Hubiese preferido que las entradas a la base de datos fuesen directamente desde una función de Lambda a RDS. Sin embargo, originalmente elegí MS SQL en vez de MySQL, y me encontré que era un desafío importante conectar Lambda a través de un adaptador. Decidí que el cliente registrase los datos porque era mucho más sencillo y me permitía enfocarme más en los aspectos restantes del proyecto. También hubo muchos desafíos relacionados con la cámara que imagino le causaron a otros uno o dos dolores de cabeza.

Logros de los que estoy orgulloso

Aprendí mucho. Cuando fui a re:Invent, no sabía demasiado sobre los servicios de AWS. Los había estado usando para el alojamiento de bases de datos y sitios web, pero no había utilizado muchos de los demás geniales productos disponibles. Ahora tengo una idea bastante decente de las muchas herramientas que AWS ofrece.

Lo que aprendí

Aprendí mucho sobre los servicios de AWS y el aprendizaje profundo. Si bien mi aplicación no muestra que haya hecho demasiadas cosas con modelos de aprendizaje profundo, la verdad es que pasé horas leyendo sobre el tema. Muchas cosas eran nuevas para mí, por lo que fue bastante abrumador al principio.

Futuros planes para Customer Counter

Mayor perfeccionamiento. Mejor uso de modelos. ¡Que se utilice en comercios de todos lados!

Desarrollado con

lambda
greengrass
amazon-web-services
deeplens
rds
ec2
ms-sql
.net

Probar

El repositorio de este proyecto es privado.