Evolution Software mejora la calidad de los anillos con ML.NET
Cliente
Evolution Software Design, Inc.
Productos y servicios
ML.NET
Azure
.NET Core
ASP.NET Core
Entity Framework Core
SignalR
SQL Server
Xamarin
Sector
Asesor
Tamaño de la organización
Pequeño (1-100 empleados)
País o región
EE. UU.
Evolution Software Design, Inc. es una empresa de consultoría que ayuda a otras organizaciones a aplicar la tecnología de forma más eficaz a través de soluciones tecnológicas estratégicas y mediante el desarrollo de aplicaciones sanitarias, de comercio electrónico, de agricultura y empresariales. Una de las empresas más recientes de la empresa se encuentra en el sector de las granjas, que se asocia con varias empresas de procesamiento de productos para mejorar la calidad de las granjas de servidores a los consumidores mediante aprendizaje automático y ML.NET.
"ML.NET facilita el aprovechamiento de nuestros recursos de software y aptitudes de .NET y C# existentes para agregar funcionalidades de aprendizaje automático a la aplicación. Dado que el resto de la aplicación se desarrolla con la pila de tecnología de Microsoft y se implementa en Azure, la integración de modelos de aprendizaje automático era fácil y sencilla."
Problema empresarial
Para que las nueces sean adecuadas para el consumo humano, deben cumplir determinados requisitos. Uno de estos requisitos es que las avellanas estén "bien secas" o contengan un nivel específico de humedad que la industria ha establecido entre 8. 5% y 11. 5%. Para que las nueces sean aceptadas por los compradores, es importante obtener el contenido de humedad correcto: si es demasiado baja, las nueces se encogerán demasiado; si es demasiado alta, las nueces pueden enmohecerse y estropearse.
Para garantizar que las avellanas alcancen este nivel de humedad, después de la cosecha se llevan de la granja a las estaciones receptoras y se colocan en secadoras comerciales, que pueden contener hasta 50 000 libras de avellanas cada una.
La determinación de la cantidad de tiempo que deben dedicar los anillos a los cuidadores para llegar a la humedad objetivo puede ser un arte propenso a errores y se ve afectado por varias variables, como la variedad de anillos, el peso del lote, la humedad que se usa, la ubicación y el tiempo. La forma estándar de determinar el contenido de humedad es un proceso muy manual: se envía a alguien periódicamente al almacén para limpiar un cubo de muestras, sopesar los kernels, secarlos y, a continuación, observar la diferencia de peso. El proceso se repite varias veces durante el proceso de ventilación, y las condiciones de la cocina son menores que las ideales con aire Fahrenheit de 120 grados que se emite a 100 kilómetros.
Las personas que han estado realizando este proceso durante un tiempo a menudo asumen que saben cuándo los anillos están listos sin realizar el proceso de muestreo, lo que puede dar lugar a niveles de humedad incorrectos e incoherencias de la bandeja de entrada a la cocina, lo que a su vez provoca la pérdida de ingresos para las estaciones receptoras y los procesadores de anillos.
Además, dado que un gran volumen de anillos se recopila y procesa dentro de un período relativamente corto cada otoño (en 2018, las empresas de procesamiento de anillos participantes recibieron sesenta y ocho millones de libras de nueces secas procedentes de las estaciones receptoras), hay un alto valor empresarial en la optimización del uso de las recolección durante su operación de ida y vuelta.
Para solucionar estos problemas empresariales, la aplicación Monitor de Health usa ML.NET para predecir el contenido de humedad de la humedad de los operadores de alertas y lotes de lote cuando se alcanza el nivel de destino.
"El objetivo de la aplicación es hacer que sea realmente sencillo para las personas que operan los secadores saber cuándo la humedad de las nueces está cerca del rango de humedad óptimo, reduciendo al mismo tiempo la necesidad de tomar muestras; eventualmente nos gustaría llegar al punto en que no tengan que tomar muestras de las nueces con tanta frecuencia."
¿Por qué ML.NET?
Aunque el aprendizaje automático parecía una estrategia interesante para solucionar el problema empresarial, no estaba claro con qué facilidad se implementaría dentro de la aplicación. Sin embargo, el lanzamiento de ML.NET aceleró drásticamente la implementación y, después de solo cuatro semanas y media de desarrollo, Evolution Software tuvo su primer modelo de aprendizaje automático para mejorar la predicción del nivel de humedad de los anillos en un 2,5-3 % para 35 zonas comerciales.
Impacto de ML.NET
Además de supervisar los valores medidos, como la temperatura, la humedad y la presión barométrica, Los procesadores que operan las secadoras disponen ahora de predicciones en tiempo real de los niveles de humedad a las que pueden acceder a través de un cliente web apto para móviles. El motor de notificaciones funciona tanto con los valores medidos como con los predichos, por lo que los operarios pueden recibir mensajes SMS o de correo electrónico cuando se alcanza el nivel de humedad deseado.
Esta información adicional proporciona a los operadores mayor visibilidad y más confianza sobre el estado del proceso de confidencialidad a través de sus teléfonos móviles y otros dispositivos.
Arquitectura de la solución
Procesamiento de datos
La aplicación usa SignalR para obtener actualizaciones en tiempo real a medida que llegan los datos al servidor y almacena los datos en bases de datos SQL. Cada automóvil tiene varios sensores conectados a un centro, que cada minuto envía los siguientes datos recopilados a través de REST a una API web implementada en ASP.NET Core MVC:
Los datos adicionales necesarios para hacer predicciones, como la hora de inicio y de finalización, el peso, la variedad de avellana, la estructura (secadora) y la ubicación (instalación de secado) son recogidos manualmente y registrados por los trabajadores de la instalación:
Los niveles de humedad de las muestras de anillos (que se usan para los datos de entrenamiento) también se recopilan y registran manualmente:
Transformaciones de datos y algoritmos de aprendizaje automático
El monitor de avellanas usa one-hot encoding para convertir las características categóricas (variedad de avellanas, ubicación de los contenedores y número de discretización/estructura) en tipos de datos float, que es el formato aceptado por los aloritmos de ML.NET, y concatena estas características con temperatura delta, humedad delta y peso. A continuación, estas columnas de característica se pasan a un Algoritmo de regresión de árbol rápido, que predice los niveles de humedad de las avellanas.
El año pasado, el algoritmo de entrenamiento se ejecutó una vez al día como una tarea programada y, a continuación, el modelo entrenado se insertó como un archivo ZIP en Azure Blob Storage. A continuación, el modelo se cargó en la caché de Azure App Services y se usó en nuevos datos para realizar predicciones de nivel de humedad. Esta temporada, Evolution Software planea trasladar este proceso a una función de Azure programada.
Aplicación de cliente
El monitor Desanut proporciona un portal basado en web, creado con .NET Core y Aurelia y hospedado en Azure, que proporciona información sobre las operaciones de investigación en varias ubicaciones. También incluye un motor de reglas y un sistema de notificación (con Azure Functions) que puede alertar al personal clave a través de SMS y notificaciones por correo electrónico cuando determinadas medidas están fuera del intervalo (por ejemplo, la temperatura es demasiado caliente o demasiado frío), cuando los sensores no funcionan correctamente o cuando se alcanza el contenido de humedad de destino.
El lanzamiento de ML.NET facilitaba que Evolution Software agregara funcionalidades de aprendizaje automático a la aplicación Monitor Denut. La empresa pudo aprovechar sus conocimientos y recursos de software de .NET y C# existentes para pasar de cero a un modelo de aprendizaje automático en funcionamiento en un breve período de tiempo y, por tanto, solucionar los problemas empresariales de destino.
¿Listo para empezar?
Nuestro tutorial paso a paso le ayudará a ejecutar ML.NET en su equipo.