Samurai Jack
Samurai Jack

Сегодня мы поделимся опытом создания решения автоматизации процесса уборки полей и разберемся с особенностями обучения ML-моделей для агропромышленной отрасли. Это очень объемная тема, поэтому мы начнем с особенностей работы с данными в агротехе, и обсудим, как ML-решения помогают формировать задания для агрономов, и почему точной модели не всегда достаточно, чтобы спланировать уборку полей. В следующих постах перейдем к более детальному разбору.

В последние годы ML&AI технологии все чаще используются в сельскохозяйственном секторе. Согласно отчету MarketsandMarkets, мировой рынок машинного обучения в сельском хозяйстве к 2026 году достигнет 4 млрд долларов при совокупном годовом темпе роста 25,5%. Бурное развитие направления обусловлено внедрением методов точного земледелия и наличием данных из самых разных источников — от спутниковых снимков до датчиков IoT. Кроме того, в 2021 году глобальные инвестиции в агротехнологические стартапы достигли рекордной отметки в 5 млрд долларов. Причем их значительная часть приходится на компании, специализирующиеся на ML&AI. Согласно исследованиям, внедрение методов умного земледелия повышает урожайность до 15% и доход — до 20%.

ML&AI решения хорошо показывают себя в сельскохозяйственных процессах, и все крупные игроки движутся в этом направлении и запускают инновационные проекты. Российские компании не стали исключением. Один из крупнейших отечественных агрохолдингов обратился к нам с задачей автоматизации процесса уборки полей. Требовалось реализовать алгоритм, который будет прогнозировать ряд характеристик сельскохозяйственных культур (спелость, урожайность и т. д.) и составлять план уборки с учетом имеющихся ресурсов.

Специфика агротеха

Важнейший критерий успеха ML-моделей — наличие качественных данных для обучения. Мы использовали информацию о температуре воздуха, осадках, влажности почвы, а также коэффициент «зелености» растений NDVI (рассчитывается на основе спутниковых снимков). Кроме того, у нас был доступ к экспертным отчетам, которые специалисты заполняют по итогам осмотра полей.

Во время изучения данных мы выявили несколько особенностей, характерных для сельскохозяйственного сектора:

  • Сезонность. Даже эксперты не могут заблаговременно прогнозировать, как особенности текущего сельскохозяйственного года скажутся на сроках созревания и объемах урожая.

  • Неполные данные. Например, если в регионе месяц держится пасмурная погода, спутник просто не сможет определить состояние поля.

  • Человеческий фактор. Многие важные данные агрономы фиксируют прямо в поле с помощью смартфона или планшета. Однако при вводе данных случаются опечатки и другие ошибки.

  • Точность прогноза погоды. Точность погодных данных напрямую зависит от плотности метеостанций, которая на необъятных просторах нашей родины может равняться одной станции на 10 000 км². Понятно, что для системы, которая должна отслеживать осадки на каждом отдельном поле, этого недостаточно. Чтобы получить достоверную картину происходящего на поле, нужно учитывать данные с соседних площадок.

Немного о бизнесе

Рассмотрим бизнес-процесс, частью которого является разработанное решение. Система автоматически создает задания по осмотру полей исходя из имеющихся данных об их состоянии. На следующий день специалисты должны посетить указанные площадки и измерить показатели сельскохозяйственной культуры — влажность, классность, наличие болезней и др.

После получения этих данных система может достаточно точно прогнозировать ежедневное изменение параметров культуры, основываясь на информации о температуре воздуха и осадках в регионе. Незначительная погрешность в прогнозах имеет свойство накапливаться, но в течение нескольких недель у вас будет четкое понимание ситуации на конкретном поле. Кроме того, система использует эту информацию при составлении прогнозов для соседних площадок.

Как только система фиксирует, что параметры культуры достигли определенного уровня, она отмечает поле как «готовое к уборке» и включает в план.

Этот подход снимает с агрономов необходимость постоянно проводить осмотр полей для определения фактических значений по ряду характеристик культуры. Бизнесу все равно, когда именно специалист будет проверять площадку. Важнее понимать, какие поля созреют раньше, а какие — заметно позже. Тем более возможности агрономов сильно ограничены, и они физически не могут обследовать больше нескольких площадок за день. Это может привести к потере урожая.

ML, формулы и эксперты

Во время решения задачи выяснилось, что за счет одних погодных данных достичь нужной точности прогнозов невозможно. Мы добавили на вход модели научные наработки в области сельского хозяйства — формулы и методы, позволяющие прогнозировать состояние культур по дате посева и различным «погодным средним». Кроме того, мы доработали формулы с помощью имеющихся исторических данных, чтобы модель точнее отражала текущую ситуацию в каждом регионе. После добавления этих фич точность прогнозов резко возросла.

Но просто сделать точный прогноз недостаточно, ведь есть масса факторов, которые система не может учитывать. Например, если нужно освободить агрономов от заданий, дать возможность механизаторам поработать сверхурочно, учесть форс-мажор, который привел к остановке осмотров/уборки полей в регионе. Может возникнуть необходимость начать работу раньше оптимального, по мнению системы, срока. Для решения этих задач мы вынесли некоторые гиперпараметры в конфиг, доступ к которому есть у ответственных специалистов. Ориентируясь на собственное видение рынка и ситуацию на полях, они могут воздействовать на решения, которые принимает модель. Например, снижать или наращивать темп уборки в конкретных регионах.

Отдельно отметим уже упомянутую проблему «сезонности». Чтобы решить эту задачу, мы включили в пайплайн блок дообучения модели с учетом актуальных данных. Благодаря этому система может оперативно реагировать на аномальные погодные условия.

 Пайплайн работы

Алгоритм работы решения можно разделить на несколько логических блоков:

  • Загрузка актуальных данных

  • Очистка и предобработка данных

  • Вычисление признаков, необходимых для работы модели

  • Краткосрочное моделирование состояния продукции

  • Дообучение модели

  • Прогнозирование

  • Создание заданий для осмотра полей

  • Построение плана уборки

Рис. 1. Компонентная архитектура решения
Рис. 1. Компонентная архитектура решения

Реализованная нами система построена на базе открытых решений. Основная логика реализована в виде Python-скриптов, для их оркестрации используется Apache AirFlow. Аналитика ситуации на полях и результатов работы системы ведется с помощью дашбордов Grafana.

Интерфейс системы

Дашборды

Они отображают актуальную информацию о состоянии полей, прогнозы и всевозможные метрики, которые высчитываются в процессе работы алгоритма. Также с помощью дашбордов можно следить за ходом уборки и загруженностью механизаторов и контролировать задания для агрономов (в том числе создавать и удалять).

Рис. 2. Дашборд с общей информацией по полю
Рис. 2. Дашборд с общей информацией по полю

Карта

Мы реализовали наглядную карту, которая показывает, куда и когда отправится техника в ближайшее время. На нее выведена сводная информация по каждому полю и ссылки на соответствующие дашборды.

Рис. 3. Карта уборки полей
Рис. 3. Карта уборки полей

Email-уведомления

Система уведомляет ответственных специалистов о каждом значимом событии.

Интерфейс конфигурации

Для корректировки поведения системы в нестандартных ситуациях мы разработали модуль настройки, который интегрирован в Grafana. Он помогает заметно снизить расходы на поддержку решения.

Summary

Наше решение позволяет повысить системность при уборке: автоматизирует формирование заданий для агрономов и составление плана уборки полей. На основе статистических данных и показателей с каждой площадки решение точно прогнозирует ряд ключевых характеристик продукции. Это помогает кратно снизить нагрузку на специалистов на местах, оптимизировать логистические процессы и снизить потери урожая.

Алексей Андреев, специалист центра машинного обучения «Инфосистемы Джет»

Статья опубликована в журнале Jetinfo

Комментарии (4)


  1. kovserg
    19.09.2023 12:48
    +1

    Как упростить жизнь агрономов

    Снизить цены на солярку. Не бред какой-то, будет продавать агрономам новые умные ml модели. Пусть будет еще один головняк, в дополнение уже имеющимся.


    1. JetHabr Автор
      19.09.2023 12:48

      Зря вы полагаете, что мотивацией и результатом сложного технологического проекта является "головняк") Рекомендуем сначала прочитать статью, а потом делать выводы.


      1. kovserg
        19.09.2023 12:48

        Анализ данных и прогнозирование это конечно благородное дело. Но это как прогноз погоды на 100 лет очень точный, а вот на несколько дней — обязательно что-то не сходится. Но без удобрений и средств борьбы с вредителями, а также районированного семенного фонда, урожай будет меньше даже с умной моделью. А главное потом, хряп: кредиты подорожали, цены на зерно ниже себестоимости или мощностей для переработки нет — модель это тоже учитывает, и в таких случаях советует коноплю выращивать для борьбы с борщевиком?


        1. JetHabr Автор
          19.09.2023 12:48

          Использование ML-моделей не отменяет борьбу с вредителями и удобрение почвы. Один разработанный сервис решает одну задачу: например, порядок уборки полей. Он дает рекомендации, когда какое поле убирать, и позволяет избежать потерь и убытков. Стоимость кредита не имеет к этому процессу прямого отношения. Что же касается погоды, - метеоданные обновляются постоянно.