Evolution Software 通过 ML.NET 提高榛子质量
客户
Evolution Software Design, Inc.
产品和服务
ML.NET
Azure
.NET Core
ASP.NET Core
Entity Framework Core
SignalR
SQL Server
Xamarin
行业
顾问
组织规模
小型(1-100 名员工)
国家/地区
美国
Evolution Software Design, Inc. 是一家咨询公司,它通过战略技术解决方案和开发医疗保健、电子商务、农业、企业应用程序,帮助其他组织更有效地应用技术。该公司最近的一项投资是榛子行业,它与各种企业合作,通过机器学习和 ML.NET,提高从农场到消费者的榛子质量。
ML.NET 便于利用现有的 .NET 和 C# 技能和软件资产以将机器学习功能添加到应用程序。由于应用程序的其余部分使用 Microsoft 技术堆栈进行开发并在 Azure 上部署,因此机器学习模型的集成十分简单明了。”
业务问题
榛子要适合人类食用,必须满足一定的要求。其中一个要求是榛子必须 “干透”,或者含有特定含量的水分,行业规定水分含量应在 8.5% 到 11.5% 之间。如果要获得买家的接受,必须达到正确的水分含量。如果水分含量太低,榛子将收缩过度,而如果水分含量抬高,则可能发霉变质。
为确保榛子达到这一湿度水平,它们在收获后将被从农场运到接收站,并放置在最多可容纳 50000 磅榛子的工业烘干机中。
确定榛子在烘干器中到达目标湿度所花费的时间量是容易出错的事情,会受到多种变量的影响,例如榛子品种、批重量、烘干机状况、位置、天气。 确定湿度的标准方法是一个非常手动的过程: 派一个人定期去烘干器中舀一碗榛子,称仁的重量,烘干,然后计算重量差异。该过程要在烘干工艺中重复多次,且烘干器中的条件不太理想,达不到适宜的 120 华氏度和 100 mph 空气流速。
执行此过程一段时间的用户通常会假定他们在不执行采样过程的情况下也知道榛子何时好,这可能会导致烘干器机器之间的湿度水平不正确或不一致,进而导致接收站和榛子处理商的收入损失。
此外,由于每年秋季都会在相对较短的时段内收集和处理大量榛子(在 2018 年,参与的榛子处理公司从收货站接收了 6,800 万磅的榛子),因此在全天候操作期间优化烘干机的使用具有较高的商业价值。
为了解决这些业务问题,榛子监视器应用程序使用了 ML.NET 来预测烘干批处理中坚果的湿度,并在达到目标级别时发出警报运算符。
该应用旨在让正在操作烘干器的人员轻松了解坚果湿度接近最佳湿度范围的时间,同时减少采样需求;最后,我们希望实现: 他们不必频繁采样坚果。”
为什么选择 ML.NET?
虽然机器学习似乎是一种解决业务问题的策略,但在应用程序中实现这一点的难易程度是不清楚的。但是,ML.NET 的发布极大地加速了实现,在开发仅四周半之后,Evolution Software 就创建了第一个机器学习模型,成功地将 35 个商业烘干器预测榛子湿度水平的误差控制在了 2.5-3% 之间。
ML.NET 的影响
现在,除了监视度量的值(例如温度、湿度和气压)外,操作烘干器的处理器还会实时预测可通过移动友好型 Web 客户端访问的湿度级别。 通知引擎同时对度量和预测的值进行操作,因此当达到目标湿度级别时,操作员可以收到短信或电子邮件。
此附加信息通过移动电话和其他设备让操作员能更好地了解干燥过程的状态并对其更有信心。
解决方案体系结构
数据处理
当数据到达服务器时,应用使用 SignalR 获取实时更新,并将数据存储在 SQL 数据库中。每个烘干机都有多个传感器连接到一个集线器,集线器每分钟通过 REST 将收集到的以下数据发送到 ASP.NET Core MVC 中实施的 Web API:
进行预测所需的其他数据(如开始和结束时间、重量、榛子品种、结构(干燥机)和位置(干燥设施))由设施的工作人员手动收集和记录:
榛子样本(用于训练数据)的水分含量也是手动收集和记录的:
数据转换和机器学习算法
榛子监视器使用 独热编码 将分类特征(各种元素、烘干器的位置和箱/结构号)转换为浮点数据类型(ML.NET 算法接受的格式),并将这些特征与温度增量、湿度增量和重量相连接。然后,将这些功能列传递到 快速树回归算法,用于预测榛子的湿度级别。
去年,算法定型作为计划任务每天运行一次,然后将经过定型的模型作为 zip 文件推送到 Azure Blob 存储中。然后将该模型加载到 Azure 应用服务缓存中,并用于新数据以进行湿度预测。本季,Evolution Software 计划将此过程转移到计划的 Azure 函数。
客户端应用程序
Hazelnut Monitor 提供了一个基于 Web 的门户,该门户是使用 .NET Core 和 Aurelia 构建的并托管在 Azure 上,通过它可深入了解多个位置的干燥操作。它还包括一个规则引擎和一个通知系统(使用 Azure Functions),当某些测量值超出范围(例如,温度太热或太冷)、传感器出现故障或当达到目标水分含量时,该系统可以通过短信和电子邮件通知提醒关键人员。
ML.NET 的发布使 Evolution Software 能够直接将机器学习功能添加到榛子监视器应用程序中。 该公司利用其现有的 .NET、C# 技能和软件资产,在短时间内从头开始开发机器学习模型,从而解决目标业务问题。
准备好开始使用了吗?
分步教程将帮助你在计算机上运行 ML.NET。