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#, чтобы добавить в приложение возможности машинного обучения. Так как остальная часть приложения разработана с использованием стека технологий Майкрософт и развернута в Azure, интеграции модели машинного обучения были простыми и понятными".
Бизнес-проблема
Чтобы фундук был пригоден для употребления в пищу человеком, он должен соответствовать определенным требованиям. Одно из таких требований заключается в том, что фундук должен быть «хорошо высушен» или иметь определенный уровень влажности, который в соответствии с требованиями промышленности составляет от 8,5% до 11,5%. Чтобы орехи были приняты покупателями, важно правильно определить влажность: если она слишком низкая, орехи слишком сильно сожмутся; если она слишком высокая, орехи могут заплесневеть и испортиться.
Чтобы гарантировать, что фундук достигнет этого уровня влажности, после сбора урожая его доставляют с фермы на приемные станции и помещают в коммерческие сушилки, каждая из которых может содержать до 22,68 тонн фундука.
Определение количества времени, которое фундук должен провести в сушилках для достижения заданной влажности, может быть подвержено ошибкам и зависит от множества переменных, таких как сорт фундука, вес партии, используемая сушилка, местоположение и погода. Стандартный способ определения содержания влаги — очень ручной процесс: кого-то периодически посылают в сушилку, чтобы вычерпать ведро орехов, взвесить ядра, высушить их, а затем посмотреть на разницу в весе. Процесс повторяется несколько раз в процессе сушки, и условия в сушилке далеки от идеальных, когда воздух с температурой 120 градусов по Фаренгейту дует со скоростью 100 миль в час.
Люди, которые занимаются этим процессом некоторое время, часто предполагают, что они знают, когда фундук будет готов, не выполняя процесс отбора проб, что может привести к неправильным уровням влажности и несоответствиям от сушилки к сушилке, что, в свою очередь, приводит к упущенной выгоде для приемных станций и переработчиков фундука.
Кроме того, поскольку большой объем фундука собирают и перерабатывают каждую осень в течение относительно короткого промежутка времени (в 2018 году участвующие компании-переработчики фундука получили шестьдесят восемь миллионов фунтов сушеных орехов с приемных станций), оптимизация использования сушилок при их круглосуточной работе имеет большое значение для бизнеса.
Для решения этих бизнес-проблем приложение Hazelnut Monitor использует ML.NET для прогнозирования содержания влаги в орехах в сушильной партии и оповещения операторов о достижении целевого уровня.
Цель приложения состоит в том, чтобы сделать так, чтобы люди, работающие на сушилках, могли легко узнать, когда влажность орехов близка к оптимальному диапазону влажности, при этом уменьшая потребность в отборе проб. В конечном итоге мы хотели бы получить до такой степени, что им не нужно так часто проверять орехи".
Почему ML.NET?
Хотя машинное обучение казалось перспективной стратегией для решения бизнес-задачи, было неясно, насколько сложно будет внедрить его в приложение. Однако выпуск ML.NET значительно ускорил реализацию: всего за 4,5 недели разработки Evolution Software удалось создать свою первую модель машинного обучения для более эффективного прогнозирования уровня влажности орехов в пределах 2,5–3 % для 35 коммерческих сушилок.
Влияние ML.NET
В дополнение к отслеживанию измеряемых значений, таких как температура, влажность и атмосферное давление, процессоры, управляющие осушителями, теперь имеют прогнозы уровней влажности в режиме реального времени, доступные им через удобный для мобильных устройств веб-клиент. Механизм уведомлений работает как с измеряемыми, так и с прогнозируемыми значениями, поэтому операторы могут получать SMS или сообщения электронной почты при достижении целевого уровня влажности.
Эта дополнительная информация позволяет операторам лучше видеть и больше доверять состоянию процесса сушки с помощью своих мобильных телефонов и других устройств.
Архитектура решения
Обработка данных
Приложение использует SignalR для получения обновлений в реальном времени по мере поступления данных на сервер и сохранения данных в базах данных SQL. Каждая сушилка имеет несколько датчиков, подключенных к концентратору, который каждую минуту отправляет следующие собранные данные с помощью REST в веб-API, реализованный в ASP.NET Core MVC:
Сбор и регистрация необходимых для прогнозирования дополнительных данных, таких как время начала и окончания, вес, сорт фундука, структура (сушилка) и местоположение (оборудование сушильного отделения), выполняется работниками предприятия вручную:
Уровни влажности образцов фундука (используемые для обучения) также собираются и регистрируются вручную:
Преобразования данных и алгоритмы машинного обучения
Hazelnut Monitor использует горячее кодирование для преобразования категориальных признаков (сорт фундука, расположение сушилки и номер бункера/структуры) в типы данных с плавающей запятой, что является форматом, принятым алгоритмами ML.NET, и объединяет эти функции с дельтой температуры, дельтой влажности и весом. Затем эти столбцы характеристик передаются алгоритму быстрой регрессии дерева, который прогнозирует уровень влажности фундука.
В прошлом году алгоритм обучения запускался один раз в день как запланированная задача, а затем обученная модель загружалась в виде ZIP-файла в хранилище BLOB-объектов Azure. Затем модель загружалась в кэш служб приложений Azure и использовалась с новыми данными для прогнозирования уровня влажности. В этом сезоне Evolution Software планирует перенести этот процесс в запланированную функцию Azure.
Клиентское приложение
Hazelnut Monitor предоставляет веб-портал, созданный с помощью .NET Core и Aurelia и размещенный в Azure, который предоставляет информацию об операциях сушки в разных местах. Он также включает механизм правил и систему уведомлений (с использованием функций Azure), которые могут оповещать ключевой персонал с помощью SMS и уведомлений по электронной почте, когда определенные измерения выходят за пределы допустимого диапазона (например, температура слишком высокая или слишком низкая), когда датчики неисправны, или когда достигнуто целевое содержание влаги.
Выпуск ML.NET упростил для Evolution Software добавление возможностей машинного обучения в приложение Hazelnut Monitor. Компания смогла использовать имеющиеся у нее навыки и программные активы в области .NET и C#, чтобы за короткий промежуток времени перейти с нуля к функционирующей модели машинного обучения и тем самым решить целевые бизнес-проблемы.
Готовы приступить?
Наше пошаговое руководство поможет вам запустить ML.NET на вашем компьютере.