Дроны с гиперспектральными камерами над полями; роботы с обычными камерами в теплицах; камеры высокого разрешения, установленные в вертикальных фермах; приложения в смартфоне, позволяющие по фотографии определить болезнь растений, — все это сегодня стало реальностью. Использование различных устройств вместе с технологиями искусственного интеллекта позволяет увеличить урожайность и минимизировать потери в сельском хозяйстве. В 2017 году в Объединенном институте ядерных исследований стартовал проект платформы для определения болезней растений по изображениям и текстовому описанию. Для решения данной задачи используются сверточные нейронные сети, ставшие сегодня «золотым стандартом» в классификации изображений. В большинстве случаев применяется подход «переноса обучения» (transfer learning) — берется уже обученная на большом количестве изображений хорошо зарекомендовавшая себя нейронная сеть, например, VGG, Mobilenet, Xception или ResNet, и ее последний слой, отвечающий за классификацию, заменяется с последующим дообучением на изображениях из конкретной предметной области. В этом случае для достижения положительных результатов требуются сотни изображений для каждого определяемого класса.

Собрать обширную базу по болезням растений достаточно проблематично, хотя такие попытки предпринимались, например, во многих исследованиях использовалась база PlantVillage, которую мы применили вместе с подходом переноса обучения на болезнях винограда и получили точность распознавания 99%. Однако на тестовой базе изображений из Сети точность модели оказалась менее 60%. Причина — синтетическая природа PlantVillage: одинаковое освещение, положение растения, сепарация, отсутствие заднего фона и прочие факторы, которых нет в реальной жизни. Для обучения модели, которую можно было бы использовать, требовалась база, содержащая изображения, полученные в полевых условиях. Кроме непосредственно модели, определяющей болезни растений, нужны еще механизмы взаимодействия с ней, а также средства работы с описанием болезней, рекомендациями по их лечению, запросами пользователей и прочими объектами. В итоге была создана платформа pdd.jinr.ru.

База для первой версии платформы была собрана из открытых источников и содержала 350 изображений для пяти болезней винограда. Однако такой объем обучающей выборки не позволил получить приемлемых результатов при использовании стандартного подхода переноса обучения — следовало искать альтернативные варианты решения. Наиболее перспективным оказалось применение сиамских нейронных сетей, которые ранее не применялись для классификации болезней растений, но хорошо показали себя в области распознавания лиц. В данной технологии используются одинаковые сети, на вход которым подаются пары изображений одинакового или разных классов, и в результате процесса обучения сеть должна научиться хорошо разносить многомерные вектора изображений различных классов в пространстве свойств. В итоге при определении болезней растений удалось добиться точности в 98%, причем на изображениях из реальной жизни (рис. 1). Однако при расширении базы до 25 классов изображений было обнаружено ухудшение точности и следовало искать дополнительные варианты оптимизации нейросетевой архитектуры.

Рис. 1. Архитектура сиамской нейронной сети, использовавшаяся на ранних стадиях исследования

В первую очередь была использована трехчленная функция минимизации потерь. При таком подходе используются три сети с одинаковыми весами, на вход которым подаются два изображения одного класса и одно изображение другого класса. Процесс обучения направлен на подбор весов таким образом, чтобы в многомерном пространстве векторы-представления изображений одного класса стали ближе, а разных классов — максимально удалились друг от друга [1]. На рис. 2 представлено распределение многомерных векторов изображений разных классов до и после обучения. Даже в двумерном пространстве видно, что после обучения пересечение классов минимально.

Рис. 2. Представление векторов изображений различных классов в двумерном пространстве: a) до обучения сети с трехчленной функцией минимизации потерь; б) после обучения

В качестве базовой сети было решено использовать хорошо зарекомендовавшую себя нейросетевую архитектуру — MobileNet_v2, обладающую как хорошими показателями точности и скорости, так и компактностью, что позволяет применять ее на мобильных устройствах. В дальнейшем стало понятно, что из-за частоты обновления моделей и описаний болезней проще запускать распознавание на сервере, а пользователю выдавать уже готовый результат. База изображений продолжала расширяться, и когда количество классов изображений превысило 40, а общее количество изображений — 2000, точность модели опустилась ниже 90%. Требовалось искать дополнительные варианты для оптимизации архитектуры и процесса обучения. Для этого были использованы алгоритмы поиска оптимальных политик аугментации (AutoAugment), а базовая сеть MobileNet_v2 была заменена на сеть, обученную без учителя на большом количестве изображений растений (unsupervised learning). Это позволило даже при числе классов более 50 поддерживать точность моделей выше 95%.

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

Задачи распознавания могут быть запущены через веб-портал, но основная точка входа пользователей — приложение DoctorP для ОС Android (рис. 3).

Искусственный интеллект против болезней растений
Рис. 3. Примеры интерфейсов приложения DoctorP

Запуск моделей на мобильных устройствах сопряжен с частым обновлением версий, поэтому было решено хранить и запускать модели на сервере, а пользователям выдавать готовый результат. Платформа pdd.jinr.ru развернута в облаке и при необходимости ее можно масштабировать, а для взаимодействия мобильного приложения с платформой был разработан программный интерфейс. Так как рассматривалась возможность предоставления доступа сторонних организаций к функционалу платформы, то в API были заложены все необходимые для этого механизмы.

В платформе реализованы инструменты для различных групп пользователей: рядовые пользователи, администраторы, эксперты и представители сторонних сервисов. Первые могут просматривать историю своих запросов и вести переписку с администраторами. Эксперты-агрономы — просматривать запросы пользователей и запрашивать добавление изображений в общую базу (рис. 4). Представители сторонних сервисов — получать отчеты по количеству запросов, которые поступили из их приложений.

Рис. 4. Интерфейс эксперта-агронома

Только за первую половину 2022 года платформой обработано более 20 тыс. запросов, в базе собрано 4 тыс. изображений, общая модель способна распознавать более 50 различных болезней и вредителей, а для 12 культур имеются специализированные модели.

Компания «Гарден Ритейл Сервис» (ранее «Фаско») интегрировала свое приложение HoGa с платформой, для предоставления своим пользователям возможностей распознавания ряда болезней. Осуществляется совместный проект с НЦМУ «Агротехнологии будущего» на базе Тимирязевской академии, в рамках которого предложенные нейросетевые модели используются для отслеживания влияния освещения на развитие растений. Исследования в данном направлении позволят, опираясь на оценки параметров развития, получаемые от модели, подобрать оптимальные схемы по освещению, поливу, питанию и прочим аспектам выращивания сельскохозяйственных культур. Кроме того, реализован проект, в рамках которого решалась задача обнаружения признаков болезни при анализе видеопотока, — здесь модели использовались в связке с архитектурой для отслеживания объектов — YOLOv5.

***

В сельском хозяйстве сегодня все шире применяются технологии искусственного интеллекта, в частности, для прогноза заболеваний и получения детальных рекомендаций по лечению. Применяемая в платформе pdd.jinr.ru нейросетевая архитектура позволяет с точностью более 95% распознавать 55 классов различных болезней и вредителей. В перспективе в платформу будут добавлены возможности обработки видеопотока, модели для определения нехватки основных элементов (азот, фосфор, кальций, железо и т. д.), а также средства формирования рекомендаций по выращиванию и мониторингу развития наиболее востребованных сельскохозяйственных культур.

Литература

Uzhinskiy A., Ososkov G., Goncharov P., Nechaevskiy A., Smetanin A. Oneshot learning with triplet loss for vegetation classification tasks // Computer Optics. 2021; 45 (4): 608–614. DOI: 10.18287/2412-6179-CO-856.

Александр Ужинский (auzhinskiy@jinr.ru) — ведущий программист, ОИЯИ (Дубна).

DOI: 10.51793/OS.2022.92.99.001