Scancam usa ML.NET para evitar el robo de combustible
Cliente
Scancam Industries
Productos y servicios
ML.NET
ASP.NET Core
Xamarin
Azure
Sector
Seguridad y Investigaciones
Tamaño de la organización
Pequeño (1-100 empleados)
País o región
Australia
Scancam es una empresa de prevención de pérdidas. Uno de sus productos principales es una solución contra el robo de combustible que atiende a los minoristas de combustible y proporciona una solución integral para evitar y administrar el robo de combustible, incluida la recuperación de la deuda.
Problema empresarial
El robo de combustible le cuesta al sector minorista de combustible australiano millones de dólares cada año. En las estaciones de combustible de Australia, los clientes primero llenan sus tanques de combustible y luego pagan. Algunos automovilistas se van sin pagar el combustible, y algunos automovilistas se dan cuenta de que olvidaron su billetera o no tienen suficiente dinero para pagar el combustible que acaban de despachar. Estos retiros y la falta de pago resultan en pérdidas de miles de dólares para los minoristas de combustible.
La solución Scancam usa la tecnología de reconocimiento de placas de licencia para detectar vehículos en las bombas de las estaciones de combustible y proporciona alertas para los propietarios conocidos (personas que deben dinero de cualquiera de las estaciones de combustible de su red). También incluye una instalación para informar de robos de combustible, generación automática de grabaciones de incidentes, pagos en línea y recuperación de deudas.
¿Por qué ML.NET?
Scancam es principalmente una tienda .NET. Antes de ML.NET, la empresa ejecutaba la detección de objetos en un contenedor Docker separado que ejecutaba código Python. Cuando Custom Vision agregó la exportación de modelos de detección de objetos, Scancam migró a ML.NET, lo que permitió a la empresa alojar componentes de aprendizaje automático en la misma base de código que sus aplicaciones.
Scancam ejecuta código C# desde los dispositivos perimetrales más pequeños in situ hasta la nube. Pueden usar el mismo lenguaje y las mismas herramientas familiares de C# en cualquier componente de sus soluciones y pueden trasladar fácilmente el código de la nube al perímetro y viceversa (por ejemplo, de Azure Functions a las imágenes de contenedor de ASP.NET Core que se ejecutan en dispositivos ARM32).
Impacto de ML.NET
ML.NET ofrece a Scancam la flexibilidad de moverse fácilmente a donde se ejecuta su código, es decir, en dispositivos perimetrales, dispositivos móviles o en la nube. La funcionalidad resultante de detección de objetos ML.NET eliminó los requisitos de ancho de banda de Scancam hasta un 35 % y, por tanto, redujo sus requisitos de proceso en la nube, mientras que los componentes de detección de anomalías supervisarán de forma proactiva cientos de dispositivos.
\ "ML.NET nos permitió aumentar la productividad al permitirnos codificar nuestros componentes de ML en el mismo lenguaje y herramientas que usamos para todo lo demás. ML.NET proporcionó el punto de arranque más fácil para que nuestros desarrolladores .NET empezaran a integrar el aprendizaje automático en nuestras aplicaciones.\N"
Dado el período limitado de tiempo disponible desde el momento en que se detecta un vehículo hasta el momento en que el motorista empieza a proporcionar combustible (5-7 segundos), ML.NET permitido que Scancam agregue la detección de objetos a su canalización de procesamiento con casi ningún impacto en el rendimiento, con predicciones que tardan aproximadamente 300 ms de media.
Arquitectura de la solución
La pila técnica de Scancam se compone de ML.NET, ASP.NET Core, Xamarin en iOS y Azure (App Service, Azure Functions, Azure Service Bus, Azure Storage, Azure Cosmos DB, SignalR Azure SQL Database).
Cuando un vehículo se dirige a una bomba de combustible, una cámara desencadena un evento en un punto de conexión HTTP que ejecuta ASP.NET Core en Docker. Luego, se usa ML.NET para detectar primero la presencia de vehículos y, a continuación, detectar la presencia de las placas de matrícula en esos vehículos. Luego, usan una tecnología de reconocimiento de matrículas independientes para examinar los números y las letras de la matrícula y enviar esta información a una función de Azure para desencadenar la canalización de procesamiento en la nube basada en Azure, incluida la comprobación cruzada de las matrículas con una base de datos de infractores conocidos y la difusión de las matrículas de licencia detectadas a las pantallas de iPad y TV mediante SignalR.
Aplicación de cliente
La aplicación de usuario final principal es una aplicación Xamarin que usan los operadores de la estación de combustible en un iPad. Esta aplicación muestra todas las placas de licencia detectadas en cada bomba y muestra una alerta si hay una placa de licencia en la base de datos de infractores conocida. Esto permite al operador de la consola evitar la distribuidora de combustible y pedir al cliente que pague por adelantado el combustible antes de habilitar la bomba.
Detección de objetos
La mayoría de las cámaras que usa Scancam dependen de la detección de movimiento para detectar vehículos que se mueven dentro y fuera de las áreas de la bomba de combustible. Obtienen cientos de miles de eventos de cientos de cámaras cada día. Dado el número de estaciones de combustible ocupadas, Scancam puede obtener montones de gatillos falsos. Estos falsos desencadenadores provocan eventos no deseados que deben procesarse para el reconocimiento de placas de licencia, que a su vez consumen gran parte del ancho de banda de Internet disponible limitado en las estaciones de combustible.
Para reducir el número de eventos que debían enviarse a la nube para su procesamiento, Scancam usó Azure Custom Vision para entrenar un modelo de detección de objetos para detectar la presencia de un vehículo y la visibilidad de la región de la matrícula en una imagen y exportó el modelo en formato ONNX. A continuación, consumieron el modelo con ML.NET en los dispositivos perimetrales para preprocesar los eventos de la cámara antes de enviarlos a la nube para su posterior procesamiento.
Detección de anomalías
Scancam también está implementando ML.NET para la detección de anomalías con el fin de detectar picos (por ejemplo, áreas de desencadenamiento de movimiento incorrectas, umbral de desencadenador demasiado bajo) y caídas (por ejemplo, la cámara se ha eliminado de la posición, se ha bloqueado, configuración de exposición incorrecta) en los eventos de cámara, como parte de la supervisión del estado de las instalaciones de la cámara. Esta detección permite a Scancam identificar fácilmente posibles problemas con sus cientos de cámaras sin tener que buscar manualmente en los registros.
Clasificación de imágenes
Scancam también planea agregar la identificación del modelo y la creación de vehículos a su solución ML.NET.
¿Listo para empezar?
Nuestro tutorial paso a paso le ayudará a ejecutar ML.NET en su equipo.