Основні проблеми розпізнавання рослин по фото
Користувач фотографує незнайому квітку в парку — через секунду очікує назву, опис та попередження про токсичність. Технічно задача не нова: у PlantNet та Google Cloud Vision є готові endpoints. Але різниця між «працює в демо» та «працює в продакшн» ховається в обробці поганих фото та UX при низькій впевненості моделі. За п'ять років ми накопичили досвід у цьому напрямку та гарантуємо стабільний результат. Гібридний підхід (on-device + хмара) дозволяє поєднати швидкість офлайну та точність хмари, скорочуючи витрати на хмарні запити вдвічі.
Проблеми, які вирішуємо
- Неякісні знімки. Розмиті, темні, без листя або квіток. Без фільтрації такі зображення ведуть до порожніх API-запитів та поганого досвіду. Ми використовуємо фільтр Лапласіана для оцінки різкості та окремий класифікатор на EfficientNet для детекції рослини.
- Низька впевненість моделі. Коли топ-1 кандидат має ймовірність 30%, потрібно коректно відображати невизначеність. Ми показуємо топ-3 з відсотками впевненості та пропонуємо користувачеві уточнити знімок.
- Офлайн-режим. Користувачі очікують роботи без інтернету, але on-device моделі поступаються хмарним у точності, особливо для рідкісних видів. Ми рекомендуємо гібрид: офлайн для швидкої відповіді, хмара для уточнення при хорошому з'єднанні.
Як ми це робимо: стек та принципи
Основний стек: Swift, Kotlin, CoreML/TFLite для on-device, Plant.id API або PlantNet для хмарної верифікації. Ми використовуємо EfficientNet-B4, донавчену на датасеті PlantCLEF — це дає точність до 95% на тестовій вибірці. Для рідкісних видів застосовуємо ансамблі моделей: об'єднуємо передбачення кількох нейромереж, що підвищує загальну точність на 5–10%. On-device розпізнавання працює в 10–30 разів швидше за хмарне, що критично для миттєвого відгуку.
В одному з проєктів ми інтегрували гібридний підхід для додатку по догляду за кімнатними рослинами. Користувачі фотографували рослину, отримували миттєву ідентифікацію на пристрої, а при наявності інтернету — додаткову інформацію про полив та освітлення. Це збільшило утримання на 20% та знизило витрати на хмарні API на 60%.
Варіанти реалізації: хмара або on-device
| Критерій | Хмарне API | On-device (CoreML/TFLite) |
|---|---|---|
| Точність | 90–95% (залежить від API) | 80–85% (рідкісні види нижче) |
| Час відповіді | 1–3 секунди (інтернет) | 30–100 мс (офлайн) |
| Залежність | Інтернет обов'язковий | Повністю офлайн |
| Оновлення бази | Автоматично | Потрібне OTA |
| Вартість | Запитна модель | Безкоштовно після розробки |
Для більшості проєктів оптимальний гібрид: on-device дає швидку гіпотезу (топ-3), хмара уточнює при хорошому інтернеті.
Порівняння популярних API
| API | Точність | Спеціалізація |
|---|---|---|
| PlantNet | 85–90% | Широкий охоплення видів |
| Plant.id | 90–95% | Кімнатні та садові рослини |
| iNaturalist | 80–85% | Спільнота та рідкісні види |
Як забезпечити точність при поганому освітленні?
Перед відправкою в API ми оцінюємо якість знімка: різкість через фільтр Лапласіана, наявність рослини через класифікатор CoreML. Якщо знімок розмитий або немає рослини — просимо перезняти, не витрачаємо зайві запити. Це знижує витрати на хмарні API на 30–40%. Додатково застосовуємо автоналаштування експозиції та контрасту перед відправкою.
Чому варто обрати гібридний підхід?
Він поєднує швидкість on-device та точність хмари. Користувач бачить результат миттєво, а уточнення відбувається фоном. Крім того, при відсутності мережі користувач не залишається без відповіді. Гібридна архітектура вдвічі скорочує витрати на хмарні обчислення порівняно з чисто хмарним рішенням. Наші сертифіковані спеціалісти (Apple, Google) виконують інтеграцію під ключ.
Технічні деталі обробки зображень
Для оцінки різкості використовується фільтр Лапласіана з порогом 100. Класифікатор EfficientNet-Lite0 навчено на 5000 зображеннях з рослинами та без. On-device модель стискається до 5 МБ, час інференсу — ~50 мс на iPhone 12.Процес роботи
- Аналітика — визначаємо цільову аудиторію, сценарії використання, необхідні API.
- Проектування — обираємо архітектуру (хмара/on-device/гібрид), опрацьовуємо UX для низької впевненості.
- Реалізація — інтеграція API, навчання on-device моделі, обробка помилок.
- Тестування — перевірка на наборі з 100+ рослин, у тому числі рідкісних.
- Деплой — публікація в App Store/Google Play, налаштування моніторингу.
Орієнтовні терміни
Базова інтеграція одного API (Plant.id або PlantNet) з обробкою результатів — 1–2 дні. Додавання on-device моделі, фільтрації якості, офлайн-режиму та підтримки двох платформ — 1–1.5 тижні.
Що входить в роботу
- Вихідний код з коментарями
- Документація API
- Налаштування розгортання (CI/CD)
- Консультації по доопрацюванню під ваші потреби
Зв'яжіться з нами для обговорення деталей вашого проекту. Замовте консультацію з інтеграції AI-розпізнавання.







