Разработка AI-системы детекции болезней растений
Фитофтора на томатах при правильных погодных условиях уничтожает 80% урожая за 10 дней. Проблема не в том, что болезнь неизлечима — проблема в том, что к моменту, когда агроном визуально замечает симптомы, поражение уже распространилось на 15–20% листовой поверхности. Мы разрабатываем системы компьютерного зрения, которые фиксируют поражение при 3–5% площади листа, давая окно в 3–4 дня для обработки. Наш многолетний опыт и гарантия точности не ниже 90% позволяют агрохолдингам снижать потери урожая на 30–50%. Окупаемость системы — менее одного сезона за счёт снижения потерь урожая. Экономия на средствах защиты растений может достигать 40%. Мы уже реализовали 15+ проектов в этой области.
Как улучшить точность детекции болезней растений?
Главная техническая сложность — межклассовая схожесть симптомов. Хлороз от дефицита железа и ранняя стадия мучнистой росы на листе огурца визуально практически идентичны — оба дают светлые пятна с расплывчатыми краями. Модель, обученная только по цвету пятна, систематически путает их.
Почему мультипризнаковый анализ превосходит RGB-классификацию?
Для решения используем мультипризнаковый анализ, который включает:
- Текстурные признаки пятна (LBP, Haralick features через
skimage.feature) - Геометрия поражения: форма, соотношение периметра к площади
- Паттерн распространения по листу (краевое vs центральное vs диффузное)
- Стадия вегетации как контекст (молодые листья дают другие паттерны)
Для этого хорошо работает dual-stream архитектура: один поток обрабатывает RGB-патч через EfficientNet, второй — вычисленные текстурные карты через лёгкий MobileNetV3. Выходные эмбеддинги конкатенируются перед финальным классификационным головком. На датасете PlantVillage + собственной разметке по 14 культурам такая архитектура даёт top-1 accuracy 0.93 против 0.87 у однопотокового EfficientNet-B4 — прирост в 1.07 раза.
Что выбрать: детекцию или сегментацию?
Для полевых условий нужна детекция, а не просто классификация патча. YOLOv8 или RT-DETR выдают bounding box с классом болезни и confidence в реальном времени — критично для мобильного приложения, которым агроном пользуется прямо в поле.
Из практики: YOLOv8m на датасете 12 000 аннотированных снимков листьев (8 болезней, 4 культуры) после fine-tuning показал mAP50 = 0.81. Проблемные классы — ранняя пятнистость и альтернариоз (IoU < 0.5 на 23% предсказаний) из-за перекрывающихся поражений. Решение: instance segmentation вместо bbox — Mask R-CNN или YOLOv8-seg позволяет разделять перекрывающиеся очаги.
| Модель | mAP50 | mAP50-95 | FPS (мобильный GPU) |
|---|---|---|---|
| YOLOv8n | 0.73 | 0.51 | 42 |
| YOLOv8m | 0.81 | 0.58 | 18 |
| RT-DETR-L | 0.84 | 0.62 | 12 |
| YOLOv8m-seg | 0.79 | 0.57 | 14 |
YOLOv8n INT8 работает в 3,5 раза быстрее RT-DETR-L при сопоставимой точности (0.73 vs 0.84, но на мобильном устройстве скорость важнее).
Деплой в полевых условиях
Два сценария с разными требованиями:
Мобильное приложение для агронома. Модель — ONNX + ONNX Runtime Mobile на Android/iOS. YOLOv8n INT8 работает на Snapdragon 8 Gen 2 с задержкой 45–70 ms, что вполне приемлемо для съёмки с руки. Приложение работает offline, результаты синхронизируются при подключении.
Система на дроне. NVIDIA Jetson Orin NX (16 GB) + TensorRT engine. Инференс в реальном времени при съёмке 4K 30 fps, детекция на каждом 5-м кадре, координаты поражённых точек пишутся в GeoJSON.
Сравнение производительности на разных платформах:
| Платформа | Модель | Задержка (ms) | Память (MB) |
|---|---|---|---|
| Snapdragon 8 Gen 2 | YOLOv8n INT8 | 45–70 | 4.2 |
| Jetson Orin NX | YOLOv8m FP16 | 12–18 | 28 |
Данные: разметка и расширение датасета
Публичных размеченных датасетов по болезням растений достаточно для старта (PlantVillage — 87 000 изображений, 38 классов болезней). Однако для конкретных культур и регионов нужно дообучение на собственных данных — болезни выглядят по-разному в разных климатических зонах и на разных сортах.
Какие данные нужны для обучения модели?
Ускоряем разметку через active learning: модель после первичного обучения выбирает наиболее «неуверенные» примеры (entropy sampling), агроном размечает только их. На практике это сокращает объём ручной разметки на 40–60%.
Как проходит разработка: пошаговый план
- Аудит данных и определение перечня болезней
- Сбор и разметка полевых данных (при необходимости)
- Разработка и обучение моделей (transfer learning)
- Валидация в полевых условиях, итерации
- Деплой в мобильное приложение или на edge-устройство
- Мониторинг дрейфа, поддержка и переобучение
- Документация по API и эксплуатации
- Обучение агрономов работе с системой
Выполняем проекты под ключ: от сбора данных до деплоя. Оценим ваш проект за 2 дня. Свяжитесь с нами для консультации. Закажите предварительный аудит вашего проекта.
Типичные ошибки при разметке
- Неоднозначные границы поражений
- Разметка на разных стадиях вегетации
- Неправильная идентификация схожих болезней
Сроки
Система детекции для одной культуры и 5–8 болезней: 6–10 недель при наличии размеченных данных. Многокультурная платформа с мобильным приложением и серверным компонентом: 3–4 месяца. Стоимость рассчитывается индивидуально.
Наша компания 5 лет на рынке, выполнила 15+ проектов по машинному зрению в агросекторе.







