Данные, модель
и границы её знаний.
Что вошло в обучение, как проверялся результат и чего модель пока не умеет.
Четыре культуры
Картофель, томат, кукуруза и пшеница. В словаре есть болезни, здоровые растения и несколько классов присутствия насекомых. Общая метка «ожог листьев» не уточняет возбудителя, а видимый жук сам по себе не доказывает вред растению.
Модель agrovision-2.0.0 · MobileNetV3 Small · 20 классов
| Культура | Состояние | ID класса |
|---|---|---|
| Картофель | Альтернариоз | potato_early_blight |
| Картофель | Фитофтороз | potato_late_blight |
| Картофель | Здоровое растение | potato_healthy |
| Кукуруза | Совка и признаки её присутствия | maize_fall_armyworm |
| Кукуруза | Саранчовые на растении | maize_grasshopper |
| Кукуруза | Здоровое растение | maize_healthy |
| Кукуруза | Жуки на листе | maize_leaf_beetle |
| Кукуруза | Ожог листьев неопределённой этиологии | maize_leaf_blight |
| Кукуруза | Пятнистость листьев неопределённой этиологии | maize_leaf_spot |
| Кукуруза | Вирусная штриховатость | maize_streak_virus |
| Томат | Здоровое растение | tomato_healthy |
| Томат | Ожог листьев неопределённой этиологии | tomato_leaf_blight |
| Томат | Скручивание листьев | tomato_leaf_curl |
| Томат | Септориоз | tomato_septoria |
| Томат | Вертициллёзное увядание | tomato_verticillium |
| Пшеница | Бурая ржавчина | wheat_brown_rust |
| Пшеница | Здоровое растение | wheat_healthy |
| Пшеница | Мучнистая роса | wheat_mildew |
| Пшеница | Септориоз | wheat_septoria |
| Пшеница | Жёлтая ржавчина | wheat_yellow_rust |
Фотографии с разными условиями съёмки
В основной набор включено 22 329 изображений после проверок. Train: 18 283, validation: 2 177, test: 1 869. Сохранённые синтетические варианты не увеличивают этот объём.
| Источник | Состав | Условия |
|---|---|---|
| PLDD-UP | Картофель · Индия | Естественный фон и отдельные листья на однотонном фоне |
| CCMT Raw Data | Кукуруза, томат · Гана | Смешанные полевые и контролируемые фоны, тени, насекомые |
| JIC Wheat 999 | Пшеница · Великобритания и Ирландия | Поле и теплица, несколько листьев и перекрытия |
Все три источника опубликованы под CC BY 4.0. Авторы, версии и изменения изображений ↗
Это культуры, выращиваемые в России, но российская география снимков не подтверждена. В наборе сохраняется смесь условий съёмки. Название Field v2 не означает, что каждый кадр сделан в поле.
Проверены чтение файлов, размеры, метки и хеши. Точные повторы и конфликты исключены; окна последовательных номеров разделены между частями, а близкие кадры между частями исключены. Чёрные поля по краям удалены консервативно, исходные снимки сохранены. Метки импортированы из источников; нового экспертного осмотра всей коллекции не проводилось.
Измеренное качество
Train используется для обучения, validation — для выбора эпохи и калибровки. Итоговый test открывается после фиксации модели. Accuracy — доля совпадений с метками источников. Macro precision, recall и F1 учитывают все классы с одинаковым весом.
| Показатель | Результат на test |
|---|---|
| Accuracy | 77,0 % |
| Precision · macro | 81,0 % |
| Recall · macro | 80,1 % |
| F1 · macro | 80,1 % |
Версия: agrovision-2.0.0. Размер test: 1 869 изображений.
| Источник test | Снимков | Accuracy | F1 macro |
|---|---|---|---|
| CCMT | 1 444 | 73,5 % | 75,3 % |
| PLDD-UP | 274 | 90,1 % | 89,6 % |
| JIC Wheat | 151 | 86,8 % | 86,8 % |
Отдельная проверка на 416 снимках PlantDoc после исключения близких кадров: accuracy 29,6 %. Только четыре совместимых класса картофеля и томата; эти снимки не участвовали в обучении.
Группы по сходству и номерам снимков уменьшают утечки, но не заменяют подтверждённые идентификаторы растений и хозяйств. Внутренний test и отдельная проверка на интернет-снимках не являются испытанием на новых российских полях.
Confidence — оценка среди известных классов, а не вероятность болезни. При низкой уверенности сервис предлагает повторный снимок. Высокая уверенность тоже не исключает ошибку: отдельного детектора неизвестных объектов и болезней нет.
Посмотреть модель в работе
Живая демонстрация показывает реальные ответы, альтернативные классы, ошибки и карту внимания. Для каждой культуры подобраны совпадения с разметкой и пример ошибки, если она есть. Частоту ошибок следует смотреть по полному test, а не по этой небольшой галерее.
Что требует дополнительной проверки
- Другие культуры и болезни вне словаря, смешанные инфекции и дефициты питания.
- Новые хозяйства, сорта, сезоны и камеры, которых нет в источниках.
- Снимки с БПЛА, слишком мелкие объекты, сильное размытие и пересвет.
- Классы с малым числом примеров и широкими интервалами неопределённости.
Метка «здоровое растение» означает сходство с соответствующим классом и не исключает скрытое заболевание. Решения об обработке требуют обследования и заключения агронома.
Что происходит с фотографией
Снимок передаётся на сервер проекта, обрабатывается моделью и не сохраняется: файл, имя файла и EXIF не записываются. Для статистики работы сервиса в базу сохраняется обезличенный результат: классы и оценки модели, время обработки, формат и размер изображения. IP-адреса в базу не записываются. Результат можно скачать самостоятельно. Посещаемость считается суммарно: число просмотров каждой страницы за день и вид источника перехода (поиск, ссылка с другого сайта, прямой заход), без данных о посетителях. Регистрация, cookies, сторонние счётчики, рекламная аналитика и внешние шрифты не используются.
Программный интерфейс
Один файл в multipart-поле file: JPEG, PNG или WebP, до 10 МБ и 24 мегапикселей, минимальная сторона 32 пикселя. Параметр explain=true добавляет карту Grad-CAM.
curl -X POST "https://agrovision.obvium.ru/api/predict?explain=true" \
-F "file=@leaf.jpg"Ответ содержит prediction, top_k, uncertain, warnings, model_version, request_id, inference_ms и, при запросе карты, explanation. Оценки confidence находятся в диапазоне 0–1.
| Метод и путь | Назначение |
|---|---|
| GET /api/health | Готовность сервиса |
| GET /api/model | Версия, метрики, классы и ограничения |
| GET /api/classes | Словарь классов |
| POST /api/predict | Анализ и дополнительная карта внимания |
HTTP 400 — ошибка изображения, 413 — превышение размера, 415 — формат, 429 — превышен лимит запросов или сервис занят, 503 — модель недоступна. Текст ошибки приходит в error.message. Лимит — 12 анализов в минуту с одного адреса.