A Evolution Software melhora a qualidade da avelã com o ML.NET
Cliente
Evolution Software Design, Inc.
Produtos e serviços
ML.NET
Azure
.NET Core
ASP.NET Core
Entity Framework Core
SignalR
SQL Server
Xamarin
Setor
Consultor
Tamanho da Organização
Pequena (1-100 funcionários)
País/região
EUA
A Evolution Software Design, Inc. é uma empresa de consultoria que ajuda outras organizações a aplicar tecnologia com mais eficiência por meio de soluções estratégicas de tecnologia e desenvolvendo aplicativos de saúde, comércio eletrônico, agricultura e empresariais. Um dos recentes negócios da empresa está no setor de bens de negócios, em parceria com várias empresas de processamento de ML.NET.
O ML.NET facilitou o aproveitamento de nossas habilidades e ativos de software .NET e C# existentes para adicionar recursos de aprendizado de máquina ao aplicativo. Como o restante do aplicativo é desenvolvido usando a pilha de tecnologia da Microsoft e implantado no Azure, a integração dos modelos de aprendizado de máquina foi fácil e direta."
Problema de negócios
Para que avelãs sejam adequadas para consumo humano, eles devem atender a determinados requisitos. Um desses requisitos é que as avelãs e devem ser "bem secos" ou conter um nível específico de umidade, que o setor especificou que esteja entre 8. 5% e 11. 5%. Para que os detalhes sejam aceitos pelos compradores, é importante obter o conteúdo da umidade à direita: se for muito baixo, as castanhas serão reduzidas demais; Se for muito alto, as castanhas podem se moldar e estragar.
Para garantir que atinjam esse nível de umidade, após a colheita as avelãs são levadas da fazenda para estações de recebimento e colocadas em secadoras comerciais, que podem conter até 22.700 kg de avelãs cada uma.
Determinar a quantidade de tempo que as avelãs devem gastar nas secadoras para alcançar a umidade desejada pode ser uma arte propensa a erros e é influenciada por várias variáveis, como a variedade de avelãs, o peso do lote, a secadora que está sendo usada, a localização e o clima. A maneira padrão de determinar o conteúdo de umidade é um processo muito manual: alguém é enviado periodicamente para o recipiente para pegar um balde de avelãs, avaliar os grãos, secá-los e, em seguida, examinar a diferença no peso. O processo é repetido várias vezes durante o processo de secagem, e as condições no filtro são menores do que o ideal com ar fahrenheit de 120 graus a 100 mph.
As pessoas que estão fazendo esse processo há algum tempo pressupõem que sabem quando as avelãs estão prontas sem executar o processo de amostragem, o que pode levar a níveis de umidade incorretos e inconsistências de anomalias, o que, por sua vez, resulta em perda de receita para as estações de recebimento e os processadores de avelãs.
Além disso, como um grande volume de avelãs é colhido e processado dentro de uma janela relativamente curta (em 2018, as empresas de processamento de avelãs participantes receberam sessenta e oito milhões de libras de nozes secas das estações receptoras), há um alto valor comercial na otimização do uso dos secadores durante sua operação ininterrupta.
Para resolver esses problemas de negócios, o aplicativo Hazelnut Monitor usa o ML.NET para prever o conteúdo de umidade do lote de avelãs e operadores de alerta quando o nível desejado é atingido.
O objetivo do aplicativo é tornar realmente simples para as pessoas que operam os secadores saberem quando a umidade das nozes está próxima da faixa ideal de umidade, reduzindo a necessidade de amostragem; eventualmente, gostaríamos de chegar ao ponto em que eles não precisariam provar as nozes com tanta frequência."
Por que ML.NET?
Embora o aprendizado de máquina tenha sido uma estratégia incerta para resolver o problema de negócios, não ficou claro a facilidade com que isso seria implementado no aplicativo. No entanto, o lançamento do ML.NET acelerou drasticamente a implementação e, após apenas quatro semanas e meia de desenvolvimento, a Evolution Software teve seu primeiro modelo de aprendizado de máquina para melhorar a previsão do nível de umidade de ML.NET dentro de 2,5 a 3% para 35 máquinas comerciais.
Impacto do ML.NET
Além de monitorar valores medidos, como temperatura, umidade e pressão barométrica, os processadores que operam as secadoras agora têm previsões em tempo real dos níveis de umidade aos quais têm acesso por meio de um cliente web adaptado para dispositivos móveis. O mecanismo de notificação opera tanto para os valores medidos quanto para os previstos, para que os operadores possam receber SMS ou mensagens de e-mail quando o nível-alvo de umidade for atingido.
Esta informação adicional fornece aos operadores maior visibilidade e mais confiança sobre o estado do processo de secagem por meio de seus celulares e outros dispositivos móveis.
Arquitetura da solução
Processamento de dados
O aplicativo usa o SignalR para obter atualizações em tempo real à medida que os dados chegam ao servidor e armazena os dados em bancos de dados SQL. Cada secador tem vários sensores conectados a um hub, que a cada minuto envia os seguintes dados coletados via REST para uma API Web implementada em ASP.NET Core MVC:
Dados adicionais necessários para fazer previsões, tais como hora de início e fim, peso, variedade das avelãs, estrutura (secadora) e local (unidade de secagem) são colhidas manualmente e registradas por trabalhadores da unidade:
Os níveis de umidade das amostras de avelãs (usados para dados de treinamento) também são manualmente coletados e registrados:
Transformações de dados e algoritmos de aprendizado de máquina
O monitor de avelãs usa codificação One-Hot para converter os recursos categóricas (variedade de avelãs, localização de secagem e número de compartimento/estrutura) em tipos de dados float, que é o formato aceito por algoritmos de ML.NET e concatena esses recursos com o Delta, umidade e peso. Essas colunas de recurso são então passadas para um algoritmo de regressão de árvore rápida, que prevê os níveis de umidade das avelãs.
No ano passado, o algoritmo de treinamento foi executado uma vez por dia como uma tarefa agendada, e o modelo de treinamento foi enviado por push como um arquivo zip para o Armazenamento de Blobs do Azure. O modelo foi então carregado no cache dos Serviços de Aplicativos do Azure e usado em novos dados para fazer previsões de nível de umidade. Esta estação, a Evolution Software planeja mover esse processo para uma função agendada do Azure.
Aplicativo cliente
O Monitor de avelãs fornece um portal baseado na Web, compilado com o .NET Core e Aurelia e hospedado no Azure, que fornece ideia sobre operações de secagem em várias localizações. Também inclui um mecanismo de regras e um sistema de notificação (usando o Azure Functions) que pode alertar pessoas chave por meio de SMS e notificações por email quando certas medidas estão fora do intervalo (por exemplo, a temperatura está muito quente ou muito fria), quando os sensores não estão funcionando corretamente, ou quando o conteúdo de umidade alvo é atingido.
O lançamento do ML.NET tornou simples para o Evolution Software adicionar funcionalidades de aprendizado de máquina ao aplicativo Hazelnut Monitor. A empresa conseguiu aproveitar suas habilidades existentes de .NET e C# e ativos de software para passar do zero para um modelo de machine learning em funcionamento em um curto período de tempo e, assim, resolver os problemas de negócios direcionados.
Pronto para começar?
Nosso tutorial passo-a-passo irá ajudá-lo a usar o ML.NET em seu computador.